CN115100020A - 虚拟、增强和混合现实系统以及方法 - Google Patents

虚拟、增强和混合现实系统以及方法 Download PDF

Info

Publication number
CN115100020A
CN115100020A CN202210677884.9A CN202210677884A CN115100020A CN 115100020 A CN115100020 A CN 115100020A CN 202210677884 A CN202210677884 A CN 202210677884A CN 115100020 A CN115100020 A CN 115100020A
Authority
CN
China
Prior art keywords
gpu
data
image data
frame
color
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
CN202210677884.9A
Other languages
English (en)
Inventor
J·F·罗德里格兹
R·M·佩雷兹
R·诺拉伊
R·B·泰勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Magic Leap Inc
Original Assignee
Magic Leap 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 Magic Leap Inc filed Critical Magic Leap Inc
Publication of CN115100020A publication Critical patent/CN115100020A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • 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
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3265Power saving in display device
    • 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
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • 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/0101Head-up displays characterised by optical features
    • G02B2027/0132Head-up displays characterised by optical features comprising binocular systems
    • G02B2027/0134Head-up displays characterised by optical features comprising binocular systems of stereoscopic type
    • 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/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • 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/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • 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/0185Displaying image at variable distance
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2330/00Aspects of power supply; Aspects of display protection and defect management
    • G09G2330/02Details of power systems and of start or stop of display operation
    • G09G2330/021Power management, e.g. power saving
    • G09G2330/022Power management, e.g. power saving in absence of operation, e.g. no data being entered during a predetermined time
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/10Use of a protocol of communication by packets in interfaces along the display data pipeline
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Optics & Photonics (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)
  • Power Sources (AREA)

Abstract

一种在虚拟、增强或混合现实系统中的方法包括GPU确定/检测图像数据的缺乏。该方法还包括关闭GPU的部分/部件/功能。该方法还包括关闭GPU与DB之间的通信链路。此外,该方法包括关闭DB的部分/部件/功能。此外,该方法包括关闭DB与显示面板之间的通信链路。该方法还包括关闭显示面板的部分/部件/功能。

Description

