CN112106366A - 动态中央凹聚焦管线 - Google Patents

动态中央凹聚焦管线 Download PDF

Info

Publication number
CN112106366A
CN112106366A CN201980030981.5A CN201980030981A CN112106366A CN 112106366 A CN112106366 A CN 112106366A CN 201980030981 A CN201980030981 A CN 201980030981A CN 112106366 A CN112106366 A CN 112106366A
Authority
CN
China
Prior art keywords
warped
warped image
image
scaling factors
resolution
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.)
Pending
Application number
CN201980030981.5A
Other languages
English (en)
Inventor
T·艾博
Y·丛
C·J·怀特
A·Y·张
R·劳文达尔
M·克函
J·C·周
潘昊
N·博尼尔
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 CN112106366A publication Critical patent/CN112106366A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/631Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Processing Or Creating Images (AREA)

Abstract

在一个具体实施中,方法包括接收表示(例如,要在显示空间中显示的)模拟现实(SR)内容的扭曲图像,该扭曲图像在扭曲空间中的网格图案中均匀间隔的相应位置处具有多个像素,其中该多个像素分别与多个相应像素值和多个相应缩放因子相关联,该多个相应缩放因子指示(例如,该显示空间中的)该SR内容的多个相应位置处的多个相应分辨率。该方法包括基于该多个相应缩放因子来处理该扭曲空间中的该扭曲图像以生成经处理的扭曲图像并且传输该经处理的扭曲图像。

Description

