[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN114026603B - 渲染计算机生成现实文本 - Google Patents

渲染计算机生成现实文本 Download PDF

Info

Publication number
CN114026603B
CN114026603B CN202080043380.0A CN202080043380A CN114026603B CN 114026603 B CN114026603 B CN 114026603B CN 202080043380 A CN202080043380 A CN 202080043380A CN 114026603 B CN114026603 B CN 114026603B
Authority
CN
China
Prior art keywords
rendering
region
text
image
implementations
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
CN202080043380.0A
Other languages
English (en)
Other versions
CN114026603A (zh
Inventor
S·S·哈斯拉
W·J·多比埃
M·H·卡恩
张妍莉
Y·雷简
A·Y·张
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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of CN114026603A publication Critical patent/CN114026603A/zh
Application granted granted Critical
Publication of CN114026603B publication Critical patent/CN114026603B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/235Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on user input or interaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/004Annotating, labelling
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Ophthalmology & Optometry (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本文所公开的各种具体实施包括动态地设定在对包括文本的内容进行中心凹渲染中所使用的区的尺寸的设备、系统和方法。在一些具体实施中,这涉及基于从视点看的文本的表观尺寸来调整第一区(例如,中心凹注视区(FGZ))的尺寸。例如,可基于确定从视点看的文本的一个或多个单独字形所对向的角度来增大或减小FGZ的宽度、高度、直径或其他尺寸属性。本文所公开的各种具体实施包括基于(a)对应于字形的一部分的图像的一部分的渲染分辨率与(b)该字形的该部分将在图像中占据的尺寸之间的关系来选择文本渲染算法的设备、系统和方法。

Description

渲染计算机生成现实文本
相关申请的交叉引用
本申请要求2019年9月23日提交的美国临时申请序列号62/904,073的权益,该申请全文以引用方式并入本文。
技术领域
本公开整体涉及渲染用于显示的电子内容,并且具体地,涉及用于渲染包括文本的内容的系统、方法和设备。
背景技术
现有的渲染技术可能无法准确且有效地渲染包括文本的内容,并且使用现有的中心凹渲染技术来渲染包括文本的内容时可能会存在明显的问题。
发明内容
本文所公开的各种具体实施包括动态地设定在对包括文本的内容进行中心凹渲染中所使用的区的尺寸的设备、系统和方法。如本文所用,短语“文本”是指对应于书写系统、字母、代码(例如,摩尔斯电码)、脚本或符号(例如,辐射危害符号)等的任何可视元素。在一些具体实施中,动态地设定区的尺寸涉及基于从视点看的文本的表观尺寸来调整第一区(例如,中心凹注视区(FGZ))的尺寸。例如,可基于确定从视点看的文本的一个或多个单独字形所对向的角度来增大或减小FGZ的宽度、高度、直径或其他尺寸属性。
一些具体实施涉及经由具有处理器的设备动态地设定用于中心凹渲染的区的尺寸的方法。例如,该处理器可执行存储在非暂态计算机可读介质中的指令以执行方法。该方法确定包括文本的计算机生成现实(CGR)环境的视点。在一些具体实施中,基于跟踪头戴式设备(HMD)或将呈现CGR环境的视图的其他设备的姿态(例如,位置和取向)来确定视点。该方法确定与从视点查看CGR环境中的文本相关联的测量结果。例如,该方法可以确定一个或多个单独字形所对向的角度。此类角度取决于文本距视点的距离和文本尺寸,从而提供从视点看的文本的表观尺寸的量度。
基于与从视点查看文本相关联的测量结果,该方法基于该测量结果确定第一区的尺寸(例如,直径、宽度、高度等)。例如,以用户的当前注视方向为中心的FGZ的宽度可基于预先确定数量的字形的尺寸,例如,给定文本中字形的确定尺寸或平均尺寸,FGZ宽度可对应于预先确定数量的字形(例如,28个字形)的宽度。因此,对于不同的字形尺寸(例如,对应于图像平面中的不同尺寸),FGZ将被赋予对应于预先确定数量的字形的宽度的不同尺寸。
该方法通过根据第一渲染技术渲染第一区(例如,中心凹注视区/FGZ)中的内容并根据第二渲染技术渲染第二区(例如,旁中心凹区)中的内容来渲染提供从视点看的CGR环境的视图的图像。该第一区不同于该第二区,并且该第一渲染技术不同于该第二渲染技术。由于FGZ的尺寸取决于与查看文本相关联的测量结果(例如,根据从视点看的一个或多个单独字形所对向的角度),因此FGZ的尺寸是可变的并且可根据具体情况(例如,给定当前文本尺寸和当前视点)进行调整。此外,使用不同渲染技术在不同区中进行渲染可以实现中心凹渲染。由于当环境(例如,文本尺寸或视点)改变时,区的尺寸可随时间推移进行调整,因此中心凹渲染是动态的。
本文所公开的各种具体实施包括基于(a)对应于字形的一部分的图像的一部分的渲染分辨率与(b)该字形的该部分将在图像中占据的尺寸之间的关系来选择文本渲染算法的设备、系统和方法。因此,FGZ中的“e”可使用昂贵的算法来渲染,而旁中心凹区中的相同尺寸的相同“e”可使用廉价的算法来渲染。
一些具体实施涉及一种经由具有处理器的设备来选择文本渲染算法的方法。例如,该处理器可执行存储在非暂态计算机可读介质中的指令以执行方法。该方法确定包括文本的CGR环境的视点,并且确定图像的一部分的渲染分辨率,该图像将提供从该视点看的CGR环境的视图。在一些具体实施中,图像的不同区具有不同的渲染分辨率。在一些具体实施中,图像的一部分是图像的全部,因此图像具有单个区和单个渲染分辨率。
该方法基于字形的一部分将在图像的一部分中占据的区域和该图像的该部分的渲染分辨率来确定用于该字形的该部分的渲染技术。例如,这可涉及(a)确定字形的一部分将占据的图像的区域,(b)根据渲染分辨率确定该区域的渲染像素的数量,以及(c)基于渲染像素的数量(例如,每个字形的像素或字形的每一部分的像素)来选择渲染技术。例如,在第一情况下,字形的一部分将占据10像素×10像素(例如,100像素)的区域,其中渲染分辨率是实际显示分辨率。因此,该方法可确定该字形部分存在100个渲染像素,并且相应地选择第一渲染技术。相比之下,在第二情况下,该字形的该部分将占据10像素×10像素(例如,100像素)的相同区域,其中渲染分辨率可为实际显示分辨率的1/2。因此,该方法可确定存在5个渲染像素×5个渲染像素(例如,25个渲染像素),并且相应地选择第二渲染技术。第一渲染技术可提供比第二渲染技术更高质量的外观,但在计算要求、执行时间或功率消耗方面可能更昂贵。
该方法渲染提供从视点看的CGR环境的视图的图像。根据所选择的渲染技术来渲染字形的一部分。此外,可根据基于每个部分的情况所选择的渲染技术以类似的方式渲染相同字形的不同部分和其他字形的部分。这样,可通过根据情况(例如,字形尺寸、字形属性、渲染分辨率等)对不同字形或字形部分选择性地使用不同的文本渲染技术来渲染图像。
根据一些具体实施,一种设备包括一个或多个处理器、非暂态存储器以及一个或多个程序;该一个或多个程序被存储在非暂态存储器中并且被配置为由一个或多个处理器执行,并且该一个或多个程序包括用于执行或使得执行本文所述方法中的任一种的指令。根据一些具体实施,一种非暂态计算机可读存储介质中存储有指令,这些指令在由设备的一个或多个处理器执行时使该设备执行或使执行本文所述方法中的任一种。根据一些具体实施,一种设备包括:一个或多个处理器、非暂态存储器以及用于执行或使执行本文所述方法中的任一种的装置。
附图说明
因此,本公开可被本领域的普通技术人员理解,更详细的描述可参考一些例示性具体实施的方面,其中一些具体实施在附图中示出。
图1是根据一些具体实施的示例性操作环境的框图。
图2是根据一些具体实施的示例性控制器的框图。
图3是根据一些具体实施的示例性设备的框图。
图4是根据一些具体实施的示例性头戴式设备(HMD)的框图。
图5是动态地设定在对包括文本的内容进行中心凹渲染中所使用的区的尺寸的示例性方法的流程图表示。
图6是示出用于生成CGR环境的图像的视点的框图。
图7是示出对应于图6的图像平面的图像的区的框图。
图8是示出用于生成包括文本的CGR环境的图像的视点的框图。
图9是示出根据特定具体实施的对应于图8的图像平面的图像的区的框图。
图10是示出根据特定具体实施的基于文本查看情况设定尺寸的区的框图。
图11是示出根据特定具体实施的基于文本查看情况设定尺寸的区的框图。
图12是示出根据特定具体实施的基于文本查看情况设定尺寸的区的框图。
图13是选择文本渲染算法的示例性方法的流程图表示。
图14是示出每个字形确定的像素的框图。
根据通常的做法,附图中示出的各种特征部可能未按比例绘制。因此,为了清楚起见,可以任意地扩展或减小各种特征部的尺寸。另外,一些附图可能未描绘给定的系统、方法或设备的所有部件。最后,在整个说明书和附图中,类似的附图标号可用于表示类似的特征部。
具体实施方式
描述了许多细节以便提供对附图中所示的示例具体实施的透彻理解。然而,附图仅示出了本公开的一些示例方面,因此不应被视为限制。本领域的普通技术人员将理解,其他有效方面和/或变体不包括本文所述的所有具体细节。此外,没有详尽地描述众所周知的系统、方法、部件、设备和电路,以免模糊本文所述的示例性具体实施的更多相关方面。
渲染是指从2D或3D环境的模型或描述生成用于在电子设备上显示的图像。通过检查2D或3D环境来确定每个显示器的像素的色值。这可例如通过使用从视点(例如,虚拟摄像机位置)投射的光线穿过图像平面的像素来击中环境中的对象来实现。光线获得关于显示器的像素的对象(例如,颜色)的信息。此类过程可被称为对虚拟摄像机的图像平面中的像素进行“采样”。更高的采样率可提供更高质量的外观,但可能需要增加工作负荷(例如,处理时间、传输要求和功率要求)。
中心凹渲染使用眼睛跟踪,通过降低用户的注视区之外的视觉区域中的图像质量(例如,采样率)来降低渲染工作负荷。虽然人类视力在水平方向上可覆盖160度以上并且在垂直方向上可覆盖135度以上,但其可感知当前注视方向周围仅约5度内的细节。随着远离中心注视方向的角距离增加,锐度快速下降。现有的中心凹渲染技术使用不同的图像质量(例如,采样率)渲染到在注视方向中心周围的嵌套区。例如,可使用显示器的最大采样率(例如,每个像素N条光线)来渲染中心区(例如,其可被称为“中心凹注视区”或“FGZ”)。相比之下,可在每个维度上以显示器的分辨率的一半对下一个区输出(例如,旁中心凹区)进行采样,并且下一个区输出(例如,周边区或背景区)在每个维度上可具有显示器的分辨率的1/5。通常基于在给定时间段内预期的眼睛的假定或计算的最大移动,将该区预先确定为具有恒定的尺寸。
当所显示的内容包括文本或凝结了拼写体系的表示字母的类似符号时,作为当前使用固定尺寸FGZ的基础的假设可能是不准确的。已知在阅读文本期间所表现出的眼动动力学显著不同于在查看图形或绘画场景和图像期间所表现出的眼动动力学。在阅读文本时,此类动力学可能不是平滑的。注视可包括扫视(例如,眼睛的移动),该扫视包括大于每秒100度的字符、字词或短语的跳跃。扫视长度和眼睛注视(例如,眼睛不移动的点)的持续时间可能受到从用户的旁中心凹视觉获得的预览有益效果的影响。一些证据可表明,阅读期间的扫视长度可能大致与几乎没有文本尺寸影响或没有文本尺寸影响的字符相关联,例如,50%的扫视可在当前注视方向的8个字符内,而不管文本尺寸如何,95%的扫视可在当前注视位置的14个字符内,而不管文本尺寸如何,等等。对于大文本,恒定尺寸FGZ可能不提供足够的围绕用户的注视方向的字符以考虑潜在的用户扫视。换句话讲,看起来在一些情况下,用于阅读文本的FGZ应大于用于图形的FGZ,以避免明显的分辨率问题。
本文所公开的具体实施认识到,现有的中心凹渲染技术可能存在明显的问题,或者可能无法准确且有效地提供针对包括文本的环境的中心凹渲染。本文所公开的具体实施提供了动态中心凹技术以解决这些问题和其他问题。因此,本文所公开的各种具体实施动态地设定在对包括文本的内容进行中心凹渲染中所使用的区的尺寸。在一些具体实施中,这涉及基于从视点看的文本的表观尺寸来调整第一区(例如,中心凹注视区(FGZ)的尺寸。例如,可基于确定从视点看的文本的一个或多个单独字形所对向的角度来增大或减小FGZ的宽度、高度、直径或其他尺寸属性。在一些具体实施中,基于文本字体尺寸、文本的虚拟距离、用户的眼睛运动(例如,阅读方向)、字体复杂度或甚至语言(例如,英语、希伯里语、阿拉伯语等)来设定用于中心凹渲染的区的尺寸。在一些具体实施中,针对文本的用于中心凹渲染的区不同于针对其他内容的用于中心凹渲染的区。例如,文本中心凹区可大于用于给定计算机生成现实(CGR)环境的图像的图形中心凹区。
附加地或另选地,本文所公开的各种具体实施基于相应区域是否在特定中心凹区中(例如,在中心凹区内部还是在中心凹区外部),针对图像的不同区域使用不同的文本渲染算法。在一些具体实施中,算法保真性控制方法涉及使用SDF高速缓存、用于高速缓存生成和2D字体的矢量文本以及周边上的2D字体。
一些具体实施应用标准来选择用于在CGR环境中进行文本渲染的文本渲染算法。这些具体实施可基于(a)对应于字形的一部分的图像的一部分的渲染分辨率与(b)该字形的该部分将在图像中占据的尺寸之间的关系来选择用于文本内的字形或字形的一部分的文本渲染算法。因此,FGZ中的“e”可使用昂贵的算法来渲染,而旁中心凹区中的相同尺寸的相同“e”可使用廉价的算法来渲染。
在一些具体实施中,当用户正在经历CGR环境时,随着用户移动更靠近和更远离世界被锁定的文本字段,单独字形所对向的角度分别增大或减小。这可能意味着由字形覆盖的物理显示器像素的数量也增加/减少。对于每个字形具有更少像素的小角度,可能期望使用在计算上更便宜的文本渲染算法,而对于每个字形具有更多像素的大角度,应当使用更好但在计算上更昂贵的算法。在一些具体实施中,确定并使用优化此类算法切换的阈值。在一些具体实施中,使用像素/字形等效度量来定义此类阈值。
图1是根据一些具体实施的示例性操作环境100的框图。尽管示出了相关特征,但本领域的普通技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的示例性具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,操作环境100包括控制器110和设备120。
在一些具体实施中,控制器110被配置为管理和协调用户体验。在一些具体实施中,控制器110包括软件、固件和/或硬件的合适组合。下文参考图2更详细地描述控制器110。在一些具体实施中,控制器110是相对于物理环境105处于本地或远程位置的计算设备。在一个示例中,控制器110是位于物理环境105内的本地服务器。在另一个示例中,控制器110是位于物理环境105之外的远程服务器(例如,云服务器、中央服务器等)。在一些具体实施中,控制器110经由一个或多个有线或无线通信信道144(例如,蓝牙、IEEE 802.11x、IEEE 802.16x、IEEE 802.3x等)与设备120通信地耦接。
在一些具体实施中,设备120被配置为向用户呈现环境。在一些具体实施中,设备120包括软件、固件和/或硬件的合适组合。下文参考图3更详细地描述设备120。在一些具体实施中,控制器110的功能由设备120提供和/或与该设备结合。
根据一些具体实施,当用户位于物理环境105中时,设备120向用户呈现计算机生成现实(CGR)环境。CGR环境是指人们经由电子系统感测和/或交互的完全或部分模拟的环境。在CGR中,跟踪人的物理运动的一个子集或其表示,并且作为响应,以符合至少一个物理定律的方式调节在CGR环境中模拟的一个或多个虚拟对象的一个或多个特征。例如,CGR系统可以检测人的头部转动,并且作为响应,以与此类视图和声音在物理环境中变化的方式类似的方式调节呈现给人的图形内容和声场。在一些情况下(例如,出于可达性原因),对CGR环境中虚拟对象的特征的调节可以响应于物理运动的表示(例如,声音命令)来进行。
人可以利用其感觉中的任一者来感测CGR对象和/或与CGR对象交互,包括视觉、听觉、触觉、味觉和嗅觉。例如,人可以感测音频对象和/或与音频对象交互,该音频对象创建3D或空间音频环境,该3D或空间音频环境提供3D空间中点音频源的感知。又如,音频对象可以使能音频透明度,该音频透明度在有或者没有计算机生成的音频的情况下选择性地引入来自物理环境的环境声音。在某些CGR环境中,人可以感测和/或只与音频对象交互。
CGR的示例包括虚拟现实和混合现实。虚拟现实(VR)环境是指被设计成对于一个或多个感觉完全基于计算机生成的感官输入的模拟环境。VR环境包括人可以感测和/或与之交互的虚拟对象。例如,树木、建筑物和代表人的化身的计算机生成的图像是虚拟对象的示例。人可以通过在计算机生成的环境内人的存在的模拟和/或通过在计算机生成的环境内人的物理移动的一个子组的模拟来感测和/或与VR环境中的虚拟对象交互。
与被设计成完全基于计算机生成的感官输入的VR环境相比,混合现实(MR)环境是指被设计成除了包括计算机生成的感官输入(例如,虚拟对象)之外还引入来自物理环境的感官输入或其表示的模拟环境。在虚拟连续体上,混合现实环境是完全物理环境作为一端和虚拟现实环境作为另一端之间的任何状况,但不包括这两端。
在一些MR环境中,计算机生成的感官输入可以对来自物理环境的感官输入的变化进行响应。另外,用于呈现MR环境的一些电子系统可以跟踪相对于物理环境的位置和/或取向,以使虚拟对象能够与真实对象(即,来自物理环境的物理物品或其表示)交互。例如,系统可以导致移动使得虚拟树木相对于物理地面看起来是静止的。
混合现实的示例包括增强现实和增强虚拟。增强现实(AR)环境是指其中一个或多个虚拟对象叠加在物理环境或其表示之上的模拟环境。例如,用于呈现AR环境的电子系统可具有透明或半透明显示器,人可以透过该显示器直接查看物理环境。该系统可以被配置为在透明或半透明显示器上呈现虚拟对象,使得人利用该系统感知叠加在物理环境之上的虚拟对象。另选地,系统可以具有不透明显示器和一个或多个成像传感器,该成像传感器捕获物理环境的图像或视频,这些图像或视频是物理环境的表示。系统将图像或视频与虚拟对象组合,并在不透明显示器上呈现组合物。人利用系统经由物理环境的图像或视频而间接地查看物理环境,并且感知叠加在物理环境之上的虚拟对象。如本文所用,在不透明显示器上显示的物理环境的视频被称为“透传视频”,意味着系统使用一个或多个图像传感器捕获物理环境的图像,并且在不透明显示器上呈现AR环境时使用那些图像。进一步另选地,系统可以具有投影系统,该投影系统将虚拟对象投射到物理环境中,例如作为全息图或者在物理表面上,使得人利用该系统感知叠加在物理环境之上的虚拟对象。
增强现实环境也是指其中物理环境的表示被计算机生成的感官信息进行转换的模拟环境。例如,在提供透传视频中,系统可以对一个或多个传感器图像进行转换以施加与成像传感器所捕获的视角不同的选择视角(例如,视点)。又如,物理环境的表示可以通过图形地修改(例如,放大)其部分而进行转换,使得经修改部分可以是原始捕获图像的代表性的但不是真实的版本。再如,物理环境的表示可以通过以图形方式消除其部分或将其部分进行模糊处理而进行转换。
增强虚拟(AV)环境是指虚拟或计算机生成环境结合了来自实体环境的一项或多项感官输入的模拟环境。感官输入可以是物理环境的一个或多个特性的表示。例如,AV公园可以具有虚拟树木和虚拟建筑物,但人的脸部是从对物理人拍摄的图像逼真再现的。又如,虚拟对象可以采用一个或多个成像传感器所成像的物理物品的形状或颜色。再如,虚拟对象可以采用符合太阳在物理环境中的定位的阴影。
有许多不同类型的电子系统使人能够感测和/或与各种CGR环境交互。示例包括头戴式系统、基于投影的系统、平视显示器(HUD)、集成有显示能力的车辆挡风玻璃、集成有显示能力的窗户、被形成为被设计用于放置在人眼睛上的透镜的显示器(例如,类似于隐形眼镜)、耳机/听筒、扬声器阵列、输入系统(例如,具有或没有触觉反馈的可穿戴或手持控制器)、智能电话、平板电脑、和台式/膝上型计算机。头戴式系统可以具有一个或多个扬声器和集成的不透明显示器。另选地,头戴式系统可以被配置成接受外部不透明显示器(例如,智能电话)。头戴式系统可以结合用于捕获物理环境的图像或视频的一个或多个成像传感器、和/或用于捕获物理环境的音频的一个或多个麦克风。头戴式系统可以具有透明或半透明显示器,而不是不透明显示器。透明或半透明显示器可以具有媒介,代表图像的光通过该媒介被引导到人的眼睛。显示器可以利用数字光投影、OLED、LED、uLED、硅基液晶、激光扫描光源或这些技术的任意组合。媒介可以是光学波导、全息图媒介、光学组合器、光学反射器、或它们的任意组合。在一个具体实施中,透明或半透明显示器可被配置为选择性地变得不透明。基于投影的系统可以采用将图形图像投影到人的视网膜上的视网膜投影技术。投影系统也可以被配置为将虚拟对象投影到物理环境中,例如作为全息图或在物理表面上。
在一些具体实施中,用户将设备120穿戴在他/她的头上。设备120可包括被提供用于显示内容的一个或多个显示器。例如,设备120可包围用户的视野。在一些具体实施中,设备120是被配置为向用户呈现内容的手持式电子设备(例如,智能电话或平板电脑)。在一些具体实施中,用被配置为呈现内容的腔室、外壳或室替代设备120,其中用户不穿戴或手持该设备120。
图2是根据一些具体实施的控制器110的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,控制器110包括一个或多个处理单元202(例如,微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、中央处理单元(CPU)、处理核心等)、一个或多个输入/输出(I/O)设备206、一个或多个通信接口208(例如,通用串行总线(USB)、FIREWIRE、THUNDERBOLT、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、全球移动通信系统(GSM)、码分多址(CDMA)、时分多址(TDMA)、全球定位系统(GPS)、红外(IR)、蓝牙、ZIGBEE和/或相似类型接口)、一个或多个编程(例如,I/O)接口210、存储器220以及用于互连这些部件和各种其他部件的一条或多条通信总线204。
在一些具体实施中,该一条或多条通信总线204包括互连系统部件和控制系统部件之间的通信的电路。在一些具体实施中,一个或多个I/O设备206包括键盘、鼠标、触控板、操纵杆、一个或多个麦克风、一个或多个扬声器、一个或多个图像传感器、一个或多个显示器等中的至少一种。
存储器220包括高速随机存取存储器,诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、双倍数据速率随机存取存储器(DDR RAM)或者其他随机存取固态存储器设备。在一些具体实施中,存储器220包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器220任选地包括远离所述一个或多个处理单元202定位的一个或多个存储设备。存储器220包括非暂态计算机可读存储介质。在一些具体实施中,存储器220或者存储器220的非暂态计算机可读存储介质存储下述程序、模块和数据结构或者它们的子集,其中包括任选的操作系统230和体验模块240。
操作系统230包括用于处理各种基础系统服务和用于执行硬件相关任务的过程。在一些具体实施中,呈现模块240被配置为管理和协调一个或多个用户的一个或多个体验(例如,一个或多个用户的单个体验,或一个或多个用户的相应群组的多个体验)。为此,在各种具体实施中,呈现模块240包括跟踪器242、区确定器244和文本渲染器246。
在一些具体实施中,跟踪器244被配置为经由本文所公开的技术中的一者或多者或另一种适当的注视跟踪技术来确定用户的注视方向。为此,在各种具体实施中,跟踪器244包括指令和/或用于指令的逻辑部件、配置的神经网络以及启发法和用于启发法的元数据。
在一些具体实施中,文本渲染器246被配置为经由本文所公开的技术中的一者或多者或其他适当的文本渲染技术使用一种或多种文本渲染技术来渲染文本。为此,在各种具体实施中,文本渲染器246包括指令和/或用于这些指令的逻辑部件以及启发法和用于该启发法的元数据。
此外,图2更多地用作存在于特定具体实施中的各种特征部的功能描述,与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图2中单独示出的一些功能模块可以在单个模块中实现,并且单个功能块的各种功能可在各种具体实施中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征将根据具体实施而变化,并且在一些具体实施中,部分地取决于为特定实施方案选择的硬件、软件和/或固件的特定组合。
图3是根据一些具体实施的设备120的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,设备120包括一个或多个处理单元302(例如,微处理器、ASIC、FPGA、GPU、CPU、处理核心等)、一个或多个输入/输出(I/O)设备和传感器306、一个或多个通信接口308(例如,USB、FIREWIRE、THUNDERBOLT、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、GSM、CDMA、TDMA、GPS、IR、BLUETOOTH、ZIGBEE、SPI、I2C和/或相似类型的接口)、一个或多个编程(例如,I/O)接口310、一个或多个AR/VR显示器312、一个或多个面向内部和/或面向外部的图像传感器系统314、存储器320以及用于互连这些部件和各种其他部件的一条或多条通信总线304。
在一些具体实施中,一条或多条通信总线304包括互连和控制系统部件之间的通信的电路。在一些具体实施中,所述一个或多个I/O设备及传感器306包括以下项中的至少一个:惯性测量单元(IMU)、加速度计、磁力计、陀螺仪、温度计、一个或多个生理传感器(例如,血压监测仪、心率监测仪、血氧传感器、血糖传感器等)、一个或多个麦克风、一个或多个扬声器、触觉引擎以及/或者一个或多个深度传感器(例如,结构光、飞行时间等)等。
在一些具体实施中,一个或多个显示器312被配置为向用户呈现体验。在一些具体实施中,一个或多个显示器312对应于全息、数字光处理(DLP)、液晶显示器(LCD)、硅上液晶(LCoS)、有机发光场效应晶体管(OLET)、有机发光二极管(OLED)、表面传导电子发射器显示器(SED)、场发射显示器(FED)、量子点发光二极管(QD-LED)、微机电系统(MEMS)和/或相似显示器类型。在一些具体实施中,一个或多个显示器312对应于衍射、反射、偏振、全息等波导显示器。例如,设备120包括单个显示器。又如,设备120包括针对用户的每只眼睛的显示器。
在一些具体实施中,所述一个或多个图像传感器系统314被配置为获取与包括用户的眼睛的用户的面部的至少一部分对应的图像数据。例如,所述一个或多个图像传感器系统314包括一个或多个RGB相机(例如,具有互补金属氧化物半导体(CMOS)图像传感器或电荷耦合器件(CCD)图像传感器)、单色相机、IR相机、基于事件的相机等。在各种具体实施中,所述一个或多个图像传感器系统314还包括发射光在用户的面部的所述一部分上的照明源,诸如闪光灯或闪光源。
存储器320包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备。在一些具体实施中,存储器320包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器320任选地包括远离所述一个或多个处理单元302定位的一个或多个存储设备。存储器320包括非暂态计算机可读存储介质。在一些具体实施中,存储器320或者存储器320的非暂态计算机可读存储介质存储下述程序、模块和数据结构或者他们的子集,其中包括任选的操作系统330、AR/VR呈现模块340、和用户数据存储装置360。
操作系统330包括用于处理各种基础系统服务和用于执行硬件相关任务的过程。在一些具体实施中,呈现模块340被配置为经由一个或多个显示器312向用户呈现内容。为此,在各种具体实施中,呈现模块340包括跟踪器342、区确定器344和文本渲染器346。
在一些具体实施中,跟踪器344被配置为经由本文所公开的技术中的一者或多者或另一种适当的注视跟踪技术来确定用户的注视方向。为此,在各种具体实施中,跟踪器344包括指令和/或用于指令的逻辑部件、配置的神经网络以及启发法和用于启发法的元数据。
在一些具体实施中,文本渲染器346被配置为经由本文所公开的技术中的一种或多种或其他适当的文本渲染技术使用一种或多种文本渲染技术来渲染文本。为此,在各种具体实施中,文本渲染器346包括指令和/或用于指令的逻辑部件以及启发法和用于启发法的元数据。
尽管这些元件被示出为驻留在单个设备(例如,设备120)上,但应当理解,在其他具体实施中,元件的任何组合可位于单独的计算设备中。此外,图3更多地用作存在于特定具体实施中的各种特征部的功能描述,与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图3中单独示出的一些功能模块可以在单个模块中实现,并且单个功能块的各种功能可在各种具体实施中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征将根据具体实施而变化,并且在一些具体实施中,部分地取决于为特定实施方案选择的硬件、软件和/或固件的特定组合。
图3的设备120可被实施为头戴式设备。
图4示出了根据一些具体实施的头戴式设备400的框图。头戴式设备400包括容纳头戴式设备400的各种部件的外壳401(或封装件)。外壳401包括(或耦接到)设置在外壳401的近侧(相对于用户10)端部处的眼垫405。在各种具体实施中,眼垫405是塑料或橡胶件,其舒适且贴合地将头戴式设备400保持在用户10的面部上的适当位置(例如,围绕用户10的眼睛)。
外壳401容纳显示器410,该显示器显示图像、朝向用户10的眼睛发射光或将光发射到该用户的眼睛上。在各种具体实施中,显示器410发射光通过目镜(未示出),该目镜折射由显示器410发射的光,使显示器在用户10看来是在比从眼睛到显示器410的实际距离远的虚拟距离处。为了用户能够聚焦在显示器410上,在各种具体实施中,虚拟距离至少大于眼睛的最小焦距(例如,7cm)。此外,为了提供更好的用户体验,在各种具体实施中,虚拟距离大于1米。
虽然图4示出了包括显示器410和眼垫405的头戴式设备400,但在多种具体实施中,头戴式设备400不包括显示器410或者包括光学透视显示器而不包括眼垫405。
外壳401还容纳注视跟踪系统,该注视跟踪系统包括一个或多个光源422、相机424和控制器480。所述一个或多个光源422将光发射到用户10的眼睛上,该光反射可由传感器424检测到的光(例如,定向光束)。基于该反射的闪光,控制器480可确定用户10的注视方向。又如,控制器480可确定瞳孔中心、瞳孔尺寸或关注点。因此,在各种具体实施中,光由所述一个或多个光源422发射,从用户10的眼睛反射,并且由传感器424检测。在各种具体实施中,来自用户10的眼睛的光在到达传感器424之前从热镜反射或通过目镜。
显示器410可发射第一波长范围内的光,并且所述一个或多个光源422可发射第二波长范围内的光。类似地,传感器424可检测第二波长范围内的光。在各种具体实施中,第一波长范围是可见波长范围(例如,可见光谱内大约为400nm-700nm的波长范围),并且第二波长范围是近红外波长范围(例如,近红外光谱内约为700nm-1400nm的波长范围)。
在各种具体实施中,注视跟踪(或者具体地,所确定的注视方向)用于使能用户交互(例如,用户10通过看着显示器410上的选项来选择它),提供中心凹渲染(例如,在用户10正在看着的显示器410的区域中呈现较高的分辨率而在显示器410上的其他地方呈现较低的分辨率),和/或减少几何失真(例如,显示器410上对象的3D渲染中)。
在各种具体实施中,所述一个或多个光源422朝向用户的眼睛发射光,该光以一个或多个闪光的形式反射。当分析由眼睛反射并由传感器424检测的闪光时,可确定闪光的种类。在各种具体实施中,所述一个或多个光源422包括多个光源。
在各种具体实施中,所述一个或多个光源422以不同调制频率调制发射光的强度。例如,在各种具体实施中,所述一个或多个光源422中的第一光源以第一频率(例如,600Hz)调制,并且所述一个或多个光源422中的第二光源以第二频率(例如,500Hz)调制。
在各种具体实施中,所述一个或多个光源422根据呈现的用户界面(例如,显示器410上显示的内容)来调制发射光的强度。例如,如果显示器410异常亮(例如,正在显示爆炸的视频),则所述一个或多个光源422增大发射光的强度以补偿来自显示器410的潜在干扰。
在各种具体实施中,传感器424是基于帧/快门的相机,其以帧速率在特定时间点或多个时间点生成用户10的眼睛的图像。每个图像包括对应于图像的像素的像素值的矩阵,所述像素对应于相机的光传感器矩阵的位置。
在各种具体实施中,相机424是包括在多个相应位置处的多个光传感器(例如,光传感器矩阵)的事件相机,该事件相机响应于特定光传感器检测到光强度变化而生成指示所述特定光传感器的特定位置的事件消息。
在各种具体实施中,相机424可以是基于帧/快门的相机以及在多个相应的位置处具有光学附接件的多个光传感器和光电探测器的组合,该光学附接件基于眼睛的移动生成眼睛的图像和电压偏转两者。
在各种具体实施中,基于从用户的眼睛反射的一个或多个闪光、从用户的视网膜反射和/或从用户的面部或头部反射或从光学传感器检测到的电压变化来确定用户的注视方向。在一些具体实施中,用户的注视方向通过识别与用户的注视方向相关联的矢量上的两个或更多个点来确定,例如,通过确定瞳孔中心和角膜中心或眼睛中心并且用矢量方向连接这些点。
动态中心凹区定径技术
图5是动态地设定在对包括文本的内容进行中心凹渲染中所使用的区的尺寸的示例性方法500的流程图表示。在一些具体实施中,方法500由设备(例如,图1和图2的控制器110)诸如移动设备、台式计算机、膝上型电脑或服务器设备执行。方法500可以在具有用于显示2D图像的屏幕和/或用于查看立体图像的屏幕(诸如头戴式显示器(HMD))的设备(例如,图1和图3的设备120)上执行。在一些具体实施中,方法500由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法500由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。
在框510处,方法500确定包括文本的CGR环境的视点。在一些具体实施中,基于跟踪头戴式设备(HMD)或将呈现CGR环境的视图的其他设备的姿态(例如,位置和取向)来确定视点。例如,HMD可包括内部传感器或与跟踪3D坐标系中随时间推移的HMD的当前位置和取向的外部传感器一起使用。跟踪可涉及计算机视觉、视觉惯性测量(VIO)、同步定位和映射(SLAM)或任何其他适当的技术。在一些具体实施中,视点与现实设备的实际姿态相关联。在一些具体实施中,视点与虚拟摄像机的虚拟姿态相关联。
在框520处,方法500确定与从视点查看CGR环境中的文本相关联的测量结果。例如,该方法可确定由单独字形所对向的角度、由多个单独字形的平均值所对向的角度、或由多个单独字形所对向的最大角度。在一些具体实施中,测量结果是文本的行之间的间距所对向的角度。此类角度可取决于文本距视点的距离和文本尺寸,从而提供从视点看的文本的表观尺寸的量度。在一些具体实施中,测量结果是当前注视位置和文本的当前行的末尾所对向的角度。在一些具体实施中,测量结果可被并入作为图形处理器的一部分,其中处理器知道覆盖所需的字形或拼写体系需要的像素的数量。
在框530处,方法500基于测量结果确定第一区的尺寸(例如,直径、宽度、高度等)。例如,以用户的当前注视方向为中心的FGZ的宽度可基于预先确定数量的字形的尺寸,例如,给定文本中字形的确定尺寸或平均尺寸,FGZ宽度可对应于预先确定数量的字形(例如,28个字形)的宽度。因此,对于不同的字形尺寸(例如,对应于图像平面中的不同尺寸),FGZ将被赋予对应于预先确定数量的字形的宽度的不同尺寸。对于许多中心凹渲染应用程序,基于用户的当前(或预期)注视方向定心或以其他方式定位一个或多个区,这可使用本文所公开的技术或任何其他适当的技术来估计。
在一些具体实施中,测量结果是用于调整水平文本的FGZ的水平尺寸的一个或多个字形所对向的角度。在一些具体实施中,测量结果是用于调整垂直文本的FGZ的垂直尺寸的一个或多个字形所对向的角度。
在一些具体实施中,测量结果是用于调整水平文本的FGZ的垂直尺寸的文本的行之间的间距所对向的角度。在一些具体实施中,测量结果是用于调整垂直文本的FGZ的水平尺寸的文本的行之间的间距所对向的角度。
在一些具体实施中,附加地或另选地,基于用户特定属性来确定第一区的尺寸。例如,该方法可识别阅读期间的用户属性,诸如用户的平均扫视尺寸或注视跳跃,并且相应地调整第一区的尺寸。例如,如果用户的扫视在95%的时间内为10个字符以内,则可将FGZ区的宽度设置为20个字符(例如,当前注视方向位置的每侧10个字符)。在一些具体实施中,跟踪一时间段(例如,数分钟、数小时、数天、数月、数年、寿命等)的用户数据,并且系统学习(例如,使用机器学习模型)以基于该历史数据预测用户的行为。
在一些具体实施中,附加地或另选地,第一区的尺寸基于混合图形/文本内容中的估计以考虑文本渲染。渲染图像的视觉显著性可用于(例如使用算法)估计用户的眼睛可如何从图像中的一个区域移动到另一个区域。
在框540处,该方法通过根据第一渲染技术渲染第一区(例如,中心凹注视区/FGZ)中的内容并根据第二渲染技术渲染第二区(例如,旁中心凹区)中的内容来渲染提供从视点看的CGR环境的视图的图像。该第一区不同于该第二区,并且该第一渲染技术不同于该第二渲染技术。在一些具体实施中,第一渲染技术使用比第二渲染技术更大的采样率。在一些具体实施中,第一渲染技术使用比第二渲染技术更昂贵的文本渲染技术来渲染文本。
由于FGZ的尺寸取决于与查看文本相关联的测量结果(例如,根据从视点看的一个或多个单独字形所对向的角度),因此FGZ的尺寸是可变的并且可根据具体情况(例如,给定当前文本尺寸和当前视点)进行调整。此外,使用不同渲染技术在不同区中进行渲染可以实现中心凹渲染。由于当环境(例如,文本尺寸或视点)改变时,区的尺寸可随时间推移进行调整,因此中心凹渲染是动态的。因此,方法500可涉及动态调整第一区的尺寸,以基于与查看CGR环境中的文本相关联的附加测量结果来渲染提供CGR环境的视图的附加图像。
在一些具体实施中,方法500根据第三渲染技术来渲染第三区中的内容。该第三区不同于第一区和第二区,并且该第三渲染技术不同于第一渲染技术和第二渲染技术。在一些具体实施中,第二区的尺寸(例如,第二区与第一区和第三区中的每一者之间的边界的位置)可基于与从视点查看CGR环境中的文本相关联的测量结果。第三区的尺寸(例如,第二区与第三区之间的边界的位置)可基于与从视点查看CGR环境中的文本相关联的测量结果。在一些具体实施中,使用多个区。在一些具体实施中,区的数量基于在“基于图块渲染”中所选择的图块尺寸;例如,32像素。例如,使用尺寸为1280×1280的面板可产生40×40个图块(或1600个图块),而没有中心凹。在一个示例中,具有中心凹的27×27的图块将会产生13个(例如,(27-1)/2))区。
图6示出了用于生成CGR环境的图像的视点。在该示例中,视点605用于在CGR环境的图像平面610上生成包括人615的3D表示的图像。在该示例中,光线620a、620b、620c和620d从视点605投影通过对应于图像的图像平面610,该图像正在生成以提供CGR环境的视图。基于光线穿过图像平面610的位置(例如,识别一个或多个像素)以及光线与CGR环境相交的位置(例如,识别一个或多个像素的属性诸如颜色)来确定对应于图像平面610的图像的像素值。使用光线来确定像素值是一种示例性渲染技术。用于确定图像平面的像素值的光线的数量可取决于图像/图像平面的对应部分的部分的渲染分辨率(例如,图像/图像平面的该部分中的渲染像素的数量)。对于具有相对较多的渲染像素的部分,可使用相对较昂贵的渲染技术(例如,使用相对较多的光线)。可使用计算费用不同的其他渲染技术。
图7示出对应于图6的图像平面610的图像705的渲染区。在该示例中,图像705基于图像平面610并且包括基于当前注视方向点710的第一区720(例如,中心凹注视区(FGZ)。在一些具体实施中,通过基于CGR环境的内容确定远离注视方向点710的距离的方向和量来确定第一区的尺寸。图7也示出在第一区720之外并因此不同于第一区720的第二区730。中心凹渲染可涉及使用不同于在第二区730内渲染内容的渲染技术在第一区720内渲染内容。
图8示出用于生成包括文本的CGR环境的图像的视点。在该示例中,视点805用于在CGR环境的图像平面810上生成包括文本815的图像。基于从视点815看的CGR环境的视图(例如,识别像素的属性诸如颜色)来确定对应于图像平面的图像的像素值。
图9示出对应于图8的图像平面810的图像905的渲染区。在该示例中,图像905基于图像平面810并且包括基于当前注视方向点910的第一区920(例如,中心凹注视区(FGZ)。第二区930在第一区920之外并因此不同于第一区920。中心凹渲染可涉及使用不同于在第二区930中渲染内容的渲染技术利用第一区920渲染内容。在该示例中,使用固定尺寸参数来确定第一区920尺寸,该固定尺寸参数可基于适用于图形内容但不适用于文本内容的假设。因此,用户可扫视以注视并且阅读第一区910之外的字词(例如,第二区930中的文本),并且具有不期望的体验。例如,由于用户的眼睛跳到的渲染文本中的感知差异,用户可能注意到、被分散注意力或以其他方式具有负面体验。
相比之下,图10示出根据特定具体实施的基于图8的图像的文本来设定尺寸的中心凹渲染区1020、1030。在该示例中,图像1005基于图像平面810并且包括基于当前注视方向点1010的第一区1020(例如,中心凹注视区(FGZ)。第二区1030在第一区1020之外并因此不同于第一区1020。中心凹渲染可涉及使用不同于在第二区1030中渲染内容的渲染技术利用第一区1020渲染内容。
在一些具体实施中,通过基于CGR环境的内容确定远离注视方向点1010的距离的方向和量来确定第一区1020。例如,可基于CGR环境中的文本以及用户相对于该文本的视点来确定注视方向点1010的左侧和/或右侧的水平延伸和/或注视方向点1010上方或下方的垂直延伸。在该示例中,注视方向点1010的左侧和右侧的水平延伸被确定为包括阈值数量的字符/文本字形(例如,“a”、“b”、“?”、“”等)。例如,FGZ的尺寸可被设定成包括注视方向点1010的左侧和右侧的14个字符。需注意,预先确定数量的字符阈值考虑到阅读扫视,并且还可考虑用户的预览有益效果窗口。在垂直阅读文本(例如,在阅读方向上具有在彼此上方和下方的连续字符或符号)的情况下,注视方向点1010上方或下方的垂直延伸可类似地基于阈值数量的字符/文本字形。
对于水平文本,注视方向点1010上方或下方的垂直延伸可基于其他文本特征(例如,以包括阈值数量的文本行/列,这将取决于行间距-或基于段落的开始或结束或其他文本块)。在图10的示例中,FGZ的垂直尺寸基于文本的开始和结束。类似地,对于垂直文本,注视方向点1010的左侧和右侧的水平延伸可基于其他文本特征(例如,以包括阈值数量的文本行/列-这将取决于行间距-或者基于段落的开始或结束或其他文本块)。
图11示出在另选情况下基于CGR环境的图像的文本来设定尺寸的中心凹渲染区。在该示例中,与图10的文本相比,文本相对较大(当从视点查看时)。在该示例中,图像1105基于图像平面810并且包括基于当前注视方向点1110的第一区1120(例如,中心凹注视区(FGZ)。第二区1130在第一区1120之外并因此不同于第一区1120。中心凹渲染可涉及使用不同于在第二区1130中渲染内容的渲染技术利用第一区1120渲染内容。在该示例中,注视方向点1110的左侧和右侧的水平延伸被确定为包括阈值数量的字符/文本字形(例如,“a”、“b”、“?”、“”等)。例如,FGZ的尺寸可被设定成包括注视方向点1110的左侧和右侧的14个字符。因此,图11的第一区1120相对地大于图10的第一区1020。
图12示出在另选情况下基于CGR环境的图像的文本来设定尺寸的中心凹渲染区。在该示例中,与图10和图11的文本相比,文本相对较小(当从视点查看时)。在该示例中,图像1205基于图像平面810并且包括基于当前注视方向点1210的第一区1220(例如,中心凹注视区(FGZ)。第二区1230在第一区1220之外并因此不同于第一区1220。中心凹渲染可涉及使用不同于在第二区1230中渲染内容的渲染技术利用第一区1220渲染内容。在该示例中,注视方向点1210的左侧和右侧的水平延伸被确定为包括阈值数量的字符/文本字形(例如,“a”、“b”、“?”、“”等)。例如,FGZ的尺寸可被设定成包括注视方向点1210的左侧和右侧的14个字符。因此,图12的第一区1220相对地小于图10的第一区1020和图11的第一区1120。
文本渲染算法选择技术
本文所公开的各种具体实施包括基于(a)对应于字形的一部分的图像的一部分的渲染分辨率与(b)该字形的该部分将在图像中占据的尺寸之间的关系来选择文本渲染算法的设备、系统和方法。因此,FGZ中的“e”可使用昂贵的算法来渲染,而旁中心凹区中的相同尺寸的相同“e”可使用廉价的算法来渲染。
图13是选择文本渲染算法的示例性方法1300的流程图表示。在一些具体实施中,方法1300由设备(例如,图1和图2的控制器110)诸如移动设备、台式计算机、膝上型电脑或服务器设备执行。方法1300可以在具有用于显示2D图像的屏幕和/或用于查看立体图像的屏幕(诸如头戴式显示器(HMD))的设备(例如,图1和图3的设备120)上执行。在一些具体实施中,方法1300由处理逻辑部件,包括硬件、固件、软件或其组合来执行。在一些具体实施中,方法1300由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。
在框1310处,方法1300确定包括文本的CGR环境的视点。在一些具体实施中,基于跟踪头戴式设备(HMD)或将呈现CGR环境的视图的其他设备的姿态(例如,位置和取向)来确定视点。例如,HMD可包括内部传感器或与跟踪HMD在空间中随时间推移的当前位置和取向的外部传感器一起使用。跟踪可涉及计算机视觉、视觉惯性测量(VIO)、同步定位和映射(SLAM)或任何其他适当的技术。在一些具体实施中,视点与现实设备的实际姿态相关联。在一些具体实施中,视点与虚拟摄像机的虚拟姿态相关联。
在框1320处,方法1300确定图像的一部分的渲染分辨率,该图像将提供从视点看的CGR环境的视图。在一些具体实施中,图像的不同区具有不同的渲染分辨率。在一些具体实施中,图像的一部分是图像的全部,因此图像具有单个区和单个渲染分辨率。
在框1330处,方法1300基于字形的一部分将在图像的一部分中占据的区域和该图像的该部分的渲染分辨率来确定用于该字形的该部分的渲染技术。例如,这可涉及(a)确定字形的一部分将占据的图像的区域,(b)根据渲染分辨率确定该区域的渲染像素的数量,以及(c)基于渲染像素的数量来选择渲染技术。例如,在第一情况下,字形的一部分将占据10像素×10像素(例如,100像素)的区域,并且渲染分辨率是实际分辨率。因此,该方法可确定存在100个渲染像素并相应地选择第一渲染技术。相比之下,在第二情况下,字形的一部分将占据10像素×10像素(例如,100像素)的相同区域,但是渲染分辨率可以是实际分辨率的1/2。因此,该方法可确定存在5个渲染像素×5个渲染像素(例如,25个渲染像素),并且相应地选择第二渲染技术。
在一些具体实施中,基于每个字形度量的像素来确定渲染技术。图14是示出每个字形确定的像素的框图。在该示例中,CGR环境的视图包括从字形1410的视点1405看的视图。在给定视点1405的情况下,字形1410对向角度θ1415。此外,给定每度20像素的显示分辨率,字形需要多个像素(例如,图14的示例中示出的20个),使得其在眼睛处对向Θ=1∞,从而为水平的、从左到右的脚本提供水平轴上的20个像素/字形的值。还可确定每个字形部分的像素并将其与阈值进行比较以确定适当的文本渲染技术。
一般来讲,当像素/字形度量或像素/字形部分度量超过阈值时,可使用第一文本渲染技术(例如,相对更高级的算法或以其他方式更高质量的技术),并且当像素/字形度量或像素/字形部分度量未超过阈值时,可使用第二文本渲染技术(例如,相对较不高级的算法或以其他方式较低质量的技术)。在一些具体实施中,使用多于两个区/渲染技术级别,并且使用多个阈值以在三种或更多种渲染技术之间进行选择。
第一渲染技术可提供比第二渲染技术更高质量的外观,但在计算要求、执行时间或功率消耗方面可能更昂贵。
文本渲染算法可涉及使用具有运行时GPU带符号距离字段高速缓存的矢量文本。例如,可使用矢量文本着色器以计算在运行时GPU上的经变换字形的分析带符号距离字段(SDF)。文本渲染算法可涉及相对较慢的基于离线图像的SDF计算。文本渲染算法可涉及使用SDF从高速缓存渲染,这与其他技术相比可相对较快。可正确透视并且以1:1的像素:纹理比率生成SDF。SDF高速缓存可用于生成具有最小数量的操作/像素或操作/字形的透视正确的文本。
在一些具体实施中,用户控制可允许选择阈值,该阈值允许在纹理分辨率和高速缓存更新速率之间进行权衡。
在框1340处,方法1300渲染提供从视点看的CGR环境的视图的图像。根据所选择的渲染技术来渲染字形的一部分。此外,可根据基于每个部分的情况所选择的渲染技术以类似的方式渲染相同字形的不同部分和其他字形的部分。这样,可通过根据情况(例如,字形尺寸、字形属性、渲染分辨率等)对不同字形部分选择性地使用不同的文本渲染技术来渲染图像。
方法1300使得能够针对不同的文本比例和环境使用不同的文本渲染算法。可针对不同的渲染分辨率进行不同的质量/性能权衡。换句话讲,可存在用于不同的渲染分辨率的不同阈值或交叉点。
在一个具体实施中,使用三个算法级别。第一级别可用于相对较大的文本,例如高度放大的文本(例如使用贝塞尔网格)。这可避免高速缓存高分辨率纹理并且可有效地使用填充速率。对于三角形划分之外的像素可不存在成本,并且深度测试可用于内部三角形以去除隐藏表面。这可涉及具有矢量图形的统一解决方案。第二级别或中间级别可用于中间文本,该中间文本可涉及矢量文本(具有SDF高速缓存)。这可提供高质量的抗混叠和每个像素的低几何复杂性(例如,一个四边形/字形)。这可涉及经由高速缓存来调节性能/质量。可在设备上使用高速缓存。第三级别可用于相对较小的文本,并且涉及高度缩小的文本渲染技术(例如,使用预先光栅化的文本地图集)。对于分析方案,曲线密度可能过高。可使用单个片段着色器和低几何复杂性来提供高性能。超采样可用于更高的质量。此类技术可使用最小纹理存储器来提供低分辨率文本。
本文阐述了许多具体细节以提供对要求保护的主题的全面理解。然而,本领域的技术人员将理解,可以在没有这些具体细节的情况下实践要求保护的主题。在其他实例中,没有详细地介绍普通技术人员已知的方法、装置或系统,以便不使要求保护的主题晦涩难懂。
除非另外特别说明,否则应当理解,在整个说明书中,利用诸如“处理”、“计算”、“计算出”、“确定”和“识别”等术语的论述是指计算设备的动作或过程,诸如一个或多个计算机或类似的电子计算设备,其操纵或转换表示为计算平台的存储器、寄存器或其他信息存储设备、传输设备或显示设备内的物理电子量或磁量的数据。
本文论述的一个或多个系统不限于任何特定的硬件架构或配置。计算设备可以包括部件的提供以一个或多个输入为条件的结果的任何合适的布置。合适的计算设备包括基于多用途微处理器的计算机系统,其访问存储的软件,该软件将计算系统从通用计算装置编程或配置为实现本发明主题的一种或多种具体实施的专用计算装置。可以使用任何合适的编程、脚本或其他类型的语言或语言的组合来在用于编程或配置计算设备的软件中实现本文包含的教导内容。
本文所公开的方法的具体实施可以在这样的计算设备的操作中执行。上述示例中呈现的框的顺序可以变化,例如,可以将框重新排序、组合和/或分成子块。某些框或过程可以并行执行。
本文中“适用于”或“被配置为”的使用意味着开放和包容性的语言,其不排除适用于或被配置为执行额外任务或步骤的设备。另外,“基于”的使用意味着开放和包容性,因为“基于”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出所述的值。本文包括的标题、列表和编号仅是为了便于解释而并非旨在为限制性的。
还将理解的是,虽然术语“第一”、“第二”等可能在本文中用于描述各种元素,但是这些元素不应当被这些术语限定。这些术语只是用于将一个元件与另一元件区分开。例如,第一节点可以被称为第二节点,并且类似地,第二节点可以被称为第一节点,其改变描述的含义,只要所有出现的“第一节点”被一致地重命名并且所有出现的“第二节点”被一致地重命名。第一节点和第二节点都是节点,但它们不是同一个节点。
本文中所使用的术语仅仅是为了描述特定具体实施并非旨在对权利要求进行限制。如在本具体实施的描述和所附权利要求中所使用的那样,单数形式的“一个”和“该”旨在也涵盖复数形式,除非上下文清楚地另有指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件,和/或其分组。
如本文所使用的,术语“如果”可以被解释为表示“当所述先决条件为真时”或“在所述先决条件为真时”或“响应于确定”或“根据确定”或“响应于检测到”所述先决条件为真,具体取决于上下文。类似地,短语“如果确定[所述先决条件为真]”或“如果[所述先决条件为真]”或“当[所述先决条件为真]时”被解释为表示“在确定所述先决条件为真时”或“响应于确定”或“根据确定”所述先决条件为真或“当检测到所述先决条件为真时”或“响应于检测到”所述先决条件为真,具体取决于上下文。
本发明的前述描述和概述应被理解为在每个方面都是例示性和示例性的,而非限制性的,并且本文所公开的本发明的范围不仅由例示性具体实施的详细描述来确定,而是根据专利法允许的全部广度。应当理解,本文所示和所述的具体实施仅是对本发明原理的说明,并且本领域的技术人员可以在不脱离本发明的范围和实质的情况下实现各种修改。

Claims (20)

1.一种方法,包括:
在具有处理器的电子设备处:
确定计算机生成现实CGR环境的视点,所述CGR环境包括文本;
确定与从所述视点查看所述CGR环境中的所述文本相关联的测量结果,其中所述测量结果包括由所述文本的一部分所对向的角度;
基于所述测量结果确定第一区的尺寸;以及
通过根据第一渲染技术渲染所述第一区中的内容并且根据第二渲染技术渲染第二区中的内容来渲染提供从所述视点看的所述CGR环境的视图的图像,所述第一区不同于所述第二区,并且所述第一渲染技术不同于所述第二渲染技术。
2.根据权利要求1所述的方法,其中所述测量结果是所述文本的单独字形所对向的角度。
3.根据权利要求1所述的方法,其中所述测量结果是所述文本的所有单独字形所对向的最大角度。
4.根据权利要求1所述的方法,其中基于预先确定数量的字形确定所述第一区的所述尺寸。
5.根据权利要求1所述的方法,其中基于预先确定数量的字形确定所述第一区的宽度。
6.根据权利要求1所述的方法,还包括动态地调整所述第一区的所述尺寸,以基于与查看所述CGR环境中的所述文本相关联的附加测量结果来渲染提供所述CGR环境的视图的附加图像。
7.根据权利要求1所述的方法,其中基于跟踪设备的姿态确定所述视点,所述渲染显示在所述设备上。
8.根据权利要求1所述的方法,其中所述第一渲染技术使用比所述第二渲染技术更大的采样率。
9.根据权利要求1所述的方法,其中所述渲染包括根据第三渲染技术渲染第三区中的内容,所述第三区不同于所述第一区和所述第二区,并且所述第三渲染技术不同于所述第一渲染技术和所述第二渲染技术。
10.根据权利要求9所述的方法,其中所述第二区或所述第三区的尺寸基于所述测量结果。
11.根据权利要求1所述的方法,其中所述测量结果是所述文本的行之间的间距所对向的角度。
12.根据权利要求1所述的方法,其中所述测量结果是当前注视位置与所述文本的当前行的末尾所对向的角度。
13.根据权利要求1所述的方法,还包括识别用户属性,其中确定所述第一区的所述尺寸包括:基于所述测量结果和所述用户属性确定所述第一区的所述尺寸。
14.根据权利要求1所述的方法,其中确定所述第一区的所述尺寸包括:基于所述测量结果和视觉显著性估计确定所述第一区的所述尺寸。
15.一种方法,包括:
在具有处理器的电子设备处:
确定计算机生成现实CGR环境的视点,所述CGR环境包括文本;
确定图像的一部分的渲染分辨率,所述图像提供从所述视点看的所述CGR环境的视图;
基于字形的一部分将在所述图像的所述部分中占据的区域的尺寸以及所述图像的所述部分的所述渲染分辨率来确定用于所述字形的所述部分的渲染技术;以及
渲染提供从所述视点看的所述CGR环境的所述视图的所述图像,其中根据所述渲染技术渲染所述字形的所述部分。
16.根据权利要求15所述的方法,其中不同的渲染分辨率用于渲染所述图像的不同的区。
17.根据权利要求15所述的方法,其中确定所述渲染技术包括:
确定所述字形的所述部分将占据的所述图像的区域;
根据所述渲染分辨率确定所述区域的渲染像素的数量;以及
基于渲染像素的数量选择所述渲染技术。
18.根据权利要求15所述的方法,其中确定所述渲染技术包括基于确定所述渲染分辨率超过阈值来选择第一渲染技术。
19.根据权利要求15所述的方法,其中通过基于所述字形的所述部分将在所述图像的所述部分中占据的所述区域以及所述图像的所述部分的所述渲染分辨率从多种不同的渲染技术中选择渲染技术来确定所述渲染技术。
20.一种设备,包括:
非暂态计算机可读存储介质;和
一个或多个处理器,所述一个或多个处理器耦接到所述非暂态计算机可读存储介质,其中所述非暂态计算机可读存储介质包括程序指令,所述程序指令在所述一个或多个处理器上执行时,使系统执行包括以下操作的操作:
确定计算机生成现实CGR环境的视点,所述CGR环境包括文本;
确定与从所述CGR环境中的所述视点查看所述文本相关联的测量结果,其中所述测量结果包括由所述文本的一部分所对向的角度;
基于所述测量结果确定第一区的尺寸;以及
通过根据第一渲染技术渲染所述第一区中的内容并且根据第二渲染技术渲染第二区中的内容来渲染提供从所述视点看的所述CGR环境的视图的图像,所述第一区不同于所述第二区,并且所述第一渲染技术不同于所述第二渲染技术。
CN202080043380.0A 2019-09-23 2020-09-17 渲染计算机生成现实文本 Active CN114026603B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962904073P 2019-09-23 2019-09-23
US62/904,073 2019-09-23
PCT/US2020/051151 WO2021061479A1 (en) 2019-09-23 2020-09-17 Rendering computer-generated reality text

Publications (2)

Publication Number Publication Date
CN114026603A CN114026603A (zh) 2022-02-08
CN114026603B true CN114026603B (zh) 2023-06-13

Family

ID=72659986

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080043380.0A Active CN114026603B (zh) 2019-09-23 2020-09-17 渲染计算机生成现实文本

Country Status (4)

Country Link
US (1) US11308685B2 (zh)
KR (1) KR102705789B1 (zh)
CN (1) CN114026603B (zh)
WO (1) WO2021061479A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115842907A (zh) * 2018-03-27 2023-03-24 京东方科技集团股份有限公司 渲染方法、计算机产品及显示装置
US11656688B2 (en) * 2020-12-03 2023-05-23 Dell Products L.P. System and method for gesture enablement and information provisioning
CN115270032B (zh) * 2022-08-10 2023-04-25 上海图客科技有限公司 一种基于WebGL的动态高清文字显示方法及系统
CN115272535B (zh) * 2022-08-19 2024-07-05 上海新迪数字技术有限公司 Web下DWG图纸字体一致性绘制方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105474273A (zh) * 2013-07-25 2016-04-06 微软技术许可有限责任公司 后期重投影

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9197864B1 (en) 2012-01-06 2015-11-24 Google Inc. Zoom and image capture based on features of interest
JP2015046041A (ja) * 2013-08-28 2015-03-12 キヤノン株式会社 画像表示装置、画像表示装置の制御方法およびコンピュータプログラム
CN107710284B (zh) 2015-06-30 2021-11-23 奇跃公司 用于在虚拟图像生成系统中更有效地显示文本的技术
CA3069173C (en) 2016-01-12 2023-05-02 Esight Corp. Language element vision augmentation methods and devices
US10043238B2 (en) 2016-01-21 2018-08-07 International Business Machines Corporation Augmented reality overlays based on an optically zoomed input
US9940925B2 (en) 2016-03-29 2018-04-10 Authentix, Inc. Sight-to-speech product authentication
US10192528B2 (en) * 2016-03-31 2019-01-29 Sony Interactive Entertainment Inc. Real-time user adaptive foveated rendering
US11024014B2 (en) * 2016-06-28 2021-06-01 Microsoft Technology Licensing, Llc Sharp text rendering with reprojection
EP4411519A2 (en) * 2017-03-22 2024-08-07 Magic Leap, Inc. Depth based foveated rendering for display systems
US10984508B2 (en) 2017-10-31 2021-04-20 Eyedaptic, Inc. Demonstration devices and methods for enhancement for low vision users and systems improvements

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105474273A (zh) * 2013-07-25 2016-04-06 微软技术许可有限责任公司 后期重投影

Also Published As

Publication number Publication date
WO2021061479A1 (en) 2021-04-01
KR20220013396A (ko) 2022-02-04
US20210090323A1 (en) 2021-03-25
KR102705789B1 (ko) 2024-09-12
US11308685B2 (en) 2022-04-19
CN114026603A (zh) 2022-02-08

Similar Documents

Publication Publication Date Title
US12008151B2 (en) Tracking and drift correction
US10739849B2 (en) Selective peripheral vision filtering in a foveated rendering system
CN114026603B (zh) 渲染计算机生成现实文本
JP6730286B2 (ja) 拡張現実視野オブジェクトフォロワー
US20190371072A1 (en) Static occluder
US11867917B2 (en) Small field of view display mitigation using virtual object display characteristics
CN112116716A (zh) 基于检测到的对象来定位的虚拟内容
JP2021531493A (ja) ダイナミックパネルマスキング
CN114514493A (zh) 增强设备
CN115661408A (zh) 在人工现实环境中生成和修改手的表示
US11170578B1 (en) Occlusion detection
US11543655B1 (en) Rendering for multi-focus display systems
CN116490840A (zh) 用于计算机生成的对象的注意力驱动渲染
US11237413B1 (en) Multi-focal display based on polarization switches and geometric phase lenses
CN113678173A (zh) 用于虚拟对象的基于图绘的放置的方法和设备
CN112584127A (zh) 基于注视的曝光
US20230377249A1 (en) Method and Device for Multi-Camera Hole Filling
US11288873B1 (en) Blur prediction for head mounted devices
CN112017126A (zh) 增强的局部对比度
US20240377884A1 (en) Dynamic scale for vector graphic rendering
US12002132B1 (en) Rendering using analytic signed distance fields
US11823343B1 (en) Method and device for modifying content according to various simulation characteristics
US11915349B1 (en) Extrusion technique for curve rendering
US10964056B1 (en) Dense-based object tracking using multiple reference images
US20230412792A1 (en) Rendering format selection based on virtual distance

Legal Events

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