虚拟、增强和混合现实系统以及方法
本申请是申请号为202080009565.X的中国专利申请“虚拟、增强和混合现实系统以及方法”(申请日为2020年1月17日)的分案申请。
版权声明
本专利文件的公开内容的一部分包含受版权保护的材料。版权所有者不反对任何人以传真方式复制出现在专利商标局专利文件或记录中的专利文件或专利公开,但除此之外保留所有版权。
技术领域
本公开涉及虚拟现实、增强现实和混合现实成像、可视化和显示系统以及方法。
背景技术
现代计算和显示技术促进了虚拟现实(VR)、增强现实(AR)和混合现实(MR)系统的发展。VR系统为用户创建了模拟环境来体验。这可以通过头戴式显示器向用户呈现计算机生成的图像来完成。这种图像创造了一种让用户沉浸在模拟环境中的感官体验。VR场景通常只涉及呈现计算机生成的图像,而不是还包括实际的现实世界图像。
AR系统通常用模拟元素补充现实世界环境。例如,AR系统可以通过头戴式显示器为用户提供周围现实世界环境的视图。然而,计算机生成的图像也可以显示在显示器上以增强现实世界的环境。这种计算机生成的图像可以包括与现实世界环境上下文相关的元素。此类元素可以包括模拟的文本、图像、对象等。MR系统也将模拟对象引入现实世界环境中,但这些对象通常具有比AR系统更大程度的交互性。模拟元素通常可以实时交互。
图1描绘了示例AR/MR场景1,其中,用户看到以人、树木、背景中的建筑物和混凝土平台20为特征的现实世界公园设置6。除了这些项目之外,计算机生成的图像也呈现给用户。计算机生成的图像可以包括,例如,站在现实世界平台20上的机器人雕像10,以及飞过的看似是大黄蜂的拟人化的类似状化身角色12,即使这些元素12、10实际上并不存在于现实世界环境中。
各种光学系统在各种深度处生成图像,用于显示VR、AR或MR场景。由于人类视觉感知系统是复杂的,因此产生一种有助于以舒适、感觉自然、丰富的方式在其他虚拟或现实世界的图像元素中呈现虚拟图像元素的VR/AR/MR技术是具有挑战性。需要改进的技术来处理这样的系统中的图像数据,包括例如用于提供控制数据以控制图像数据如何显示的技术、用于校正图像数据中的光学失真(distortion)的技术、以及用于基于用户的头部姿势来扭曲图像数据的技术。VR/AR/MR技术还存在尺寸和便携性问题、电池寿命问题、系统过热问题、以及提高节能图像渲染重要性的其他系统和光学挑战。需要改进的技术来解决这些问题。在此描述的系统和方法被配置为解决这些以及其他挑战。
需要一种或多种技术来改进遗留技术和/或其他考虑的方法。本背景技术部分中描述的一些方法是可以采用的方法,但不一定是先前已构想或采用的方法。
发明内容
在一个实施例中,一种在虚拟、增强、或混合现实系统中的方法包括GPU确定/检测图像数据的缺乏。该方法还包括关闭GPU的部分/部件/功能。该方法还包括关闭GPU与DB之间的通信链路。此外,该方法还包括关闭DB的部分/部件/功能。此外,该方法还包括关闭DB与显示面板之间的通信链路。还包括关闭显示面板的部分/部件/功能。
在一个或多个实施例中,该方法包括重新组织帧数据以减少传输时间。该方法还可以包括GPU DP端口向DB发送定制STP消息。该方法还可以包括GPU向DB AUS消息发送STP消息。GPU的部分/部件/功能选自可以包括以下项的组:存储器读取,压缩,以及颜色分割。DB的部分/部件/功能可以是存储器写入。显示面板的部分/部件/功能可以选自包括以下项的组:视频RAM,以及MIPI接收器。
在一个或多个实施例中,该方法包括GPU向DB发送唤醒信号。GPU可以经由AUX通信链路发送唤醒信号。该方法还可以包括GPU向GPU与DB之间的通信链路发送唤醒信号。GPU的部分/部件/功能、GPU与DB之间的通信链路、DB的部分/部件/功能、DB与显示面板之间的通信链路、显示面板的部分/部件/功能可以被异步关闭。该方法还可以包括DB向显示面板发送嵌入式行控制消息。
在另一个实施例中,一种在虚拟、增强、或混合现实系统中的方法包括GPU接收图像数据帧。该方法还包括GPU识别图像数据帧中已经从先前图像数据帧改变的多个区域/部分/区段/图块。该方法还包括GPU将多个区域/部分/区段/图块中的至少一些移动到数据帧的开始以形成重新排序的图像数据帧。此外,该方法包括GPU向DB发送重新排序的图像数据帧。此外,该方法包括关闭GPU的部分/部件/功能、GPU与DB之间的通信链路、DB的部分/部件/功能、DB与显示面板之间的通信链路、以及显示面板的部分/部件/功能。
在一个或多个实施例中,该方法包括GPU在向DB发送重新排序的图像数据帧之前对重新排序的图像数据帧进行压缩。重新排序的图像数据帧可以小于图像数据帧。该方法还可以包括DB将重新排序的图像数据帧存储在缓冲器中。
在一个或多个实施例中,该方法包括确定重新排序的图像数据帧的尺寸。该方法还包括仅当重新排序的图像数据帧小于预定最大尺寸时,关闭GPU的部分/部件/功能、GPU与DB之间的通信链路、DB的部分/部件/功能、DB与显示面板之间的通信链路、显示面板的部分/部件/功能。
在一个或多个实施例中,该方法包括在向DB发送重新排序的图像数据帧之后,GPU向DB发送STP消息。该方法还可以包括GPU经由SDP向DB发送STP消息。
在一个或多个实施例中,GPU的部分/部件/功能选自包括以下项的组:存储器读取、压缩和颜色分割。DB的部分/部件/功能可以是存储器写入。显示面板的部分/部件/功能可以选自包括以下项的组:视频RAM、以及MIPI接收器。
在一个或多个实施例中,该方法包括GPU向DB发送唤醒信号。GPU可以经由AUX通信链路发送唤醒信号。GPU的部分/部件/功能、GPU与DB之间的通信链路、DB的部分/部件/功能、DB与显示面板之间的通信链路、显示面板的部分/部件/功能可以被异步关闭。
在一个或多个实施例中,该方法包括DB根据重新排序的图像数据帧重构图像数据帧。该方法还可以包括将不在图像数据帧的多个区域/部分/区段/图块中的图像数据帧的一部分设置为背景颜色。该方法还可以包括DB将重新排序的图像数据帧与先前图像数据帧混合。该方法还可以包括DB将重新排序的图像数据帧与与更新的中央凹区域(foveatedregion)相关的图像数据混合。该方法还可以包括在将重新排序的图像数据帧与先前图像数据帧混合之前,对先前图像数据帧进行掩膜(mask)。
在一个或多个实施例中,该方法包括DB对重新排序的图像数据帧进行缩放。该方法还可以包括DB从GPU接收缩放因子,并且DB使用缩放因子来缩放重新排序的图像数据帧。缩放可以是中央凹操作(foveation operation)的一部分。该方法还可以包括DB对图像数据执行功能,该功能选自包括以下项的组:扭曲、像素化调光、遮挡、色差校正、帧速率和扩展。该方法还可以包括在关闭GPU的部分/部件/功能之前将重新排序的图像数据帧存储在FIFO存储器中。该方法还可以包括DB向显示面板发送嵌入式行控制消息。
在又一个实施例中,一种在虚拟、增强、或混合现实系统中的方法包括GPU将第一色场划分为第一局部第一色场和第二局部第一色场。该方法还包括GPU将第二色场划分为第一局部第二色场和第二局部第二色场。该方法还包括GPU向DB发送第一局部第一色场。此外,该方法还包括GPU在发送第一局部第一色场之后,向DB发送第一局部第二色场。此外,该方法还包括GPU在发送第一局部第二色场之后,向DB发送第二局部第一色场。该方法还包括GPU在发送第二局部第一色场之后,向DB发送第二局部第二色场。
在一个或多个实施例中,该方法包括GPU将第三色场划分为第一局部第三色场和第二局部第三色场。该方法还可以包括GPU在发送第一局部第二色场之后并且在发送第二局部第一色场之前,向DB发送第一局部第三色场。该方法还可以包括GPU在发送第二局部第二色场之后,向DB发送第二局部第三色场。该方法还可以包括GPU将第一局部第一色场和第一局部第二色场以及第二局部第一色场和第二局部第二色场作为单个垂直编码数据集发送。
在又一个实施例中,一种在虚拟现实、增强现实或混合现实系统中的方法包括GPU将第一色场划分为第一局部第一色场、第二局部第一色场、和第三局部第一色场。该方法还包括GPU将第二色场划分为第一局部第二色场、第二局部第二色场、和第三局部第二色场。该方法还包括GPU将第三色场划分为第一局部第三色场、第二局部第三色场、和第三局部第三色场。此外,该方法包括GPU向DB发送第一局部第一色场。此外,该方法还包括GPU在发送第一局部第一色场之后,向DB发送第一局部第二色场。该方法还包括GPU在发送第一局部第二色场之后,向DB发送第一局部第三色场。该方法还包括GPU在发送第一局部第三色场之后,向DB发送第二局部第一色场。此外,该方法还包括GPU在发送第二局部第一色场之后,向DB发送第二局部第二色场。此外,该方法还包括GPU在发送第二局部第二色场之后,向DB发送第二局部第三色场。该方法还包括GPU在发送第二局部第三色场之后,向DB发送第三局部第一色场。该方法还包括GPU在发送第三局部第一色场之后,向DB发送第三局部第二色场。此外,该方法还包括GPU在发送第三局部第二色场之后,向DB发送第三局部第三色场。
在一个或多个实施例中,该方法包括GPU将第一局部第一色场、第一局部第二色场、第一局部第三色场、第二局部第一色场、第二局部第二色场、第二局部第三色场、第三局部第一色场、第三局部第二色场、和第三局部第三色场作为单个垂直编码数据集发送。
在一个或多个实施例中,该方法包括GPU向DB发送第一姿势数据,并且DB使用第一姿势数据来扭曲第一局部第一色场。该方法还包括GPU在发送第一姿势数据之后,向DB发送第二姿势数据,并且DB使用第二姿势数据来扭曲第一局部第二色场。该方法还包括GPU在发送第二姿势数据之后,向DB发送第三姿势数据,DB使用第三姿势数据来扭曲第一局部第三色场。此外,该方法包括GPU在发送第三姿势数据之后,向DB发送第四姿势数据,并且DB使用第四姿势数据来扭曲第二局部第一色场。此外,该方法包括GPU在发送第四姿势数据之后,向DB发送第五姿势数据,并且DB使用第五姿势数据来扭曲第二局部第二色场。该方法还包括GPU在发送第五姿势数据之后,向DB发送第六姿势数据,DB使用第六姿势数据来扭曲第二局部第三色场。该方法还包括GPU在发送第六姿势数据之后,向DB发送第七姿势数据,DB使用第七姿势数据来扭曲第三局部第一色场。此外,该方法包括GPU在发送第七姿势数据之后向DB发送第八姿势数据,并且DB使用第八姿势数据来扭曲第三局部第二色场。另外,该方法包括GPU在发送第八姿势数据之后,向DB发送第九姿势数据,并且DB使用第九姿势数据来扭曲第三局部第三色场。
在一个或多个实施例中,GPU通过AUX通信链路向DB发送第一姿势数据、第二姿势数据、第三姿势数据、第四姿势数据、第五姿势数据、第六姿势数据、第七姿势数据、第八姿势数据、和第九姿势数据中的至少一个。DB可以再次扭曲以下每一个:第一局部第一色场,第二局部第一色场,第三局部第一色场,第一局部第二色场,第二局部第二色场,第三局部第二色场,第一局部第三色场,第二局部第三色场,第三局部第三色场。
在又一个实施例中,在虚拟、增强、或混合现实系统中使用的数据格式包括:第一信号发送行。该数据格式还包括多个第一色场行。该数据格式还包括第二信号发送行。此外,该数据格式包括多个第二色场行。此外,该数据格式包括第三信号行。该数据格式还包括多个第三色场行。
在一个或多个实施例中,第一信号发送行包括用于多个第一色场行的多个活动行。活动行可以在图像帧之间发生变化。第二信号发送行可以包括用于多个第二色场行的活动行。第三信号发送行可以包括用于多个第三色场行的活动行。第一信号发送行可以包括多个第一色场行的起始位置。第二信号发送行可以包括多个第二色场行的起始位置。第三信号发送行可以包括多个第三色场行的起始位置。第一、第二和第三色场行可以包括强度信息而没有颜色信息。第一、第二和第三信号发送行可以包括颜色信息而没有强度信息。第一信号发送行、第二信号发送行、第三信号发送行、多个第一色场行、多个第二色场行、和多个第三色场行可以以比显示与多个第一色场行、多个第二色场行、和多个第三色场行对应的图像更快的速率被读取。
在又一实施例中,在虚拟、增强、或混合现实系统中的方法包括:检测用户的聚焦区域。该方法还包括GPU以较低分辨率渲染聚焦区域外部的虚拟图像。该方法还包括GPU以较高分辨率渲染聚焦区域内部的虚拟图像。此外,该方法包括GPU向一个或多个DB发送聚焦区域外部和聚焦区域内部的所渲染的虚拟图像。此外,该方法包括一个或多个DB合并聚焦区域外部和聚焦区域内部的所渲染的虚拟图像以生成图像数据帧。
在一个或多个实施例中,该方法包括GPU向第一DB发送聚焦区域外部的所渲染的虚拟图像;GPU向第二DB发送聚焦区域内部的所渲染的虚拟图像;以及第一DB和/或第二DB合并聚焦区域外部和聚焦区域内部的所渲染的虚拟图像以生成图像数据帧。
在又一个实施例中,一种在虚拟、增强、或混合现实系统中的方法包括:检测FOV中的用户的手部。该方法还包括GPU生成与用户的手部的位置对应的掩膜。该方法还包括GPU向DB发送掩膜和图像数据帧。此外,该方法包括DB使用掩膜来修改图像数据帧。
在一个或多个实施例中,掩膜是深度掩膜。
在又一实施例中,一种在虚拟、增强或混合现实系统中的方法包括GPU向DB发送第一色场图像数据、向DB发送第二色场图像数据,以及向DB发送第三色场图像数据。该方法还包括GPU向DB发送第一姿势数据,DB使用第一姿势数据来扭曲第一色场图像数据以生成被扭曲的第一色场图像数据。该方法还包括GPU在发送第一姿势数据之后向DB发送第二姿势数据,DB使用第二姿势数据来扭曲第二色场图像数据以生成被扭曲的第二色场图像数据。此外,该方法包括GPU在发送第二姿势数据之后向DB发送第三姿势数据,DB使用第三姿势数据来扭曲第三色场图像数据以生成被扭曲的第三色场图像数据。
在一个或多个实施例中,该方法包括GPU向DB发送分组姿势数据,其中,DB使用第一姿势数据来扭曲第一色场图像数据包括:DB根据分组姿势数据和第一姿势数据来计算第一姿势增量。该方法还可以包括在DB生成被扭曲的第一色场图像数据之后立即指示显示与被扭曲的第一色场图像数据对应的第一色场图像。该方法还可以包括DB对第一、第二和第三色场图像数据执行功能,该功能选自包括以下项的组:投影仪光场失真补偿、像素化调光、遮挡、色差校正、帧速率和扩展。
在一个或多个实施例中,该方法包括GPU在发送第三姿势数据之后向DB发送第四姿势数据。该方法还包括DB使用第四姿势数据来扭曲第一色场图像数据以生成第二被扭曲的第一色场图像数据。该方法还包括GPU在发送第四姿势数据之后向DB发送第五姿势数据。此外,该方法包括DB使用第五姿势数据来扭曲第二色场图像数据以生成第二被扭曲的第二色场图像数据。另外,该方法包括GPU在发送第五姿势数据之后向DB发送第六姿势数据。该方法还包括DB使用第六姿势数据来扭曲第三色场图像数据以生成第二被扭曲的第三色场图像数据。
在又一实施例中,一种在虚拟、增强、或混合现实系统中的方法包括:GPU获取图像数据帧。该方法还包括GPU识别图像数据帧的一部分。该方法还包括直接存储器存取控制器向DB发送图像数据帧的被识别部分而不对图像数据进行进一步处理。
在一个或多个实施例中,图像数据帧的一部分是非黑色图像数据行。该方法还可以包括关闭GPU的部分/部件/功能,DMA的部分/部件/功能,GPU与DB之间的通信链路,DB的部分/部件/功能,DB与显示面板之间的通信链路,和/或显示面板的部分/部件/功能。
在又一实施例中,一种在虚拟、增强、或混合现实系统中的方法包括:GPU将第一场划分为第一局部第一场、第二局部第一场和第三局部第一场。该方法还包括GPU将第二场划分为第一局部第二场、第二局部第二场和第三局部第二场。该方法还包括GPU将第三场划分为第一局部第三场、第二局部第三场和第三局部第三场。此外,该方法包括GPU向DB发送第一局部第一场。此外,该方法包括GPU在发送第一局部第一场之后向DB发送第一局部第二场。该方法还包括GPU在发送第一局部第二场之后向DB发送第一局部第三场。该方法还包括GPU在发送第一局部第三场之后向DB发送第二局部第一场。此外,该方法包括GPU在发送第二局部第一场之后向DB发送第二局部第二场。此外,该方法包括GPU在发送第二局部第二场之后向DB发送第二局部第三场。该方法还包括GPU在发送第二局部第三场之后向DB发送第三局部第一场。该方法还包括GPU在发送第三局部第一场之后向DB发送第三局部第二场。此外,该方法包括GPU在发送第三局部第二场之后向DB发送第三局部第三场。
在一个或多个实施例中,该方法包括GPU向DB发送第一姿势数据,并且DB使用第一姿势数据对第一局部第一场进行扭曲。该方法还包括在发送第一姿势数据之后向DB发送第二姿势数据,并且DB使用第二姿势数据对第一局部第二场进行扭曲。该方法还包括在发送第二姿势数据之后向DB发送第三姿势数据,并且DB使用第三姿势数据对第一局部第三场进行扭曲。此外,该方法包括在发送第三姿势数据之后向DB发送第四姿势数据,并且DB使用第四姿势数据对第二局部第一场进行扭曲。此外,该方法包括在发送第四姿势数据之后向DB发送第五姿势数据,并且DB使用第五姿势数据对第二局部第二场进行扭曲。该方法还包括在发送第五姿势数据之后向DB发送第六姿势数据,并且DB使用第六姿势数据对第二局部第三场进行扭曲。该方法还包括在发送第六姿势数据之后向DB发送第七姿势数据,并且DB使用第七姿势数据对第三局部第一场进行扭曲。此外,该方法包括在发送第七姿势数据之后向DB发送第八姿势数据,以及DB使用第八姿势数据对第三局部第二场进行扭曲。另外,该方法包括在发送第八姿势数据之后向DB发送第九姿势数据,并且DB使用第九姿势数据对第三局部第三场进行扭曲。
在又一实施例中,一种在虚拟、增强、或混合现实系统中的方法包括GPU获取图像数据帧。该方法还包括GPU获取与视场中的遮挡相关的遮挡数据,数据包括深度图数据。该方法还包括GPU向DB发送图像数据帧和遮挡数据。此外,该方法包括DB使用遮挡数据在显示之前掩膜图像数据帧。
附图说明
下面描述的附图仅用于说明目的。附图并非旨在限制本公开的范围。附图说明了本公开的各种实施例的设计和效用。应该注意的是,这些图不是按比例绘制的,并且贯穿各个附图,相似的结构或功能的元件由相似的附图标记表示。为了更好地理解如何获得本公开的各个实施例所列举的和其他的优点和目的,将参照附图中示出的具体实施例对本公开进行更详细的描述。理解这些附图仅描绘了本公开的典型实施例并且因此不被认为是对其范围的限制,将通过使用附图以附加的具体性和细节来描述和解释本公开。
图1示出了使用示例AR系统的AR/MR场景的用户视图。
图2至图5示意性地描绘了根据一些实施例的使用VR/AR/MR系统的用户。
图6示意性地描绘了根据一些实施例的多平面聚焦系统的各个平面。
图7示意性地描绘了根据一些实施例的VR/AR/MR系统。
图8示意性地描绘了根据一些实施例的VR/AR/MR系统的图像生成部件。
图8A示意性地描绘了根据一些实施例的VR/AR/MR系统的图像生成部件。
图9示意性地描绘了根据一些实施例的用于与VR/AR/MR系统一起使用的显示桥(display bridge)。
图9A示意性地描绘了根据一些实施例的用于与VR/AR/MR系统一起使用的显示桥。
图10示意性地描绘了根据一些实施例的用于与VR/AR/MR系统的显示桥一起使用的像素引擎。
图10A示意性地描绘了根据一些实施例的用于与VR/AR/MR系统的显示桥一起使用的像素引擎。
图11示意性地描绘了根据一些实施例的用于与VR/AR/MR系统一起使用的显示面板。
图12示意性地描绘了根据一些实施例的用于与VR/AR/MR系统一起使用的两个输入数据格式。
图13示意性地描绘了根据一些实施例的用于与VR/AR/MR系统一起使用的彩色图像数据格式。
图14示意性地描绘了根据一些实施例的用于与VR/AR/MR系统一起使用的灰度图像数据格式。
图15示意性地描绘了根据一些实施例的用于与VR/AR/MR系统一起使用的彩色图像数据的颜色分割(segmentation)。
图15A示意性地描绘了根据一些实施例的用于与VR/AR/MR系统一起使用的DB中的彩色图像数据的颜色分割。
图15B示意性地描绘了根据一些实施例的用于与VR/AR/MR系统一起使用的DB中没有颜色分割的图像数据的打包(pack)。
图15C示意性地描绘了用于存储彩色图像数据1502的RGB 30数据格式。
图15D示意性地描绘了作为128位对齐数据存储在SRAM中的1440像素乘1440像素的输入显示面板分辨率。
图15E示意性地描绘了作为128位对齐数据存储在SRAM中的512像素乘512像素的输入显示面板分辨率。
图15F示意性地描绘了作为128位对齐数据存储在SRAM中的特殊图像的512像素乘512像素的输入显示面板分辨率。
图15G示意性地描绘了在颜色分割帧之后的数据结构。
图16示意性地描绘了根据一些实施例的次要(secondary)显示流(stream)流经(flow through)用于与VR/AR/MR系统一起使用的显示桥。
图16A示意性地描绘了根据一些实施例的次要显示流流经用于与VR/AR/MR系统一起使用的显示桥。
图17示意性地描绘了根据一些实施例的图像数据分组。
图17A示意性地描绘了与垂直消隐(blanking)相关联的VSC_EXT_VESA SDP消息1750。
图17B示意性地描绘了与水平消隐相关联的水平消隐SDP消息1770。
图18示意性地描绘了根据一些实施例的数据流经用于与VR/AR/MR系统一起使用的显示桥。
图19示意性地描绘了根据一些实施例的视频流。
图20至图24A示意性地描绘了根据一些实施例的局部暗低功耗模式。
图24B示意性地描绘了根据一些实施例的显示系统进入和维持局部暗模式的MIPI时序(timing)。
图25示意性地描绘了根据一些实施例的局部暗图像数据打包。
图26示意性地描绘了根据一些实施例的用于与VR/AR/MR系统一起使用的显示桥的输入和输出。
图27至图31B示意性地描绘了根据一些实施例的MIPI接收器输出数据。
图32示意性地描绘了根据一些实施例的显示系统进入和维持全暗模式3200的MIPI时序。
图33示意性地描绘了根据一些实施例的显示系统进入、维持和退出全暗模式。
图34示意性地描绘了根据一些实施例的显示系统进入、维持和退出全暗模式以用于面板自刷新。
图35示意性地描绘了根据一些实施例的在局部暗低功耗模式下操作的DB的两个周期的MIPI时序。
图36A描绘了根据一些实施例的AR视图。
图36B描绘了根据一些实施例已经在其上应用黑色部分掩膜(mask)的AR视图。
具体实施方式
本公开的各种实施例针对单个实施例或多个实施例中的用于VR/AR/MR的系统、方法和制品。在详细说明、附图和权利要求中描述了本公开的其他目的、特征和优点。
现在将参考附图详细描述各种实施例,各种实施例作为说明性示例被提供以使得本领域技术人员能够实践本公开。值得注意的是,下面的附图和示例并不意味着限制本公开的范围。在本公开的某些要素可以使用已知部件(或方法或过程)部分或完全实施的情况下,将仅描述这样的已知部件(或方法或过程)中对于理解本公开所必需的那些部分,并且将省略此类已知部件(或方法或过程)的其他部分的详细描述,以免混淆本公开。此外,各种实施例包括本文通过说明的方式提及的部件的当前和未来已知的等同部件。
根据本公开的实施例解决了VR/AR/MR系统的实现通常依赖于现成(shelf)部件和定制部件的组合的问题。在某些情况下,现成的部件不具备实现要部署的VR/AR/MR系统的特定期望方面所需的所有功能或性能特征。一些实施例涉及用于添加能力和/或略微改动资源以适应要部署的VR/AR/MR系统的期望特征或性能特性的方法。本文的附图和讨论呈现了用于VR/AR/MR系统的示例环境、系统、方法和计算机程序产品。
头戴式视听显示系统和电源管理系统可以独立于AR/MR系统来实现,但是以下一些实施例仅出于说明的目的关于AR/MR系统进行描述。这里描述的电源管理系统也可以以与VR系统类似的方式使用。
问题及解决方案概述
VR/AR/MR系统具有局限性,例如尺寸和便携性问题、电池寿命问题、系统过热问题、处理能力、内存、带宽、数据源、部件延迟、以及其他系统和光学挑战,这些可能会对VR/AR/MR系统性能造成负面影响。这些限制提高了节能图像渲染的重要性。
例如,在一些可穿戴设备中,图像管线中的各种部件(例如,GPU、显示桥、显示面板等)消耗了系统资源的很大一部分(例如,处理能力、内存、带宽、电池寿命)。此外,这些系统资源需求会导致尺寸和便携性问题以及系统过热问题。此外,部件延迟问题也会影响VR/AR/MR系统性能。例如,渲染图像数据的最终扭曲和与扭曲图像数据对应的图像的显示之间的系统延迟会导致伪影。
根据各种实施例,电源管理系统包括特征,诸如深度平面或深度平面内的色场的去激活(inactivation)、时域电源管理、离散成像模式、低功耗深度平面切换、低功耗低延迟待机/唤醒、低功耗侧通道、多部件低功耗模式、以及降低光源和/或SLM的功率。
本文描述的实施例包括与各种VR/AR/MR系统一起使用的电源管理系统和方法。这些电源管理系统和方法减少了图像管线消耗的系统资源,从而解决了许多上述问题。在此描述的实施例还包括与各种VR/AR/MR系统一起使用的虚拟图像扭曲系统和方法。这些虚拟图像扭曲系统和方法解决了上述问题中的一些问题。
说明性VR、AR和/或MR系统
下面的描述与说明性的VR、AR和/或MR系统有关,各种电源管理系统的实施例可以利用这些系统来实践。然而,应当理解,这些实施例也适用于其他类型的显示系统(包括其他类型的VR、AR和/或MR系统)中的应用,因此实施例不仅限于本文所公开的说明性的系统。
本文公开的VR/AR/MR系统可以包括向用户呈现计算机生成的图像(视频/图像数据)的显示器。在一些实施例中,显示系统是可穿戴的,这可以有利地提供更沉浸的VR/AR/MR体验。VR、AR和/或MR虚拟图像系统100的各种部件在图2至图5中描绘。虚拟图像生成系统100包括:由终端用户50佩戴的框架结构102;由框架结构102承载的显示子系统110,以使得显示子系统110位于终端用户50的眼睛前面;以及由框架结构102承载的扬声器106,使得扬声器106位于终端用户50的耳道附近(可选地,另一个扬声器(未示出)位于终端用户50的另一个耳道附近以提供立体声/可塑形声音控制)。显示子系统110被设计为向终端用户50的眼睛呈现光图案,该光图案可以被舒适地感知为对物理现实的增强、具有高水平的图像质量和三维感知,以及能够呈现二维内容。显示子系统110以高频呈现帧序列(sequence offrame),这提供单个相干场景的感知。
在所示的实施例中,显示子系统110采用“光学透视”显示器,通过该显示器用户可以经由透明(或半透明)元件直接观看来自真实对象的光。透明元件(通常被称为“组合器”)将来自显示器的光叠加在用户对现实世界的视图上。为此,显示子系统110包括部分透明的显示器。在一些实施例中,透明显示器可以是电子控制的。在一些实施例中,透明显示器可以包括分段(segment)调光(dim)以控制透明显示器的一个或多个部分的透明度。在一些实施例中,透明显示器可以包括全局调光以控制整个透明显示器的透明度。显示器位于终端用户50的眼睛与周围环境之间的终端用户50视场中,使得来自周围环境的直接光通过显示器传输到终端用户50的眼睛。
在所示实施例中,图像投影组件向部分透明的显示器提供光,从而与来自周围环境的直接光组合,并从显示器传输到用户50的眼睛。投影子系统可以是基于光纤扫描的投影设备,并且显示器可以是基于波导的显示器,来自投影子系统的扫描光被注入显示器中以产生例如在与无穷远相比较近的单个光学观看距离(例如,手臂的长度)处的图像、在多个离散光学观看距离或焦平面处的图像,和/或在多个观看距离或焦平面处堆叠的图像层,从而表示立体3D对象。光场中的这些层可以足够紧密地堆叠在一起,以便在人类视觉子系统看来是连续的(即,一个层在相邻层的混淆锥(cone of confusion)内)。附加地或替代地,图像元素可以跨两个或更多个层混合以增加光场中的各层之间的过渡的感知连续性,即使这些层更稀疏地堆叠(即,一个层在相邻层的混淆锥外部)。显示子系统110可以是单目或双目的。
虚拟图像生成系统100还可以包括安装到框架结构102的一个或多个传感器(未示出),用于检测终端用户50的头部54的位置和运动和/或终端用户50的眼睛位置和瞳孔间距离。这样的传感器可以包括图像捕获设备(例如相机)、麦克风、惯性测量单元、加速度计、罗盘、GPS单元、无线电设备、和/或陀螺仪)。这些传感器中的许多传感器在它们被附接在框架102上的假设下工作,框架102反过来基本上被固定到用户的头部、眼睛和耳朵。
虚拟图像生成系统100还可以包括用户取向(orientation)检测模块。用户取向模块检测终端用户50的头部54的瞬时位置(例如,经由被耦接到框架102的传感器),并且可以基于从传感器接收的位置数据来预测终端用户50的头部54的位置。检测终端用户50的头部54的瞬时位置有助于确定终端用户50正在观看的特定实际对象,从而提供要生成的与该实际对象相关的特定虚拟对象的指示,并进一步提供虚拟对象将被显示的位置的指示。用户取向模块还可基于从传感器接收的跟踪数据来跟踪终端用户50的眼睛。
虚拟图像生成系统100还可以包括控制子系统,该控制子系统可以采用多种形式中的任一种。控制子系统包括多个控制器,例如一个或多个微控制器、微处理器或中央处理单元(CPU)、数字信号处理器、图形处理单元(GPU)、其他集成电路控制器,例如专用集成电路(ASIC)、显示桥(bridge)芯片、显示控制器、可编程门阵列(PGA),例如现场PGA(FPGA)和/或可编程逻辑控制器(PLU)。
虚拟图像生成系统100的控制子系统可以包括中央处理单元(CPU)、图形处理单元(GPU)、一个或多个帧缓冲器(buffer)、以及用于存储三维场景数据的三维数据库。CPU可以控制整体操作,而GPU可以根据存储在三维数据库中的三维数据来渲染帧(即,将三维场景转换为二维图像),并将这些帧存储在帧缓冲器中。一个或多个附加集成电路可以控制将帧读入帧缓冲器中和/或从帧缓冲器读取帧,以及显示子系统110的图像投影组件的操作。
虚拟图像生成系统100的各种处理部件可以物理地包含在分布式子系统中。例如,如图2至图5所示,虚拟图像生成系统100可以包括本地处理和数据模块130,该本地处理和数据模块130例如通过有线引线或无线连接136可操作地耦合到本地显示桥142、显示子系统110、和传感器。本地处理和数据模块130可以以多种配置安装,例如固定地附接到框架结构102(图2)、固定地附接到头盔或帽子56(图3)、可移除地附接到终端用户50的躯干58(图4),或以带耦合式配置可移除地附接到终端用户50的臀部60(图5)。虚拟图像生成系统100还可以包括远程处理模块132和远程数据存储库134,该远程处理模块132和远程数据存储库134例如通过有线引线或无线连接138、140可操作地耦合到本地处理和数据模块130以及本地显示桥142,使得这些远程模块132、134可操作地彼此耦合并且可用作本地处理和数据模块130以及本地显示桥142的资源。
本地处理和数据模块130和本地显示桥142可以各自包括节能处理器或控制器,以及诸如闪速存储器的数字存储器,这两者都可以用于辅助处理、缓存和存储从传感器捕获的和/或使用远程处理模块132和/或远程数据存储库134所获取和/或处理的数据,可能用于在这样的处理或取回之后传送到显示子系统110。远程处理模块132可以包括被配置为分析和处理数据和/或图像信息的一个或多个相对强大的处理器或控制器。远程数据存储库134可以包括相对大规模的数字数据存储设施,其可以通过互联网或“云”资源配置中的其他联网配置获得。在一些实施例中,在本地处理和数据模块130和本地显示桥142中存储所有数据并且执行所有计算,从而允许来自任何远程模块的完全自主使用。
上述各种部件之间的耦合136、138、140可以包括用于提供有线或光通信的一个或多个有线接口或端口,或者一个或多个无线接口或端口,例如通过用于提供无线通信的RF、微波和IR。在一些实施方式中,所有通信可以是有线的,而在其他实施方式中,所有通信可以是无线的。在又一些另外的实施方式中,有线和无线通信的选择可以不同于图2至图5所示的选择。因此,有线或无线通信的特定选择不应被认为是限制性的。
在一些实施例中,用户取向模块包含在本地处理和数据模块130和/或本地显示桥142中,而CPU和GPU包含在远程处理模块中。在替代实施例中,CPU、GPU或其部分可以包含在本地处理和数据模块130和/或本地显示桥142中。3D数据库可以与远程数据存储库134相关联或设置在本地。
一些VR、AR和/或MR系统使用嵌入有深度平面信息的多个体积相位全息图、表面浮雕全息图、或光导光学元件来生成看似源自相应的深度平面的图像。换言之,衍射图案或衍射光学元件(DOE)可以嵌入在光导光学元件(LOE;例如,平面波导)内或压印/凹凸印在其上,以使得作为准直光(基本具有平面波前的光束)基本上沿LOE全内反射,它在多个位置与衍射图案相交并朝向用户的眼睛出射。DOE被配置为使得从LOE出射的光被边缘化(verged),使得它们看似来自特定的深度平面。准直光可以使用光学会聚透镜(“聚光器”)产生。
例如,第一LOE可以被配置为将准直光传送到眼睛,该准直光看起来源自光学无限远深度平面(0屈光度)。另一个LOE可以被配置为传送看起来源自2米(1/2屈光度)距离的准直光。又一个LOE可以被配置为传送看起来源自1米(1屈光度)距离的准直光。通过使用堆叠的LOE组件,可以理解,可以创建多个深度平面,每个LOE被配置为显示看起来源自特定深度平面的图像。应当理解,堆叠可以包括任何数量的LOE。然而,至少需要N个堆叠的LOE来生成N个深度平面。此外,N、2N或3N个堆叠LOE可用于在N个深度平面处生成RGB彩色图像。
为了向用户呈现3D虚拟内容,VR、AR和/或MR系统将虚拟内容的图像投影到用户的眼睛中,使得它们看起来源自Z方向上的各种深度平面(即,正交远离用户的眼睛)。换句话说,虚拟内容不仅可以在X和Y方向(即在与用户眼睛的中心视轴正交的2D平面中)发生变化,而且还可能在Z方向发生变化,使得用户可能会感觉到对象非常接近或处于无穷远距离或两者之间的任何距离。在其他实施例中,用户可以在不同的深度平面同时感知多个对象。例如,用户可能会看到虚拟龙从无限远处出现并向用户跑来。或者,用户可能同时看到距用户3米远的虚拟鸟和距用户手臂长度(约1米)的虚拟咖啡杯。
多平面聚焦系统通过将图像投影到位于距用户眼睛的Z方向上的相应固定距离处的多个深度平面中的一些或所有深度平面上来创建可变深度的感知。现在参考图6,应当理解,多平面聚焦系统可以在固定深度平面150(例如,图6中所示的六个深度平面150)处显示帧。尽管MR系统可以包括任意数量的深度平面150,但是一个示例性多平面聚焦系统在Z方向上具有六个固定深度平面150。在六个深度平面150中的一个或多个生成虚拟内容时,3D感知被创建为使得用户在距用户眼睛不同距离处感知一个或多个虚拟对象。假设人眼对距离较近的对象比看起来较远的对象更敏感,则在离眼睛更近的地方生成更多的深度平面150,如图6所示。在其他实施例中,深度平面150可以放置在彼此距离相等的距离处。
深度平面位置150可以以屈光度为单位进行测量,屈光度是等于以米为单位测量的焦距的倒数的光焦度单位。例如,在一些实施例中,深度平面1可以是1/3屈光度远,深度平面2可以是0.3屈光度远,深度平面3可以是0.2屈光度远,深度平面4可以是0.15屈光度远,深度平面5可以是0.1屈光度远,以及深度平面6可以表示无穷远(即,0屈光度远)。应当理解,其他实施例可以在其他距离/屈光度处生成深度平面150。因此,在策略性放置的深度平面150处生成虚拟内容时,用户能够在三个维度上感知虚拟对象。例如,当第一虚拟对象显示在深度平面1中时,用户可以感知到第一虚拟对象离他很近,而在深度平面6的另一虚拟对象看似位于无限远处。替代地,虚拟对象可以首先显示在深度平面6,然后深度平面5,以此类推,直到虚拟对象看似非常接近用户。应当理解,为了说明的目的,上述示例被显著简化。在另一实施例中,所有六个深度平面可以集中在远离用户的特定焦距上。例如,如果要显示的虚拟内容是距用户半米远的咖啡杯,则可以在咖啡杯的各个横截面处生成所有六个深度平面,从而为用户提供该咖啡杯的高度颗粒化的3D视图。
在一些实施例中,VR、AR和/或MR系统可以用作多平面聚焦系统。换句话说,所有六个LOE都可以同时被照亮,以使得在光源将图像信息快速传送到LOE 1,然后是LOE 2,然后是LOE 3,以此类推,快速连续地生成看似源于六个固定深度平面的图像。例如,可以在时间1注入包括光学无限远处的天空的图像的所需图像的一部分,并且可以利用LOE保持光准直(例如,来自图6的深度平面6)。然后,可以在时间2注入更近的树枝的图像,并且可以利用被配置为创建看似源自10米远的深度平面(例如,图6中的深度平面5)的图像的LOE;然后可以在时间3注入笔的图像,并且可以利用被配置为创建看似源自1米远的深度平面的图像的LOE。这种类型的范式可以以快速的时间顺序方式重复,以便用户的眼睛和大脑(例如,视觉皮层)将输入感知为同一图像的所有部分。
VR、AR和/或MR系统可以投影看似源自沿Z轴(即,深度平面)的不同位置的图像(即,通过发散或会聚光束),以生成用于3D体验/场景的图像。如在本申请中使用的,光束包括但不限于从光源辐射的光能(包括可见光和不可见光能)的定向投影。生成看似源自不同深度平面的图像符合用户眼睛对该图像的聚散和调节,并最小化或消除聚散-调节冲突。
现在参考图7,示出了AR或MR系统700(以下称为“系统700”)的示例性实施例。系统700使用堆叠的光导光学元件(以下称为“LOE 790”)。系统700通常包括一个或多个图像生成处理器710、一个或多个光源720、一个或多个控制器/显示桥(DB)730、一个或多个空间光调制器(SLM)740、和用作多平面聚焦系统的一组或多组堆叠LOE 790。系统700还可以包括眼睛跟踪子系统750。
图像生成处理器710被配置为生成要显示给用户的虚拟内容。图像生成处理器710可以将与虚拟内容相关联的图像或视频转换为可以以3D形式投影给用户的格式。例如,在生成3D内容时,可能需要对虚拟内容进行格式化,使得特定图像的一部分显示在特定深度平面上,而其他部分显示在其他深度平面上。在一个实施例中,可以在特定深度平面处生成所有图像。在另一个实施例中,图像生成处理器710可以被编程为向左眼和右眼提供略微不同的图像,使得当一起观看时,虚拟内容对于用户的眼睛来说显得连贯和舒适。
图像生成处理器710还可以包括存储器712、GPU 714、CPU 716和用于图像生成和处理的其他电路。图像生成处理器710可以被编程为具有要呈现给系统700的用户的期望虚拟内容。应当理解,在一些实施例中,图像生成处理器710可以容纳在系统700中。在其他实施例中,图像生成处理器710和其他电路可以容纳在耦合到系统700的腰包中。在一些实施例中,图像生成处理器710或其一个或多个部件可以是本地处理和数据模块(例如,本地处理和数据模块130)的一部分。如上所述,本地处理和数据模块130可以以多种配置安装,例如固定地附接到框架结构102(图2)、固定地附接到头盔或帽子56(图3)、可移除地附接到终端用户50的躯干58(图4),或以带耦合式配置可移除地附接到终端用户50的臀部60(图5)。
图像生成处理器710可操作地耦合到投射与所需虚拟内容相关联的光的光源720和一个或多个空间光调制器740。光源720紧凑且具有高分辨率。光源720可操作地耦合到控制器/DB 730。光源720可以包括以各种几何配置布置的颜色特定的LED和激光器。替代地,光源720可以包括类似颜色的LED或激光器,每个都被链接到显示器的视场的特定区域。在另一个实施例中,光源720可以包括广域发射器,例如具有用于发射区域和位置分割的掩膜覆盖的白炽灯或荧光灯。尽管在图2B中光源720直接被连接到系统700,但是光源720可以经由光纤(未示出)被连接到系统700。系统700还可以包括被配置为准直来自光源720的光的聚光器(未示出)。
在各种示例性实施例中,SLM 740可以是反射的(例如,LCOS、FLCOS、DLP DMD或MEMS镜系统)、透射的(例如,LCD)、或发射的(例如,FSD或OLED)。可以选择SLM 740的类型(例如,速度、大小等)以改进3D感知的创建。虽然以较高刷新率运行的DLP DMD可以很容易地合并到固定系统700中,但可穿戴系统700可以使用较小尺寸和功率的DLP。DLP的功率改变3D深度平面/焦平面的创建方式。图像生成处理器710可操作地耦合到SLM 740,SLM 740将来自光源720的光与期望的虚拟内容进行编码。当来自光源720的光从SLM 740反射离开、从SLM 740发射、或穿过SLM 740时,它可以编码有图像信息。
来自SLM 740的光被引导到LOE 790,使得由SLM 740针对一个深度平面和/或颜色采用图像数据编码的光束沿着单个LOE 790有效地传播以传送到用户的眼睛。每个LOE 790被配置为将看似源自所需深度平面或FOV角位置的图像或子图像投影到用户的视网膜上。光源720和LOE 790因此可以选择性地投影图像(在控制器/DB 730的控制下由SLM 740同步地编码),该图像看似源自空间中的各种深度平面或位置。通过使用光源720和LOE 790中的每一个以足够高的帧速率(例如,以60Hz的有效全体积帧速率对于六个深度平面为360Hz)顺序投影图像,系统700可以生成看起来同时存在于3D图像的不同深度平面处的虚拟对象。
控制器/DB 730与图像生成处理器710、光源720和SLM 740通信并且可操作地耦合到图像生成处理器710、光源720和SLM 740,以通过指示SLM 740使用来自图像生成处理器710的适当图像信息对来自光源720的光束进行编码来协调图像的同步显示。虽然系统包括图像生成处理器710,但是在一些实施例中,控制器/DB 730也可以执行至少一些图像生成处理,包括例如存储器712、GPU 714和/或CPU 716的处理。在一些实施例中,控制器/DB 730可以包括图像生成处理器710中所示的一个或多个部件,例如存储器712、GPU 714和/或CPU716。
系统700还包括被配置为跟踪用户的眼睛并确定用户的焦点的可选的眼睛跟踪子系统750。在一个实施例中,系统700被配置为基于来自眼睛跟踪子系统750的输入来照亮LOE 790的子集,使得在与用户的焦点/调节一致的期望深度平面处生成图像。例如,如果用户的眼睛彼此平行,则系统700可以照亮被配置为将准直光传送到用户的眼睛的LOE 790,使得图像看似源自光学无限远。在另一个示例中,如果眼睛跟踪子系统750确定用户的焦点在1米远,则被配置为大约在该范围内聚焦的LOE 790可以替代地被照亮。
图8示意性地描绘了根据一些实施例的VR/AR/MR系统800的图像生成部件。VR/AR/MR系统800包括图形处理单元(GPU)802,该图形处理单元(GPU)802具有显示端口(DP)源804并经由DP链路810耦合到具有DP接收(sink)808的显示桥(DB)806。GPU 802可以位于VR/AR/MR系统800的腰包中,DB 806可以位于VR/AR/MR系统800的可穿戴部件中,并且DP链路810可以是光纤链路。在一些实施例中,DP链路810可以是PCIE链路或其他例如专有的高速链路。在一些实施例中,GPU 802和DB 806都可以在VR/AR/MR系统800的腰包中。在一些实施例中,GPU 802和DB 806都可以在VR/AR/MR系统的可穿戴部件中。在一些实施例中,DB 806可以包括GPU 802。DB 806还经由四个MIPI链路816耦合到左和右显示面板812以及左和右光场芯片814。在一些实施例中,MIPI链路816可以是DP链路、PCIE链路或其他例如专有的高速链路。在这些实施例中,DB 806、左和右显示面板812以及左和右光场芯片814可以包括用于链路的适当端口。DB 806还可以经由MIPI链路816和I2C或SPI连接器820耦合到可穿戴处理器818(耦合到DB 806中的一个/n个MIPI/I2C 822或SPI接收器824)。系统800中的MIPI链路816(即,在DB 806与左和右显示面板812、左和右光场芯片814以及可穿戴处理器818之间)耦合到发送与接收部件中的MIPI发送器832和MIPI接收器824。MIPI链路816可以包括一个或多个数据通道(例如,四个视频数据通道)和一个时钟通道。DB 806还包括存储器826(例如,堆叠式低功耗DDR存储器或嵌入式DRAM)和存储器828(例如,堆叠式闪速存储器)。左和右显示面板812还包括相应的左和右解压缩引擎830。在一些实施例中,DB 806可以包括用于像素操纵的视频处理器(例如,像素引擎)。视频处理器定制通过数据流(例如来自GPU802的视频流)所接收的数据用于主面板(例如,左和右面板812和/或左和右光场芯片814)。
图8A示意性地描绘了根据一些实施例的VR/AR/MR系统800'的图像生成部件。图8A中描绘的VR/AR/MR系统800'包括图8中描绘的VR/AR/MR系统800的许多部件。VR/AR/MR系统800'包括图形处理单元(GPU)802,该图形处理单元(GPU)802具有显示端口(DP)源804并经由DP链路810被耦合到具有DP接收808的显示桥(DB)806'。DB806'还经由四个MIPI链路816被耦合到左和右显示面板812'以及左和右光场芯片814'。在一些实施例中,DB 806'可以经由SPI和/或I2C连接器耦合到左和右显示面板812'以及左和右光场芯片814'。此外,DB806'还经由左和右总线(例如,I2C总线)836耦合到左和右LED/激光驱动器834。左和右总线836还将DB 806'以及左和右LED/激光器驱动器834二者耦合到左和右显示面板812'。DB806'还可以经由MIPI链路816、I2C连接器820、和/或SPI连接器838耦合到可穿戴处理器818',该MIPI链路816、I2C连接器820、和/或SPI连接器838可以耦合到DB 806'中的MIPI接收器824、I2C接收器822、或SPI接收器840。DB 806’还包括存储器826(例如,嵌入式SRAM)和存储器828(例如,堆叠四SPI闪速存储器)。
上述MIPI链路816可以具有双向能力(例如,用于将读取数据、应答(acknowledgment)、和/或错误信息从左显示面板812和右显示面板812'返回到DB 806、806')。MIPI链路816的通道(lane)0可用于传输到DB 806、806’,而其他通道可以是单向的。MIPI链路816可用于在DB806、806’的低功耗传输模式期间传输到DB 806、806’以启动来自左显示面板812和右显示面板812'的通用读取。
图9示意性地描绘了根据一些实施例的用于与VR/AR/MR系统一起使用的DB 900。DB 900包括被配置为接收一个或多个图像数据流的DP接收器902。DP接收器902通信耦合到DSC解码器904、DDR控制器906、像素引擎908、输出FIFO主要和次要流910、以及像素分布主要和次要面板(“像素分布模块”)912,这些部件又通信地耦合到四个MIPI通道914。DB 900还包括MIPI接收器916、存储器918(例如,低功耗DDR堆叠管芯(die))、CPU模块920和RGB到灰度分割块922,这些部件全部通信地耦合到DDR控制器906。RGB到灰度分割块922从DSC解码器904接收数据并将输出发送到存储器918',如本文所述。DB 900被配置为处理两个视频流。第一视频流924由DSC解码器904和RGB到灰度分割块922处理,然后发送到DDR控制器906以写入存储器918。第二视频流926直接从DP接收器902发送到DDR控制器906用于写入存储器918。
图9A示意性地描绘了根据一些实施例的用于与VR/AR/MR系统一起使用的DB900’。图9A中描绘的DB 900’包括图9中描绘的DB 900的许多部件。DB 900’包括被配置为接收一个或多个图像数据流的DP接收器902。DP接收器902通信地耦合到DSC解码器904、像素引擎908、输出FIFO主要和次要流910、以及像素分布主要和次要面板912,这些部件又可通信地耦合到四个MIPI通道914。DB 900'还包括MIPI接收器916和RGB到灰度分割块922,它们都耦合到存储器918'(例如,SRAM)。RGB到灰度分割块922从DSC解码器904接收数据并将输出发送到存储器918’,如本文所述。DB 900’还包括耦合到存储器918’的启动屏幕(splashscreeen)解压缩器928。DB 900’被配置为处理两个视频流。第一视频流924由DSC解码器904和RGB到灰度分割块922处理,然后写入存储器918'。第二视频流926直接从DP接收器902发送以写入存储器918’。
图10示意性地描绘了根据一些实施例的与DB一起使用的像素引擎1000。像素引擎1000包括核心1002,核心1002执行用于色场的代码并基于输入参数生成用于显示的像素。像素引擎1000从存储器(例如,低功耗DDR)读取色场的信息并生成像素(例如,一次一条输出线)。核心1002是可编程的并且可以包括SRAM和指令RAM。核心1002还可以具有AXI通信信道1004(例如,用于与存储器通信)、一对FIFO输出1006(例如,用于与显示器和光场芯片通信)、次要数据分组/辅助数据先进先出(SDP/AUX FIFO)输入1008(例如,用于与DP源通信),以及双组紧密耦合的SRAM 1010以包含用于处理的像素数据。在一些实施例中,像素引擎1000可以负责补偿与光学器件和投影仪相关的光学失真、执行连续扭曲重投影、帧率扩展(expansion)、动态遮挡、分段中央凹(foveation)混合、像素化调光控制、像素色差校正、部分显示支持、定制暗模式和局部暗模式、内容展开(uncollapsing)、以及许多其他使用向量引擎的AR/VR算法,例如使用定制指令。在一些实施例中,像素引擎1000直接从通信耦合到DB(例如,DB 806)的传感器或由可穿戴处理器818提供的传感器数据来计算头部姿势更新。
图10A示意性地描绘了根据一些实施例的与DB一起使用的像素引擎1000’。像素引擎1000’包括核心1002’,核心1002’执行色场的代码并基于输入参数生成用于显示的像素。像素引擎1000’从存储器(例如,低功耗DDR或SRAM)读取色场的信息并生成像素(例如,一次一条输出线)。核心1002’是可编程的并且可以包括SRAM和指令RAM。核心1002’还可以具有AXI通信信道1004’(例如,用于与存储器通信)、一对FIFO输出1006’(例如,用于与显示器和光场芯片通信)、次要数据分组/辅助数据先进先出(SDP/AUX FIFO)输入1008’(例如,用于与DP源通信),以及双组紧密耦合的SRAM 1010’以包含用于处理的像素数据。紧密耦合的SRAM 1010’减少了与系统中其他存储器通信的需要。此外,核心1002’可以具有到SRAM控制器和水平同步信号(HSYNC)/垂直同步信号(VSYNC)/扫描线中断1014(例如,用于接收来自像素分割块的输入)的连接1012。此外,核心1002’可以包括APB寄存器组、APB到AXI从端口1018、和SPI/I2C主端口。APB到AXI从端口1018可用于将固件从闪速存储器复制到DB。
在一些实施例中,像素引擎1000’可以负责补偿与光学元件和投影仪相关的光学失真、执行连续扭曲重投影、帧速率扩展、动态遮挡、分段中央凹混合、像素化调光控制、像素色差校正、部分显示支持、定制暗模式和局部暗模式、内容展开以及许多其他使用向量引擎的AR/VR算法,例如使用定制指令。在一些实施例中,像素引擎1000’直接从通信耦合到DB(例如,DB 806)的传感器或由可穿戴处理器818提供的传感器数据来计算头部姿势更新。
图11示意性地描绘了根据一些实施例的用于与VR/AR/MR系统一起使用的显示面板1100。显示面板1100包括与嵌入式行解码器1104通信耦合的MIPI接收器1102、部分屏幕刷新逻辑1106、各种缓冲器1108、各种伽马校正模块1110、和显示存储器1112。MIPI接收器1102可被配置利用MIPI DSI-2接口、DP链路接口和/或其他接口进行操作,其他接口是例如具有一个或多个数据通道(例如,四个视频数据通道)和一个时钟通道的专有串行链路。MIPI接收器1102可以具有各种特征,包括具有同步事件的突发模式、时钟到通道时间偏差补偿、以及经由寄存器的分辨率/定时的手动配置。嵌入式行解码器1104可以被配置为读取第一行帧数据以提取嵌入其中的数据。嵌入的数据可以定义帧的操作模式和格式。部分屏幕刷新逻辑1104可以被配置为在两种模式下操作,即,消隐屏幕和部分显示(都在下面描述)。缓冲器1108可以具有一个色场的最大等待时间。伽马校正模块1110可以支持伽马表以将8位输入视频转换为10位输出。显示面板1100可以包括表/偏移同步模块和定序器(sequencer)表。
图像数据格式
分段颜色顺序格式
图12示意性地描绘了可由DP端口支持的两种输入数据格式(参见例如图8和图8A中的DP源804和DP接收808)。顶部数据格式1200是RGB 24位颜色(每个场(field)8位),而底部数据格式1202是RGB 30位颜色(每个场10位)。输入数据可能已经经过了显示流压缩(DSC)的压缩。DP端口还可以支持顺序灰度数据格式(如下所述)。
图13示意性地描绘了根据一些实施例的用于与VR/AR/MR系统一起使用的彩色图像数据格式。在这种彩色图像数据格式中,通常组织成三原色场1302、1304、1306的彩色图像数据(例如,24位或30位RGB数据)被重组为三个图像1312、1314、1316。三个图像1312、1314、1316各自被分成三分之一,每三分之一包括部分色场(例如1312R、1312G、1312B)。
颜色顺序灰度格式
彩色图像数据在GPU中生成并重组为三个图像1312、1314、1316。三个图像1312、1314、1316可以经由DP从GPU向DB发送。将彩色图像数据重组为三个图像1312、1314、1316导致每个色场的各部分(例如,部分色场1312R、1312G、1312B)在图像管线中更早地到达DB。这种对图像数据的较早存取可以使DB比在图像管线中没有重组的彩色图像数据的情况下更早地开始处理图像数据。
图14示意性地描绘了已被重组为三个部分色场的彩色图像1402。另外,三个部分色场已经被转换为三个顺序灰度图像1422、1424、1426。三个顺序灰度图像1422、1424、1426的位置用于编码每个部分场的颜色。将色场转换为灰度可以减少从GPU传输到DB的数据量。灰度转换可能发生在GPU或DB。
颜色分割
图15示意性地描绘了根据一些实施例的用于与VR/AR/MR系统一起使用的DB中的彩色图像数据的颜色分割,例如,其中彩色图像数据从GPU向DB发送以用于进一步处理。当DB接收到指示颜色顺序灰度格式的寄存器时,DB将打包的彩色图像数据转换成如本文所述的颜色顺序灰度数据。DB通过DP从GPU接收彩色图像数据1502。然后DB可选地将彩色图像数据1502分割成三个场1512、1514、1516。三个场1512、1514、1516存储在存储器中,例如DDR双缓冲存储器,用于进一步处理成颜色顺序灰度格式。这种分割可以在接收彩色图像数据流时实时发生。接收彩色图像数据1502流的寄存器还可以指示存储器(例如低功耗DDR)中的地址,图像数据将存储在该地址中。
图15A示意性地描绘了根据一些实施例的用于与VR/AR/MR系统一起使用的DB中的彩色图像数据的颜色分割,例如,其中彩色图像数据从GPU向DB发送以用于进一步处理。当DB接收到指示颜色顺序灰度格式的寄存器时,DB将打包的彩色图像数据转换成如本文所述的颜色顺序灰度数据。DB通过DP从GPU接收彩色图像数据1502。然后DB或可选的分割硬件块1520将彩色图像数据1502分割成三个场1522、1524、1526。三个场1522、1524、1526存储在九个输出缓冲器(BUF0到BUF8)中。存储三个场1522、1524、1526的缓冲器子集在偶数帧(即,零、二、四、六、...)和奇数帧(即,一、三、五、七、...)之间变化。来自分段块1520或DB的传入消息指示当前活动缓冲器状态用于分段块输出。分割块1520将彩色图像数据1502分成三个原色灰度场(即,红、绿、蓝)。当接收到彩色图像数据1502流时,这种分割可以实时发生。
当分割块1520被禁用时,如图15B所示,使用与到达时间匹配的数字排序,彩色图像数据1502以RGB打包模式被复制到九个输出缓冲器(BUF0到BUF8)。在这种模式下,9个输出缓冲器(BUF0到BUF8)因为没有分段而顺序进行。
当彩色图像数据1502为RAW 8位的形式时,分割块1520可以通过在存储分割数据之前在每个颜色分量的最低有效位中添加两个额外的零位来即时将像素转换为RAW 10位。即使未启用分割,也可以出于系统一致性而以RAW 10位格式存储彩色图像数据1502。
图15C示意性地描绘了用于存储彩色图像数据1502的“RGB 30”数据格式。图15D示意性地描绘了作为128位对齐数据存储在SRAM中的1440像素乘1440像素的输入显示面板分辨率。每个左和右分段颜色包括1800个字节和8个字节的填充(padding)。使用图15D中的数据格式,分段块1520可以假设九个缓冲器中的每一个的起始地址将始终是128位对齐的。图15E示意性地描绘了作为128位对齐数据存储在SRAM中的512像素乘512像素的输入显示面板分辨率。每个左和右分段颜色包括640个字节和1168个字节的填充。因此,彩色图像数据1502仍可作为128位对齐数据存储在SRAM中。图15F示意性地描绘了作为128位对齐数据存储在SRAM中的特殊图像(例如,启动屏幕)的512像素乘512像素的输入显示面板分辨率。在该特定实施例中,左面板具有512个彩色像素,而右面板具有全部设置为黑色的512个像素。如图15E所示,每个左和右分段的“颜色”包括640个字节和1168个字节的填充。因此,彩色图像数据1502仍可作为128位对齐数据存储在SRAM中。虽然已经描述了1440像素乘1440像素和512像素乘512像素的分辨率,但可以使用类似的数据格式来存储具有不同分辨率的彩色图像数据1502。
图15G示意性地描绘了帧的颜色分割之后的数据结构。图15G所示的数据结构不包括填充,因此数据结构具有固定的目标间距。即从一行到下一行的字节地址距离具有固定的字节数。
每个色场需要三个单独的缓冲器,每个缓冲器保存色场图像的三分之一。对于具有不能被三整除的行数的显示分辨率,缓冲器可以包括一个或两个附加行,使得缓冲器的数量可以被三整除。额外的行/缓冲器可用于存储图像元数据。
多流模式
如以上图9和图9A所示,DB 900、900’可以支持多流模式,其中图像数据包括两个流924、926。在一些实施例中,视频流一924可以包括用于显示的图像数据和视频流二926可以不包括用于显示的图像数据,而是包括例如用于一个或多个光场芯片(例如,图8和图8A中的左和右光场芯片814)的配置数据。在一些实施例中,视频流二926还可包括由像素引擎908分离以供光场芯片使用的光场面板数据。如图9和图9A所示,该配置数据可以被传送到DDR控制器906、存储器918、918’、像素引擎908、和像素分布模块912并由它们使用。在一些实施例中,配置数据可以包括面板分辨率、光场控制器数据、扭曲数据、失真数据、遮挡数据、中央凹区域数据、桥控制数据等。
视频流一924和视频流二926可以是同步的。视频流二926可以支持每一帧的部分行。部分行便于定义视频流一924和视频流二926的时序。部分行可以设置在消隐部分的末端。DB可以被配置为生成视频流二926的MIPI输出以实现存储器918、918’中的间隔。在(本文所描述的)全暗模式下,视频流二926将不会被DP源传输。在(本文所描述的)局部暗模式中,DB可以被配置为生成视频流一924的输出以保持链路活动直到视频流二926已经被传输。视频流二926可以每Vblank移动行相位(phase)以实现两个流924、926的同步。
图16示意性地描绘了次要显示流1600(例如,视频流二926)及其流过DB。次要显示流1600包括用于控制左和右光场处理器的光场处理器数据1602,以及其他定制数据1604。光场处理器数据1602和定制数据1604由可编程行1606分隔。DB拆分由可编程行1606分隔的数据,使得定制数据1604被存储在存储器中,例如存储器1608(例如,低功耗DDR存储器),并且光场处理器数据1602通过像素引擎1610和输出FIFO存储器1612发送到像素分布1614(例如,像素分布模块912)。在像素分布1614中,光场处理器数据1602在被发送到MIPI链路以与显示面板(未示出)通信之前被分成左和右信道。如果针对特定帧存在定制数据1604,则可以调整输出MIPI时序以适应定制数据1604,从而降低光场处理器数据1602的分辨率。
次要显示流1600输入分辨率和对应的MIPI输出分辨率之间可能没有关系。存储器918、918’中对应于次要显示流1600的位置可以被双缓冲,使得可以写入新帧的信息而不删除先前帧的信息。可以选择性地激活用于次要显示流1600的存储器918、918’的双缓冲。
在一些实施例中,次要显示流(例如,视频流二926)可能比需要的大。因此,DB可以压缩次要显示流以传输到显示器。图16A示意性地描绘了次要显示流1600’(例如,视频流二926)及其流过DB。次要显示流1600’包括具有定制数据1604’的光场处理器数据1602’。光场处理器数据1602’可以存储在存储器1608’(例如,SRAM)中,通过像素引擎1610’、输出FIFO存储器1612’和像素分布1614’(例如,像素分布模块912)从该存储器1608’发送光场处理器数据1602’。像素引擎1610’可以仅从存储器1608’复制光场处理器数据1602’内的子像素以供输出。图16A中描绘的从次要显示流1600’去除次要显示流1600中的数据拆分操作简化了硬件设计,但增加了像素引擎1610’固件设计的复杂性。视频流二926的MIPI输出的最终分辨率可能不是固定的。
次要数据分组(SDP)
除了用于显示的图像数据之外,视频流一还包括从GPU到DB的一个或多个SDP消息。在使用VESA分组格式的一些实施例中,在传送用于显示的任何视频图像数据之前,可以在垂直消隐期间将SDP消息编码在视频图像数据中。SDP消息也可以在水平消隐期间编码在视频图像数据中。SDP消息由DB接收并存储在缓冲器中(例如,以供像素引擎存取)。SDP消息可以包括姿势数据更新。
图17示意性地描绘了根据一些实施例的具有在其中编码了多个SDP消息的大链式VSC_EXT_VESA分组1700。由于SDP消息相对较大的尺寸,多达两个KB的SDP消息可以被嵌入到分组1700的垂直消隐段1702中。另一方面,水平消隐段1704的相对较小的尺寸仅有助于较小的SDP消息。图17描绘了六个水平消隐分组,这些分组可以分解为三个链式分组。链式分组的使用允许稍大的SDP消息。在具有较小SDP消息的实施例中,不需要链接。
图17A示意性地描绘了与垂直消隐相关联的VSC_EXT_VESA SDP消息1750。VSC_EXT_VESA SDP消息1750可以仅包括在视频流一924中。因此,VSC_EXT_VESA SDP消息1750可以包括视频流一和视频流二的信息。在一些实施例中,VSC_EXT_VESA SDP消息1750包括报头1752(20个字节)、主DP控制块1754(5个字节)、视频流一和视频流二的部分MSA信息1756、1758(各自18个字节)和专有的数据块1760(可变大小,例如一百零73个字节)。
图17B示意性地描绘了与水平消隐相关联的水平消隐SDP消息1770。在一些实施例中,水平消隐SDP消息1770包括报头1772(4个字节)、时间戳1774(4个字节)、和专有数据块1776(28个字节)。
SDP和AUX消息FIFO存储器
图18示意性地描绘了根据一些实施例的来自DB中的SDP消息和辅助(AUX)信道消息的数据流。因为可以关闭DP以节省功率(如下所述),所以可以经由AUX信道传送各种配置数据。配置数据可以使用寄存器写入经由AUX信道进行传送。在一些实施例中,AUX信道与DP一起用于传送配置数据。
图18描绘了来自AUX信道1804和来自DP接收器的SDP消息1802的配置数据。SDP消息1802和AUX消息1804存储在FIFO存储器1806上。SDP消息1802和AUX消息1804从FIFO存储器1806被发送到像素引擎1808并被像素引擎1808使用。
输出视频流压缩
用于显示面板的配置数据最有效地直接从控制器传送到显示面板。在CPU与显示面板之间插入DB的VR/AR/MR系统中,配置数据可以作为视频流中的嵌入信号发送到显示面板。
图19示意性地描绘了具有与包括配置数据的嵌入信号1904交错的像素数据1902的视频流1900。嵌入信号1904可以设置在视频流1900中的任何位置(例如,开始、中间、结束)。嵌入信号1904也可以是完整或部分行。
DB可以从AUX信道寄存器写入、SDP元数据和视频流二的定制数据部分接收配置数据。像素引擎将接收配置数据并生成输出MIPI流,该MIPI流包括具有与特定显示面板相关的配置数据的嵌入信号。MIPI流的输出时序可以扩展为与嵌入信号发送相符。
全暗低功耗模式
在一些实施例中,将没有用于特定的VR/AR/MR用户姿势/视场的虚拟图像数据。因此,GPU输出将被发送到黑色/全暗。当GPU检测到全暗帧时,关闭用于视频流一924的图像管线将节省系统功率。省电的来源包括但不限于DP链路、DP源处理器、DP源存储器、DP光链路、GPU压缩、DB解压、DB颜色分割、DB存储器写入、像素引擎存储器读取、像素处理、MIPI发送器、MIPI接收器、显示面板存储器读写等。关闭视频流一924及其显示面板将节省功率。在一些实施例中,光场芯片将继续根据先前接收的数据进行操作。
当GPU检测到全暗帧时,GPU通知DP源MCU(例如,经由主DP链路上的“STP”SDP消息或k码断电序列)。在一些实施例中,GPU合成器创建并写入垂直消隐SDP消息以启动全暗模式。然后,DP源MCU将全暗帧的存储转移旁路(bypass)到DP源管线,并将大部分DP源管线部件(例如,DSC编码器)置于低功耗模式。DP源MCU禁用各种寄存器以关闭成像管线的下游部件,例如显示桥和显示器。
GPU可以通过在垂直消隐期间向DB发送SDP消息来启动全暗模式。DP接收器对SDP消息进行解码,并将自身置于全暗的低功耗模式。DP接收器还发送将像素引擎置于全暗低功耗模式的消息。成像管线的各种其他部件也被置于全暗低功耗模式,包括MIPI数据通道,它将被置于LP11模式。DP源CPU将关闭DP的物理部件。可以通过将活动行数设置为零来关闭显示器。显示器可以进入黑色/自刷新模式。DP接收桥可以在接收到垂直消隐SDP消息后忽略由源发送的任何数据,直到它接收到唤醒信号。当先前的非暗图像通过管线进行处理并显示时,图像管线的各个部件异步关闭。在一些实施例中,只要需要非帧数据,包括DP端口的显示管线就会保持关闭模式。
当GPU在全暗帧之后检测到非全暗帧时,GPU启动唤醒序列。在一些实施例中,DP源MCU可以对DP发射器和接收器通电。GPU合成器可以创建和写入垂直消隐SDP消息以启动局部暗模式或常规模式。然后DP源MCU可以经由AUX信道发送唤醒消息。显示器可以通过将活动行数设置为非零值来唤醒。可以进行可选的快速链路训练。在一些实施例中,快速链路训练可以存储在DB上并且所存储的快速链路训练可以用于快速唤醒。
图32示意性地描绘了根据一些实施例的显示系统进入和维持全暗模式3200的MIPI时序。系统在3210进入全暗模式。在一些实施例中,显示面板实际上正在自刷新但仅显示黑色像素。因此,全暗模式节省的功率的很大一部分来自MIPI接收器、存储器、DB、光源、和光纤连接器的关闭。
图33示意性地描绘了根据一些实施例的显示系统进入、维持和退出全暗模式3300。图33描绘了随着时间的推移来自DB的MIPI数据3310和显示器(例如,LCOS)输出视频3320。MIPI数据3310在帧三3312从常规模式转变为全暗。尽管视频数据是全暗(即,消隐或零),但MIPI数据3310包括一个帧的全暗3312,其包括嵌入的控制线以将系统置于全暗模式。响应于接收到嵌入的控制线,显示器输出视频3320在帧三3322处显示全暗帧。然后系统根据视频数据的需要在可变数量的帧中维持全暗模式。在MIPI数据3310的帧N 3314,MIPI数据返回到常规模式,从而唤醒系统。然而,因为显示器不再与DB MIPI输出同步,显示器通过显示最后的黑色帧3324而忽略常规模式的第一帧。从N+1帧3326开始,显示器输出视频被唤醒、同步并以常规模式进行操作。
图34示意性地描绘了根据一些实施例的显示系统进入、维持和退出全暗模式以便面板自刷新3400。图34描绘了随着时间的推移来自DB的MIPI数据3410和显示器(例如,LCOS)输出视频3420。MIPI数据3410在帧三3412启动面板自刷新。帧三3412的MIPI数据3410包括用于面板自刷新的指示符3430。响应于接收面板自刷新指示符,面板将MIPI数据3410存储在其中的一个或多个缓冲器中。显示输出视频3420示出了与MIPI数据3410的帧三3412对应的帧3422,直到面板自刷新完成为止。在面板自刷新期间,可以关闭SRAM缓冲器,因为视频数据存储在显示面板中的缓冲器中。在MIPI数据3410的帧N 3414,MIPI数据返回到常规模式,从而唤醒系统。然而,由于显示器不再与DB MIPI输出同步,显示器通过显示第三帧3424的最后一个副本而忽略常规模式的第一帧。从N+1帧3426开始,显示器输出视频唤醒、同步并以常规模式进行操作。显示面板自刷新可能发生在启动屏幕的显示期间,在此期间内容更经常是静止的。
局部暗低功耗模式
局部暗低功耗模式的触发是在特定的VR/AR/MR用户姿势/视场中存在阈值量的非黑色内容。图20描绘了第一局部暗低功耗模式,其中内容仅设置在屏幕2000的顶部2002。这样的内容的示例包括状态栏、电池充电水平、音量设置等。该模式中的DP源将在SDP消息中指定了预定行数之后,启动断电序列(类似于上述全暗低功耗模式的断电序列)。SDP消息可以指示第一局部暗低功耗模式和帧中活动的行数。该第一局部暗低功耗模式可以通过减少对存储器的DB写入、像素引擎从存储器中提取、像素引擎处理、MIPI输出等的量来节省功率。
图21描绘了第二局部暗低功耗模式,其中内容被设置在屏幕2100的顶部2102和中间2104。在该第二局部暗低功耗模式中,GPU可以重新组织输出数据以最小化如图22中所示的活动行的数量。在图22中,图21中的屏幕2100的中间2104处的内容已经作为移位图像数据2204’移动到与屏幕2200的顶部2202中的内容相邻。重新组织图像数据减少了活动行的数量(如图22A所示),从而减少了显示管线部件的总功耗。
在顶部图像数据2202和移位图像数据2204’已经通过图像管线之后,图像管线的部件被置于如本文所述的局部暗低功耗模式以节省功率。DB中的像素引擎执行图像数据的分割并使用来自SDP的配置数据对移位图像数据2204’进行重新映射以改善图21中所示的源图像2100。减少活动行的数量(参见图22A)有助于提前关闭DP链路。
图23描绘了第三局部暗低功耗模式,其中内容仅设置在屏幕2300的中间2304。与图21和图22所示的模式类似,GPU可以通过将中间数据2304作为移位图像数据2404’移动到屏幕2400的顶部来重新组织中间数据2304,如图24和24A所示。
在移位图像数据2404’已经通过图像管线之后,图像管线的各部件被置于如本文所述的局部暗低功耗模式以节省功率。DB中的像素引擎执行图像数据的分割并使用来自SDP的配置数据对移位图像数据2404’进行重新映射,以改善图23中所示的源图像2300。
在图20至图24中描绘的和以上描述的三个局部暗低功耗模式中,SDP消息通知DP接收器关于模式和活动行的数量。这允许DP接收器在活动行从GPU传送到DB之后关闭。在启用压缩的实施例中,可以根据活动行的数量可选地禁用压缩。例如,可能需要最少的一组行来启用压缩,或者可能一直启用压缩,只需改变VESA DSC切片(slice)的数量即可提高功率效率。
在其他实施例中,图22至图24中描绘的和上述的水平打包可以用竖直打包代替或相组合。在一些实施例中,虽然图22至图24示出了几种模式,但是可以使单个流上的一个或多个单独区域紧凑以降低数据速率。在一些实施例中,可以基于其他约束来限制单独区域的数量以使得实施方式更加实用。
图24B示意性地描绘了根据一些实施例的显示系统进入和维持局部暗模式2450的MIPI时序。系统在已经显示了帧中的非黑色主题之后,在2452进入部分暗模式。在一些实施例中,显示面板实际上正在自刷新但仅显示黑色像素。因此,全暗模式节省的功率的很大一部分来自MIPI接收器、存储器、DB、光源和光纤连接器的关闭。局部暗模式2450可以仅对视频流一924进行操作。因此视频流二926可以永远不会受到局部暗模式2450的影响。
部分屏幕刷新模式的定制打包
在AR/MR模式中,存在表示对来自现实世界的光没有修改的潜在大量黑色像素。然而,黑色像素和对应的非黑色像素可能以简单的水平或垂直打包不易控制的复杂图案进行排列。
在用于部分屏幕刷新模式的定制打包中,GPU可以重新组织图像数据,使得经由DP从GPU向DB仅发送从先前帧到当前正在渲染的帧发生了改变的区域/部分/区段(section)/图块(tile)(例如,方形图块)。SDP消息可以包括指示部分屏幕刷新模式的定制打包被启用的信息、FOV中各种改变的图块的位置等。DB可以使用各种改变的FOV层(story)中的各种改变的图块的位置,各种改变的图块在输出缓冲器中处于适当位置。
如图25所示,GPU将打包改变的图块,使得它们形成最少数量的图像数据行。源帧2502示出了包括各种黑色像素和非黑色像素的虚拟图像。发送该源帧2502需要从GPU向DB发送一定数量的行(例如,960个)。折叠(collapse)帧2504显示包括改变的图像数据的图块现在被打包到折叠帧2504的顶部。发送该折叠帧2504将需要从GPU向DP发送较少数量的行(例如,160个)。压缩帧2506显示位于折叠帧2504顶部的图块已经被压缩成更少的行。发送压缩帧2506将需要从GPU向DP发送更少数量的行(例如,80个)。图块的折叠和所得折叠帧2504的压缩以形成压缩帧2506允许图像管线的各种部件在帧传输/渲染间隔的早期关闭(如本文所述)以增加功率节省。
如本文所述,在压缩帧2506被发送和处理之后,GPU可以通过在主DP链路上发送k码断电序列或DPCD电源状态命令来启动各种图像管线部件的关闭。关闭可以包括关闭DP。GPU可以经由AUX信道发出关闭图像管线部件(包括DP链路)的信号。在唤醒期间,GPU对DP链路驱动器通电,并可选择使用快速链路训练模式来训练链路。
GPU将仅在传输的行数小于基于唤醒时间的阈值并且进行从部件关闭所节省的功率相比于唤醒时的功率使用的成本效益分析的情况下引导图像管线部件关闭。在使用部分屏幕刷新模式的定制打包所传输/所渲染的帧结束时可以执行或不执行循环冗余校验(CRC)。CRC信息可以经由AUX信道发送。
定制局部显示模式/定制暗模式
用于部分屏幕刷新模式的定制打包具有两种操作模式。在定制部分显示模式下,改变的图块从GPU发送到DB并由显示面板显示。
在定制暗模式中,SDP消息包括特定背景颜色(在大多数情况下为黑色)。不属于具有内容的变化图块的任何视场区域都被设置为特定的背景颜色。当整个图像发生变化但只有少量图块包含内容时,可以启用定制暗模式。换句话说,许多先前包含图像数据的图块在当前帧中已转换为黑色。通过最初将没有内容的区域设置为黑色,只有具有实际内容的图块才会从GPU发送到DB,从而在部件提前关闭的情况下节省图像管线的功耗。SDP消息还可以包括暗图块或背景图块的数量。
用于混合和缩放的定制打包
如果不支持多流实现,则定制打包模式可以发送要与来自先前帧的图块混合(而不是复制)的图块。可以在DB上预编程方形或无线电(radio)混合块(mass),用于混合新的和先前的图块以进行输出。
图块也可以在被复制到输出帧缓冲器之前被缩放。SDP消息可以包括用于缩放图块的缩放因子。在一些实施例中,该方法可用于中央凹实施方式。
定制像素操纵和速率转换
像素引擎可以在渲染图像数据之后但在向用户显示基于图像数据的图像之前扭曲图像数据以最小化由用户姿势改变(例如,快速的头部旋转)导致的伪影。
在没有速率转换的定制像素扭曲的一个实施例中,GPU在帧的开始向DB发送SDP。SDP包含诸如压缩启用/禁用、定制打包启用/禁用、定制灰度模式启用/禁用、分组姿势等信息。GPU还向DB发送图像数据。如果启用压缩,DB会使用适当的算法解压缩图像数据。如果图像数据需要进行颜色分割,则DB进行颜色分割并将结果存储到存储器中。像素引擎经由AUX寄存器写入、SDP消息或作为第二视频流的一部分来接收配置数据。在一些实施例中,配置数据可以包括更新的头部姿势信息。在一些实施例中,DB可以从可穿戴处理器接收更新的信息(例如,IMU数据)以供DB生成头部姿势更新。在一些实施例中,IMU可以被连接到DB桥SPI端口,并且DB可以直接从IMU存取原始IMU样本。配置数据可以存储在消息FIFO存储器中。像素引擎从低功耗DDR读取场数据并执行必要的转换以提供输出像素来驱动显示面板。然后,DB针对每个支持的色场重复上述步骤。在处理完所有色场之后,DB继续下一帧。
图26A示出了根据一些实施例的当速率转换未被启用时DB的输入和输出(即,与视频流一924中的图像数据有关)。因为输入的图像数据不是按颜色顺序模式格式化的,所以DB必须接收第一个完整的图像数据帧(“DP输入帧0”)2602,然后才能对图像数据2602进行分割并将第一个输出图像数据帧“DP输出帧0”2604发送到显示面板。类似地,DB必须接收整个第二个完整的图像数据帧2606,然后才能将第二输出帧2608发送到显示面板。这导致接收每个图像数据与将相应的输出帧发送到显示面板之间有8.33毫秒的延迟。这种延迟是不理想的。
图26B示出了根据一些实施例的当速率转换未被启用时DB的输入和输出(即,与视频流一924中的图像数据有关)。因为输入图像数据是以颜色顺序模式格式化的,所以在图像帧结束之前很早地接收到第一色场(例如,红色)图像数据2602R。因此,对应于第一色场2604R的输出帧图像数据可在图像管线中较早地发送至显示面板。使用灰度颜色分割模式,延迟可以从8.33毫秒减少到2.78毫秒。
速率上转换
图26C示出了根据一些实施例的当启用速率转换时DB的输入和输出(即,与视频流一924中的图像数据有关)。DB以60Hz接收图像数据,但以120Hz输出图像数据。在一些实施例中,DB以45Hz接收图像数据,但以90Hz输出图像数据。无论图像数据频率如何,输出图像数据都是帧速率的两倍。在图26C中描绘的实施例中,输入图像数据不像图26A中描绘的实施例那样以颜色顺序模式被格式化。因此,在DB接收输入图像数据帧2602与发送输出图像数据帧2604之间存在8.33毫秒的延迟。这种速率上转换图像管线的不同之处在于,输出图像数据帧2604以两倍的速度包括两倍的每个色场,以将有效刷新率从60Hz加倍到120Hz,其中像素引擎将更新扭曲输入图像的每个场的头部姿势,使两个输出中的每一个都具有零延迟的效果。图26C中描绘的管线还包括在接收连续的输入图像数据帧之间的DP关闭段2610以节省功率。以较低的刷新率(例如,60Hz)运行GPU也可以节省功率。压缩可用于减少延迟。
利用扭曲的速率上转换
图26D示出了根据一些实施例的当启用速率转换和扭曲时DB的输入和输出(即,与视频流一924中的图像数据有关)。图26D中描绘的图像管线类似于图26C中描绘的图像管线。不同之处在于图26D还显示了从GPU发送到DB中的像素引擎的SDP消息和AUX消息。SDP消息和AUX消息包括当前姿势信息,当前姿势信息可以用于扭曲经渲染的图像数据以获得更准确的图像渲染。当前姿势信息可以由以1000Hz运行的IMU提供。DB根据分组姿势和当前姿势计算姿势增量以用于扭曲。使接收当前姿势信息和扭曲经渲染的图像数据之间的时间最小化可以提高准确性。当DP断电时,使用AUX信道代替SDP信道。图26D中描绘的扭曲还可以使用SDP/AUX消息中的失真信息解决光学堆叠中各种部件的物理失真。
在所有上述图像管线中,输入的并行接收、处理和输出的传输使得输入与显示之间的等待时间以及图像管线中的延迟最小化。
复合视频流二926可以是未压缩的RGB888打包数据流。因此,视频流二926的速率转换可以像复制数据流以进行两倍帧速率上转换一样简单。
局部暗跟踪掩膜
在一些实施例中,GPU可以将每个帧分割成图块组(例如,图块行),并且生成指示特定图块组(例如,图块行)是否具有非黑色内容的掩膜。GPU可以使用该掩膜生成图像管线的下游部件的渲染输出。可以针对每个新帧生成新的掩膜。图像管线部件可以通过动态电路网络(DCN)通信耦合。
在一个实施例中,帧可以具有1760行像素并且每个图块行可以具有16行像素。在本实施例中,可以使用110位来存储每帧中110个图块行的黑色/非黑色状态。与全黑图块行对应的位可以设置为零,与非黑色图块行对应的位可以设置为1。这些位可以默认为零,并且在图块行为非黑色时设置为一。GPU或另一图像管线部件可以使用这些位中的信息来选择要发送到DCN上的非黑色图块行。GPU或另一图像管线部件可以使用这些位中的信息来打包和解包如本文所述的非黑色图块行。
如本文所述,仅发送非黑色图块行并打包这些行增加了实现功率优化的机会,包括但不限于以下:
●降低显示端口链路功耗(例如,没有要发送的行,或者只是行的子集);
●降低DP源处理器内存带宽和功耗(例如,DCN无需从DRAM中获取所有黑色像素;这样可以节省DRAM带宽、DRAM功率和DCN功率);
●无需在DP源上对全帧进行DSC压缩;
●无需DP接收桥对全帧进行DSC解压缩;
●无需DP接收桥设备对全帧执行颜色分割;
●无需DP接收桥设备向LPDDR写入全帧,省电;
●像素引擎模块将无需从LPDDR中获取全帧,省电;
●像素引擎无需对全帧执行像素处理,省电;
●减少对面板的MIPI-TX功率,减少信号发送;
●降低面板中的MIPI-RX功率;以及
●通过防止面板必须从其SRAM存储或检索数据来支持部分黑屏,从而降低面板功率。
DCN可以包括直接存储器存取控制器(DMA)以在不涉及任何处理器的情况下将非黑色行提取到DCN中。DMA可以读取掩膜以识别非黑色行。可以经由DCN和DP将非黑色行发送到显示引擎,而无需重新组织或重新组合(例如,折叠或压缩)以节省功率。
如本文所述,如果非黑色行形成帧的重要部分,则帧的重新组合或局部暗模式可能并不节省功率。这样的帧可以经由DCN直接发送到DP接收桥。
其他方面
除了要求保护的发明之外,通过非限制性示例,本文还描述了本发明的进一步实施例或方面。
1.一种在虚拟、增强或混合现实系统中的方法,包括:
GPU接收图像数据帧;
所述GPU识别所述图像数据帧中已经从先前图像数据帧改变的多个区域/部分/区段/图块;
所述GPU将所述多个区域/部分/区段/图块中的至少一些移动到所述数据帧的开始以形成重新排序(rorder)的图像数据帧;
所述GPU向DB发送所述重新排序的图像数据帧;
关闭所述GPU的部分/部件/功能;
关闭所述GPU与DB之间的通信链路;
关闭所述DB的部分/部件/功能;
关闭所述DB与显示面板之间的通信链路;以及
关闭所述显示面板的部分/部件/功能。
2.根据方面1所述的方法,还包括:所述GPU在向所述DB发送重新排序的图像数据帧之前压缩所述重新排序的图像数据帧。
3.根据方面1所述的方法,其中,所述重新排序的图像数据帧小于所述图像数据帧。
4.根据方面1所述的方法,还包括:所述DB将所述重新排序的图像数据帧存储在缓冲器中。
5.根据方面1所述的方法,进一步包括:
确定所述重新排序的图像数据帧的尺寸;以及
仅当所述重新排序的图像数据帧小于预定最大尺寸时,关闭尺寸GPU的部分/部件/功能、所述GPU与DB之间的通信链路、所述DB的部分/部件/功能、所述DB与显示面板之间的通信链路、所述显示面板的部分/部件/功能。
6.根据方面1所述的方法,还包括:所述GPU在向所述DB发送所述重新排序的图像数据帧之后向所述DB发送STP消息。
7.根据方面6所述的方法,还包括:所述GPU经由SDP向所述DB发送所述STP消息。
8.根据方面1所述的方法,其中,所述GPU的部分/部件/功能选自包括以下项的组:存储器读取、压缩和颜色分割。
9.根据方面1所述的方法,其中,所述DB的部分/部件/功能是存储器写入。
10.根据方面1所述的方法,其中,所述显示面板的部分/部件/功能选自包括以下项的组:视频RAM和MIPI接收器。
11.根据方面1所述的方法,还包括:所述GPU向所述DB发送唤醒信号。
12.根据方面11所述的方法,其中,所述GPU经由AUX通信链路发送所述唤醒信号。
13.根据方面1所述的方法,其中,所述GPU的部分/部件/功能、所述GPU与DB之间的通信链路、所述DB的部分/部件/功能、所述DB与显示面板之间的通信链路,所述显示面板的部分/部件/功能被异步关闭。
14.根据方面1所述的方法,还包括:所述DB根据所述重新排序的图像数据帧来重建图像数据帧。
15.根据方面1所述的方法,还包括:将所述图像数据帧的不在所述图像数据帧中的多个区域/部分/区段/图块中的一部分设置为背景颜色。
16.根据方面1所述的方法,还包括:所述DB将所述重新排序的图像数据帧与先前图像数据帧混合。
17.根据方面16所述的方法,还包括:所述DB在将所述重新排序的图像数据帧与所述先前图像数据帧混合之前掩膜所述先前图像数据帧。
18.根据方面1所述的方法,还包括:所述DB将所述重新排序的图像数据帧与与更新后的中央凹区域相关的图像数据混合。
19.根据方面1所述的方法,还包括:所述DB缩放所述重新排序的图像数据帧。
20.根据方面18所述的方法,还包括:
所述DB从所述GPU接收缩放因子;以及
所述DB使用所述缩放因子来缩放所述重新排序的图像数据帧。
21.根据方面18所述的方法,其中,所述缩放是中央凹操作的一部分。
22.根据方面1所述的方法,还包括:所述DB对所述图像数据执行功能,所述功能选自包括以下项的组:扭曲、像素化调光、遮挡、色差校正、帧速率和扩展。
23.根据方面1所述的方法,还包括:在关闭所述GPU的部分/部件/功能之前,将所述重新排序的图像数据帧存储在FIFO存储器中。
24.根据方面1所述的方法,还包括:所述DB向所述显示面板发送嵌入式行控制消息。
MIPI输出数据配置
如本文所述,DB处理从GPU接收到的图像数据并将处理后的图像数据发送到显示面板以显示给用户。在灰度格式中,显示面板将通过MIPI链接格式接收图像数据,在该MIPI链接格式中所有红色像素后跟随着所有绿色像素,然后是所有蓝色像素,用于彩色顺序显示,否则使用标准打包的RGB。假设显示分辨率为Y×X,则MIPI接收器的输出时序将为Y/3×3X。每行将有三分之一的像素,因为只有三分之一的颜色被发送,但行数将增加三倍。此外,用于信号发送的额外24个行和用于VSA、VBP和VFP的三行产生了5307个行。
图27描绘了根据一些实施例的示例MIPI接收器输出数据2700。输出数据2700包括垂直同步起始分组2702,随后是第一消隐分组/VBP 2704,随后是由像素引擎2706生成的图像数据,随后是第二消隐分组/VFP 2708,以及EOT分组2710。
如图28所示,由像素引擎生成的图像数据2706包括以下:水平同步起始分组2812,随后是第一消隐分组/HBP 2814,随后是一行图像数据和/或长分组格式的嵌入信号发送数据2816,随后是第二消隐分组/HFP 2818。
图29描绘了当不使用压缩时根据一些实施例与具有分解的红色、绿色和蓝色像素行的视频帧对应的示例MIPI接收器输出数据2900。每个色场包括1760个单独的行,每行具有480个像素。输出数据2900包括垂直同步起始分组2902,随后是第一消隐分组/VBP 2904,随后是由像素引擎2906生成的图像数据,随后是第二消隐分组/VFP 2908,以及EOT分组2910。由像素引擎2906生成的图像数据包括以下:水平同步起始分组2912、随后是第一消隐分组/HBP 2914、随后是一行图像数据和/或长分组格式的嵌入信号发送数据2916、随后是第二消隐分组/HFP 2918。图像数据2916包括第一信号发送行2920,随后是第一颜色(红色)场行2922,随后是第二信号发送行2924,随后是第二颜色(绿色)场行2926,随后是第三信号行2928,随后是第三颜色(蓝色)场行2930。
全暗低功耗模式
在全暗低功耗模式(如上所述)中,DB将使用如图30中所示的第一信号发送行3020与进入低功耗模式的显示面板通信。在传达了进入低功耗模式之后,DB将进入低功耗模式(LP11)。显示面板还将通过将MIPI接收器置于LP11模式、不在面板视频RAM中存储任何信息、也不从面板视频RAM检索任何信息来节省功率。
图38示意性地描绘了传送到DB以启动全暗低功耗模式的图像帧数据3030的MIPI时序。如本文所述,图像帧数据3030类似于常规图像模式的图像帧数据。例外的是GPU在图像帧数据3030中写入垂直消隐SDP消息以启动全暗模式。
局部暗低功耗模式
在各种局部暗低功耗模式(如上所述)中,DB将在色场行3122、3126、3130之前的对应的信号发送行3120、3124、3128中传送每个色场的局部暗低功耗模式的参数(例如,低功耗模式被启用和活动行数),如图31所示。局部暗低功耗模式的帧时序类似于图29中描绘的色场显示的帧时序,除了通过MIPI链路从DB向显示面板仅传送包含每个色场的图像数据的1760行中的可编程可变部分之外。在接收到包含图像数据的行之后,MIPI链路进入低功耗或LP11模式以节省所有黑色行期间的功耗,并在每个场之前去除(take out)LP11。
图31A示意性地描绘了根据一些实施例,例如本文所述的实施例,在局部暗低功耗模式下操作的DB的两个周期的MIPI时序3150。在显示帧N期间的3152处,像素引擎在帧N+1的顶部水平线(line)中设置活动行数的适当值。在显示帧N期间的3154处,DB MIPI系统获取并锁存帧N+1的那些线。类似地,在显示帧N+1期间的3156处,像素引擎在帧N+2的顶部水平线中设置活动行数的适当值。在显示帧N+1期间的3158处,DB MIPI系统获取并锁存帧N+2的那些线。
图31B示意性地描绘了根据一些实施例的DB从局部暗低功耗模式到全暗低功耗的两个周期的MIPI时序3150。在显示帧N期间的3162处,像素引擎在帧N+1的顶部水平线中设置对应于全暗的活动行数的值(即,零)。在显示帧N期间的3164处,DB MIPI系统获取并锁存帧N+1的那些线。由于线中的全暗值,帧N+1是全暗的。
图35示意性地描绘了根据一些实施例,例如上述那些实施例,在局部暗低功耗模式下操作的DB的两个周期的MIPI时序3500。在每个周期/帧中,有一部分是DB在低功耗模式下运行。在此期间,DP关闭,作为响应,光纤连接器也关闭。在每个周期/帧期间,关闭DB的这两个部件可以节省系统功率。在一些实施例中,周期/帧的低功耗部分大约是周期的一半。关闭DB的部件的可能原因包括但不限于:
1)正常显示子系统关闭;
2)正常显示子系统进入低功耗模式;
3)在正常操作期间,节电需要在针对每个单独的显示帧发送活动行之后关闭链路;
4)在局部暗模式期间,在如本文所描述的已经发送了所需的活动行之后;
5)如本文所述进入全暗模式;以及
6)如本文所述进入帧重复模式。
具有缩放的降低分辨率渲染(部分中央凹渲染)
在一些实施例中,VR/AR/MR系统可以使用部分中央凹渲染来以更高分辨率渲染对应于用户聚焦区域的虚拟图像,同时以较低分辨率渲染背景虚拟图像来节省功率。使用部分中央凹渲染可以减少系统的GPU计算和功耗。可穿戴设备上的DB合并背景和以更高分辨率的中央凹内容,以使用像素引擎和最新的眼睛跟踪数据进行显示。部分中央凹渲染针对多流实施方式进行了优化。在这样的实施方式中,每个流都有自己的图像管线和DB。替代地,可以在多流实施方式不可用的情况下使用定制打包,以便多个流在VESA SST模式下共享单个视频流。
动态遮挡
在一些实施例中,VR/AR/MR系统可以通过从图像管线中消除被遮挡的虚拟内容来节省功率,例如,在可能的管线中的最后阶段。DB可以使用来自可穿戴设备的深度图来适当地掩膜虚拟内容(例如,被快速移动的手遮挡)。与GPU上的掩膜相比,DP可以在显示之前直接掩膜虚拟内容,以减少延迟。GPU仍然对内容执行遮挡,但由于管线延迟,可能无法遮挡所有内容。从GPU向DB发送经渲染的内容,在DB使用深度图进行掩膜并被发送到显示面板进行显示,例如,延迟低于3毫秒。
未压缩的高带宽数据
可以使用各种信道(例如,VESA标准的MST)从GPU向DB发送未压缩的高带宽数据。这种未压缩的高带宽数据可以作为组合流的一部分发送,用于遮挡、分段调光、控制、几何失真LUT、中央凹。在一些实施例中,第一视频流可以用于传输用于主要面板的压缩图像数据,而第二视频流可以用于传输未压缩的高带宽数据。内置MIPI预加重支持的DB用于补偿RX EQ问题以及显示器与DB之间的较大距离。
以偏移重复先前帧
在一些实施例中,图像内容不会逐帧改变,而是随着用户头部的轻微移动而向上或向下移动几个像素。不是使GPU承担重新绘制每个像素的任务,以偏移(offset)重复先前帧的模式允许GPU绕过重新渲染并且使用偏移值移动已存储在DB存储器中的内容来执行简单变换。在这种模式下,GPU可以仅使用头部姿势更新来计算偏移,从而节省大量的GPU功率以及DP功率和光纤通道功率,因为没有太多数据传输到可穿戴设备(即,头部姿势更新)。
黑色部分掩膜
图36A描绘了根据一些实施例的AR视图3600。图形用户界面3610可以随着AR系统的运行而改变。然而,图形用户界面3610之外的帧的各部分通常不会改变,因此将被渲染为帧3620的黑色/不亮部分(见图36B)。在一些实施例中,图36B中所示的帧3620的黑色部分将在帧与帧之间保持相同。因此,DB将不会获取或操作(例如,扭曲)帧3620的黑色部分。使用由帧3620的黑色部分构成的掩膜,GPU可以生成通过DP向DB发送的每行的开始列/结束列的对。作为响应,DB只会从存储器中获取每行的开始列与结束列之间的图像信息。这种技术大大减少了交织分多址访问(IDMA)活动时间,从而缩短了DB进入低功耗模式之前的时间。
本文已经描述了本公开的某些方面、优点和特征。应当理解,根据本公开的任何特定实施例,不一定可以实现所有这些优点。因此,本公开可以以实现或优化如本文所教导的一个优点或一组优点而不必实现如本文所教导或建议的其他优点的方式来体现或实施。
已经结合附图描述了实施例。然而,应该理解的是,这些图不是按比例绘制的。距离、角度等仅仅是说明性的,并不一定与所示设备的实际尺寸和布局有确切的关系。此外,已经在详细级别描述了前述实施例以允许本领域普通技术人员制造和使用这里描述的设备、系统、方法等。各种各样的变化是可能的。部件、要素和/或步骤可以被更改、添加、移除或重新排列。
这里描述的设备和方法可以有利地至少部分地使用例如计算机软件、硬件、固件或软件、硬件和固件的任何组合来实现。软件模块可以包括存储在计算机存储器中的计算机可执行代码,用于执行这里描述的功能。在一些实施例中,计算机可执行代码由一个或多个通用计算机执行。然而,本领域技术人员将理解,根据本公开,可以使用要在通用计算机上执行的软件来实现的任何模块也可以使用硬件、软件或固件的不同组合来实现。例如,这样的模块可以使用集成电路的组合在硬件中完全实现。替代地或另外地,可以使用被设计为执行这里描述的特定功能的专用计算机而不是通用计算机来完全或部分地实现这样的模块。此外,在描述至少部分由计算机软件执行或可能至少部分由计算机软件执行的方法的情况下,应当理解,这样的方法可以在非暂时性计算机可读介质上提供,当由计算机或其他处理设备进行读取使其执行该方法。
虽然已经明确描述了某些实施例,但是基于本公开,其他实施例对于本领域普通技术人员将变得清楚。
本文描述的各种处理器和其他电子部件适合与用于投射光的任何光学系统一起使用。本文描述的各种处理器和其他电子部件也适合与用于接收语音命令的任何音频系统一起使用。
本文描述了本公开的各种示例性实施例。以非限制性的方式参考这些示例。提供它们以说明本公开的更广泛适用的方面。在不脱离本公开的真实精神和范围的情况下,可以对所描述的公开进行各种改变并且可以替换等同物。此外,可以进行许多变型以使特定情况、材料、物质组成、过程、过程动作或步骤适应本公开的目的、精神或范围。此外,如本领域技术人员将理解的是,本文描述和图示的各个变体中的每一个都具有分立的部件和特征,这些特征可以容易地与其他几个实施例中的任一个的特征分离或组合而不脱离本公开的范围或精神。所有这些变型都旨在落入与本公开相关的权利要求的范围内。
本公开包括可以使用主题设备执行的方法。该方法可以包括提供这种适当的设备的动作。这种提供可以由终端用户执行。换言之,“提供”动作仅需要终端用户获得、存取、接近、定位、设置、激活、通电或以其他方式动作以提供主题方法中的必要设备。可以以逻辑上可能的所列举事件的任何顺序以及以所列举的事件顺序来执行本文所述的方法。
本公开的示例性方面以及关于材料选择和制造的细节已经在上文中阐述。至于本公开的其他细节,这些可以结合上面引用的专利和出版物以及本领域技术人员通常已知或理解的来理解。关于本公开的基于方法的方面,就通常或逻辑上采用的附加动作而言,这同样适用。
此外,尽管已经参考可选地结合各种特征的若干示例描述了本公开,但是本公开不限于关于本公开的每个变体所预期的描述或指示的内容。在不脱离本公开的真实精神和范围的情况下,可以对所描述的公开进行各种改变并且可以替换等同物(无论是在本文中所列举的还是为了某种简洁而未包括在内)。此外,在提供取值范围的情况下,应当理解,在该范围的上下限与该指定范围内的任何其他指定值或中间值之间的每个中间值都包含在本公开内。
此外,预期所描述的变体的任何可选特征可以独立地提出和要求保护,或者与本文描述的特征中的任何一个或多个相结合。对单数项目的引用包括存在多个相同项目的可能性。更具体地,如本文及与其相关的权利要求中所使用的,单数形式“一(a)”、“一个(an)”、“所述(said)”和“该(the)”包括复数所指对象,除非另有具体说明。换言之,物品的使用允许上述描述中的主题项目以及与本公开相关联的权利要求中的“至少一个”。还应注意,可以撰写这样的权利要求以排除任何可选元素。因此,本声明旨在作为与权利要求要素的叙述相关联的诸如“仅”、“只”等专有术语的使用或“否定”限制的使用的先行基础。
在不使用这样的专有术语的情况下,与本公开相关的权利要求中的术语“包括”应允许包含任何附加元素——无论这样的权利要求中是否列举了给定数量的要素,或者特征的添加可以被视为改变了这些权利要求中提出的要素的性质。除非在本文中有明确定义,否则本文中使用的所有技术和科学术语都应尽可能广泛地具有普遍理解的含义,同时保持权利要求的有效性。
本公开的广度不限于所提供的示例和/或主题说明书,而是仅受与本公开相关联的权利要求语言的范围。
在上述说明书中,已经参照本公开的具体实施例描述了本公开。然而,很明显,在不脱离本公开的更广泛的精神和范围的情况下,可以对其进行各种变型和改变。例如,上述过程流是参照过程动作的特定排序来描述的。然而,在不影响本公开的范围或操作的情况下,可以改变许多所描述的过程动作的排序。因此,说明书和附图被认为是说明性的而不是限制性的。