动态中央凹聚焦管线
技术领域
本公开整体涉及图像渲染,并且具体地涉及用于以不同量的细节来渲染模拟现实的图像的系统、方法和设备。
背景技术
物理布景是指无需电子系统帮助个体就能够感知和/或个体能够交互的世界。物理布景(例如,物理森林)包括物理元素(例如,物理树、物理结构和物理动物)。个体可直接与物理布景相互作用和/或感知物理布景,诸如通过触摸、视觉、嗅觉、听觉和味觉。
相比之下,模拟现实(SR)布景是指经由电子系统个体能够感知和/或个体能够交互的完全或部分由计算机创建的布景。在SR中,监测个体移动的子集,并且响应于该子集,以符合一个或多个物理定律的方式更改SR布景中的一个或多个虚拟对象的一个或多个属性。例如,SR系统可检测到个体向前走几步,并且响应于此,以类似于此类情景和声音在物理布景中会如何变化的方式来调节呈现给个体的图形和音频。也可响应于移动的表示(例如,音频指令)而进行对SR布景中一个或多个虚拟对象的一个或多个属性的修改。
个体可使用他的任何感觉(包括触觉、嗅觉、视觉、味觉和声音)与SR对象进行交互和/或感知SR对象。例如,个体可与创建多维(例如,三维)或空间听觉布景和/或实现听觉透明性的听觉对象进行交互和/或感知听觉对象。多维或空间听觉布景为个体提供了在多维空间中对离散听觉源的感知。在具有或不具有计算机创建的音频的情况下,听觉透明性选择性地结合来自物理布景的声音。在一些SR布景中,个体可仅与听觉对象进行交互和/或仅感知听觉对象。
SR的一个示例是虚拟现实(VR)。VR布景是指被设计为仅包括针对至少一种感觉的计算机创建的感官输入的模拟布景。VR布景包括个体可与之交互和/或对其进行感知的多个虚拟对象。个体可通过在计算机创建的布景内模拟个体动作的子集和/或通过对个体或其在计算机创建的布景内的存在的模拟,来与VR布景中的虚拟对象进行交互和/或感知VR布景中的虚拟对象。
SR的另一个示例是混合现实(MR)。MR布景是指被设计为将计算机创建的感官输入(例如,虚拟对象)与来自物理布景的感官输入或其表示集成的模拟布景。在现实谱系上,混合现实布景介于一端的VR布景和另一端的完全物理布景之间并且不包括这些布景。
在一些MR布景中,计算机创建的感官输入可以适应于来自物理布景的感官输入的变化。另外,用于呈现MR布景的一些电子系统可以监测相对于物理布景的取向和/或位置,以使虚拟对象能够与真实对象(即来自物理布景的物理元素或其表示)交互。例如,系统可监测运动,使得虚拟植物相对于物理建筑物看起来是静止的。
混合现实的一个示例是增强现实(AR)。AR布景是指至少一个虚拟对象叠加在物理布景或其表示之上的模拟布景。例如,电子系统可具有不透明显示器和至少一个成像传感器,成像传感器用于捕获物理布景的图像或视频,这些图像或视频是物理布景的表示。系统将图像或视频与虚拟对象组合,并在不透明显示器上显示该组合。个体使用系统经由物理布景的图像或视频间接地查看物理布景,并且观察叠加在物理布景之上的虚拟对象。当系统使用一个或多个图像传感器捕获物理布景的图像,并且使用那些图像在不透明显示器上呈现AR布景时,所显示的图像被称为视频透传。另选地,用于显示AR布景的电子系统可具有透明或半透明显示器,个体可通过该显示器直接查看物理布景。该系统可在透明或半透明显示器上显示虚拟对象,使得个体使用该系统观察叠加在物理布景之上的虚拟对象。又如,系统可包括将虚拟对象投影到物理布景中的投影系统。虚拟对象可例如在物理表面上或作为全息图被投影,使得个体使用该系统观察叠加在物理布景之上的虚拟对象。
增强现实布景也可指其中物理布景的表示被计算机创建的感官信息改变的模拟布景。例如,物理布景的表示的一部分可被以图形方式改变(例如,放大),使得所改变的部分仍可代表一个或多个初始捕获的图像但不是忠实再现的版本。又如,在提供视频透传时,系统可改变传感器图像中的至少一者以施加不同于一个或多个图像传感器捕获的视点的特定视点。再如,物理布景的表示可通过以图形方式将其部分进行模糊处理或消除其部分而被改变。
混合现实的另一个示例是增强虚拟(AV)。AV布景是指计算机创建布景或虚拟布景并入来自物理布景的至少一个感官输入的模拟布景。来自物理布景的一个或多个感官输入可为物理布景的至少一个特征的表示。例如,虚拟对象可呈现由一个或多个成像传感器捕获的物理元素的颜色。又如,虚拟对象可呈现出与物理布景中的实际天气条件相一致的特征,如经由天气相关的成像传感器和/或在线天气数据所识别的。在另一个示例中,增强现实森林可具有虚拟树木和结构,但动物可具有从对物理动物拍摄的图像精确再现的特征。
许多电子系统使得个体能够与各种SR布景进行交互和/或感知各种SR布景。一个示例包括头戴式系统。头戴式系统可具有不透明显示器和一个或多个扬声器。另选地,头戴式系统可以被设计为接收外部显示器(例如,智能电话)。头戴式系统可具有分别用于拍摄物理布景的图像/视频和/或捕获物理布景的音频的一个或多个成像传感器和/或麦克风。头戴式系统也可具有透明或半透明显示器。透明或半透明显示器可结合基板,表示图像的光通过该基板被引导到个体的眼睛。显示器可结合LED、OLED、数字光投影仪、激光扫描光源、硅上液晶,或这些技术的任意组合。透射光的基板可以是光波导、光组合器、光反射器、全息基板或这些基板的任意组合。在一个实施方案中,透明或半透明显示器可在不透明状态与透明或半透明状态之间选择性地转换。又如,电子系统可以是基于投影的系统。基于投影的系统可使用视网膜投影将图像投影到个体的视网膜上。另选地,投影系统还可将虚拟对象投影到物理布景中(例如,投影到物理表面上或作为全息图)。SR系统的其他示例包括平视显示器、能够显示图形的汽车挡风玻璃、能够显示图形的窗口、能够显示图形的镜片、耳机或耳塞、扬声器布置、输入机构(例如,具有或不具有触觉反馈的控制器)、平板电脑、智能电话,以及台式计算机或膝上型计算机。
为达到SR体验而对图像进行渲染可能在计算上较昂贵。因此,为了减轻该计算负担,利用人类通常具有相对较弱的外围视觉这一事实。因此,在显示面板上以不同分辨率渲染该图像的不同部分。例如,在各种具体实施中,以比与用户外围相对应的部分更高的分辨率来渲染与用户的聚焦视野相对应的部分。
附图说明
因此,本公开可被本领域的普通技术人员理解,更详细的描述可参考一些例示性具体实施的方面,其中一些具体实施在附图中示出。
图1是根据一些具体实施的示例性操作环境的框图。
图2示出了根据一些具体实施的SR管线,该SR管线接收SR内容并且基于SR内容来在显示面板上显示图像。
图3A至图3D示出了根据各种具体实施的第一维度中的各种渲染分辨率函数。
图4A至图4D示出了根据各种具体实施的各种二维渲染分辨率函数。
图5A示出了根据一些具体实施的示例性渲染分辨率函数,该渲染分辨率函数表征随扭曲空间中的角度而变化的显示空间中的分辨率。
图5B示出了根据一些具体实施的图5A的示例性渲染分辨率函数的积分。
图5C示出了根据一些具体实施的图5A的示例性渲染分辨率函数的积分的逆的正切。
图6A示出了根据一些具体实施的用于执行静态中央凹聚焦(static foveation)的示例性渲染分辨率函数
图6B示出了根据一些具体实施的用于执行动态中央凹聚焦(dynamic foveation)的示例性渲染分辨率函数。
图7是根据一些具体实施的基于渲染分辨率函数来渲染图像的方法的流程图表示。
图8A示出了根据一些具体实施的要渲染的SR内容在显示空间中的示例性图像表示。
图8B示出了根据一些具体实施的图8A的SR内容的扭曲图像。
图9是根据一些具体实施的在多个中央凹聚焦模式之一下渲染图像的方法的流程图表示。
图10A至图10C示出了根据各种具体实施的各种约束渲染分辨率函数。
图11是根据一些具体实施的用约束渲染分辨率函数来渲染图像的方法的流程图表示。
图12是根据一些具体实施的基于眼动跟踪元数据来渲染图像的方法的流程图表示。
图13A至图13B示出了根据各种具体实施的各种基于置信度的渲染分辨率函数。
图14是根据一些具体实施的基于SR内容来渲染图像的方法的流程图表示。
图15是根据一些具体实施的传输图像的方法的流程图表示。
图16A至图16B示出了示例性图像以及由示例性图像的单层小波变换生成的小波图像。
图17是根据一些具体实施的用约束渲染分辨率函数来接收图像的方法的流程图表示。
图18A至图18B示出了根据一些具体实施的示例性无失真图像和失真图像。
图19A至图19B示出了根据一些具体实施的示例性预失真图像和失真的预失真图像(或无失真图像)。
图20是根据一些具体实施的使图像预失真的方法的流程图表示。
图21A至图21B示出了根据一些具体实施的指示多个分辨率区的面板数据的表示。
图22示出了根据一些具体实施的由缩放因子和分辨率区定义的示例性分辨率函数的曲线图。
图23示出了根据一些具体实施的由缩放因子和分辨率区定义的示例性分辨率函数的另一个曲线图。
图24是根据一些具体实施的生成面板数据的方法的流程图表示。
图25是根据一些具体实施的处理扭曲空间中的扭曲图像的方法的流程图表示。
图26是根据一些具体实施的基于多个缩放因子来处理扭曲图像的方法的流程图表示。
根据通常的做法,附图中示出的各种特征部可能未按比例绘制。因此,为了清楚起见,可以任意地扩展或减小各种特征部的尺寸。另外,一些附图可能未描绘给定的系统、方法或设备的所有部件。最后,在整个说明书和附图中,类似的附图标号可用于表示类似的特征部。
发明内容
本文所公开的各种具体实施包括用于处理扭曲空间中的图像的设备、系统和方法。该方法包括接收表示要在显示空间中显示的模拟现实(SR)内容的扭曲图像,该扭曲图像在扭曲空间中的网格图案中均匀间隔的相应位置处具有多个像素,其中所述多个像素分别与多个相应像素值和多个相应缩放因子相关联,所述多个相应缩放因子指示显示空间中的多个相应位置处的多个相应分辨率。该方法包括基于所述多个相应缩放因子来处理扭曲空间中的扭曲图像以生成经处理的扭曲图像并且传输经处理的扭曲图像。
本文所公开的各种具体实施包括用于基于多个缩放因子来处理图像的设备、系统和方法。在一个具体实施中,方法包括接收表示模拟现实(SR)内容的扭曲图像,该扭曲图像在扭曲空间中的网格图案中均匀间隔的相应位置处具有多个像素,其中所述多个像素分别与多个相应像素值和多个相应缩放因子相关联,所述多个相应缩放因子指示SR内容的多个相应位置处的多个相应分辨率。该方法包括基于所述多个相应缩放因子来处理扭曲图像以生成经处理的扭曲图像并且传输经处理的扭曲图像。
根据一些具体实施,一种设备包括一个或多个处理器、非暂态存储器以及一个或多个程序;该一个或多个程序被存储在非暂态存储器中并且被配置为由一个或多个处理器执行,并且该一个或多个程序包括用于执行或使得执行本文所述方法中的任一种的指令。根据一些具体实施,一种非暂态计算机可读存储介质中存储有指令,这些指令在由设备的一个或多个处理器执行时使该设备执行或使执行本文所述方法中的任一种。根据一些具体实施,一种设备包括:一个或多个处理器、非暂态存储器以及用于执行或使执行本文所述方法中的任一种的装置。
具体实施方式
描述了许多细节以便提供对附图中所示的示例具体实施的透彻理解。然而,附图仅示出了本公开的一些示例方面,因此不应被视为限制。本领域的普通技术人员将理解,其他有效方面和/或变体不包括本文所述的所有具体细节。此外,没有详尽地描述众所周知的系统、方法、部件、设备和电路,以免模糊本文所述的示例性具体实施的更多相关方面。
如上所述,在各种具体实施中,在显示面板上以不同分辨率渲染图像的不同部分。下文将描述基于多个因子来确定图像的不同部分的分辨率的各种方法。
图1是根据一些具体实施的示例性操作环境100的框图。尽管示出了相关特征,但本领域的普通技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的示例性具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,操作环境100包括控制器110和头戴式设备(HMD)120。
在一些具体实施中,控制器110被配置为管理和协调用户的模拟现实(SR)体验。在一些具体实施中,控制器110包括软件、固件和/或硬件的合适组合。在一些具体实施中,控制器110是相对于场景105处于本地或远程位置的计算设备。例如,控制器110是位于场景105内的本地服务器。又如,控制器110是位于场景105之外的远程服务器(例如,云服务器、中央服务器等)。在一些具体实施中,控制器110经由一个或多个有线或无线通信信道144(例如,蓝牙、IEEE 802.11x、IEEE 802.16x、IEEE802.3x等)与HMD 120通信耦接。又如,控制器110包含在HMD 120的外壳内。
在一些具体实施中,HMD 120被配置为向用户呈现SR体验。在一些具体实施中,HMD120包括软件、固件和/或硬件的合适组合。在一些具体实施中,控制器110的功能由HMD 120提供和/或与HMD 120结合。
根据一些具体实施,当用户虚拟地和/或物理地存在于场景105内时,HMD 120向用户提供SR体验。在一些具体实施中,在呈现AR体验时,HMD 120被配置为呈现AR内容(例如,一个或多个虚拟对象)以及实现场景105的光学透视。在一些具体实施中,在呈现AR体验时,HMD 120被配置为呈现AR内容(例如,一个或多个虚拟对象),该AR内容与HMD 120的场景摄像机捕获的图像或其部分叠加或以其他方式相结合。在一些具体实施中,在呈现AV内容时,HMD 120被配置为呈现与用户的计算机模拟环境视图相组合或叠加在该视图上的现实世界元素或其表示。在一些具体实施中,在呈现VR体验时,HMD 120被配置为呈现VR内容。
在一些具体实施中,用户将HMD 120戴在头上。因此,HMD 120包括被提供用于显示SR内容(任选地通过目镜或其他光学透镜系统)的一个或多个SR显示器。例如,在各种具体实施中,HMD 120包围用户的视野。在一些具体实施中,使用被配置为呈现SR内容的手持设备(诸如智能电话或平板电脑)代替HMD 120,其中用户不佩戴HMD 120而是手持该设备,同时使显示器朝向用户视野,并且使相机朝向场景105。在一些具体实施中,手持设备可被放置在可被佩戴在使用者的头部的外壳内。在一些具体实施中,使用被配置为呈现SR内容的SR舱、外壳或室代替HMD120,其中用户不佩戴或手持HMD 120。
在各种具体实施中,HMD 120包括呈现SR内容的SR管线。图2示出了SR管线200,该SR管线接收SR内容并且基于SR内容来在显示面板240上显示图像。
SR管线200包括渲染模块210,该渲染模块接收SR内容(和来自眼动跟踪器260的眼动跟踪数据)并且基于SR内容来渲染图像。在各种具体实施中,SR内容包括虚拟对象的几何形状、虚拟对象的颜色和/或纹理、图像(诸如场景的透视图像)以及其他描述要在渲染图像中表示的内容的信息的定义。
图像包括像素矩阵,每个像素具有对应像素值和对应像素位置。在各种具体实施中,像素值的范围为0至255。在各种具体实施中,每个像素值是颜色三元组,该颜色三元组包括与三个颜色通道相对应的三个值。例如,在一个具体实施中,图像是RGB图像,并且每个像素值包括红色值、绿色值和蓝色值。又如,在一个具体实施中,图像是YUV图像,并且每个像素值包括亮度值和两个色度值。在各种具体实施中,该图像是YUV444图像,其中每个色度值与一个像素相关联。在各种具体实施中,该图像是YUV420图像,其中每个色度值与2×2像素块相关联(例如,色度值被降采样)。在一些具体实施中,图像包括图块矩阵,每个图块具有对应图块位置并且包括具有对应像素值的像素块。在一些具体实施中,每个图块是32×32像素块。虽然提供了具体像素值、图像格式和图块尺寸,但应当理解,可使用其他值、格式和图块尺寸。
将渲染模块210所渲染的图像(例如,渲染图像)提供给传输模块220,该传输模块将渲染模块210耦接到显示模块230。传输模块220包括对渲染图像进行压缩(从而产生压缩图像)的压缩模块222、输送压缩图像的通信信道224以及对压缩图像进行解压缩(从而产生解压缩图像)的解压缩模块226。
将解压缩图像提供给显示模块230,该显示模块将解压缩图像转换成面板数据。将面板数据提供给显示面板240,该显示面板显示如由面板数据描述(例如,根据面板数据)的所显示的图像。显示模块230包括透镜补偿模块232,该透镜补偿模块补偿HMD的目镜242所引起的失真。例如,在各种具体实施中,透镜补偿模块232以与目镜242所引起的失真的逆关系使解压缩图像预失真,使得当用户250通过目镜242观察时,所显示的图像看起来是无失真的。显示模块230还包括面板补偿模块234,该面板补偿模块将图像数据转换成面板数据以供显示面板240读取。
目镜242限制可被用户250感知到的分辨率。在各种具体实施中,目镜242可支持的最大分辨率被表示为目镜分辨率函数,该目镜分辨率函数随离显示空间的原点的距离而变化。在各种具体实施中,目镜242可支持的最大分辨率被表示为目镜分辨率函数,该目镜分辨率函数随用户250的视轴与用户250正观看目镜242的中心时的视轴之间的角度而变化。在各种具体实施中,目镜242可支持的最大分辨率被表示为目镜分辨率函数,该目镜分辨率函数随用户250的视轴与用户250正观看显示面板240的中心时的视轴之间的角度而变化。
显示面板240包括位于显示空间中的相应位置处的M×N个像素的矩阵。显示面板240通过从每个像素发射光来显示如由面板数据描述(例如,根据面板数据)的所显示的图像。
在各种具体实施中,SR管线200包括眼动跟踪器260,该眼动跟踪器生成指示用户250的凝视的眼动跟踪数据。在各种具体实施中,眼动跟踪数据包括指示用户250在显示面板240上的注视点的数据。在各种具体实施中,眼动跟踪数据包括指示用户250的凝视角的数据,该凝视角诸如为用户250的当前视轴与用户250正观看显示面板240的中心时的视轴之间的角度。
在一个具体实施中,为了渲染要在显示面板240上显示的图像,渲染模块210为M×N个图像的每个像素生成M×N个像素值。因此,渲染图像的每个像素对应于在显示空间中具有对应位置的显示面板240的像素。因此,渲染模块210为显示空间中的网格图案中均匀间隔的M×N个像素位置生成像素值。等效地,渲染模块210在显示空间中的网格图案中均匀间隔的M/T×N/T个图块位置处生成T×T个像素的图块,每个像素具有对应像素值。
渲染M×N个像素值可能在计算上较昂贵。此外,当渲染图像的尺寸增加时,在压缩模块222处压缩该图像所需的处理量、跨通信信道224传输压缩图像所需的带宽量以及在解压缩模块226处对压缩图像进行解压缩所需的处理量也增加。
在各种具体实施中,为了在不降低用户体验的情况下减小渲染图像的尺寸,使用中央凹聚焦(例如,中央凹聚焦成像)。中央凹聚焦是图像分辨率或细节量跨图像发生变化的数字图像处理技术。因此,中央凹聚焦图像在图像的不同部分处具有不同分辨率。人类通常具有相对较弱的外围视觉。根据一个模型,用户的可分辨的分辨率在注视视野(例如,用户在此凝视)内达最大值并且以逆线性方式下降。因此,在一个具体实施中,由显示面板240显示的所显示的图像是中央凹聚焦图像,该中央凹聚焦图像具有聚焦视野处的最大分辨率以及以与离聚焦视野的距离成比例的逆线性方式降低的分辨率。
由于该图像的一些部分具有更低分辨率,因此M×N中央凹聚焦图像包括比M×N非中央凹聚焦图像更少的信息。因此,在各种具体实施中,渲染模块210以渲染图像的形式生成中央凹聚焦图像。与渲染模块210可生成M×N非中央凹聚焦图像相比,渲染模块210可更快速地以更少处理功率(和电池电量)生成M×N中央凹聚焦图像。另外,M×N中央凹聚焦图像可使用比M×N非中央凹聚焦图像更少的数据来表示。换句话讲,M×N中央凹聚焦图像文件的大小要小于M×N非中央凹聚焦图像文件。在各种具体实施中,使用各种压缩技术来压缩M×N中央凹聚焦图像会产生比压缩M×N非中央凹聚焦图像更少的位。
中央凹聚焦比率R可被定义为M×N非中央凹聚焦图像中的信息量除以M×N中央凹聚焦图像中的信息量。在各种具体实施中,中央凹聚焦比率介于1.5与10之间。例如,在一些具体实施中,中央凹聚焦比率为2。在一些具体实施中,中央凹聚焦比率为3或4。在一些具体实施中,中央凹聚焦比率在各图像间是恒定的。在一些具体实施中,基于待渲染的图像来选择中央凹聚焦比率。
在一些具体实施中,为了渲染要在显示面板240上显示的图像,渲染模块210为M/R×N/R个扭曲图像的每个像素生成M/R×N/R个像素值。扭曲图像的每个像素对应于比显示空间中的对应位置处的显示面板240的像素更大的区域。因此,渲染模块210为未在网格图案中均匀分布的显示空间中M/R×N/R个位置中的每个位置生成像素值。类似地,在一些具体实施中,渲染模块210在未在网格图案中均匀分布的显示空间中M/(RT)×N/(RT)个位置中的每个位置处生成T×T个像素的图块,每个像素具有对应像素值。与每个像素值(或每个图块)相对应的显示空间中的相应区域由显示空间中的对应位置(渲染位置)和缩放因子(或一组水平缩放因子和垂直缩放因子)定义。
在各种具体实施中,渲染模块210以渲染图像的形式生成扭曲图像。在各种具体实施中,扭曲图像包括与显示空间不同的扭曲空间中的网格图案中均匀间隔的M/R×N/R个位置的M/R×N/R个像素值的矩阵。具体地讲,扭曲图像包括未在网格图案中均匀分布的显示空间中M/R×N/R个位置的M/R×N/R个像素值的矩阵。因此,虽然扭曲图像的分辨率在扭曲空间中是均匀的,但分辨率在显示空间中发生变化。下文相对于图8A和图8B更详细地描述这一点。
渲染模块210基于渲染分辨率函数来确定渲染位置和对应缩放因子,该渲染分辨率函数一般表征显示空间中的渲染图像的分辨率。
在一个具体实施中,渲染分辨率函数S(x)随离显示空间的原点的距离而变化(该原点可对应于显示面板240的中心)。在另一个具体实施中,渲染分辨率函数S(θ)随用户250的视轴与用户250正观看显示面板240的中心时的视轴之间的角度而变化。因此,在一个具体实施中,渲染分辨率函数S(θ)以像素/度(PPD)表示。
人类通常具有相对较弱的外围视觉。根据一个模型,用户的可分辨的分辨率在聚焦视野(用户在此凝视)内达最大值并且在角度从视轴增加时以逆线性方式下降。因此,在一个具体实施中,渲染分辨率函数(在第一维度中)被定义为:
Figure BDA0002765345680000121
其中Smax是渲染分辨率函数的最大值(例如,大约60PPD),Smin是渲染分辨率函数的渐近线,θfof表征聚焦视野的尺寸,并且w表征渲染分辨率函数的宽度。
图3A示出了以逆线性方式从聚焦视野下降的渲染分辨率函数310(在第一维度中)。图3B示出了以线性方式从聚焦视野下降的渲染分辨率函数320(在第一维度中)。图3C示出了近似高斯函数的渲染分辨率函数330(在第一维度中)。图3D示出了以圆阶式方式下降的渲染分辨率函数340(在第一维度中)。
图3A至图3D的渲染分辨率函数310-340中的每个渲染分辨率函数呈包括峰高(例如,最大值)和峰宽的峰的形式。峰宽可以以多种方式定义。在一个具体实施中,峰宽被定义为聚焦视野的尺寸(如图3A的宽度311和图3B的宽度321所示)。在一个具体实施中,峰宽被定义为半峰全宽(如图3C的宽度331所示)。在一个具体实施中,峰宽被定义为离原点最近的两个拐点之间的距离(如图3D的宽度341所示)。
虽然图3A至图3D示出了单个维度中的渲染分辨率函数,但应当理解,渲染模块210所使用的渲染分辨率函数可为二维函数。图4A示出了二维渲染分辨率函数410,其中渲染分辨率函数410在水平维度(θ)和垂直维度
Figure BDA0002765345680000122
中是独立的。图4B示出了二维渲染分辨率函数420,其中渲染分辨率函数420是单个变量的函数(例如,
Figure BDA0002765345680000123
)。图4C示出了二维渲染分辨率函数430,其中渲染分辨率函数430在水平维度(θ)和垂直维度
Figure BDA0002765345680000124
中是不同的。图4D示出了基于人类视觉模型的二维渲染分辨率函数440。
如下文详细描述,渲染模块210基于多个因子来生成渲染分辨率函数,所述多个因子包括与人类视觉有关的生物信息、眼动跟踪数据、眼动跟踪元数据、SR内容和各种约束条件(诸如由HMD的硬件施加的约束条件)。
图5A示出了示例性渲染分辨率函数510(被表示为S(θ)),该渲染分辨率函数表征随扭曲空间中的角度而变化的显示空间中的分辨率。渲染分辨率函数510在聚焦视野内(介于-θfof与+θfof之间)是常数(例如,Smax)并且在该窗口之外以逆线性方式下降。
图5B示出了视野内(例如,-θfov至+θfov)的图5A的渲染分辨率函数510的积分520(被表示为U(θ))。因此,
Figure BDA0002765345680000131
积分520的范围为-θfov下的0到+θfov下的最大值(被表示为Umax)。
图5C示出了图5A的渲染分辨率510的积分520的逆的正切530(被表示为V(xR))。因此,V(xR)=tan(U-1(xR))。正切530示出了从xR中的渲染空间到xD中的显示空间的直接映射。根据渲染分辨率函数510所指示的中央凹聚焦,扭曲空间中的均匀采样点(沿着xR轴等距间隔)对应于显示空间中的非均匀采样点(沿着xD轴非等距间隔)。可由显示空间中的非均匀采样点之间的距离确定缩放因子。
当执行静态中央凹聚焦时,渲染模块210使用不依赖于用户凝视的渲染分辨率函数。然而,当执行动态中央凹聚焦时,渲染模块210使用依赖于用户凝视的渲染分辨率函数。具体地讲,当执行动态中央凹聚焦时,渲染模块210使用在与用户正观看的显示空间中的位置(例如,如眼动跟踪器260所确定的注视点)相对应的位置处具有峰高的渲染分辨率函数。
图6A示出了渲染模块210可在执行静态中央凹聚焦时使用的渲染分辨率函数610。渲染模块210还可在执行动态中央凹聚焦并且用户正观看显示面板240的中心时使用图6A的渲染分辨率函数610。图6B示出了在执行动态中央凹聚焦并且用户正以远离显示面板240的中心的角度(θg)观看时可由渲染模块使用的渲染分辨率函数620。
图7是根据一些具体实施的渲染图像的方法700的流程图表示。在一些具体实施中(并且如下面作为示例详细描述的),方法700由渲染模块(诸如图2的渲染模块210)执行。在各种具体实施中,方法700由HMD(诸如图1的HMD 100)或其一部分(诸如图2的SR管线200)执行。在各种具体实施中,方法700由具有一个或多个处理器、非暂态存储器以及一个或多个SR显示器的设备执行。在一些具体实施中,方法700由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法700由执行存储在非暂态计算机可读介质(例如,存储器)中的指令(例如,代码)的处理器执行。
方法700从框710开始,此时渲染模块获得要渲染到显示空间中的SR内容。在各种具体实施中,SR内容可包括虚拟对象的几何形状、虚拟对象的颜色和/或纹理、图像(诸如场景的透视图像)或其他描述要在渲染图像中表示的内容的信息的定义。
方法700在框720处继续,此时渲染模块获得定义显示空间与扭曲空间之间的映射的渲染分辨率函数。图3A至图3D和图4A至图4D中示出了各种渲染分辨率函数。下面进一步描述生成渲染分辨率函数的各种方法。
在各种具体实施中,渲染分辨率函数一般表征显示空间中的渲染图像的分辨率。因此,渲染分辨率函数的积分提供显示空间与扭曲空间之间的映射(如图5A至图5C所示)。在一个具体实施中,渲染分辨率函数S(x)随离显示空间的原点的距离而变化。在另一个具体实施中,渲染分辨率函数S(θ)随用户的视轴与用户正观看显示面板的中心时的视轴之间的角度而变化。因此,渲染分辨率函数表征随(显示空间中)角度而变化的显示空间中的分辨率。因此,在一个具体实施中,渲染分辨率函数S(θ)以像素/度(PPD)表示。
在各种具体实施中,渲染模块执行动态中央凹聚焦并且渲染分辨率函数依赖于用户的凝视。因此,在一些具体实施中,获得渲染分辨率函数包括例如从图2的眼动跟踪器260获得指示用户的凝视的眼动跟踪数据,并且基于眼动跟踪数据来生成渲染分辨率函数。在各种具体实施中,眼动跟踪数据包括指示用户的凝视角的数据或指示用户的注视点的数据中的至少一者。具体地讲,在各种具体实施中,基于眼动跟踪数据来生成渲染分辨率函数包括如眼动跟踪数据所指示的那样生成在用户正观看的位置处具有峰高的渲染分辨率函数。
方法700在框730处继续,此时渲染模块基于SR内容和渲染分辨率函数来生成渲染图像。渲染图像包括在扭曲空间中的网格图案中均匀间隔的相应位置处具有多个像素的扭曲图像。所述多个像素分别与基于SR内容的多个相应像素值相关联。所述多个像素分别与基于渲染分辨率函数来定义显示空间中的区域的多个相应缩放因子相关联。
被称为处于显示空间中的图像具有均匀间隔的区域(例如,像素或像素组),它们映射到显示器的均匀间隔的区域(像素或像素组)。被称为处于扭曲空间中的图像具有均匀间隔的区域(例如,像素或像素组),它们映射到显示空间中的非均匀间隔的区域(例如,像素或像素组)。扭曲空间中的均匀间隔的区域与显示空间中的非均匀间隔的区域之间的关系至少部分地由缩放因子定义。因此,所述多个相应缩放因子(与渲染分辨率函数一样)定义扭曲空间与显示空间之间的映射。
在各种具体实施中,扭曲图像在扭曲空间中的网格图案中均匀间隔的相应位置处包括多个图块,并且所述多个图块中的每个图块与相应一个或多个缩放因子相关联。例如,在一些具体实施中,每个图块(包括多个像素)与单个水平缩放因子和单个垂直缩放因子相关联。在一些具体实施中,每个图块与用于水平缩放和垂直缩放两者的单个缩放因子相关联。在各种具体实施中,每个图块是32×32像素矩阵。
在各种具体实施中,渲染模块传输扭曲图像,包括与所述多个相应缩放因子相关联的所述多个像素值。因此,通过管线传播扭曲图像和缩放因子,而不是可使用该信息生成的中央凹聚焦图像。
具体地讲,相对于图2而言,在各种具体实施中,渲染模块210生成由渲染模块210传输的扭曲图像和多个相应缩放因子。在管线200中的各个阶段,由传输模块220(及其压缩模块222和解压缩模块226)接收扭曲图像(或扭曲图像的经处理版本)和所述多个相应缩放因子(并且将它们用于处理扭曲图像),如下文进一步描述。在管线200中的各个阶段,由显示模块230(及其透镜补偿模块232和面板补偿模块234)接收扭曲图像(或扭曲图像的经处理版本)和所述多个相应缩放因子(并且将它们用于处理扭曲图像),如下文进一步描述。
在各种具体实施中,渲染模块基于渲染分辨率函数来生成缩放因子。例如,在一些具体实施中,基于如上相对于图5A至图5C所述的渲染分辨率函数来生成缩放因子。在各种具体实施中,生成缩放因子包括确定渲染分辨率函数的积分。在各种具体实施中,生成缩放因子包括确定渲染分辨率函数的积分的逆的正切。在各种具体实施中,生成缩放因子包括基于渲染分辨率函数的积分的逆的正切来为扭曲空间中的网格图案中均匀间隔的相应位置中的每个位置确定相应缩放因子。因此,对于扭曲空间中均匀间隔的多个位置而言,由缩放因子表示显示空间中非均匀间隔的多个位置。
图8A示出了要在显示空间中渲染的SR内容810的图像表示。图8B示出了根据图7的方法700来生成的扭曲图像820。根据渲染分辨率函数,将与显示空间中的非均匀间隔的区域(例如,不同量的区域)相对应的SR内容810的不同部分渲染成扭曲图像820中的均匀间隔的区域(例如,相同量的区域)。
例如,由包括K个像素(和K个像素值)的图8B的扭曲图像820中的区域来表示图8A的SR内容810的图像表示的中心处的区域。类似地,由包括K个像素(和K个像素值)的图8B的扭曲图像820中的区域来表示图8A的SR内容810的图像表示的拐角上的区域(比图8A的中心处的区域更大的区域)。
如上所述,渲染模块210可执行静态中央凹聚焦或动态中央凹聚焦。在各种具体实施中,渲染模块210确定要应用于渲染SR内容的中央凹聚焦模式,并且根据所确定的中央凹聚焦模式来执行静态中央凹聚焦或动态中央凹聚焦。在静态中央凹聚焦模式下,独立于眼动跟踪数据来渲染SR内容。在非中央凹聚焦模式下,由每个显示区域的固定分辨率(例如,每个图块的恒定像素数量)表征渲染图像。在动态中央凹聚焦模式下,渲染图像的分辨率依赖于用户的凝视。
图9是根据一些具体实施的渲染图像的方法900的流程图表示。在一些具体实施中(并且如下面作为示例详细描述的),方法900由渲染模块(诸如图2的渲染模块210)执行。在各种具体实施中,方法900由HMD(诸如图1的HMD 100)或其一部分(诸如图2的SR管线200)执行。在各种具体实施中,方法900由具有一个或多个处理器、非暂态存储器以及一个或多个SR显示器的设备执行。在一些具体实施中,方法900由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法900由执行存储在非暂态计算机可读介质(例如,存储器)中的指令(例如,代码)的处理器执行。
方法900在框910中开始,此时渲染模块获得指示用户的凝视(例如,用户正观看的地方,诸如用户的凝视方向或注视点)的眼动跟踪数据。在各种具体实施中,眼动跟踪数据包括指示用户的凝视角的数据或指示用户的注视点的数据中的至少一者。
方法900在框920中继续,此时渲染模块获得要渲染的SR内容。在各种具体实施中,SR内容可包括虚拟对象的几何形状、虚拟对象的颜色和/或纹理、图像(诸如场景的透视图像)或其他描述要在渲染图像中表示的内容的信息的定义。
方法900在框930中继续,此时渲染模块确定要应用于渲染SR内容的中央凹聚焦模式。在各种具体实施中,渲染模块基于各种因子来确定中央凹聚焦模式。在一些具体实施中,渲染模块基于渲染处理器特征来确定中央凹聚焦模式。例如,在一些具体实施中,渲染模块基于渲染模块的渲染处理器的可用处理功率、处理速度或处理器类型来确定中央凹聚焦模式。当渲染模块具有大可用处理功率(由于大处理容量或处理容量的低使用率)时,渲染模块选择动态中央凹聚焦模式,并且当渲染模块具有小可用处理功率(由于小处理容量或处理容量的高使用率)时,渲染模块选择静态中央凹聚焦模式或非中央凹聚焦模式。参考图1,当由控制器110执行渲染(例如,渲染处理器处于控制器处)时,渲染模块选择动态中央凹聚焦模式,并且当由HMD 120执行渲染(例如,渲染处理器处于HMD处)时,渲染模块选择静态中央凹聚焦模式或非中央凹聚焦模式。在各种具体实施中,基于HMD 120的特征(诸如相对于控制器110的处理功率而言的HMD 120的处理功率)来进行静态中央凹聚焦模式与动态中央凹聚焦模式之间的切换。
在一些具体实施中,当眼动跟踪性能(例如,可靠性)充分下降时,渲染模块选择静态中央凹聚焦模式或非中央凹聚焦模式。例如,在一些具体实施中,当眼动跟踪丢失时,选择静态中央凹聚焦模式或非中央凹聚焦模式。又如,在一些具体实施中,当眼动跟踪性能突破阈值时,诸如当眼动跟踪精度下降过低(例如,由于眼动跟踪数据中的大间隙)和/或与眼动跟踪相关的延迟超过一定值时,选择静态中央凹聚焦模式或非中央凹聚焦模式。在一些具体实施中,渲染模块将焦点移动到HMD 120的中心,并且当怀疑在动态中央凹聚焦期间(例如,在超时之后,如低预测置信度所指示)眼动跟踪性能减弱时,使用静态中央凹聚焦来逐渐增大注视视野(FoF)。
在各种具体实施中,渲染模块选择静态中央凹聚焦模式或非中央凹聚焦模式以便考虑其他考虑因素。例如,在一些具体实施中,在优异眼动跟踪传感器性能为期望的情况下,渲染模块选择静态中央凹聚焦模式或非中央凹聚焦模式。又如,在一些具体实施中,当佩戴HMD 120的用户具有防止眼动跟踪或使其充分无效的医学状况时,渲染模块选择静态中央凹聚焦模式或非中央凹聚焦模式。
在各种具体实施中,之所以选择静态中央凹聚焦模式或非中央凹聚焦模式,是因为其提供渲染成像系统的各个方面的更好性能。例如,在一些具体实施中,静态中央凹聚焦模式或非中央凹聚焦模式提供更好的速率控制。又如,在一些具体实施中,静态中央凹聚焦模式或非中央凹聚焦模式提供混合中央凹聚焦区域和非中央凹聚焦区域的更好隐藏(例如,通过使界定这些区域的线条变得更淡)。又如,在一些具体实施中,静态中央凹聚焦模式或非中央凹聚焦模式例如通过以下方式提供更好的显示面板消耗带宽:使用静态分组补偿数据来保持类似功率和/或带宽。再如,在一些具体实施中,静态中央凹聚焦模式或非中央凹聚焦模式减轻渲染非期望视觉方面诸如闪烁和/或伪影(例如,分组滚动发射剪切伪影(grouped rolling emission shear artifact))的风险。
方法900在决策块935中继续。根据中央凹聚焦模式是动态中央凹聚焦模式的确定,方法900在框940中继续,在该框中,渲染模块根据动态中央凹聚焦基于眼动跟踪数据来渲染SR内容(例如,如上文相对于图7所描述)。根据中央凹聚焦模式是静态中央凹聚焦模式的确定,方法900在框942中继续,在该框中,渲染模块根据静态中央凹聚焦独立于眼动跟踪数据来渲染SR内容(例如,如上文相对于图7所描述)。根据中央凹聚焦模式是非中央凹聚焦模式的确定,方法900在框944中继续,在该框中,渲染模块在没有中央凹聚焦的情况下渲染SR内容。
在各种具体实施中,方法900返回到框920,在此接收附加SR内容。在各种具体实施中,渲染模块根据变化的情况以不同中央凹聚焦模式渲染不同SR内容。虽然是按特定次序示出的,但应当理解,方法900的框可按不同次序或同时执行。例如,可在方法900的整个执行过程中获得眼动跟踪数据(例如,如框910中),并且依赖于该数据的框可使用任何先前获得的(例如,最近获得的)眼动跟踪数据或其变体(例如,加窗平均值等)。
图10A示出了随角度而变化的目镜分辨率函数1020,E(θ)。目镜分辨率函数1020在目镜242的中心处具有最大值并且朝向边缘下降。在各种具体实施中,目镜分辨率函数1020包括圆、椭圆、抛物线或双曲线的一部分。
图10A还示出了具有以凝视角(θg)为中心的峰的无约束渲染分辨率函数1010,Su(θ)。在该峰周围,无约束渲染分辨率函数1010大于目镜分辨率函数1020。因此,如果渲染模块210要渲染具有由无约束渲染分辨率函数1010指示的分辨率的图像,则目镜242会剥离这些角度下的细节。因此,在各种具体实施中,为了在渲染这些细节时避免计算开销和延迟,渲染模块210生成有上限的渲染分辨率函数1030(加粗),Sc(θ),该函数等于目镜分辨率函数1010和无约束渲染分辨率函数中的较小者。因此,Sc(θ)=min(E(θ),Su(θ))。
在各种具体实施中,与渲染模块210渲染该渲染图像相关联的计算开销和延迟的量保持相对恒定(例如,归一化),而不论用户250的凝视角如何。因此,在各种具体实施中,渲染模块210使用渲染分辨率函数来渲染该渲染图像,该渲染分辨率函数具有指示渲染图像中的总细节量的固定求和值。在各种具体实施中,求和值一般等于视野内的渲染分辨率函数的积分。换句话讲,求和值对应于视野内的渲染分辨率函数下的面积。在各种具体实施中,求和值对应于渲染图像中的像素、图块和/或(x,y)位置的数量。
有上限的渲染分辨率函数1030的求和值小于无约束渲染分辨率函数1010的求和值。为了生成具有更大求和值(例如,等于固定求和值)的渲染分辨率函数,渲染模块增加有上限的渲染分辨率函数1030的值,这些值与无约束渲染分辨率函数1010相比不减小。例如,图10B示出了第一约束渲染分辨率函数1032,其中渲染分辨率函数的下降部分与有上限的渲染分辨率函数1030的下降部分相比增加。又如,图10C示出了第二约束渲染分辨率函数1034,其中渲染分辨率函数的峰宽与有上限的渲染分辨率函数1030的峰宽相比增加。
图11是根据一些具体实施的渲染图像的方法1100的流程图表示。在一些具体实施中(并且如下面作为示例详细描述的),方法1100由渲染模块(诸如图2的渲染模块210)执行。在各种具体实施中,方法1100由HMD(诸如图1的HMD 100)或其一部分(诸如图2的SR管线200)执行。在各种具体实施中,方法1100由具有一个或多个处理器、非暂态存储器以及一个或多个SR显示器的设备执行。在一些具体实施中,方法1100由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法1100由执行存储在非暂态计算机可读介质(例如,存储器)中的指令(例如,代码)的处理器执行。
方法1100在框1110中开始,此时渲染模块获得指示用户的凝视(例如,用户正观看的地方,诸如用户的凝视方向和/或注视点)的眼动跟踪数据。在各种具体实施中,渲染模块接收指示至少在用户凝视时目镜的性能特征的数据。在各种具体实施中,可由眼动跟踪数据确定在用户凝视时目镜的性能特征。
方法1110在框1120中继续,此时渲染模块基于眼动跟踪数据来生成渲染分辨率函数,该渲染分辨率函数具有依赖于眼动跟踪数据的最大值以及独立于眼动跟踪数据的求和值。
在各种具体实施中,生成渲染分辨率函数包括基于眼动跟踪数据来生成无约束渲染分辨率函数(诸如图10A的无约束渲染分辨率函数1010);基于眼动跟踪数据(和任选地,目镜分辨率函数,诸如图10A的目镜分辨率函数1020)来确定(约束之后的渲染分辨率函数的)最大值;将最大值以上的无约束渲染分辨率函数的值减小至最大值以便生成有上限的渲染分辨率函数(诸如图10A的有上限的渲染分辨率函数1030);并且增加有上限的渲染分辨率函数的未减小的值以便生成渲染分辨率函数。在各种具体实施中,增加有上限的渲染分辨率函数的未减小的值包括增加有上限的渲染分辨率函数的下降部分。在一些具体实施中,渲染分辨率函数的外围部分以逆线性方式(例如,双曲线地)下降。在各种具体实施中,增加有上限的渲染分辨率函数的未减小的值包括增加有上限的渲染分辨率函数的峰宽,诸如增加聚焦视野的尺寸。
在各种具体实施中,最大值基于用户的凝视与透镜性能特征之间的映射。在一些具体实施中,透镜性能特征由目镜分辨率函数或调制传递函数(MTF)表示。在一些具体实施中,通过表面透镜建模来确定透镜性能特征。
在各种具体实施中,最大值被确定为凝视方向的函数(因为目镜分辨率函数随凝视方向而变化)。在各种具体实施中,最大值基于用户凝视的变化,诸如凝视运动(例如,改变凝视位置)。例如,在一些具体实施中,当用户环视四周时,渲染分辨率函数的最大值减小(因为分辨率感知在眼运动期间降低)。又如,在一些具体实施中,当用户眨眼时,渲染分辨率函数的最大值减小(因为分辨率感知[和眼动跟踪置信度]在用户眨眼时降低)。
在各种具体实施中,最大值受到透镜性能特征的影响。例如,在一些具体实施中,当透镜性能特征指示透镜无法支持更高分辨率时,最大值减小。在一些具体实施中,透镜性能特征包括由透镜带来的失真。
方法1100在框1130中继续,此时渲染模块基于SR内容和渲染分辨率函数来生成渲染图像(例如,如上文相对于图7所述)。在各种具体实施中,渲染图像是中央凹聚焦图像,诸如在用户的注视视野(FoF)之外具有更低分辨率的图像。在各种具体实施中,渲染图像是扭曲图像,诸如与SR内容相比变换到非均匀空间中的图像。
图12是根据一些具体实施的渲染图像的方法1200的流程图表示。在一些具体实施中(并且如下面作为示例详细描述的),方法1200由渲染模块(诸如图2的渲染模块210)执行。在各种具体实施中,方法1200由HMD(诸如图1的HMD 100)或其一部分(诸如图2的SR管线200)执行。在各种具体实施中,方法1200由具有一个或多个处理器、非暂态存储器以及一个或多个SR显示器的设备执行。在一些具体实施中,方法1200由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法1200由执行存储在非暂态计算机可读介质(例如,存储器)中的指令(例如,代码)的处理器执行。
方法1200从框1210开始,此时渲染模块获得指示用户的凝视(例如,用户正观看的地方,诸如用户的凝视方向或注视点)的眼动跟踪数据。在各种具体实施中,眼动跟踪数据包括指示用户的凝视角的数据或指示用户的注视点的数据中的至少一者。
方法1200在框1220处继续,此时渲染模块获得指示眼动跟踪数据的特征的眼动跟踪元数据。在各种具体实施中,获得与对应眼动跟踪数据相关联的眼动跟踪元数据。在各种具体实施中,从眼动跟踪器(诸如图2的眼动跟踪器260)接收眼动跟踪数据和相关联的眼动跟踪元数据。
在各种具体实施中,眼动跟踪元数据包括指示眼动跟踪数据的置信度的数据。例如,在各种具体实施中,眼动跟踪元数据提供眼动跟踪数据正确指示用户的凝视的可信度的度量。
在各种具体实施中,指示眼动跟踪数据的置信度的数据包括指示眼动跟踪数据的精度的数据。在各种具体实施中,渲染模块基于一系列最近捕获的用户的眼睛的图像、用户的凝视的最近测量值、用户生物测量信息和/或其他所获得的数据来生成指示眼动跟踪数据的精度的数据。
在各种具体实施中,指示眼动跟踪数据的置信度的数据包括指示眼动跟踪数据的延迟的数据(例如,生成眼动跟踪数据的时间与渲染模块接收到眼动跟踪数据的时间之间的差值)。在各种具体实施中,渲染模块基于眼动跟踪数据的时间戳来生成指示眼动跟踪数据的延迟的数据。在各种具体实施中,与延迟更大时相比,在延迟更小时眼动跟踪数据的置信度更高。
在各种具体实施中,眼动跟踪数据包括指示用户的凝视的预测的数据,并且指示眼动跟踪数据的置信度的数据包括指示预测的置信度的数据。在各种具体实施中,指示用户的凝视的预测的数据基于以过去捕获的图像为基础的用户的凝视的过去测量值。在各种具体实施中,用户的凝视的预测基于将用户的凝视的过去运动分类为持续注视、平滑跟随或扫视。在各种具体实施中,预测的置信度基于该分类。具体地讲,在各种具体实施中,与过去运动被分类为扫视时相比,在过去运动被分类为持续注视或平滑跟随时预测的置信度更高。
在各种具体实施中,眼动跟踪元数据包括指示用户的一个或多个生物测量信息、特别是影响眼动跟踪元数据或其置信度的生物测量信息的数据。具体地讲,在各种具体实施中,用户的生物测量信息包括眼解剖结构、种族/外貌、眼睛颜色、年龄、视觉辅助器(例如,矫正透镜)、化妆品(例如,眼线或睫毛膏)、医学状况、历史凝视变化、输入偏好或校准、耳机位置/取向、瞳孔扩张/中心位移和/或眼睑位置中的一者或多者。
在各种具体实施中,眼动跟踪元数据包括指示生成眼动跟踪数据的用户的环境的一个或多个环境条件的数据。具体地讲,在各种具体实施中,环境条件包括振动、环境温度、IR方向光或IR光强度中的一者或多者。
方法1200在框1230处继续,此时渲染模块基于眼动跟踪数据和眼动跟踪元数据来生成渲染分辨率函数。在各种具体实施中,渲染模块基于眼动跟踪数据来生成具有峰最大值的渲染分辨率函数(例如,在用户正观看的地方分辨率最高)。在各种具体实施中,渲染模块基于眼动跟踪元数据来生成具有峰宽的渲染分辨率函数(例如,在眼动跟踪元数据指示眼动跟踪数据的正确性的置信度更低时峰更宽)。
方法1200在框1240处继续,此时渲染模块基于SR内容和渲染分辨率函数来生成渲染图像(例如,如上文相对于图7所述)。在各种具体实施中,渲染图像是中央凹聚焦图像,诸如在用户的注视视野(FoF)之外具有更低分辨率的图像。在各种具体实施中,渲染图像是扭曲图像,诸如与SR内容相比变换到非均匀空间中的图像。
图13A示出了渲染分辨率函数1310,当执行动态中央凹聚焦时,当眼动跟踪数据指示用户正以远离显示面板的中心的角度(θg)观看时,并且当眼动跟踪元数据指示第一置信度而产生第一峰宽1311时,渲染模块可使用该渲染分辨率函数。图13B示出了渲染分辨率函数1320,当执行动态中央凹聚焦时,当眼动跟踪数据指示用户正以远离显示面板的中心的角度(θg)观看时,并且当眼动跟踪元数据指示小于第一置信度的第二置信度而产生大于第一峰宽1311的第二峰宽1321时,渲染模块可使用该渲染分辨率函数。
在各种具体实施中,渲染模块检测眼动跟踪流(包括眼动跟踪元数据和眼动跟踪数据)的丢失。作为响应,渲染模块基于检测眼动跟踪流的丢失来生成第二渲染分辨率函数,并且基于SR内容和第二渲染分辨率函数来生成第二渲染图像。
在各种具体实施中,检测眼动跟踪流的丢失包括在眼动跟踪流丢失时确定用户的凝视为静态的。因此,在各种具体实施中,生成第二渲染分辨率函数包括生成在与渲染分辨率函数的峰最大值相同的位置处具有峰最大值并且具有比渲染分辨率函数的峰宽更大的峰宽的第二渲染分辨率函数。因此,在各种具体实施中,响应于检测到眼动跟踪流的丢失,渲染分辨率函数保留在相同位置处,但注视视野的尺寸增加。
在各种具体实施中,检测眼动跟踪流的丢失包括在眼动跟踪流丢失时确定用户的凝视正在移动。因此,在各种具体实施中,生成第二渲染分辨率函数包括生成与渲染分辨率函数的峰最大值相比在朝向中心位移的位置处具有峰最大值并且具有比渲染分辨率函数的峰宽更大的峰宽的第二渲染分辨率函数。因此,在各种具体实施中,响应于检测到眼动跟踪流的丢失,渲染分辨率函数移动到显示面板的中心并且注视视野的尺寸增加。
在各种具体实施中,检测眼动跟踪流的丢失包括在眼动跟踪流丢失时确定用户的凝视正在一定方向上移动。因此,在各种具体实施中,生成第二渲染分辨率函数包括生成与渲染分辨率函数的峰最大值相比在该方向上位移的位置处具有峰最大值并且具有比渲染分辨率函数的峰宽更大的峰宽的第二渲染分辨率函数。因此,在各种具体实施中,响应于检测到眼动跟踪流的丢失,渲染分辨率函数移动到预测位置并且注视视野的尺寸增加。
图14是根据一些具体实施的渲染图像的方法1400的流程图表示。在一些具体实施中(并且如下面作为示例详细描述的),方法1400由渲染模块(诸如图2的渲染模块210)执行。在各种具体实施中,方法1400由HMD(诸如图1的HMD 100)或其一部分(诸如图2的SR管线200)执行。在各种具体实施中,方法1400由具有一个或多个处理器、非暂态存储器以及一个或多个SR显示器的设备执行。在一些具体实施中,方法1400由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法1400由执行存储在非暂态计算机可读介质(例如,存储器)中的指令(例如,代码)的处理器执行。
方法1400从框1410开始,此时渲染模块获得指示用户的凝视(例如,用户正观看的地方,诸如用户的凝视方向或注视点)的眼动跟踪数据。在各种具体实施中,眼动跟踪数据包括指示用户的凝视角的数据或指示用户的注视点的数据中的至少一者。
方法1400在框1420处继续,此时渲染模块获得要渲染的SR内容。在各种具体实施中,SR内容可包括虚拟对象的几何形状、虚拟对象的颜色和/或纹理、图像(诸如场景的透视图像)或其他描述要在渲染图像中表示的内容的信息的定义。
方法1400在框1430处继续,此时渲染模块基于眼动跟踪数据和SR内容来生成渲染分辨率函数。在各种具体实施中,渲染模块基于眼动跟踪数据来生成具有峰最大值的渲染分辨率函数(例如,在用户正观看的地方分辨率最高)。在各种具体实施中,渲染模块基于眼动跟踪数据来生成渲染分辨率函数,并且基于SR内容来调节渲染分辨率函数。例如,在一些具体实施中,渲染模块在一个或多个导入区域诸如人类特别适于分辨的游戏目的或内容(例如,人类可能会注意的内容)如面部或高分辨率对象中增加渲染分辨率函数。又如,在一些具体实施中,渲染模块在(例如,SR内容的对象的)一个或多个运动区域中增加渲染分辨率函数。
在各种具体实施中,渲染模块基于SR内容的亮度来生成渲染分辨率函数。例如,在一些具体实施中,由于外围视觉比中央视觉对光更敏感,因此(与更亮的条件相比)在更暗的条件下增加外围分辨率。在各种具体实施中,增加外围分辨率包括增加渲染分辨率函数的峰宽和/或增加渲染分辨率函数的下降部分。
在各种具体实施中,渲染模块基于SR内容的颜色来生成渲染分辨率函数。例如,在一些具体实施中,由于与对亮度或蓝-黄色的敏感度相比对红-绿色变化的敏感度朝向外围更为陡峭地下降,因此当SR内容主要是红-绿色而非蓝-黄色时外围分辨率降低。在各种具体实施中,降低外围分辨率包括减小渲染分辨率函数的峰宽和/或减小渲染分辨率函数的下降部分。
在各种具体实施中,基于SR内容(例如,SR内容的颜色)来生成渲染分辨率函数包括生成不同颜色通道的不同渲染分辨率函数(例如,三个不同颜色通道诸如红、绿和蓝的三个不同渲染分辨率函数)。具体地讲,在各种具体实施中,渲染模块生成第一颜色通道的第一渲染分辨率函数以及与第一颜色通道的第一渲染分辨率函数不同的第二颜色通道的第二渲染分辨率函数。此外,在生成渲染图像(如下所述)中,渲染模块基于第一渲染分辨率函数来生成渲染图像的第一颜色通道图像,并且基于第二渲染分辨率函数来生成渲染图像的第二颜色通道图像。
在各种具体实施中,渲染模块基于SR内容的复杂性来生成渲染分辨率函数。例如,在各种具体实施中,渲染模块在具有高分辨率空间变化和/或快速空间变化的区域中增加渲染分辨率函数。
方法1400在框1440处继续,此时渲染模块基于SR内容和渲染分辨率函数来生成渲染图像(例如,如上文相对于图7所述)。在各种具体实施中,渲染图像是中央凹聚焦图像,诸如在用户的注视视野(FoF)之外具有更低分辨率的图像。在各种具体实施中,渲染图像是扭曲图像,诸如与SR内容相比变换到非均匀空间中的图像。
如上文相对于图2所述,渲染模块210将渲染图像提供给传输模块220。传输模块220包括对渲染图像进行压缩(从而产生压缩图像)的压缩模块222、输送压缩图像的通信信道224以及对压缩图像进行解压缩(从而产生解压缩图像)的解压缩模块226。
在各种具体实施中,通信信道224是有线或无线通信信道(例如,蓝牙、IEEE802.11x、IEEE 802.16x、IEEE 802.3x等)。例如,在各种具体实施中,通信信道224将包括渲染模块210和压缩模块222的第一设备(例如,图1的控制器110)耦接到包括解压缩模块226的第二设备(例如,图1的HMD 120)。在各种具体实施中,通信信道耦接单个设备的两个处理单元,例如,包括压缩模块222的第一处理单元和包括解压缩模块226的第二处理单元。在各种具体实施中,通信信道耦接单个处理单元的两个处理模块,例如,压缩模块222和解压缩模块226。
在各种具体实施中,压缩模块222从渲染模块210接收中央凹聚焦图像,该图像的不同部分处具有不同分辨率。在各种具体实施中,使用各种压缩技术来压缩M×N中央凹聚焦图像会产生比压缩M×N非中央凹聚焦图像更少的位。
在各种具体实施中,压缩模块222从渲染模块210接收扭曲图像,该扭曲图像在扭曲空间中的网格图案中均匀间隔的相应位置处具有多个像素。所述多个像素分别与多个相应像素值和多个相应缩放因子相关联,所述多个相应缩放因子指示显示空间中的多个相应位置处的多个相应分辨率。
在各种具体实施中,压缩模块222从渲染模块210接收缩放因子。在各种具体实施中,压缩模块222接收每个像素的单个缩放因子。在各种具体实施中,压缩模块222接收每个像素的水平缩放因子和垂直缩放。在各种具体实施中,压缩模块222接收每个像素图块(例如,每个32×32像素块)的单个缩放因子。在各种具体实施中,压缩模块222接收每个像素图块(例如,每个32×32像素块)的水平缩放因子和垂直缩放因子。
由于扭曲图像是图像(例如,像素值矩阵),因此各种常规压缩技术可应用于该图像。然而,在各种具体实施中,压缩模块222在扭曲图像的压缩和/或传输期间使用缩放因子来进一步降低用于传输扭曲图像的通信信道224的带宽。
图15是根据一些具体实施的传输图像的方法1500的流程图表示。在一些具体实施中(并且如下面作为示例详细描述的),方法1500由传输模块(或其一部分)诸如图2的传输模块220或压缩模块222执行。在各种具体实施中,方法1500由HMD(诸如图1的HMD 100)或其一部分(诸如图2的SR管线200)执行。在各种具体实施中,方法1500由具有一个或多个处理器、非暂态存储器以及一个或多个SR显示器的设备执行。在一些具体实施中,方法1500由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法1500由执行存储在非暂态计算机可读介质(例如,存储器)中的指令(例如,代码)的处理器执行。
方法1500从框1510开始,此时传输模块接收表示要在显示空间中显示的模拟现实(SR)内容的扭曲图像,该扭曲图像在扭曲空间中的网格图案中均匀间隔的相应位置处具有多个像素,其中所述多个像素分别与多个相应像素值和多个相应缩放因子相关联,所述多个相应缩放因子指示显示空间中的多个相应位置处的多个相应分辨率。
在各种具体实施中,所述多个相应缩放因子定义扭曲空间与显示空间之间的映射。例如,在各种具体实施中,与显示空间中的非均匀间隔的区域相对应的SR内容的不同部分由扭曲空间中的均匀间隔的区域表示。
在各种具体实施中,所述多个像素中的每个像素分别与单独接收的像素值相关联。在各种具体实施中,所述多个像素中的每个像素分别与单独接收的缩放因子(或一组水平缩放因子和垂直缩放因子)相关联。在各种具体实施中,所述多个像素的多个图块中的每个图块分别与单独接收的缩放因子(或一组水平缩放因子和垂直缩放因子)相关联。因此,多个像素(例如,单个图块的那些像素)与单个所接收的缩放因子(或一组水平缩放因子和垂直缩放因子)相关联。
因此,在各种具体实施中,扭曲图像在扭曲空间中的网格图案中均匀间隔的相应位置处包括多个图块,其中所述多个图块中的每个图块与相应一个或多个缩放因子相关联。另外,在各种具体实施中,所述多个相应缩放因子中的一个或多个缩放因子包括水平缩放因子和垂直缩放因子。
方法1500在框1520处继续,此时传输模块通过一个或多个信道传输扭曲图像,使得扭曲图像的相应部分的传输所使用的一个或多个信道的至少一个带宽基于与扭曲图像的相应部分相对应的所述多个缩放因子中的一个或多个缩放因子。
在各种具体实施中,通过基于缩放因子来压缩扭曲图像的部分,而改变相应部分的传输所使用的一个或多个信道的至少一个带宽。与压缩程度更小的部分相比,压缩程度更大的部分使用信道的更少带宽。
具体地讲,在各种具体实施中,传输模块基于与扭曲图像的相应部分相对应的所述多个缩放因子中的一个或多个缩放因子来压缩扭曲图像的相应部分。例如,在各种具体实施中,传输模块以比高分辨率部分更大的程度压缩低分辨率部分(例如,通过在MAC层处分配更少位和/或将量化参数设定为更低值[例如,更多量化])。
在各种具体实施中,通过基于缩放因子来对扭曲图像的部分进行纠错编码,而改变相应部分的传输所使用的一个或多个信道的至少一个带宽。与已用更强纠错码进行纠错编码的部分相比,已用更弱纠错码进行纠错编码的部分使用更少带宽。
具体地讲,在各种具体实施中,传输模块基于与扭曲图像的相应部分相对应的所述多个缩放因子中的一个或多个缩放因子来对扭曲图像的相应部分进行纠错编码。例如,在各种具体实施中,与低分辨率部分相比,传输模块对高分辨率部分使用更强纠错码(例如,在PHY层处增加更多冗余)。
在各种具体实施中,通过基于缩放因子来改变扭曲图像的部分的传输(或重传)的概率,而改变相应部分的传输所使用的一个或多个信道的至少一个带宽。当一部分的传输(或重传)的概率更小时,该部分的传输所使用的带宽更少。
具体地讲,在各种具体实施中,扭曲图像的相应部分的传输的概率基于与扭曲图像的相应部分相对应的所述多个缩放因子中的一个或多个缩放因子。在各种具体实施中,传输的概率是丢包情况下重传的概率。例如,如果与扭曲图像的一部分相对应的数据包在信道上丢失,则重传该包的概率可基于缩放因子,使得相比于与更低分辨率部分相对应的数据包,与更高分辨率部分相对应的数据包更可能被重传。
在各种具体实施中,传输的概率基于所选择的子信道。例如,通过选择具有更高信噪比的子信道(例如,在PHY层处),降低了因位错误、包错误或丢包而引起的重传的概率。因此,在各种具体实施中,传输模块基于相应缩放因子来选择用于相应部分的传输的子信道。在各种具体实施中,与更低分辨率部分相比,传输模块为更高分辨率部分选择具有更高信噪比的子信道。
在各种具体实施中,传输的概率基于接收与扭曲图像相关联的图像数据的缓冲区(例如,图2的解压缩模块226的缓冲区)的级别。例如,在各种具体实施中,当缓冲区正接近或已接近溢出时,传输扭曲图像的一部分的概率降低,并且扭曲图像的更低分辨率部分的传输概率的降低程度大于扭曲图像的更高分辨率部分。在各种具体实施中,当缓冲区正接近或已接近溢出时,接收器(例如,解压缩模块)基于缩放因子来丢弃扭曲图像的所接收的部分。例如,在各种具体实施中,与更高分辨率部分相比,接收器更可能丢弃更低分辨率部分。
在各种具体实施中,传输扭曲图像包括变换扭曲图像。例如,在各种具体实施中,传输模块通过对扭曲图像进行小波变换来生成小波扭曲图像。小波扭曲图像包括对于扭曲图像的每个相应部分而言与不同频带相对应的小波扭曲图像的多个部分。
图16A示出了示例性图像1610。图16B示出了由示例性图像的单层小波变换生成的小波图像1620。示例性图像1610的每个部分(例如,上中块1611)由与不同频带相对应的小波图像1620的多个部分(例如,块1621a-1621d)表示。具体地讲,块1621a对应于水平方向和垂直方向上的低频率,块1621b对应于水平方向上的高频率和垂直方向上的低频率,块1621c对应于水平方向上的低频率和垂直方向上的高频率,并且块1021d对应于水平方向和垂直方向上的高频率。
在各种具体实施中,小波扭曲图像使用单层小波函数来生成(图16A至图16B所示)。在各种具体实施中,小波扭曲图像使用双层小波函数来生成。
在各种具体实施中,小波扭曲图像的相应部分的传输所使用的一个或多个信道的至少一个带宽基于不同频带。具体地讲,在各种具体实施中,相比于与更高频带相关联的小波扭曲图像的部分,与更低频带相关联的小波扭曲图像的相应部分被分配更多带宽。
在各种具体实施中,传输模块基于所述多个相应缩放因子来对扭曲图像进行滤波。例如,在各种具体实施中,传输模块对扭曲图像进行小波阈值处理。在各种情况下,这会基于频带来对图像进行降噪以便使其更易理解和/或去除一些细节以提供连续流。
在各种具体实施中,扭曲图像的相应部分的传输所使用的一个或多个信道的至少一个带宽进一步基于一个或多个信道的至少一个可用带宽。具体地讲,当可用带宽更大时,所使用的信道的带宽也更大。在各种具体实施中,传输模块包括高效率视频编码器(HEVC)。
如上文相对于图2所述,在各种具体实施中,传输模块220从渲染模块210接收所述多个相应缩放因子。在各种具体实施中,传输模块220将相应缩放因子提供给显示模块230。因此,传输模块220通过通信信道224传输相应缩放因子。
因此,在各种具体实施中,图15的方法1500还包括(例如,从渲染模块)接收所述多个相应缩放因子,压缩所述多个相应缩放因子,通过信道传输所述多个相应缩放因子,对所述多个相应缩放因子进行解压缩,和/或(例如,向显示模块)提供所述多个相应缩放因子。
参考图2,解压缩模块226经由通信信道224来接收扭曲图像。在各种具体实施中,扭曲图像被压缩、编码和/或变换。因此,在各种具体实施中,解压缩模块226对扭曲图像进行解压缩、解码和/或解变换。此外,在各种具体实施中,解压缩模块226经由通信信道224来接收所述多个相应缩放因子。在各种具体实施中,所述多个相应缩放因子被压缩。因此,在各种具体实施中,解压缩模块226对所述多个相应缩放因子进行解压缩。
在一些情况下,解压缩模块226未能正确接收与相应缩放因子相关联的扭曲图像的一部分的相关数据包。例如,解压缩模块226可接收相应缩放因子,但不接收对应数据包。又如,解压缩模块226可接收与相应缩放因子相关联的受损数据包(例如,如奇偶校验位、循环冗余校验或其他指示数据包损坏的指示符所指示)。又如,解压缩模块226可因解压缩模块226的缓冲区已满或近满而丢弃包。
在各种具体实施中,解压缩模块226向压缩模块222发送请求以重传未被正确接收的数据包。在各种具体实施中,解压缩模块226基于对应缩放因子来确定是否要发送此类重传请求。例如,在各种具体实施中,与对应缩放因子指示图像的对应部分的分辨率更低时相比,解压缩模块226更可能在对应缩放因子指示图像的对应部分的分辨率更高时发送重传请求。
如上所述,在各种具体实施中,解压缩模块226包括存储所接收的数据包的缓冲区。在一些情况下,缓冲区可变满,从而导致丢包。在各种具体实施中,当缓冲区接近充满(例如,超过充满度的阈值百分比)时,解压缩模块226基于对应缩放因子来确定是要存储所接收的包还是丢弃所接收的包。例如,在各种具体实施中,与对应缩放因子指示图像的对应部分的分辨率较高时相比,解压缩模块226更可能在对应缩放因子指示图像的对应部分的分辨率较低时丢弃包。在各种具体实施中,解压缩模块226基于缓冲区充满度的连续函数(例如,缓冲区有多满)和对应缩放因子来确定是要存储所接收的包还是丢弃所接收的包。该函数可使得解压缩模块226更可能在缓冲区充满度增加和/或对应缩放因子指示图像的对应部分的分辨率较低时丢弃包。
图17是根据一些具体实施的接收图像的方法1700的流程图表示。在一些具体实施中(并且如下面作为示例详细描述的),方法1700由传输模块(或其一部分)诸如图2的传输模块220或解压缩模块226执行。在各种具体实施中,方法1700由HMD(诸如图1的HMD 100)或其一部分(诸如图2的SR管线200)执行。在各种具体实施中,方法1700由具有一个或多个处理器、非暂态存储器以及一个或多个SR显示器的设备执行。在一些具体实施中,方法1700由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法1700由执行存储在非暂态计算机可读介质(例如,存储器)中的指令(例如,代码)的处理器执行。
方法1700从框1710开始,此时传输模块接收与表示要在显示空间中显示的模拟现实(SR)内容的扭曲图像的部分相对应的多个数据包的至少子组,该扭曲图像在扭曲空间中的网格图案中均匀间隔的相应位置处具有多个像素。
在各种具体实施中,所述多个相应缩放因子定义扭曲空间与显示空间之间的映射。例如,在各种具体实施中,与显示空间中的非均匀间隔的区域相对应的SR内容的不同部分由扭曲空间中的均匀间隔的区域表示。
方法1700在框1720处继续,此时传输模块接收指示显示空间中的多个相应位置处的扭曲图像的部分的相应分辨率的多个缩放因子。
方法1700在框1730处继续,此时传输模块检测所述多个数据包中的一个特定数据包的错误条件。在各种具体实施中,检测错误条件包括接收所述多个缩放因子中的一个特定缩放因子,而不接收所述多个数据包中的一个特定数据包。这可指示包丢失。在各种具体实施中,检测错误条件包括确定所述多个数据包中的特定一个数据包损坏。例如,在各种具体实施中,奇偶校验位、循环冗余校验或其他指示符指示数据包损坏。在各种具体实施中,检测错误条件包括在缓冲区已满或近满时接收所述多个数据包中的一个特定数据包。在各种具体实施中,检测错误条件包括确定缓冲区正存储至少数据的阈值百分比。
方法1700在框1740处继续,此时传输模块基于与所述多个数据包中的一个特定数据包相对应的所述多个缩放因子中的一个特定缩放因子来解决错误条件。在各种具体实施中,解决错误条件包括基于所述多个缩放因子中的一个特定缩放因子来确定是否要发送对所述多个数据包中的一个特定数据包的重传请求。在各种具体实施中,与所述多个缩放因子中的一个特定缩放因子指示扭曲图像的对应部分的分辨率较低时相比,传输模块更可能在所述多个缩放因子中的一个特定缩放因子指示扭曲图像的对应部分的分辨率较高时发送重传请求。因此,在各种具体实施中,解决错误条件包括确定要发送重传请求并且发送重传请求(或确定不发送重传请求)。
在各种具体实施中,解决错误条件包括基于所述多个缩放因子中的一个特定缩放因子来确定是要丢弃还是存储所述多个数据包中的一个特定数据包。在各种具体实施中,与所述多个缩放因子中的一个特定缩放因子指示扭曲图像的对应部分的分辨率较低时相比,传输模块更可能在所述多个缩放因子中的一个特定缩放因子指示扭曲图像的对应部分的分辨率较高时(在缓冲区中)存储数据包。因此,在各种具体实施中,解决错误条件包括确定要存储数据包并且存储数据包(或确定要丢弃数据包并且不存储数据包)。
在各种具体实施中,方法1700包括对扭曲图像进行解压缩、解码和/或解变换。
如上文相对于图2所述,渲染模块210将渲染图像提供给传输模块220。如上所述,传输模块220包括对渲染图像进行压缩(从而产生压缩图像)的压缩模块222、输送压缩图像的通信信道224以及对压缩图像进行解压缩(从而产生解压缩图像)并且将解压缩图像提供给显示模块230的解压缩模块226。因此,由于会经受压缩、传输、接收和/或解压缩所引起的失真,显示模块230接收渲染模块210所提供的渲染图像。在各种具体实施中,不存在传输模块220并且渲染模块210直接将渲染图像提供给显示模块230。
在各种具体实施中,显示模块230从传输模块220或渲染模块210接收中央凹聚焦图像,该图像的不同部分处具有不同分辨率。在各种具体实施中,显示模块230从传输模块220或渲染模块230接收扭曲图像,该扭曲图像在扭曲空间中的网格图案中均匀间隔的相应位置处具有多个像素。所述多个像素分别与多个相应像素值和多个相应缩放因子相关联,所述多个相应缩放因子指示显示空间中的多个相应位置处的多个相应分辨率。
在各种具体实施中,显示模块230从传输模块220或渲染模块210接收缩放因子。在各种具体实施中,显示模块230接收每个像素的单个缩放因子。在各种具体实施中,显示模块230接收每个像素的水平缩放因子和垂直缩放。在各种具体实施中,显示模块230接收每个像素图块(例如,每个32×32像素块)的单个缩放因子。在各种具体实施中,显示模块230接收每个像素图块(例如,每个32×32像素块)的水平缩放因子和垂直缩放因子。
显示模块230包括透镜补偿模块232,该透镜补偿模块以与HMD的目镜242所引起的失真的逆关系使解压缩图像失真,使得当用户250通过目镜242观察时,所显示的图像看起来是无失真的。目镜242所引起的失真可由单应失真函数描述,该单应失真函数将输入图像的像素的像素位置作为输入并且提供输出图像中的像素的像素位置作为输出。
因此,在F是单应失真函数的情况下,(x1,y1)是输入图像中的像素的像素位置,并且(x2,y2)是输出图像中的像素的像素位置。
F(x1,y1)=(x2,y2)。
图18A示出了无失真图像1810,该无失真图像包括在第一像素位置处具有第一像素值的像素1811。图18B示出了失真图像,该失真图像包括在第二像素位置处具有第一像素值的像素1821。在图18A至图18B中,第一像素位置为(2,1)并且第二像素位置为(2.2,1.1)。
因此,输入图像的第一像素位置处的像素(具有像素值)在通过目镜投射时看起来在输出图像的第二像素位置处具有相同像素值。该关系(其中I(x,y)是位置(x,y)处的输入图像的像素值,并且O(x,y)是位置(x,y)处的输出图像的像素值)可被表示为:
I(x1,y1)=O(x2,y2)。
因此:
I(x1,y1)=O(F(x1,y1))。
为了解决该失真,透镜补偿模块232生成预失真图像,使得因目镜242而发生失真的输出图像看起来像输入图像。因此,其中P(x,y)是位置(x,y)处的预失真图像的像素值,
P(x1,y1)=I(x2,y2)。
因此:
P(x1,y1)=I(F(x1,y1))。
当预失真图像因目镜而发生失真时,
P(x1,y1)=I(x2,y2)=O(x2,y2)。
因此:
P(x1,y1)=I(F(x1,y1))=O(F(x1,y1))。
图19A示出了预失真图像1910,该预失真图像包括在第一像素位置处具有像素值的像素1911。图19B示出了失真的预失真图像(或无失真图像)1920,该失真的预失真图像包括在第二像素位置处具有第一像素值的像素1921。在图19A至图19B中,第一像素位置为(2,1)并且第二像素位置为(2.2,1.1)。
为了确定第一位置(x1,y1)处的预失真图像的像素的像素值,透镜补偿模块232确定第二位置(x2,y2)处的输入图像的像素的像素值。然而,在一些情况下,第二位置(x2,y2)落在已知像素值的输入图像的像素位置之间。
例如,在图19A中,像素1911的像素值不与图18A的像素1811的像素值相同。相反,如果存在这种像素,则像素1911的像素值与(2.2,1.1)处的无失真图像1810的像素的像素值相同。
因此,在各种具体实施中,为了确定第一位置(x1,y1)处的预失真图像的像素的像素值,透镜补偿模块232使用第二位置(x2,y2)周围的邻域中的像素的已知像素值(例如,使用插值)来确定第二位置(x2,y2)处的输入图像的像素的像素值。
如果像素离第二位置的距离小于预先确定的距离,则该像素处于第二位置的邻域中。在各种具体实施中,该距离为L2距离。在各种具体实施中,该距离为L1距离。在各种具体实施中,预先确定的距离是1除以扭曲图像的分辨率(例如,相邻像素之间的距离)。在各种具体实施中,预先确定的距离是2除以扭曲图像的分辨率。
例如,在图19A中,为了确定像素1911的像素值,使用(2,1)、(2,2)、(3,1)和(3,2)处的无失真图像1810的像素的像素值。
在各种具体实施中,第一位置处的预失真图像的像素的像素值是第二位置周围的邻域中的无失真图像的像素的像素值的加权和。因此,在各种具体实施中,透镜补偿模块232执行线性插值以确定预失真图像的像素的像素值。在各种具体实施中,透镜补偿模块232执行各种类型的插值以确定预失真图像的像素的像素值,诸如最近邻插值、多项式插值或样条插值。
因此,其中N(x2,y2)是第二位置周围的像素的邻域并且wi是权重,
Figure BDA0002765345680000361
在各种具体实施中,基于像素位置与第二位置之间的距离(例如,L2距离)来确定权重。
因此,在一些具体实施中,其中M是归一化因子,
Figure BDA0002765345680000362
在各种具体实施中,透镜补偿模块232接收扭曲图像,该扭曲图像在扭曲空间中的网格图案中均匀间隔的相应位置处具有多个像素,其中所述多个像素分别与多个相应像素值和多个相应缩放因子相关联,所述多个相应缩放因子指示显示空间中的多个相应位置处的多个相应分辨率。由于显示空间和扭曲空间不同并且由于输出图像因目镜而在显示空间(并非扭曲空间)中发生失真,透镜补偿模块232除使用相邻像素的像素值之外还使用缩放因子来生成预失真图像的像素的像素值。对于特定像素而言,扭曲图像中的像素位置和缩放因子一般描述显示空间中的位置。与像素位置将单独指示的相比,邻域中的不同像素的不同缩放因子指示不同距离。这些不同距离可用于执行插值(例如,确定插值权重或确定最近邻点)。
例如,在各种具体实施中,其中ax(x,y)和ay(x,y)是与像素位置(x,y)处的像素相关联(或与之成比例或成反比)的缩放因子,预失真图像按下式计算:
Figure BDA0002765345680000363
图20是根据一些具体实施的使图像预失真的方法2000的流程图表示。在一些具体实施中(并且如下面作为示例详细描述的),方法2000由显示模块(或其一部分)诸如图2的显示模块230或透镜补偿模块232执行。在各种具体实施中,方法2000由HMD(诸如图1的HMD100)或其一部分(诸如图2的SR管线200)执行。在各种具体实施中,方法2000由具有一个或多个处理器、非暂态存储器以及一个或多个SR显示器的设备执行。在一些具体实施中,方法2000由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法2000由执行存储在非暂态计算机可读介质(例如,存储器)中的指令(例如,代码)的处理器执行。
方法2000从框2010开始,此时显示模块接收表示要在显示空间中显示的模拟现实(SR)内容的扭曲图像,该扭曲图像在扭曲空间中的网格图案中均匀间隔的相应位置处具有多个像素,其中所述多个像素分别与多个相应像素值和多个相应缩放因子相关联,所述多个相应缩放因子指示显示空间中的多个相应位置处的多个相应分辨率。
在各种具体实施中,所述多个相应缩放因子定义扭曲空间与显示空间之间的映射。例如,在各种具体实施中,与显示空间中的非均匀间隔的区域相对应的SR内容的不同部分由扭曲空间中的均匀间隔的区域表示。
在各种具体实施中,所述多个像素中的每个像素分别与单独接收的像素值相关联。在各种具体实施中,所述多个像素中的每个像素分别与单独接收的缩放因子(或一组水平缩放因子和垂直缩放因子)相关联。在各种具体实施中,所述多个像素的多个图块中的每个图块分别与单独接收的缩放因子(或一组水平缩放因子和垂直缩放因子)相关联。因此,多个像素(例如,单个图块的那些像素)与单个所接收的缩放因子(或一组水平缩放因子和垂直缩放因子)相关联。
因此,在各种具体实施中,扭曲图像在扭曲空间中的网格图案中均匀间隔的相应位置处包括多个图块,其中所述多个图块中的每个图块与相应一个或多个缩放因子相关联。另外,在各种具体实施中,所述多个相应缩放因子中的一个或多个缩放因子包括水平缩放因子和垂直缩放因子。
方法2000在框2020处继续,此时显示模块基于扭曲图像(特别是其所述多个相应像素值)、所述多个相应缩放因子和描述目镜所引起的失真的失真函数来生成透镜补偿扭曲图像,该透镜补偿扭曲图像是以与目镜所引起的失真的逆关系来失真的扭曲图像的版本。在各种具体实施中,透镜补偿扭曲图像在用户通过目镜在显示面板上观看时(在透镜补偿之后可能未扭曲)看起来无失真。在各种具体实施中,显示模块生成透镜补偿扭曲图像,而不在显示空间中生成中间图像。具体地讲,显示模块生成透镜补偿扭曲图像,而不会使扭曲图像解扭曲。因此,如上所述,显示模块基于所述多个相应缩放因子来生成透镜补偿扭曲图像。
在各种具体实施中,生成透镜补偿扭曲图像包括确定透镜补偿扭曲图像的多个像素(例如,每个像素)的像素值。因此,在各种具体实施中,显示模块通过确定透镜补偿扭曲图像的第一位置处的特定像素的像素值来生成透镜补偿扭曲图像。在各种具体实施中,显示模块基于第二位置的邻域中的扭曲图像的像素的所述多个相应像素值来确定透镜补偿扭曲图像的第一位置处的特定像素的像素。在各种具体实施中,邻域是离第二位置最近的4×4像素块。在各种具体实施中,邻域是9×9像素块。在各种具体实施中,显示模块基于第一位置和目镜的失真函数来确定第二位置。在各种具体实施中,失真函数是单应失真函数,该单应失真函数将输入图像的像素的像素位置作为输入并且提供输出图像中的像素的像素位置作为输出。
在各种具体实施中,确定透镜补偿扭曲图像的特定像素的像素值包括基于扭曲图像的对应像素的邻域中的像素的相应缩放因子来确定第二位置与扭曲图像的对应像素的邻域中的所述多个像素的像素位置之间的校正距离。
例如,在不存在缩放因子的情况下,(0,2)处的第二位置和(0,1)处的第一像素之间的距离可被确定为与第二位置和(0,3)处的第二像素之间的距离相同,例如为1。然而,如果第一像素与1的缩放因子相关联并且第二像素与4的缩放因子相关联,则第二位置与第一像素之间的校正距离(例如,1)小于第二位置与第二像素之间的校正距离(例如,4)。
在各种具体实施中,确定透镜补偿扭曲图像的特定像素的像素值包括基于第二位置的邻域中的扭曲图像的像素的相应缩放因子来选择第二位置的邻域中的扭曲图像的所述多个相应像素值之一。因此,在各种具体实施中,显示模块执行最近邻插值,其中基于以缩放因子为基础的校正距离来确定最近邻点。
在各种具体实施中,确定透镜补偿扭曲图像的特定像素的像素值包括基于第二位置的邻域中的扭曲图像的像素的相应缩放因子来对第二位置的邻域中的扭曲图像的像素的所述多个相应像素值取平均(例如,确定其加权平均值)。因此,在各种具体实施中,显示模块执行多项式插值(线性插值是其一个示例),其中基于以缩放因子为基础的校正距离来确定权重。因此,在各种具体实施中,透镜补偿扭曲图像的特定像素的像素值是通过第二位置与像素之间的校正距离来加权的像素的像素值的加权平均值。
如上文相对于图2所述,透镜补偿模块232将透镜补偿扭曲图像(和相应缩放因子)提供给面板补偿模块234。面板补偿模块234将透镜补偿扭曲图像转换成面板数据以供显示面板240读取。因此,在各种具体实施中,面板补偿模块234接收扭曲图像(例如,透镜补偿扭曲图像),该扭曲图像在扭曲空间中的网格图案中均匀间隔的相应位置处具有多个像素,其中所述多个像素分别与多个相应像素值和多个相应缩放因子相关联,所述多个相应缩放因子指示显示空间中的多个相应位置处的多个相应分辨率。
显示面板240包括位于显示空间中的相应位置处的M×N个像素的矩阵。显示面板240通过从每个像素发射光来显示如由面板数据描述的所显示的图像。在各种具体实施中,面板数据包括显示面板240的每个像素的像素值。例如,面板数据可包括显示面板240的特定像素的像素值,并且该特定像素根据该像素值来发射光。在各种具体实施中,面板数据包括显示面板240的多个像素块中的每个像素块的像素值。例如,面板数据可包括显示面板240的2×2像素块的像素值,并且该块的每个像素根据该像素值来发射光。
在各种具体实施中,面板数据包括与多个分辨率区有关的数据。每个分辨率区由边界和为整数的一个或多个分辨率降低因子(例如,单个分辨率降低因子,或水平分辨率降低因子和垂直分辨率降低因子两者)定义。
图21A示出了指示多个分辨率区2111A-2111C的面板数据2110的表示。所述多个分辨率区2111A-2111C包括第一分辨率区2111A,该第一分辨率区具有第一边界和1的分辨率降低因子。在分辨率降低因子为1的情况下,不从显示面板240的最大分辨率降低分辨率,并且由显示面板240的单个像素显示所接收的每个像素值。所述多个分辨率区2111A-2111C包括第二分辨率区2111B,该第二分辨率区具有第二边界和2的分辨率降低因子。第二分辨率区2111B的第二边界包括两个部分,即在与第一分辨率区2111A的第一边界相同的位置处的内部以及围绕第二分辨率区2111B的外部。在分辨率降低因子为2的情况下,分辨率降低到显示面板240的最大分辨率的一半,并且由显示面板240的2×2像素块显示显示面板240所接收的每个像素值。所述多个分辨率区2111A-2111C包括第三分辨率区2111C,该第三分辨率区具有第三边界和4的分辨率降低因子。第三分辨率区2111C的第三边界包括两个部分,即在与第二分辨率区2111B的第二边界的外部相同的位置处的内部以及在显示面板240的边缘处的外部。在分辨率降低因子为4的情况下,分辨率降低到显示面板240的最大分辨率的四分之一,并且由显示面板240的4×4像素块显示显示面板240所接收的每个像素值。
在各种具体实施中,指示所述多个分辨率区的面板数据采用各种形式。例如,在各种具体实施中,所述多个分辨率区2111A-2111C作为第一分辨率区2111A的位置(例如,左上像素的位置)、第一分辨率区2111A的尺寸、第二分辨率区2111B的位置(例如,左上像素的位置)和第二分辨率区2111B的尺寸(如果其包括第一分辨率区2111A的话)来传送。可根据推理将第三分辨率区2111C的边界确定为占用显示面板240的剩余部分。类似地,可根据推理将分辨率降低因子确定为1、2和4。
图21B示出了指示多个分辨率区2121A-2121Y的面板数据2120的表示。所述多个分辨率区2121A-2121Y包括第一分辨率区2121M,该第一分辨率区具有第一边界、1的水平分辨率降低因子和1的垂直分辨率降低因子。在水平分辨率降低因子和垂直分辨率降低因子均为1的情况下,不从显示面板240的最大分辨率降低分辨率,并且由显示面板240的单个像素显示所接收的每个像素值。因此,在各种具体实施中,所述多个分辨率区包括分辨率未降低的分辨率区。
所述多个分辨率区2121A-2121Y包括第二分辨率区2121N,该第二分辨率区具有第二边界、2的水平分辨率降低因子和1的垂直分辨率降低因子。在水平分辨率降低因子为2并且垂直分辨率降低因子为1的情况下,水平分辨率是显示面板240的最大水平分辨率的一半,不从显示面板240的最大垂直分辨率降低垂直分辨率,并且由显示面板240的2×1像素块显示所接收的每个像素值。因此,在各种具体实施中,所述多个分辨率区包括分辨率在一个维度中降低但在另一个维度中不降低的分辨率区。
所述多个分辨率区2121A-2121Y包括第三分辨率区1221S,该第三分辨率区具有第三边界、2的水平分辨率降低因子和2的垂直分辨率降低因子。在水平分辨率降低因子和垂直分辨率降低因子均为2的情况下,分辨率是显示面板240的最大分辨率的一半,并且由显示面板240的2×2像素块显示所接收的每个像素值。因此,在各种具体实施中,所述多个分辨率区包括分辨率在两个维度中均降低的分辨率区。
所述多个分辨率区2121A-2121Y包括第四分辨率区1221T,该第四分辨率区具有4的水平分辨率降低因子和2的垂直分辨率降低因子。在水平分辨率降低因子为4并且垂直分辨率降低因子为2的情况下,水平分辨率是显示面板240的最大水平分辨率的四分之一,垂直分辨率是显示面板240的最大垂直分辨率的一半,并且由显示面板240的4×2像素块显示所接收的每个像素值。因此,在各种具体实施中,所述多个分辨率区包括分辨率在一个维度中降低第一量并且在另一个维度中降低第二量(不同于第一量)的分辨率区。
如上所述,在各种具体实施中,指示所述多个分辨率区的面板数据采用各种形式。例如,在各种具体实施中,所述多个分辨率区2121A-2121Y作为每个分辨率区的位置、每个分辨率区的尺寸以及对应水平分辨率降低因子和垂直分辨率降低因子来传送。在各种具体实施中,可从尺寸推断出分辨率区的位置(例如,第一分辨率区位于左上方,第二分辨率区位于与第一分辨率区相邻并在第一分辨率区右侧的地方,第三分辨率区位于与第二分辨率区相邻并在第二分辨率区右侧的地方,第四分辨率区位于与第三分辨率区相邻并在第三分辨率区右侧的地方,第五分辨率区位于与第四分辨率区相邻并在第四分辨率区右侧的地方,第六分辨率区位于与第一分辨率区相邻并在第一分辨率区下面的地方等)。
再次参考图2,面板补偿模块234基于扭曲图像和缩放因子来生成面板数据。如上所述,在各种具体实施中,(由渲染模块210)基于渲染分辨率函数来生成缩放因子。因此,缩放因子定义分辨率函数,该分辨率函数一般描述随显示空间中的位置而变化的所显示的图像的分辨率。类似地,分辨率区(例如,其位置、尺寸和分辨率降低因子)定义分辨率函数,该分辨率函数描述随显示空间中的位置而变化的所显示的图像的分辨率。
图22示出了由缩放因子和分辨率区定义的示例性分辨率函数的曲线图2200。曲线图2200包括由与扭曲图像相关联的缩放因子定义的第一分辨率函数2210。曲线图2200包括由具有对应分辨率降低因子的多个分辨率区定义的第二分辨率函数2220。
图23示出了由缩放因子和分辨率区定义的示例性分辨率函数的另一个曲线图2300。曲线图2300包括由与扭曲图像相关联的缩放因子定义的第一分辨率函数2310。曲线图2300包括由具有对应分辨率降低因子的多个分辨率区定义的第二分辨率函数2320。
在各种具体实施中,面板补偿模块234基于缩放因子来确定分辨率区的边界和分辨率区的对应分辨率降低因子,使得由分辨率区定义的分辨率函数在所有位置处都大于由缩放因子定义的分辨率函数。这样,使得因分辨率变化而引起的分辨率区的边缘处的伪影最小化。
在各种具体实施中,面板补偿模块234确定分辨率降低因子为1(或水平分辨率降低因子和垂直分辨率降低因子均等于1)的全分辨率的分辨率区的边界(例如,尺寸和位置)。在各种具体实施中,全分辨率的分辨率区的中心位于缩放因子所指示的分辨率函数的最大值的中心(例如,用户正观看的地方)。
在各种具体实施中,基于各种因子来确定全分辨率的分辨率区的尺寸。例如,在各种具体实施中,基于缩放因子所指示的分辨率函数的峰宽来确定全分辨率的分辨率区的尺寸。在各种具体实施中,基于眼动跟踪数据(例如,用户的凝视的移动程度有多大)来确定全分辨率的分辨率区的尺寸。在各种具体实施中,基于指示眼动跟踪数据的特征的眼动跟踪元数据来确定全分辨率的分辨率区的尺寸。
在各种具体实施中,眼动跟踪元数据包括指示眼动跟踪数据的置信度的数据。例如,在各种具体实施中,眼动跟踪元数据提供眼动跟踪数据正确指示用户的凝视的可信度的度量。在各种具体实施中,指示眼动跟踪数据的置信度的数据包括指示眼动跟踪数据的精度的数据。在各种具体实施中,指示眼动跟踪数据的置信度的数据包括指示眼动跟踪数据的延迟的数据(例如,生成眼动跟踪数据的时间与接收到眼动跟踪数据的时间之间的差值)。在各种具体实施中,眼动跟踪数据包括指示用户的凝视的预测的数据,并且指示眼动跟踪数据的置信度的数据包括指示预测的置信度的数据。在各种具体实施中,指示用户的凝视的预测的数据基于相对于过去捕获的图像得出的用户的凝视的过去测量值。在各种具体实施中,用户的凝视的预测基于将用户的凝视的过去运动分类为持续注视、平滑跟随、扫视等。在各种具体实施中,预测的置信度基于该分类。具体地讲,在各种具体实施中,与过去运动被分类为扫视时相比,在过去运动被分类为持续注视或平滑跟随时预测的置信度更高。因此,在各种具体实施中,基于指示眼动跟踪数据的置信度的数据来确定全分辨率的分辨率区的尺寸。例如,在各种具体实施中,当置信度更小时,全分辨率的分辨率区的尺寸更大。
在各种具体实施中,眼动跟踪元数据包括指示用户的一个或多个生物测量信息、特别是影响眼动跟踪元数据或其置信度的生物测量信息的数据。具体地讲,在各种具体实施中,用户的生物测量信息包括眼解剖结构、种族/外貌、眼睛颜色、年龄、视觉辅助器(例如,矫正透镜)、化妆品(例如,睫毛膏)、医学状况、历史凝视变化、输入偏好或校准、耳机位置/取向、瞳孔扩张/中心位移和/或眼睑位置中的一者或多者。因此,在各种具体实施中,基于用户的一个或多个生物测量信息来确定全分辨率的分辨率区的尺寸。
在各种具体实施中,眼动跟踪元数据包括指示生成眼动跟踪数据的用户的环境的一个或多个条件的数据。具体地讲,在各种具体实施中,环境条件包括振动、环境温度、IR方向光或IR光强度中的一者或多者。因此,在各种具体实施中,基于用户的环境的一个或多个条件来确定全分辨率的分辨率区的尺寸。
在各种具体实施中,在确定了全分辨率的分辨率区的尺寸(例如,图22的分辨率函数2220的顶部的宽度)的情况下,确定剩余分辨率区的边界,使得分辨率区所指示的分辨率函数最小化,同时仍大于缩放因子所指示的分辨率函数。在各种具体实施中,该最小化受到如下事实的限制:分辨率降低因子为整数(或其子组,诸如仅1、2或4)。在各种具体实施中,该最小化受到如下事实的限制:分辨率区的尺寸必须是分辨率降低因子的倍数(例如,分辨率降低因子为2的分辨率区必须是2U×2V,其中U和V为整数)。在各种具体实施中,该最小化受到如下事实的限制:分辨率区的总尺寸必须等于显示面板的尺寸。
在各种具体实施中,其他分辨率区的尺寸基于缩放因子所指示的分辨率函数的形状。例如,在图23中,缩放因子所指示的分辨率函数2310根据在一组距离处具有阶梯的曲线阶梯函数随离聚焦窗口的距离而降低,并且分辨率区所指示的分辨率函数2320根据在该组距离处具有阶梯的阶梯函数随离聚焦窗口的距离而降低。
图24是根据一些具体实施的生成面板数据的方法2400的流程图表示。在一些具体实施中(并且如下面作为示例详细描述的),方法2400由显示模块(或其一部分)诸如图2的显示模块230或面板补偿模块234执行。在各种具体实施中,方法2400由HMD(诸如图1的HMD100)或其一部分(诸如图2的SR管线200)执行。在各种具体实施中,方法2400由具有一个或多个处理器、非暂态存储器以及一个或多个SR显示器的设备执行。在一些具体实施中,方法2400由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法2400由执行存储在非暂态计算机可读介质(例如,存储器)中的指令(例如,代码)的处理器执行。
方法2400从框2410开始,此时显示模块接收表示要在显示空间中显示的模拟现实(SR)内容的扭曲图像(例如,透镜补偿扭曲图像),该扭曲图像在扭曲空间中的网格图案中均匀间隔的相应位置处具有多个像素,其中所述多个像素分别与多个相应像素值和多个相应缩放因子相关联,所述多个相应缩放因子指示显示空间中的多个相应位置处的多个相应分辨率。
在各种具体实施中,所述多个相应缩放因子定义扭曲空间与显示空间之间的映射。例如,在各种具体实施中,与显示空间中的非均匀间隔的区域相对应的SR内容的不同部分由扭曲空间中的均匀间隔的区域表示。
在各种具体实施中,所述多个像素中的每个像素分别与单独接收的像素值相关联。在各种具体实施中,所述多个像素中的每个像素分别与单独接收的缩放因子(或包括水平缩放因子和垂直缩放因子的一组缩放因子)相关联。在各种具体实施中,所述多个像素的多个图块中的每个图块分别与单独接收的缩放因子(或包括水平缩放因子和垂直缩放因子的一组缩放因子)相关联。因此,多个像素(例如,单个图块的那些像素)与单个所接收的缩放因子(或包括单个水平缩放因子和单个垂直缩放因子的一组缩放因子)相关联。
因此,在各种具体实施中,扭曲图像在扭曲空间中的网格图案中均匀间隔的相应位置处包括多个图块,其中所述多个图块中的每个图块与相应一个或多个缩放因子相关联。另外,在各种具体实施中,所述多个相应缩放因子中的一个或多个缩放因子包括水平缩放因子和垂直缩放因子。
在各种具体实施中,所述多个缩放因子中的至少一个缩放因子不是整数。例如,在作为两个正切函数之间的差值来生成缩放因子的过程中,所述多个缩放因子中的大部分将不是整数。
方法2400在框2420处继续,此时显示模块基于多个相应缩放参数来为多个分辨率区确定显示空间中的多个相应边界和多个相应分辨率降低因子,其中所述多个相应分辨率降低因子为整数。在各种具体实施中,所述多个相应分辨率降低因子包括对于特定分辨率区而言的单个分辨率降低因子。在各种具体实施中,所述多个相应分辨率降低因子包括对于特定分辨率区而言的水平分辨率降低因子和垂直分辨率降低因子。在各种具体实施中,所述多个相应分辨率降低因子包括1的第一分辨率降低因子、2的第二分辨率降低因子和4的第三分辨率降低因子。
所述多个分辨率降低因子指示显示空间中的所述多个相应位置中的每个相应位置处的分辨率(一般描述分辨率函数)。类似地,所述多个相应缩放因子指示显示空间中的所述多个相应位置中的每个相应位置处的分辨率(一般描述分辨率函数)。在各种具体实施中,所述多个相应分辨率降低因子指示显示空间中的所述多个相应位置中的每个相应位置处的分辨率,该分辨率大于所述多个相应缩放因子所指示的显示空间中的所述多个相应位置处的相应分辨率。
例如,在各种具体实施中,所述多个相应缩放因子所指示的显示空间中的所述多个相应位置处的相应分辨率根据严格递减函数(例如,如图22的分辨率函数2210所示)随离聚焦窗口的距离而降低,并且相应分辨率降低因子所指示的显示空间中的所述多个相应位置中的每个相应位置处的分辨率根据阶梯函数(例如,如图22的分辨率函数2220所示)随离聚焦窗口的距离而降低。
又如,在各种具体实施中,所述多个相应缩放因子所指示的显示空间中的所述多个相应位置处的相应分辨率根据在一组距离处具有阶梯的曲线阶梯函数(例如,如图23的分辨率函数2310所示)随离聚焦窗口的距离而降低,并且相应分辨率降低因子所指示的显示空间中的所述多个相应位置中的每个相应位置处的分辨率根据在该组距离处具有阶梯的阶梯函数(例如,如图23的分辨率函数2320所示)随离聚焦窗口的距离而降低。
在各种具体实施中,所述多个分辨率区中的一个或多个分辨率区、特别是全分辨率的分辨率区的尺寸基于眼动跟踪数据。在各种具体实施中,所述多个分辨率区中的一个或多个分辨率区、特别是全分辨率的分辨率区的尺寸基于眼动跟踪元数据,诸如眼动跟踪数据中的置信度。
方法2400在框2430处继续,此时显示模块传输指示显示空间中的所述多个相应边界、所述多个相应分辨率降低因子和基于所述多个相应像素值的对应像素值的数据。在各种具体实施中,所传输的数据是面板数据。在各种具体实施中,将所传输的数据传输到显示面板。
图25是根据一些具体实施的处理扭曲空间中的扭曲图像的方法2500的流程图表示。在一些具体实施中(并且如下面作为示例详细描述的),方法2500由模块(或其一部分)诸如图2的传输模块220或显示模块230执行。在各种具体实施中,方法2500由HMD(诸如图1的HMD 100)或其一部分(诸如图2的SR管线200(或其一部分))执行。在各种具体实施中,方法2500由具有一个或多个处理器、非暂态存储器以及一个或多个SR显示器的设备执行。在一些具体实施中,方法2500由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法2500由执行存储在非暂态计算机可读介质(例如,存储器)中的指令(例如,代码)的处理器执行。
方法2500从框2510开始,此时模块接收表示要在显示空间中显示的模拟现实(SR)内容的扭曲图像,该扭曲图像在扭曲空间中的网格图案中均匀间隔的相应位置处具有多个像素,其中所述多个像素分别与多个相应像素值和多个相应缩放因子相关联,所述多个相应缩放因子指示显示空间中的多个相应位置处的多个相应分辨率。
在各种具体实施中,所述多个相应缩放因子定义扭曲空间与显示空间之间的映射。例如,在各种具体实施中,与显示空间中的不同量的区域相对应的SR内容的非均匀间隔的区域由扭曲图像中的相同量的区域表示。
在各种具体实施中,所述多个像素中的每个像素分别与单独接收的像素值相关联。在各种具体实施中,所述多个像素中的每个像素分别与单独接收的缩放因子(或包括水平缩放因子和垂直缩放因子的一组缩放因子)相关联。在各种具体实施中,所述多个像素的多个图块中的每个图块分别与单独接收的缩放因子(或包括水平缩放因子和垂直缩放因子的一组缩放因子)相关联。因此,多个像素(例如,单个图块的那些像素)与单个所接收的缩放因子(或包括单个水平缩放因子和单个垂直缩放因子的一组缩放因子)相关联。
因此,在各种具体实施中,扭曲图像在扭曲空间中的网格图案中均匀间隔的相应位置处包括多个图块,其中所述多个图块中的每个图块与相应一个或多个缩放因子相关联。另外,在各种具体实施中,所述多个相应缩放因子中的一个或多个缩放因子包括水平缩放因子和垂直缩放因子。
方法2500在框2520处继续,此时模块基于所述多个相应缩放因子来处理扭曲空间中的扭曲图像以生成经处理的扭曲图像。在各种具体实施中,与扭曲图像一样,经处理的扭曲图像在扭曲空间中的网格图案中均匀间隔的相应位置处包括多个像素。在各种具体实施中,所述多个像素分别与多个相应像素值(其可不同于扭曲图像的所述多个相应像素值)和所述多个相应缩放因子相关联,所述多个相应缩放因子指示显示空间中的多个相应位置处的多个相应分辨率。
在各种具体实施中,处理扭曲空间中的扭曲图像不包括处理扭曲空间中的扭曲图像。因此,处理扭曲空间中的扭曲图像不包括将扭曲图像转换成显示空间图像(其在显示空间中的网格图案中均匀间隔的相应位置处包括多个像素),不包括处理这种显示空间图像,并且不包括将经处理的显示空间图像转换成扭曲空间中的经处理的扭曲图像。避免这些步骤(例如,转换、处理和反向转换)节省了大量处理时间和功率。因此,在移动设备(诸如HMD)中,通过处理扭曲空间中而非显示空间中的扭曲图像来节省电池电量。
在各种具体实施中,扭曲图像完全由渲染模块在扭曲空间中处理,该渲染模块向显示面板产生扭曲图像,该显示面板基于经处理的扭曲图像来显示图像。因此,在各种具体实施中,接收扭曲图像(在框2510中)包括从渲染模块接收扭曲图像。在一些具体实施中,传输经处理的扭曲图像(如下文在框2530中所述)包括将经处理的扭曲图像传输到显示面板。在各种具体实施中,处理扭曲空间中的扭曲图像包括根据扭曲空间中的多个过程来处理扭曲空间中的扭曲图像(例如,在扭曲空间中执行压缩、纠错编码、失真[诸如透镜补偿]、滤波等中的两者或更多者)。
在各种具体实施中,处理扭曲空间中的扭曲图像包括基于所述多个相应缩放因子来压缩扭曲图像。上文相对于图15描述了示例。在各种具体实施中,处理扭曲空间中的扭曲图像包括基于所述多个相应缩放因子来对扭曲图像进行纠错编码。上文相对于图15描述了示例。
在各种具体实施中,处理扭曲空间中的扭曲图像包括基于所述多个相应缩放因子来使扭曲图像失真。上文相对于图20描述了示例。
在各种具体实施中,处理扭曲空间中的扭曲图像包括基于所述多个相应缩放因子来对扭曲图像进行滤波。例如,与具有指示高分辨率的缩放因子的像素(其中像素表示显示空间中的更小区域)相比,应用由1组成的归一化3×3矩阵所定义的简单低通滤波器将对具有指示低分辨率的缩放因子的像素(其中像素表示显示空间中的更大区域)进行不适当地加权。因此,在各种具体实施中,基于所述多个缩放因子来对扭曲空间中的扭曲图像进行滤波包括对于特定像素值而言,将经滤波的像素值确定为相邻像素的相邻像素值的加权和,其中权重基于滤波器核(例如,由1组成的归一化矩阵、高斯模糊滤波器核)和相邻像素的相应缩放因子。
在各种具体实施中,处理扭曲空间中的扭曲图像包括基于所述多个相应缩放因子来对扭曲图像进行颜色校正。
因此,在各种具体实施中,处理扭曲空间中的扭曲图像(例如,对扭曲图像进行失真、滤波或颜色校正)包括对于扭曲图像的特定像素而言,基于特定像素的邻域中的扭曲图像的像素的相应像素值和特定像素的邻域中的扭曲图像的像素的相应缩放因子来确定经处理的扭曲图像的对应像素(例如,在扭曲空间中的相同位置处)的像素值。
方法2500在框2530处继续,此时模块传输经处理的扭曲图像。在各种具体实施中,模块将经处理的扭曲图像连同相应多个缩放因子一起传输。
图26是根据一些具体实施的基于多个缩放因子来处理扭曲图像的方法2600的流程图表示。在一些具体实施中(并且如下面作为示例详细描述的),方法2600由模块(或其一部分)诸如图2的传输模块220或显示模块230执行。在各种具体实施中,方法2600由HMD(诸如图1的HMD100)或其一部分(诸如图2的SR管线200(或其一部分))执行。在各种具体实施中,方法2600由具有一个或多个处理器、非暂态存储器以及一个或多个SR显示器的设备执行。在一些具体实施中,方法2600由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法2600由执行存储在非暂态计算机可读介质(例如,存储器)中的指令(例如,代码)的处理器执行。
方法2600从框2610开始,此时模块接收表示模拟现实(SR)内容的扭曲图像,该扭曲图像在网格图案中均匀间隔的相应位置处具有多个像素,其中所述多个像素分别与多个相应像素值和多个相应缩放因子相关联,所述多个相应缩放因子指示SR内容的多个相应位置处的多个相应分辨率。在各种具体实施中,与SR内容的非均匀间隔的区域相对应的SR内容的不同部分由扭曲图像中的相同量的区域表示。
在各种具体实施中,所述多个像素中的每个像素分别与单独接收的像素值相关联。在各种具体实施中,所述多个像素中的每个像素分别与单独接收的缩放因子(或包括水平缩放因子和垂直缩放因子的一组缩放因子)相关联。在各种具体实施中,所述多个像素的多个图块中的每个图块分别与单独接收的缩放因子(或包括水平缩放因子和垂直缩放因子的一组缩放因子)相关联。因此,多个像素(例如,单个图块的那些像素)与单个所接收的缩放因子(或包括单个水平缩放因子和单个垂直缩放因子的一组缩放因子)相关联。
因此,在各种具体实施中,扭曲图像在网格图案中均匀间隔的相应位置处包括多个图块,其中所述多个图块中的每个图块与相应一个或多个缩放因子相关联。另外,在各种具体实施中,所述多个相应缩放因子中的一个或多个缩放因子包括水平缩放因子和垂直缩放因子。
方法2600在框2620处继续,此时模块基于所述多个相应缩放因子来处理扭曲图像以生成经处理的扭曲图像。在各种具体实施中,与扭曲图像一样,经处理的扭曲图像在网格图案中均匀间隔的相应位置处包括多个像素。在各种具体实施中,所述多个像素分别与多个相应像素值(其可不同于扭曲图像的所述多个相应像素值)和所述多个相应缩放因子相关联,所述多个相应缩放因子指示SR内容的多个相应位置处的多个相应分辨率。
在各种具体实施中,基于相应多个缩放因子来处理扭曲图像不包括生成未扭曲图像,其中与SR内容的均匀间隔的区域相对应的SR内容的不同部分由未扭曲图像的均匀间隔的区域表示。
在各种具体实施中,扭曲图像完全由渲染模块基于所述多个相应缩放因子来处理,该渲染模块向显示面板产生扭曲图像,该显示面板基于经处理的扭曲图像来显示图像。因此,在各种具体实施中,接收扭曲图像(在框2510中)包括从渲染模块接收扭曲图像。在一些具体实施中,传输经处理的扭曲图像(如下文在框2630中所述)包括将经处理的扭曲图像传输到显示面板。在各种具体实施中,基于所述多个相应缩放因子来处理扭曲图像包括根据多个过程基于所述多个相应缩放因子来处理扭曲图像(例如,基于所述多个相应缩放因子来执行压缩、纠错编码、失真[诸如透镜补偿]、滤波等中的两者或更多者)。
在各种具体实施中,基于所述多个相应缩放因子来处理扭曲图像包括基于所述多个相应缩放因子来压缩扭曲图像。上文相对于图15描述了示例。在各种具体实施中,基于所述多个相应缩放因子来处理扭曲图像包括基于所述多个相应缩放因子来对扭曲图像进行纠错编码。上文相对于图15描述了示例。
在各种具体实施中,基于所述多个相应缩放因子来处理扭曲图像包括基于所述多个相应缩放因子来使扭曲图像失真。上文相对于图20描述了示例。
在各种具体实施中,基于所述多个相应缩放因子来处理扭曲图像包括基于所述多个相应缩放因子来对扭曲图像进行滤波。例如,与具有指示高分辨率的缩放因子的像素(其中像素表示显示空间中的更小区域)相比,应用由1组成的归一化3×3矩阵所定义的简单低通滤波器将对具有指示低分辨率的缩放因子的像素(其中像素表示显示空间中的更大区域)进行不适当地加权。因此,在各种具体实施中,基于所述多个缩放因子来对扭曲图像进行滤波包括对于特定像素值而言,将经滤波的像素值确定为相邻像素的相邻像素值的加权和,其中权重基于滤波器核(例如,由1组成的归一化矩阵、高斯模糊滤波器核)和相邻像素的相应缩放因子。
在各种具体实施中,基于所述多个相应缩放因子来处理扭曲图像包括基于所述多个相应缩放因子来对扭曲图像进行颜色校正。
因此,在各种具体实施中,基于所述多个相应缩放因子来处理扭曲图像(例如,对扭曲图像进行失真、滤波或颜色校正)包括对于扭曲图像的特定像素而言,基于特定像素的邻域中的扭曲图像的像素的相应像素值和特定像素的邻域中的扭曲图像的像素的相应缩放因子来确定经处理的扭曲图像的对应像素的像素值。
方法2600在框2630处继续,此时模块传输经处理的扭曲图像。在各种具体实施中,模块将经处理的扭曲图像连同相应多个缩放因子一起传输。
虽然上文描述了在所附权利要求书范围内的具体实施的各个方面,但是应当显而易见的是,上述具体实施的各种特征可通过各种各样的形式体现,并且上述任何特定结构和/或功能仅是例示性的。基于本公开,本领域的技术人员应当理解,本文所述的方面可以独立于任何其他方面来实现,并且这些方面中的两个或更多个可以采用各种方式组合。例如,可以使用本文阐述的任何数量的方面来实现装置和/或可以实践方法。另外,除了本文阐述的一个或多个方面之外或者不同于本文阐述的一个或多个方面,可以使用其他结构和/或功能来实现这样的装置和/或可以实践这样的方法。
还将理解的是,虽然术语“第一”、“第二”等可能在本文中用于描述各种元素,但是这些元素不应当被这些术语限定。这些术语只是用于将一个元件与另一元件区分开。例如,第一节点可以被称为第二节点,并且类似地,第二节点可以被称为第一节点,其改变描述的含义,只要所有出现的“第一节点”被一致地重命名并且所有出现的“第二节点”被一致地重命名。第一节点和第二节点都是节点,但它们不是同一个节点。
本文中所使用的术语仅仅是为了描述特定具体实施并非旨在对权利要求进行限制。如在本具体实施的描述和所附权利要求中所使用的那样,单数形式的“一个”和“该”旨在也涵盖复数形式,除非上下文清楚地另有指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件,和/或其分组。
如本文所使用的,术语“如果”可以被解释为表示“当所述先决条件为真时”或“在所述先决条件为真时”或“响应于确定”或“根据确定”或“响应于检测到”所述先决条件为真,具体取决于上下文。类似地,短语“如果确定[所述先决条件为真]”或“如果[所述先决条件为真]”或“当[所述先决条件为真]时”被解释为表示“在确定所述先决条件为真时”或“响应于确定”或“根据确定”所述先决条件为真或“当检测到所述先决条件为真时”或“响应于检测到”所述先决条件为真,具体取决于上下文。