Claims (15)

1.一种在虚拟、增强、或混合现实系统中的方法,包括:
GPU确定或检测图像数据的缺乏;
关闭所述GPU的部分、部件、或功能;
关闭所述GPU与DB之间的通信链路;
关闭所述DB的部分、部件、或功能;
关闭所述DB与显示面板之间的通信链路;以及
关闭所述显示面板的部分、部件、或功能。
2.根据权利要求1所述的方法,还包括:重新组织帧数据以减少传输时间。
3.根据权利要求1所述的方法,还包括:GPU DP端口向所述DB发送定制STP消息。
4.根据权利要求3所述的方法,还包括:所述GPU向DB AUX消息发送所述STP消息。
5.根据权利要求1所述的方法,其中,所述GPU的部分、部件、或功能选自包括以下项的组:存储器读取,压缩,以及颜色分割。
6.根据权利要求1所述的方法,其中,所述DB的部分、部件、或功能是存储器写入。
7.根据权利要求1所述的方法,其中,所述显示面板的部分、部件、或功能选自包括以下项的组:视频RAM,以及MIPI接收器。
8.根据权利要求1所述的方法,还包括:所述GPU向所述DB发送唤醒信号。
9.根据权利要求8所述的方法,其中,所述GPU经由AUX通信链路发送所述唤醒信号。
10.根据权利要求1所述的方法,还包括:所述GPU向所述GPU与所述DB之间的所述通信链路发送唤醒信号。
11.根据权利要求1所述的方法,其中,所述GPU的部分、部件、或功能、所述GPU与DB之间的通信链路、所述DB的部分、部件、或功能、所述DB与显示面板之间的通信链路、所述显示面板的部分、部件、或功能被异步关闭。
12.根据权利要求1所述的方法,还包括:所述DB向所述显示面板发送嵌入式行控制消息。
13.一种在虚拟、增强、或混合现实系统中的方法,包括:
GPU获取图像数据帧;
所述GPU识别所述图像数据帧的一部分;以及
直接存储器存取控制器向DB发送所述图像数据帧的被识别部分而不对图像数据进行进一步处理。
14.根据权利要求13所述的方法,其中,所述图像数据帧的所述一部分是非黑色图像数据行。
15.根据权利要求13所述的方法,还包括:
关闭所述GPU的部分、部件、或功能;
关闭DMA的部分、部件、或功能;
关闭所述GPU与DB之间的通信链路;
关闭所述DB的部分、部件、或功能;
关闭所述DB与显示面板之间的通信链路;以及
关闭所述显示面板的部分、部件、或功能。
CN202210677884.9A 2019-01-18 2020-01-17 虚拟、增强和混合现实系统以及方法 Pending CN115100020A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962794324P 2019-01-18 2019-01-18
US62/794,324 2019-01-18
CN202080009565.XA CN113330478B (zh) 2019-01-18 2020-01-17 一种在虚拟、增强或混合现实系统中的方法
PCT/US2020/014163 WO2020150649A1 (en) 2019-01-18 2020-01-17 Virtual, augmented, and mixed reality systems and methods

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202080009565.XA Division CN113330478B (zh) 2019-01-18 2020-01-17 一种在虚拟、增强或混合现实系统中的方法