Claims (34)

1.一种方法,所述方法包括:
接收表示要在显示空间中显示的模拟现实(SR)内容的扭曲图像,所述扭曲图像具有在扭曲空间中的网格图案中均匀间隔的相应位置处的多个像素,其中所述多个像素分别与多个相应像素值和多个相应缩放因子相关联,所述多个相应缩放因子指示所述显示空间中的多个相应位置处的多个相应分辨率;
基于所述多个相应缩放因子来处理所述扭曲空间中的所述扭曲图像以生成经处理的扭曲图像;以及
传输所述经处理的扭曲图像。
2.根据权利要求1所述的方法,其中所述多个相应缩放因子定义所述扭曲空间与所述显示空间之间的映射。
3.根据权利要求1或2所述的方法,其中与所述显示空间中的非均匀间隔的区域相对应的所述SR内容的不同部分由所述扭曲空间中的均匀间隔的区域表示。
4.根据权利要求1至3中任一项所述的方法,其中所述扭曲图像包括在所述扭曲空间中的网格图案中均匀间隔的相应位置处的多个图块,其中所述多个图块中的每个图块与相应一个或多个缩放因子相关联。
5.根据权利要求1至4中任一项所述的方法,其中所述多个相应缩放因子中的一个或多个缩放因子包括水平缩放因子和垂直缩放因子。
6.根据权利要求1至5中任一项所述的方法,其中处理所述扭曲空间中的所述扭曲图像不包括处理所述显示空间中的所述图像。
7.根据权利要求1至6中任一项所述的方法,其中接收所述扭曲图像包括从渲染模块接收所述扭曲图像。
8.根据权利要求1至7中任一项所述的方法,其中传输所述经处理的扭曲图像包括将所述经处理的扭曲图像传输到显示面板。
9.根据权利要求1至8中任一项所述的方法,其中处理所述扭曲空间中的所述扭曲图像包括根据所述扭曲空间中的多个过程来处理所述扭曲空间中的所述扭曲图像。
10.根据权利要求1至9中任一项所述的方法,其中处理所述扭曲空间中的所述扭曲图像包括基于所述多个相应缩放因子来压缩所述扭曲图像。
11.根据权利要求1至10中任一项所述的方法,其中处理所述扭曲空间中的所述扭曲图像包括基于所述多个相应缩放因子来对所述扭曲图像进行纠错编码。
12.根据权利要求1至11中任一项所述的方法,其中处理所述扭曲空间中的所述扭曲图像包括基于所述多个相应缩放因子来对所述扭曲图像进行纠错编码。
13.根据权利要求1至12中任一项所述的方法,其中处理所述扭曲空间中的所述扭曲图像包括对于所述多个像素中的特定像素而言,基于所述特定像素的邻域中的所述扭曲图像的像素的所述相应像素值和所述特定像素的所述邻域中的所述扭曲图像的所述像素的所述相应缩放因子来确定所述经处理的扭曲图像的对应像素的像素值。
14.根据权利要求13所述的方法,其中处理所述扭曲空间中的所述扭曲图像包括基于所述多个相应缩放因子来使所述扭曲图像在空间上失真。
15.根据权利要求13或14所述的方法,其中处理所述扭曲空间中的所述扭曲图像包括基于所述多个相应缩放因子来对所述扭曲图像进行滤波。
16.一种设备,所述设备包括:
一个或多个处理器;
非暂态存储器;
一个或多个显示器;以及
用于使得所述设备执行根据权利要求1至15所述的方法中的任一种方法的装置。
17.一种具有在其上编码的指令的非暂态计算机可读介质,所述指令在由设备的一个或多个处理器执行时,使得所述设备执行根据权利要求1至15所述的方法中的任一种方法。
18.一种设备,包括:
显示器;以及
一个或多个处理器,所述一个或多个处理器用于:
接收表示要在显示空间中显示的模拟现实(SR)内容的扭曲图像,所述扭曲图像具有在扭曲空间中的网格图案中均匀间隔的相应位置处的多个像素,其中所述多个像素分别与多个相应像素值和多个相应缩放因子相关联,所述多个相应缩放因子指示所述显示空间中的多个相应位置处的多个相应分辨率;
基于所述多个相应缩放因子来处理所述扭曲空间中的所述扭曲图像以生成经处理的扭曲图像;以及
传输所述经处理的扭曲图像。
19.一种方法,所述方法包括:
接收表示模拟现实(SR)内容的扭曲图像,所述扭曲图像具有在网格图案中均匀间隔的相应位置处的多个像素,其中所述多个像素分别与多个相应像素值和多个相应缩放因子相关联,所述多个相应缩放因子指示所述SR内容的多个相应位置处的多个相应分辨率;
基于所述多个相应缩放因子来处理所述扭曲图像以生成经处理的扭曲图像;以及
传输所述经处理的扭曲图像。
20.根据权利要求19所述的方法,其中与所述SR内容的非均匀间隔的区域相对应的所述SR内容的不同部分由所述扭曲图像的均匀间隔的区域表示。
21.根据权利要求19或20所述的方法,其中基于所述相应多个缩放因子来处理所述扭曲图像不包括生成未扭曲图像,在所述未扭曲图像中与所述SR内容的均匀间隔的区域相对应的所述SR内容的不同部分由所述未扭曲图像的均匀间隔的区域表示。
22.根据权利要求19至21中任一项所述的方法,所述方法还包括传输所述多个相应缩放因子。
23.根据权利要求19至22中任一项所述的方法,其中接收所述扭曲图像包括从渲染模块接收所述扭曲图像。
24.根据权利要求19至23中任一项所述的方法,其中传输所述经处理的扭曲图像包括将所述经处理的扭曲图像传输到显示面板。
25.根据权利要求19至24中任一项所述的方法,其中基于所述多个相应缩放因子来处理所述扭曲图像包括根据基于所述多个相应缩放因子的多个过程基于所述多个相应缩放因子来处理所述扭曲图像。
26.根据权利要求19至25中任一项所述的方法,其中基于所述多个相应缩放因子来处理所述扭曲图像包括基于所述多个相应缩放因子来压缩所述扭曲图像。
27.根据权利要求19至26中任一项所述的方法,其中基于所述多个相应缩放因子来处理所述扭曲图像包括基于所述多个相应缩放因子来对所述扭曲图像进行纠错编码。
28.根据权利要求19至27中任一项所述的方法,其中基于所述多个相应缩放因子来处理所述扭曲图像包括基于所述多个相应缩放因子来对所述扭曲图像进行纠错编码。
29.根据权利要求19至28中任一项所述的方法,其中基于所述多个相应缩放因子来处理所述扭曲图像包括对于所述多个像素中的特定像素而言,基于所述特定像素的邻域中的所述扭曲图像的像素的所述相应像素值和所述特定像素的所述邻域中的所述扭曲图像的所述像素的所述相应缩放因子来确定所述经处理的扭曲图像的对应像素的像素值。
30.根据权利要求29所述的方法,其中基于所述多个相应缩放因子来处理所述扭曲图像包括基于所述多个相应缩放因子来使所述扭曲图像在空间上失真。
31.根据权利要求19至30中任一项所述的方法,其中基于所述多个相应缩放因子来处理所述扭曲图像包括基于所述多个相应缩放因子来对所述扭曲图像进行滤波。
32.一种设备,包括:
一个或多个处理器;
非暂态存储器;
一个或多个显示器;以及
用于使得所述设备执行根据权利要求19至30所述的方法中的任一种方法的装置。
33.一种具有在其上编码的指令的非暂态计算机可读介质,所述指令在由设备的一个或多个处理器执行时,使得所述设备执行根据权利要求19至30所述的方法中的任一种方法。
34.一种设备,包括:
显示器;以及
一个或多个处理器,所述一个或多个处理器用于:
接收表示模拟现实(SR)内容的扭曲图像,所述扭曲图像具有在网格图案中均匀间隔的相应位置处的多个像素,其中所述多个像素分别与多个相应像素值和多个相应缩放因子相关联,所述多个相应缩放因子指示所述SR内容的多个相应位置处的多个相应分辨率;
基于所述多个相应缩放因子来处理所述扭曲图像以生成经处理的扭曲图像;以及
传输所述经处理的扭曲图像。
CN201980030981.5A 2018-05-07 2019-05-06 动态中央凹聚焦管线 Pending CN112106366A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862667733P 2018-05-07 2018-05-07
US62/667,733 2018-05-07
PCT/US2019/030819 WO2019217261A1 (en) 2018-05-07 2019-05-06 Dynamic foveated pipeline

Publications (1)

Publication Number Publication Date
CN112106366A true CN112106366A (zh) 2020-12-18

Family

ID=66625277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980030981.5A Pending CN112106366A (zh) 2018-05-07 2019-05-06 动态中央凹聚焦管线

Country Status (5)

Country Link
US (2) US11836885B2 (zh)
KR (2) KR102547106B1 (zh)
CN (1) CN112106366A (zh)
DE (1) DE112019002368T5 (zh)
WO (1) WO2019217261A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115842907A (zh) * 2018-03-27 2023-03-24 京东方科技集团股份有限公司 渲染方法、计算机产品及显示装置
KR102547106B1 (ko) * 2018-05-07 2023-06-23 애플 인크. 동적 포비티드 파이프라인
BR112022001434A2 (pt) * 2019-07-28 2022-06-07 Google Llc Métodos, sistemas e mídia para renderizar conteúdo de vídeo imersivo com malhas otimizadas
US10970811B1 (en) * 2019-09-23 2021-04-06 Facebook Technologies, Llc Axis based compression for remote rendering
US11651473B2 (en) * 2020-05-22 2023-05-16 Meta Platforms, Inc. Outputting warped images from captured video data
CN114935971A (zh) * 2021-02-05 2022-08-23 京东方科技集团股份有限公司 显示驱动芯片、显示装置和显示驱动方法
KR20220160800A (ko) 2021-05-28 2022-12-06 엘지디스플레이 주식회사 표시장치와 이를 이용한 개인 몰입형 시스템 및 모바일 단말 시스템
KR102448833B1 (ko) * 2021-10-13 2022-09-29 서울과학기술대학교 산학협력단 클라우드 vr을 위한 렌더링 방법
US11722655B2 (en) * 2021-11-30 2023-08-08 SoliDDD Corp. Low latency networking of plenoptic data
US20230300338A1 (en) * 2022-03-16 2023-09-21 Apple Inc. Resolution-based video encoding

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110142138A1 (en) * 2008-08-20 2011-06-16 Thomson Licensing Refined depth map
CN105262933A (zh) * 2014-07-07 2016-01-20 通用汽车环球科技运作有限责任公司 用于视频处理模块的基于网格的图像分辨率增强
US20170339392A1 (en) * 2016-05-20 2017-11-23 Qualcomm Incorporated Circular fisheye video in virtual reality
WO2018041244A1 (en) * 2016-09-02 2018-03-08 Mediatek Inc. Incremental quality delivery and compositing processing

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5917549A (en) * 1996-08-07 1999-06-29 Adobe Systems Incorporated Transforming images with different pixel aspect ratios
US6252989B1 (en) 1997-01-07 2001-06-26 Board Of The Regents, The University Of Texas System Foveated image coding system and method for image bandwidth reduction
US20050018911A1 (en) * 2003-07-24 2005-01-27 Eastman Kodak Company Foveated video coding system and method
GB2523740B (en) * 2014-02-26 2020-10-14 Sony Interactive Entertainment Inc Image encoding and display
WO2016199151A2 (en) * 2015-06-10 2016-12-15 Mobileye Vision Technologies Ltd. Image processor and methods for processing an image
KR101945082B1 (ko) * 2016-07-05 2019-02-01 안규태 미디어 컨텐츠 송신 방법, 미디어 컨텐츠 송신 장치, 미디어 컨텐츠 수신 방법, 및 미디어 컨텐츠 수신 장치
US10379611B2 (en) 2016-09-16 2019-08-13 Intel Corporation Virtual reality/augmented reality apparatus and method
US10564715B2 (en) * 2016-11-14 2020-02-18 Google Llc Dual-path foveated graphics pipeline
US10121337B2 (en) * 2016-12-30 2018-11-06 Axis Ab Gaze controlled bit rate
CN110574375B (zh) * 2017-04-28 2023-06-02 苹果公司 视频流水线
US10546364B2 (en) * 2017-06-05 2020-01-28 Google Llc Smoothly varying foveated rendering
WO2019217260A1 (en) * 2018-05-07 2019-11-14 Zermatt Technologies Llc Dynamic foveated display
WO2019217262A1 (en) * 2018-05-07 2019-11-14 Zermatt Technologies Llc Dynamic foveated rendering
WO2019217264A1 (en) * 2018-05-07 2019-11-14 Zermatt Technologies Llc Dynamic foveated compression
KR102547106B1 (ko) * 2018-05-07 2023-06-23 애플 인크. 동적 포비티드 파이프라인
ES2938535T3 (es) * 2018-07-20 2023-04-12 Tobii Ab Representación foveada distribuida basada en la mirada del usuario
US20220004012A1 (en) * 2020-07-06 2022-01-06 Seagate Technology Llc Variable resolution and automatic windowing for lidar

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110142138A1 (en) * 2008-08-20 2011-06-16 Thomson Licensing Refined depth map
CN102124742A (zh) * 2008-08-20 2011-07-13 汤姆逊许可公司 精制深度图
CN105262933A (zh) * 2014-07-07 2016-01-20 通用汽车环球科技运作有限责任公司 用于视频处理模块的基于网格的图像分辨率增强
US20170339392A1 (en) * 2016-05-20 2017-11-23 Qualcomm Incorporated Circular fisheye video in virtual reality
WO2018041244A1 (en) * 2016-09-02 2018-03-08 Mediatek Inc. Incremental quality delivery and compositing processing