Publications (1)

Publication Number Publication Date
CN115100020A true CN115100020A (zh) 2022-09-23

Family

ID=71610085

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210677884.9A Pending CN115100020A (zh) 2019-01-18 2020-01-17 虚拟、增强和混合现实系统以及方法
CN202080009565.XA Active CN113330478B (zh) 2019-01-18 2020-01-17 一种在虚拟、增强或混合现实系统中的方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202080009565.XA Active CN113330478B (zh) 2019-01-18 2020-01-17 一种在虚拟、增强或混合现实系统中的方法

Country Status (5)

Country Link
US (2) US11217025B2 (zh)
EP (1) EP3912012A4 (zh)
JP (2) JP7431244B2 (zh)
CN (2) CN115100020A (zh)
WO (1) WO2020150649A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10863183B2 (en) * 2019-06-27 2020-12-08 Intel Corporation Dynamic caching of a video stream
US11537854B2 (en) * 2019-11-08 2022-12-27 Meta Platforms Technologies, Llc Pipeline with processor including neural network for rendering artificial reality

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63240288A (ja) * 1987-03-27 1988-10-05 Mitsubishi Electric Corp カラ−画像伝送装置
JPH01141495A (ja) * 1987-11-27 1989-06-02 Matsushita Electric Ind Co Ltd カラー画像の符号化方法
US6253261B1 (en) * 1998-10-21 2001-06-26 3Dlabs Inc., Ltd. System and method for direct memory access in a computer system
JP2000197604A (ja) 1998-10-28 2000-07-18 Olympus Optical Co Ltd 内視鏡装置
JP2002232725A (ja) 2001-02-06 2002-08-16 Sharp Corp カラーファクシミリ装置
JP2003158632A (ja) * 2001-11-21 2003-05-30 Oki Data Corp 画像処理方法とこれを実行するための画像処理装置および画像処理システム
US7614011B2 (en) * 2004-10-21 2009-11-03 International Business Machines Corporation Apparatus and method for display power saving
WO2011015843A2 (en) 2009-08-07 2011-02-10 Light Blue Optics Ltd Head up displays
JP4818450B1 (ja) * 2010-06-30 2011-11-16 株式会社東芝 グラフィクスプロセッシングユニットおよび情報処理装置
US9165537B2 (en) * 2011-07-18 2015-10-20 Nvidia Corporation Method and apparatus for performing burst refresh of a self-refreshing display device
US9092220B2 (en) * 2011-08-22 2015-07-28 Nvidia Corporation Method and apparatus to optimize system battery-life while preventing disruptive user experience during system suspend
US9183803B2 (en) * 2011-10-26 2015-11-10 Samsung Display Co., Ltd. Display device and driving method thereof
US9069166B2 (en) * 2012-02-29 2015-06-30 Recon Instruments Inc. Gaze detecting heads-up display systems
US8761448B1 (en) * 2012-12-13 2014-06-24 Intel Corporation Gesture pre-processing of video stream using a markered region
US9947071B2 (en) * 2014-06-27 2018-04-17 Samsung Electronics Co., Ltd. Texture pipeline with online variable rate dictionary compression
US9952652B2 (en) 2014-12-04 2018-04-24 Htc Corporation Virtual reality system and method for controlling operation modes of virtual reality system
US9978180B2 (en) * 2016-01-25 2018-05-22 Microsoft Technology Licensing, Llc Frame projection for augmented reality environments
US10120187B2 (en) * 2016-02-18 2018-11-06 Nvidia Corporation Sub-frame scanout for latency reduction in virtual reality applications
EP3424038A4 (en) * 2016-03-04 2019-10-23 Magic Leap, Inc. ABSORBED CURRENT REDUCTION IN AR / VR DISPLAY SYSTEMS
US10447896B2 (en) * 2016-05-27 2019-10-15 Electronics For Imaging, Inc. Interactive three-dimensional (3D) color histograms
WO2018039270A1 (en) * 2016-08-22 2018-03-01 Magic Leap, Inc. Virtual, augmented, and mixed reality systems and methods
US10176561B2 (en) * 2017-01-27 2019-01-08 Microsoft Technology Licensing, Llc Content-adaptive adjustments to tone mapping operations for high dynamic range content
US10761591B2 (en) * 2017-04-01 2020-09-01 Intel Corporation Shutting down GPU components in response to unchanged scene detection
US10424084B2 (en) * 2017-04-28 2019-09-24 Adobe Inc. Digital content rendering that supports alpha is shape (AIS) as part of knockout groups

Also Published As

Publication number Publication date
EP3912012A1 (en) 2021-11-24
US20200234501A1 (en) 2020-07-23
WO2020150649A1 (en) 2020-07-23
JP7431244B2 (ja) 2024-02-14
US20220092863A1 (en) 2022-03-24
CN113330478A (zh) 2021-08-31
EP3912012A4 (en) 2022-03-09
JP2024054180A (ja) 2024-04-16
US12002167B2 (en) 2024-06-04
CN113330478B (zh) 2022-07-05
US11217025B2 (en) 2022-01-04
JP2022517274A (ja) 2022-03-07

Similar Documents

Publication Publication Date Title
AU2022201611B2 (en) Virtual, augmented, and mixed reality systems and methods
JP2024054180A (ja) 仮想、拡張、および複合現実システムおよび方法
CN112912823A (zh) 生成和修改增强现实或虚拟现实场景中对象的表示
AU2023201212B2 (en) Virtual, augmented, and mixed reality systems and methods
JP7506126B2 (ja) 仮想現実、拡張現実、および複合現実システムおよび方法
NZ791444A (en) Virtual, augmented, and mixed reality systems and methods
NZ791441A (en) Virtual, augmented, and mixed reality systems and methods
CN116437065A (zh) 一种基于三维场景输出可偏振观影的方法及系统

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