Also Published As

Publication number Publication date
KR20200142539A (ko) 2020-12-22
DE112019002368T5 (de) 2021-01-28
US11836885B2 (en) 2023-12-05
KR20230101926A (ko) 2023-07-06
WO2019217261A1 (en) 2019-11-14
US20210142443A1 (en) 2021-05-13
US20240087080A1 (en) 2024-03-14
KR102547106B1 (ko) 2023-06-23

Similar Documents

Publication Publication Date Title
US11836885B2 (en) Dynamic foveated pipeline
EP3744007B1 (en) Controlling image display via real-time compression in peripheral image regions
US11900578B2 (en) Gaze direction-based adaptive pre-filtering of video data
US9721393B1 (en) Method for processing and delivering virtual reality content to a user
US20170084083A1 (en) Video system, video generating method, video distribution method, video generating program, and video distribution program
WO2019217260A1 (en) Dynamic foveated display
CN108369750B (zh) 用于虚拟现实图像的图像增强的方法和装置
US20220342365A1 (en) System and method for holographic communication
WO2019217262A1 (en) Dynamic foveated rendering
JP2018141816A (ja) 映像システム、映像生成方法、映像配信方法、映像生成プログラム及び映像配信プログラム
CN112470484B (zh) 用于流式传输视频的方法和设备
US11749024B2 (en) Graphics processing method and related eye-tracking system
CN108141559B (zh) 影像系统、影像生成方法及计算机可读介质
WO2019217264A1 (en) Dynamic foveated compression
US20240119557A1 (en) Image display system and image display method
US20240095879A1 (en) Image Generation with Resolution Constraints

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