CN111935538A - 使用多组视频缓冲器用透明度控制来控制增强现实显示器 - Google Patents

使用多组视频缓冲器用透明度控制来控制增强现实显示器 Download PDF

Info

Publication number
CN111935538A
CN111935538A CN202010072373.5A CN202010072373A CN111935538A CN 111935538 A CN111935538 A CN 111935538A CN 202010072373 A CN202010072373 A CN 202010072373A CN 111935538 A CN111935538 A CN 111935538A
Authority
CN
China
Prior art keywords
state
display
image
emitted light
frame
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.)
Granted
Application number
CN202010072373.5A
Other languages
English (en)
Other versions
CN111935538B (zh
Inventor
T·G·小罗德斯
G·S·P·米勒
魏立一
孙琪
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.)
Adobe Inc
Original Assignee
Adobe Systems 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 Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of CN111935538A publication Critical patent/CN111935538A/zh
Application granted granted Critical
Publication of CN111935538B publication Critical patent/CN111935538B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/026Control of mixing and/or overlay of colours in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/001Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
    • G09G3/003Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background to produce spatial visual effects
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/006Details of the interface to the display terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/02Improving the quality of display appearance
    • G09G2320/0247Flicker reduction other than flicker reduction circuits used for single beam cathode-ray tubes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/06Adjustment of display parameters
    • G09G2320/0666Adjustment of display parameters for control of colour parameters, e.g. colour temperature
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • G09G2340/125Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels wherein one of the images is motion video
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/18Use of a frame buffer in a display terminal, inclusive of the display panel
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/399Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本公开的实施例涉及使用多组视频缓冲器用透明度控制来控制增强现实显示器。增强现实显示器在显示颜色帧与显示阿尔法帧之间交替以生成用于透明度控制的复合图像。显示处理器包括两组缓冲器,每一组包括颜色帧缓冲器和阿尔法帧缓冲器。一组缓冲器用以将数据提供至显示器,同时正在将新视频数据写入另一组缓冲器中。显示处理器对哪一组缓冲器正在提供数据与哪一组缓冲器正在将新视频数据写入其中进行切换。通过切换这些组中的阿尔法帧缓冲器和颜色帧缓冲器,一对颜色帧缓冲器和阿尔法帧缓冲器始终是用以将数据提供为输出的当前组缓冲器。如果发生丢帧并且下一个颜色帧或阿尔法帧尚未就绪,则不切换这组缓冲器,以免干扰闪烁的视觉伪像。

Description

使用多组视频缓冲器用透明度控制来控制增强现实显示器
背景技术
随着计算机技术的发展,计算机在我们的生活中已经变得越来越普遍,并且已找到了各种不同用途。这种用途之一是增强现实(“AR”)显示器。AR显示器是显示设备,用户可以通过该显示设备进行查看,但计算机也可以在该显示设备上显示图形,从而允许实时地显示物理对象上方的虚拟图形。
一种类型的AR显示器在显示颜色帧和阿尔法帧之间交替。颜色帧包括待显示的虚拟图形,而阿尔法帧是与虚拟图形相对应的掩模。可能发生出于各种不同原因(诸如虚拟图形的渲染复杂性、视频译码、文件读取、AR显示器的物理干扰等)中的任何一种而丢弃帧的情况。在丢帧的情况下,可以再次显示相同的颜色帧或阿尔法帧。这可以引起令人反感的伪像,因为颜色帧通常具有与阿尔法帧极为不同的内容。例如,颜色帧的明亮区域通常由对应阿尔法帧中的黑色区域相匹配。任何丢帧可以导致再次显示颜色帧而不是预期的阿尔法帧,或导致再次显示阿尔法帧而不是预期的颜色帧。考虑到阿尔法帧和颜色帧的内容极为不同,显示颜色帧而不是预期的阿尔法帧或显示阿尔法帧而不是预期的颜色帧可以按照明亮闪光的形式呈现给用户。由于在透明度(阿尔法)帧和颜色帧中,图像的给定区域可以具有极为不同的外观,因此发生这些明显的闪光。由于阿尔法帧直接用颜色值对区域的透明度进行编码,因此纯透明区域将具有黑色的发射色和白色的透明色。两次示出透明度掩模图像将导致显示器的该区域明亮闪光。两次示出颜色图像将导致显示器的该区域过度变暗。对于显示器的不透明白色区域,情况相反。两次示出颜色图像将导致显示器的该区域更亮地闪光,而两次示出透明度掩模图像将导致屏幕的该区域更暗地闪光。
由这些丢帧引起的伪像导致随机的明暗闪烁,用户可能极为反感这种情况,并且这种情况会导致用户对其AR显示器感到失望和不满。
发明内容
为了在增强现实显示器中减轻在显示彩色帧与阿尔法帧之间交替的丢帧的缺点,描述了一种用于控制包括两组视频缓冲器的显示系统的显示处理器。该显示处理器包括第一组视频缓冲器和第二组视频缓冲器。第一组视频缓冲器包括用以存储描述第一所发射的光图像的第一颜色帧的数据的第一颜色帧缓冲器和用以存储描述与第一颜色帧相对应的第一透明度掩模图像的数据的第一阿尔法帧缓冲器。第二组视频缓冲器包括用以存储描述第二所发射的光图像的第二颜色帧的数据的第二颜色帧缓冲器和用以存储描述与第二颜色帧相对应的第二透明度掩模图像的数据的第二阿尔法帧缓冲器。显示处理器的控制器在使用第一组视频缓冲器来显示第一所发射的光图像和第一透明度掩模图像二者与使用第二组视频缓冲器来显示第二所发射的光图像和第二透明度掩模图像二者之间切换。显示处理器的显示屏管理器对显示系统的显示屏在第一状态与第二状态之间进行定序,第一状态包括:显示屏处于发射状态,并且第二状态包括:显示屏处于掩蔽状态,显示屏在处于第一状态时显示视频内容的所发射的光图像并且在处于第二状态时显示视频数据的透明度掩模图像,透明度掩模图像具有与所发射的光图像大致相同的形状。显示处理器的漫射器元件管理器使显示系统的漫射器元件按顺序通过第一状态和第二状态,第一状态包括:漫射器元件处于散射状态,并且第二状态包括:漫射器元件处于透明状态。
通过切换这些组中的阿尔法帧缓冲器和颜色帧缓冲器,一对颜色帧缓冲器和阿尔法帧缓冲器始终是用以将数据提供为输出的当前组缓冲器。如果发生丢帧并且下一颜色帧或阿尔法帧尚未就绪,那么显示处理器将不切换这组缓冲器。这允许显示处理器继续在显示颜色帧与阿尔法帧之间交替,并且避免了在预期阿尔法帧时显示颜色帧或在预期颜色帧时显示阿尔法帧。
本发明内容以简化形式引入了对构思的选择,下文在具体实施方式中进一步描述了这些构思。因此,本发明内容既不旨在标识所要求保护的主题的关键特征,也不旨在被用作对确定所要求保护的主题的范围的辅助。
附图说明
参照附图描述了具体实施方式。在附图中表示的实体可以指示一个或多个实体,因此在描述中可以可互换地参考单数或复数形式的实体。
图1图示了具有处于掩蔽状态的显示屏和处于透明状态的漫射器元件的示例环境。
图2图示了具有处于发射状态的显示屏和处于散射状态的漫射器元件的示例环境。
图3图示了描绘显示屏、漫射器元件、漫射器直接光源以及环境光源的相应状态的示例流程。
图4图示了使用四个视频缓冲器来在显示屏上生成显示的示例显示处理器。
图5图示了示例颜色帧。
图6图示了示例阿尔法帧。
图7图示了示例背景视图。
图8图示了由显示内容覆盖系统的用户看到的示例视图。
图9图示了被显示为视频数据的帧序列的示例。
图10图示了使用八个视频缓冲器来在显示屏上生成显示的示例显示处理器。
图11图示了使用六个视频缓冲器来在显示屏上生成显示的示例显示处理器。
图12图示了使用六个视频缓冲器来在显示屏上生成显示的另一示例显示处理器。
图13图示了包括位于漫射器元件后方的相机的示例环境。
图14图示了描绘显示屏、漫射器元件、漫射器直接光源、环境光源以及相机的相应状态的示例流程。
图15图示了彼此同步的颜色帧和阿尔法帧的示例。
图16图示了与颜色帧和阿尔法帧的显示时间同步的颜色帧和阿尔法帧的示例。
图17图示了基于硬件的解决方案的示例,该解决方案用以使视频缓冲器的切换与改变漫射器元件的状态同步。
图18是描绘使用多组视频缓冲器利用透明度控制来控制增强现实显示器的示例实现中的过程的流程图。
图19图示了实现数字内容覆盖系统的示例计算设备。
图20图示了包括示例设备的各种组件的示例系统,该示例设备可以被实现为如所描述的任何类型的计算设备和/或参照图1至图19用以实现本文中所描述的技术的各个方面。
具体实施方式
概述
AR显示器实现数字内容覆盖系统,该数字内容覆盖系统利用至少一个可切换漫射器以及显示屏来生成有形对象的背景视图上的数字覆盖并且呈现该数字覆盖。特别地,数字内容覆盖系统通过在所发射的光图像与由透明度掩模图像衰减的对象的背景视图之间快速交替,利用可切换漫射器和显示屏(诸如液晶显示(“LCD”)屏)来生成数字覆盖。这些对象可以例如位于显示器壳体中。数字内容覆盖系统可以按一种显示速率在所发射的光图像与由透明度掩模图像衰减的背景视图之间交替,该显示速率使得所发射的光图像和由透明度掩模图像修改的背景视图生成其中对象位于数字内容覆盖系统后方的复合视图。
AR显示器在显示颜色帧(其是描述所发射的光图像的数据)与阿尔法帧(其是描述透明度掩模图像的数据)之间交替,并且可以经历丢帧,该丢帧可以由于通常具有与阿尔法帧极为不同内容的颜色帧而导致令人反感的伪像被显示。例如,颜色帧的明亮区域通常由对应阿尔法帧中的黑色区域相匹配。在针对如本文中所描述的颜色帧和阿尔法帧两者不使用多个帧缓冲器的情况下,任何丢帧可以导致再次显示颜色帧而不是预期的阿尔法帧或导致再次显示阿尔法帧而不是预期的颜色帧,从而导致明亮闪光或闪烁。针对如本文中所描述的颜色帧和阿尔法帧两者使用多个帧缓冲器减少了因丢帧而引起的随机的明亮闪光或闪烁,并且减少了因丢帧而引起的在漫射器与LCD屏幕之间的同步问题。
显示屏通过对从位于显示屏后方的一个或多个光源发出的各种波长的光进行过滤来显示数字内容(例如数字覆盖)。显示屏基于显示速率在发射状态(其中LCD屏幕对从漫射器直接光源发射的光进行过滤以显示所发射的光图像)与掩蔽状态(其中LCD屏幕对来自数字内容覆盖系统后方的光进行过滤以显示透明度掩模图像)之间交替。因此,在发射状态,显示屏可以生成所发射的光图像,并且在掩蔽状态,显示屏可以生成透明度掩模图像。通过以显示速率在发射状态与掩蔽状态之间交替,数字内容覆盖系统可以生成数字覆盖(即,所发射的光图像与透明度掩模图像调制的背景视图的复合)。
漫射器元件基于显示速率在透明状态与散射状态之间交替。漫射器元件包括可切换漫射器,该可切换漫射器响应于电刺激而在透明状态与散射状态之间交替。附加地,数字内容覆盖系统可以使漫射器元件与LCD屏幕同步,以基于显示速率在透明状态和散射状态之间交替。例如,数字内容覆盖系统可以使LCD屏幕与漫射器元件交替,使得在第一时间点处,LCD屏幕处于发射状态,而漫射器元件处于散射状态(使得LCD屏幕显示颜色图像,并且漫射器元件充当背景光),并且在第二时间点处,LCD屏幕处于掩蔽状态,而漫射器元件处于透明状态(使得LCD屏幕显示透明度掩模图像,并且漫射器元件充当数字内容覆盖系统后方的对象的透视窗口)。漫射器元件和LCD屏幕基于比人眼可感知的频率更快的共同显示速率进行交替,从而创建了被投射在背景中的对象顶部的数字覆盖的复合视图。
在一种或多种实现中,显示内容覆盖系统包括显示处理器,该显示处理器使用四个视频缓冲器来在LCD屏幕上生成内容,也被称为四倍缓冲。在处于发射状态时,LCD屏幕显示颜色帧,其中每个颜色帧是描述要被显示为所发射的光图像的一个视频帧的数据。在处于掩蔽状态时,LCD屏幕显示阿尔法帧,其中每个阿尔法帧是描述要被显示为透明度掩模图像的一个视频帧的数据。颜色帧和阿尔法帧被存储在两组缓冲器中,每组缓冲器包括颜色帧缓冲器和阿尔法帧缓冲器。
在两组缓冲器的情况下,一组缓冲器的颜色帧缓冲器和阿尔法帧缓冲器被用以将数据提供为输出,而另一组缓冲器正在将新视频数据写入其中。在某个时刻,通常在每隔一个垂直同步(Vsync)处,显示处理器切换哪一组缓冲器要将数据提供为输出以及哪一组缓冲器正在将新视频数据写入其中。尽管显示处理器在多组缓冲器之间切换,但应注意,显示处理器每次仅从一个缓冲器提供数据作为输出,在颜色帧缓冲器与阿尔法帧缓冲器之间交替切换。
通过切换这些组中的阿尔法帧缓冲器和颜色帧缓冲器,一对颜色帧缓冲器和阿尔法帧缓冲器始终是用以将数据提供为输出的当前组缓冲器。如果发生丢帧并且下一个颜色帧或阿尔法帧尚未就绪,那么显示处理器将不切换这组缓冲器。这避免了由在显示屏的单个绘图中显示来自两个不同帧的数据而引起的撕裂。这也导致了再次显示当前颜色帧和当前阿尔法帧,然后切换这组缓冲器(例如在下一个Vsync处)。因此,显示处理器避免了显示阿尔法帧而不是颜色帧或显示颜色帧而不是阿尔法帧的情况。
显示颜色帧而不是阿尔法帧或显示阿尔法帧而不是颜色帧可以引起明显的闪光。由于在阿尔法帧和颜色帧中,图像的给定区域可以具有极为不同的外观,因此发生这些明显的闪光。由于阿尔法帧直接用颜色值对区域的透明度进行编码,因此纯透明区域将具有黑色的发射色和白色的透明色。两次示出透明度掩模图像将导致显示器的该区域明亮闪光。两次示出颜色图像将导致显示器的该区域过度变暗。对于显示器的不透明白色区域,情况相反。两次示出颜色图像将导致显示器的该区域明亮地闪光,而两次示出透明度掩模图像将导致屏幕的该区域更暗地闪光。
这种变暗或变亮对用户来说变得越来越明显,显示了较长颜色帧而不是阿尔法帧或显示了阿尔法帧而不是颜色帧。通过使用两组缓冲器,显示处理器避免了使显示器变暗或变亮。此外,显示阿尔法帧而不是颜色帧或显示颜色帧而不是阿尔法帧可以产生对于观看者而言看似明亮闪光的内容。通过使用两组缓冲器,显示处理器避免了显示这种明亮闪光。
在一种或多种实现中,显示内容覆盖系统包括显示处理器,该显示处理器使用八个视频缓冲器来在LCD屏幕上生成内容,也被称为八倍缓冲。使用八个视频缓冲器允许实现立体显示内容覆盖系统。立体显示是指针对左眼显示了与针对右眼显示的图像不同的图像,从而允许将所发射的光图像视为3维(“3D”)图像。在一种或多种实现中,使用快门系统将显示内容覆盖系统实现为立体显示。快门系统操作为在遮挡LCD屏幕的左眼视图以使得可以显示针对右眼的图像与遮挡LCD屏幕的右眼视图以使得可以显示针对左眼的图像之间交替。使用八个视频缓冲器,实现了四倍缓冲以用于针对左眼和右眼中的每一个显示数据。
针对立体显示内容覆盖系统的显示处理器包括针对左侧(用于显示针对左眼的图像)和右侧(用于显示针对右眼的图像)中的每一个的两组帧缓冲器。每组帧缓冲器包括颜色帧缓冲器和阿尔法帧缓冲器。显示处理器经历了具有视频缓冲器的序列,以将数据提供为要针对左眼和右眼被显示的输出。例如,该序列可以是:针对左眼的颜色帧缓冲器,然后是针对右眼的颜色帧缓冲器,然后是针对左眼的阿尔法帧缓冲器,然后是针对右眼的阿尔法帧缓冲器。通过另一示例,该序列可以是:针对左眼的颜色帧缓冲器,然后是针对左眼的阿尔法帧缓冲器,然后是针对右眼的颜色帧缓冲器,然后是针对右眼的阿尔法帧缓冲器。除了显示处理器也在左侧与右侧以及针对左眼视图与右眼视图的视频缓冲器之间切换之外,八倍缓冲实现中的显示处理器与四倍缓冲实现中的显示处理器类似地操作。
通过切换这些组中的左侧和右侧中的每一个内的阿尔法帧缓冲器和颜色帧缓冲器,一对颜色帧缓冲器和阿尔法帧缓冲器始终是用以将数据提供为输出的当前组缓冲器。如果发生丢帧并且左侧或右侧内的下一个颜色帧或阿尔法帧尚未就绪,那么显示处理器将不切换该侧内的这组缓冲器。这避免了由在显示屏的单个绘图中显示来自两个不同帧的数据而引起的撕裂。这也导致了再次显示当前颜色帧和当前阿尔法帧,然后切换这组缓冲器。因此,显示处理器避免了显示阿尔法帧而不是颜色帧或显示颜色帧而不是阿尔法帧的情况。附加地,将左右视图配对成组避免了立体显示问题,在立体显示问题中,图像并未针对立体视觉消耗被适当地配对。
如果显示处理器未在左侧和右侧的每一个内使用两组缓冲器,那么显示处理器可以在预期阿尔法帧时将颜色帧提供为用于输出的数据,或在预期颜色帧时将阿尔法帧提供为用于输出的数据。在左侧和右侧中的每一个内使用两组缓冲器防止这种情况发生。
在一种或多种实现中,显示内容覆盖系统包括显示处理器,该显示处理器使用六个视频缓冲器来向LCD屏幕(且可选地为漫射器元件)输出数据,也被称为六倍缓冲。显示处理器可以被配置为用于与在逐个像素的基础上可控制的漫射器元件一起使用,其中单独像素(或像素组)可以处于散射状态,而其他像素处于透明状态(因此创建半透明图像)。因此,除了散射状态和透明状态之外,数字内容覆盖系统还可以使用第三状态(被称为局部半透明状态)来转换漫射器元件。通过利用局部半透明状态,数字内容覆盖系统可以通过在逐个像素的基础上调整由漫射器元件完成的散射量来改变模糊水平,以提供磨砂玻璃类型的覆盖。
特别地,数字内容覆盖系统可以基于透明度掩模图像来控制透明度(在第一状态),可以基于所发射的光图像来控制颜色(在第二状态),并且可以基于半透明图像来控制半透明(在第三状态)。在漫射器元件处于漫射(散射)状态时,半透明图像控制LCD屏幕的透明度,并且在禁用LCD屏幕的直接照明时,启用场景的照明。这产生了使LCD屏幕控制哪些区域看似为半透明的效果,比如,磨砂玻璃。这种元件可以具有由衰减像素的透明度控制的半透明程度,这允许半透明区域上的抗锯齿或混合边缘。磨砂的透明度颜色还可以通过在逐个像素的基础上的衰减显示来控制。
通过在两组缓冲器之间切换,一组颜色帧缓冲器、阿尔法帧缓冲器以及半透明帧缓冲器始终是当前组缓冲器,用以将数据提供为显示处理器的输出。如果发生丢帧并且下一个颜色帧、阿尔法帧或半透明帧尚未就绪,那么显示处理器将不切换这组缓冲器。在下一个颜色帧或阿尔法帧尚未就绪的情况下,这避免了由在显示屏的单个绘图中显示来自两个不同帧的数据而引起的撕裂。这也导致了再次显示当前颜色帧、当前阿尔法帧以及当前半透明帧,然后切换这组缓冲器。因此,显示处理器避免了以下情况:显示阿尔法帧而不是颜色帧或半透明帧,显示颜色帧而不是阿尔法帧或半透明帧,或显示半透明帧而不是颜色帧或阿尔法帧。
如果显示处理器不使用两组缓冲器,那么显示处理器可以在预期阿尔法帧或半透明帧时将颜色帧提供为用于输出的数据,在预期颜色帧或半透明帧时将阿尔法帧提供为用于输出的数据,或在预期颜色帧或阿尔法帧时将半透明帧提供为用于输出的数据。考虑到阿尔法帧、颜色帧以及半透明帧的内容极为不同,对阿尔法帧或半透明帧而非预期的颜色帧的显示可以按照明亮闪光形式呈现给用户。对颜色帧或阿尔法帧而非预期的半透明帧的显示可以产生非预期的半透明。
在一种或多种实现中,具有六倍缓冲的显示处理器被用来便于位于漫射器元件后方的相机捕获图像,该图像是背景视图从显示屏中的反射。为了捕获作为背景视图的反射的图像,LCD屏幕处于掩蔽状态,并且漫射器元件处于透明状态。LCD屏幕显示黑屏,从而使背景场景从LCD屏幕中反射出来并且在透明状态下通过漫射器元件。相机捕获从LCD屏幕中反射出来的图像,并且将捕获到的图像传送到生成所发射的光图像的数字覆盖管理器。
因此,生成所发射的光图像的数字覆盖管理器具有背景场景的图像,并且可以按照各种不同的方式中的任何一种来使用该图像。例如,程序可以生成背景场景的环境图,并且在生成所发射的光图像时使用该环境图来显示看起来如同折射的对象,比如,水或钻石。然后,用户可以透视折射对象以观看背景场景。所发射的光图像还可以通过对环境图的区域进行过滤来创建磨砂玻璃的外观,以计算发射像素的颜色。通过另一示例,程序可以使用环境图来确定将对象放置在所发射的光图像中的位置,以使得其在用户看起来如同与背景场景交互。例如,可以改变所发射的光图像以移动瀑布的位置,使得在背景场景中,水看似落入玻璃中。
显示处理器重复经历了具有视频缓冲器序列以提供数据输出,该序列是颜色帧缓冲器、阿尔法帧缓冲器以及相机帧缓冲器。将来自颜色帧缓冲器、阿尔法帧缓冲器以及相机帧缓冲器的数据提供至显示屏。帧缓冲器被组织为两组,其中,一组缓冲器用于将数据提供为输出,而另一组缓冲器将新视频数据写入其中。在某个时刻,通常在每隔三个Vsync处,显示处理器切换哪一组缓冲器正在将数据提供为输出与哪一组缓冲器正在将新视频数据写入其中。备选地,由于相机帧的内容是黑色图像,因此相机帧缓冲器被定制电路代替,以在该帧时间期间直接生成黑色图像,因此节省了内存。
通过在两组缓冲器之间切换,一组颜色帧缓冲器、阿尔法帧缓冲器以及可选地相机帧缓冲器始终是当前组缓冲器,用以将数据提供为输出。如果发生丢帧并且下一个颜色帧、阿尔法帧或相机帧尚未就绪,那么显示处理器将不切换这组缓冲器。在下一个颜色帧或阿尔法帧尚未就绪的情况下,这避免了由在显示屏的单个绘图中显示来自两个不同帧的数据而引起的撕裂。这也导致了再次显示当前颜色帧、当前阿尔法帧以及当前相机帧,然后切换这组缓冲器。因此,显示处理器避免了以下情况:显示阿尔法帧而不是颜色帧或相机帧,显示颜色帧而不是阿尔法帧或相机帧,或显示相机帧而不是颜色帧或阿尔法帧。
如果显示处理器不使用两组缓冲器,那么显示处理器可以在预期阿尔法帧或相机帧时将颜色帧提供为用于输出的数据,在预期颜色帧或相机帧时将阿尔法帧提供为用于输出的数据,或在预期颜色帧或阿尔法帧时将相机帧提供为用于输出的数据。考虑到阿尔法帧、颜色帧以及相机帧的内容极为不同,对阿尔法帧而非预期的颜色帧或相机帧的显示可以按照明亮闪光形式呈现给用户。
在一种或多种实现中,显示所发射的光图像的数字覆盖管理器期望将在显示屏上移动的对象显示为所发射的光图像。对于移动图像,颜色和透明度掩模图像可以在更接近其显示时间的不同时间处进行采样。因此,对象在显示颜色帧时在其位置处进行渲染,而阿尔法帧在显示阿尔法帧时在其位置处进行渲染。这导致在阿尔法帧中显示的对象的透明度掩模图像位于与先前或后续颜色帧中的对象不同的位置处。对于合成图形,这可以涉及渲染所发射的光图像,该所发射的光图像在时间上比在其之前的透明度掩模图像晚了一个子帧。对于捕获到的视频内容,可以使用交替帧来产生发射的光帧和透明度帧。备选地,可以使用光流和其他算法来产生中间帧,以有效地内插帧时间。
对更接近其显示时间的颜色帧和阿尔法帧进行采样解决了在颜色帧与阿尔法帧彼此同步时可以在对象的前缘和尾缘上发生的条带伪像。这通常是因为颜色帧在对象被显示在显示屏上的位置处添加光,而透明度掩模图像在对象位于显示屏上的位置处遮挡背景视图。追踪移动对象的用户预期了对象正在移动的速率,并且用户的眼睛已经沿着对象的预期轨迹进行了移动,因此透明度掩模图像最终遮挡了不完全为用户正在查看的位置的区域,这导致对象的前边缘看起来过明,而对象的后边缘看起来过暗。
在一种或多种实现中,通过在颜色帧中将期望部分的像素设置为白色并且将透明度掩模图像中的对应像素设置为更透明而非不透明,可以使所发射的光图像的期望部分对于用户来说看起来比背景视图更亮。通过使透明度掩模图像中的对应像素更加透明,从那些对应像素处的背景视图使附加的光通过,从而使在期望部分处显示的所发射的光图像对用户来说看起来略亮。尽管落在期望部分处的光落在背景视图与用户的眼睛之间的漫射器上,但期望部分看起来比背景视图略亮。
在一种或多种实现中,要注意使改变显示屏的像素值与改变漫射器元件的状态同步。维持该同步减少或消除了各种伪像(诸如对比度损耗),这些伪像可能是由于显示屏的像素值按顺序改变(比如卷帘快门),而漫射器元件的状态并行地改变(比如全局快门)而导致的。
可以使用各种不同的技术来解决由于在显示屏和漫射器元件中进行改变的方式的差异而导致的这些伪像。一种技术是使环境光源同步在少于帧时间内开启。另一技术是使用分段式漫射器元件,其能够使一些部分处于散射状态而其他部分处于透明状态。例如,这种分段式漫射器元件可以在逐个像素的基础上局部可控,其中,单独像素(或像素组)可以处于散射状态,而其他像素处于透明状态。备选地,由水平带或垂直带(与LCD屏幕的扫描图案对准)制成的漫射器可以与LCD屏幕同步。这种带可以是几条扫描线高并且与显示器一样宽,并且可以比全点阵漫射器更容易产生。
因此,本文中所描述的技术包括在两组视频缓冲器之间切换。每组视频缓冲器包括颜色帧缓冲器和阿尔法帧缓冲器,并且可选地包括相机帧缓冲器和半透明帧缓冲器中的一者或两者。显示内容覆盖系统重复地按顺序通过不同类型的帧(例如交替地显示颜色帧和阿尔法帧)。如果发生丢帧并且特定类型的帧尚未就绪,那么显示处理器将不切换这组缓冲器。这避免了由于显示了除预期帧类型以外的帧类型而引起的撕裂以及向用户显示明亮闪光。
在以下描述中,描述了可以采用本文中所描述的技术的示例环境。还描述了可以在示例环境以及其他环境中被执行的示例过程。因此,示例过程的执行不限于示例环境,并且示例环境不限于示例过程的执行。
示例数字内容覆盖环境和系统
示例显示系统
图1和图2图示了根据一种或多种实现的显示屏102、漫射器元件104、漫射器直接光源106以及环境光源108。显示屏102和漫射器元件104也被统称为显示系统110。具体地,图1图示了具有处于掩蔽状态的显示屏102和处于透明状态的漫射器元件104的示例环境100(因此,当显示屏102正在显示透明度掩模图像时,显示系统110揭示了漫射器元件104后方的场景)。漫射器元件104后方的场景也被称为背景场景或背景视图。图2图示了具有处于发射状态(显示所发射的光图像)的显示屏102和处于散射状态的漫射器元件104的示例环境200。
如本文中所使用,术语“显示屏”(或有时被简称为“屏幕”)是指电子显示器或监视器。特别地,术语“显示屏”包括用于呈现数字内容的电子显示器。显示屏包括透明的(例如能够发射所有可见光波长)并且独立于背景光或与背景光分离的监视器。此外,显示屏可以包括可以选择性地修改穿过屏幕的光波的过滤元件。例如,显示屏可以包括LCD屏幕。更具体地,显示屏可以是指LCD屏幕,诸如例如,扭曲向列(“TN”)LCD、面内切换(“IPS”)LCD、超级面内切换(“S-IPS”)LCD、高级边缘场切换(“AFFS”)LCD、垂直对准(“VA”)LCD或蓝相模式LCD。尽管在本文中被讨论为LCD屏幕,但应注意,显示屏可以是其他类型的衰减显示屏。例如,显示屏可以是具有打开和关闭显示屏的折板的基于MEMS的快门显示器。
如本文中所使用,术语“漫射器元件”(或“可切换漫射器”或有时被简称为“漫射器”)是指在逐个像素的基础上或在像素组中选择性地全局散射或发射(例如传递)光的对象(例如作为单个像素)。特别地,漫射器元件包括可以在透明状态与散射状态之间交替的对象。更具体地,漫射器元件可以包括薄片、屏幕、膜或材料层,其可以在用以传递光(例如使其看起来如同玻璃)的透明状态与用于散射光(例如使其看起来如同镜子)的散射状态之间交替。例如,漫射器元件可以由材料组成,该材料响应于电刺激而从半透明(即,散射)转变为透明,或反之亦然。附加地,漫射器元件可以由材料组成,该材料可以以高达300Hz或更快的速率从半透明转变为透明,或反之亦然。
如本文中所使用,“散射状态”是指散射光的对象的状态。当对象散射光(诸如乳状液体或磨砂玻璃)时,穿过的光在角波瓣上偏转(即,使对象半透明)。这具有使通过散射介质看到的对象模糊的效果。照射到散射介质上的光可以使其看起来像明亮的白色发光对象,其颜色不会基于视图方向而改变。这使其适合于用作显示器的背景光。
如本文中所使用,“透明”是指(在不具有模糊或衰减的情况下)传递所有(几乎所有)的光的对象的状态。“半透明”可以是指传递可见光的子集的对象的状态,以使观察者可以感知穿过该对象的一些光(例如,亮度变化同时不会模糊通过光看到的对象的视图)。因此,处于半透明状态的对象比处于透明状态的同一对象传递更少的光。“不透明”是指遮挡(所有或几乎所有的)可见光(例如使得观察者无法通过该对象感知图像)的对象的状态。
对象的透明度可以取决于光的波长,从而使一些颜色比其他颜色衰减得更多。例如,红色玻璃使红色光通过,同时遮挡其他颜色。液晶显示器使用分别具有红色、绿色和模糊滤波器的相邻区域来控制红色、绿色和蓝色光带的像素的透明度。数字内容覆盖系统允许显示具有可控发射(或添加)光以及受控透明度的像素。所发射的颜色和透明度二者在单独地针对R、G和B或针对基于不同颜色滤波器的显示器的其他色带的每个像素处是可控制的。
如本文中所使用,术语“所发射的光图像”是指通过显示屏在发射状态对光进行过滤所生成的数字内容项的可见描绘。所发射的光图像可以包括通过对从漫射器直接光源发射的光进行过滤而生成的数字内容项。在一些实现中,漫射器直接光源投射或发射白光。因此,所发射的光图像可以包括任何颜色的数字内容项,其使得过滤来自穿过显示屏的白光的选择波长(或不具有波长)。所发射的光图像的序列在本文中被称为视频或视频内容,并且可以包括例如合成图形或捕获到的视频内容(由图像捕获设备捕获到的图像序列)。可以使用高级掩蔽算法或绿屏技术从视频序列中得出一组对应的透明度掩模图像。
如图1所示,示例环境100包括漫射器直接光源106和环境光源108。如本文中所使用,术语“漫射器直接光源”是指显示屏用来显示所发射的光图像的光源。特别地,漫射器直接光源包括位于显示屏后方的光源。漫射器直接光源可以是指照射到漫射器元件上并且不受其他对象(例如在显示器壳体内的对象)阻挡的定向光。作为备选,漫射器直接光源可以是指可控发射的材料薄片。在这些实现中,数字内容覆盖系统可以使用呈均匀的背景光形式的漫射器直接光源,该背景光通常是透明的,但涂覆或包含发光材料(诸如有机发光二极管)以直接照明显示屏。例如,漫射器直接光源可以是由材料制成的透明背景光,该材料在适当地进行外部照明时发出荧光或在边缘照明时发光。备选设计用以将漫射器直接光源与漫射器(例如漫射器元件104)组合在一起,其中,该光源被用于直接照明漫射器。当以这种方式并在散射状态下进行照明时,漫射器可以充当透射显示器的背景光。使用漫射器直接光源来照明漫射器可以帮助在光到达显示器之前确保光的广角扩散,从而针对显示器的任何发射功能启用了宽视角。
如本文中还使用的,术语“环境光源”是指将光投射到漫射器元件104后方的光源。例如,术语“环境光源”包括将光投射到容置在漫射器元件104后方的显示器壳体的内部腔体的光源。在漫射器元件104的后方是指漫射器元件104的与显示屏102相对的一侧。例如,环境光源可以包括从漫射器元件104的后方产生并提供光并且直接或在从显示器壳体中的对象中反射之后沿朝着显示屏102的方向投射光的光源。
如图1所图示,数字内容覆盖系统将环境光源108设置为开启状态,以照明通过漫射器元件104看到的显示屏102后方的对象。特别地,在一种或多种实现中,数字内容覆盖系统将环境光源108设置为开启状态,其中,将漫射器直接光源106设置为关闭状态。附加地或备选地,数字内容覆盖系统将环境光源108设置为闪光开启状态。在闪光开启状态,当正在显示屏102上绘制扫描线时,环境光源108关闭,并且在最后一条扫描线之后短暂地闪光开启。
如图所示,来自漫射器元件104后方的光112(由图1的表示光波的箭头所指示)在从环境光源108出来的方向上发出,穿过漫射器元件104并且穿过显示屏102。还如图所示,一些光112由显示屏102选择性地衰减(如通过箭头在穿过显示屏102之后的长度减小所示),以显示由透明度掩模图像调制的背景视图。然而,在一些实现中,显示屏102在掩蔽状态下不会对任何光112进行过滤。然而,对于LCD屏幕,即使在最大透明度的状态下,至少一半的光112通常被LCD屏幕的各个层遮挡。为了克服显示器壳体内的有形对象的这种亮度损耗,数字内容覆盖系统可以使环境光108变亮。
如图1所图示,数字内容覆盖系统将显示屏102设置为掩蔽状态,并且将漫射器元件104设置为透明状态。因此,漫射器元件104不会在光112穿过漫射器元件104时散射光112,并且显示屏102选择性地使光112衰减。因此,大多数光112穿过漫射器元件104和显示屏102以揭示在漫射器元件104后方的场景的图像。
如上文所提及,图2图示了包括显示屏102、漫射器元件104、漫射器直接光源106以及环境光源108的环境200。特别地,图2图示了处于发射状态的显示屏102、处于散射状态的漫射器元件104、处于开启状态的漫射器直接光源106以及处于关闭状态的环境光源108。数字内容覆盖系统将环境光源108设置为关闭状态并且不会朝着漫射器元件104向外投射任何光。即使如此,如图2所示,漫射器元件104遮挡(例如散射)从漫射器元件104后方发出的光112。因此,漫射器元件104阻挡了漫射器元件104后方的场景的图像投射穿过显示屏102并且对观察者可见。附加地或备选地,数字内容覆盖系统将环境光源108设置为闪光开启状态。
另外,数字内容覆盖系统将漫射器直接光源106设置为开启状态,以产生或发射光114(由图2中的箭头所图示)。来自漫射器直接光源106的光114朝着漫射器元件104向外投射。特别地,光114从漫射器直接光源106投射以照明处于散射状态的漫射器元件104。实际上,漫射器元件104散射从后方投射到其上的光114,从而模糊将以其他方式通过处于透明状态的漫射器元件104可见的任何图像,并且跨漫射器元件104产生均匀光晕(例如白光)。结果,通过以这种方式散射光114,漫射器元件104为显示屏102提供所发射的光以产生所发射的光图像。如图所示,漫射器元件104散射光114以产生朝着显示屏102投射的射线锥。因此,漫射器元件104在处于散射状态时充当显示屏102的背景光。
如所提及的,漫射器直接光源106跨漫射器元件104均匀地提供光114,以向观看由漫射器元件104背光照亮的显示屏的观察者提供均匀图片。附加地,在一些实现中,漫射器直接光源106提供包括可见光的所有波长的白光。在图2中,数字内容覆盖系统将显示屏102设置为发射状态,并且对由漫射器直接光源106投射到漫射器元件104上的一些光114进行过滤。例如,显示屏102衰减来自光114的选择波长以显示数字内容(例如,所发射的光图像)。
显示屏102的不同区域可以对光114的不同波长进行过滤,以将不同颜色显示为图像、图标、文本等的一部分。类似地,显示屏102的一些区域可以不对光114的任何波长进行过滤,而是可以使光114穿过显示屏102以显示由照明漫射器元件104的漫射器直接光源106产生的所有波长(例如以示出白色)。如图2所图示,显示屏102对光114进行过滤(例如以显示如由所发射的光图像所示的数字覆盖的至少一部分)。
尽管图1和图2图示了显示屏102、漫射器元件104、漫射器直接光源106以及环境光源108的特定布置,但附加布置也是可能的。例如,在一些实现中,漫射器直接光源可以是具有可控光晕的透明材料,诸如透明有机发光二极管(“OLED”)或OLED的栅格。在这些实现中,漫射器直接光源可以具有与漫射器元件104相同的高度和宽度,并且可以直接位于漫射器元件104的后方和/或被固定到漫射器元件104。通过另一示例,漫射器元件104可以被区域参考对象分割成像素级别。
尽管图1和图2将漫射器直接光源106图示为与漫射器元件104分离,但在一些实现中,漫射器元件104可以包括漫射器直接光源106。例如,漫射器元件104可以在一个面上包括光源(例如沿朝着环境光源108的方向的面)并且在相对的面上包括可切换漫射器(例如沿朝着显示屏102的方向的面)。因此,漫射器元件104可能能够在其中漫射器元件104传递光的透明状态(当漫射器直接光源关闭时)与其中漫射器元件104从漫射器元件104后方散射光并且还朝着显示屏102向外发射光的散射状态之间交替。
另外,尽管将图1和图2描述为如下实现:环境光源108在开启状态(例如图1)与关闭状态(例如图2)之间交替或者处于闪光开启状态的实现,但在一些实现中,数字内容覆盖系统将环境光源108维持在开启状态以投射光。在这些实现中,当漫射器元件104在散射状态下是半透明的时,漫射器元件104散射来自环境光源108的光。另外,当漫射器元件104为透明的时,漫射器元件104传递来自环境光源108的光。
如上文所提及,在一种或多种实现中,数字内容覆盖系统使这些组件(显示屏102、漫射器元件104、漫射器直接光源106以及环境光源108)同步,并基于显示速率来转换组件的状态。特别地,数字内容覆盖系统可以在比人眼可以感知的频率更快的频率下转换组件状态。因此,数字内容覆盖系统可以在漫射器元件104后方显示内容以及数字覆盖。
为了描述在第一时间点(其中,数字覆盖是可见的)与第二时间点(其中,在漫射器元件104后方的场景是可见的)之间的状态转换,图3图示了示例流程300,其中,“时间1”和“时间2”描绘了显示屏102、漫射器元件104、漫射器直接光源106以及环境光源108的相应状态。
如本文中所使用,术语“显示速率”是指改变显示屏(或显示屏的像素)和/或漫射器元件的速率或频率。特别地,术语“显示速率”包括使显示屏在掩蔽状态与发射状态之间交替(或反之亦然)的速率或频率。显示速率可以用赫兹(“Hz”)为单位表达。在一些实现中,显示速率受到与显示屏102相关联的刷新速率的限制。刷新速率通常被定义为显示器可以重绘显示器上的每个像素的速率。一些显示屏的刷新速率是144Hz,而其他显示屏的刷新速率是120Hz、72Hz、60Hz或30Hz。然而,在其他实现中,显示速率可以包括高于144Hz(例如240Hz或甚至高达300Hz)的频率。在144Hz下,显示屏102可以每秒执行多达144次转变。因此,在这些实现中,显示屏102可以每秒显示多达72个所发射的光图像(帧),以及在同一秒内显示72个透明度掩模图像调制的背景视图(帧)。在一种或多种实现中,显示速率足够快(例如高于60Hz),使得当用肉眼观察显示屏102时,在发射状态与掩蔽状态之间的转变是不可察觉的,并且显示屏的视图(例如作为透明度掩模图像与所发射的光图像的组合的数字覆盖)呈现为常量。
特别地,流程300包括显示速率时钟302,该显示速率时钟在时间1和时间2处使组件(例如显示屏102、漫射器直接光源106、漫射器104以及环境光源108)在其相应状态之间转换。如图3所图示,显示速率时钟302在显示屏元件102的刷新速率所指示的速率下重复时间1与时间2之间的转换。例如,显示速率时钟302可以按照高达144Hz的速率在时间1与时间2处的状态之间转换。在相同或其他实现中,显示速率时钟302以大于或小于144Hz(例如300Hz、240Hz、120Hz、60Hz、30Hz等)的速率在时间1与时间2之间转换。此外,显示速率时钟302可以按照在特定范围(例如从30Hz到60Hz、从60Hz到144Hz、从144Hz到300Hz等)内的速率在时间1与时间2之间转换。因此,如上文所描述,每个组件处于与时间1相对应的每秒高达150次的相应状态,并且同样处于每秒高达150次的相应时间2状态。尽管描述了特定速率,但附加(例如更快或更慢的)速率也是可能的。
如图3所图示,在时间1处,数字内容覆盖系统将显示屏102设置为发射状态,将漫射器元件104设置为散射状态,将漫射器直接光源106设置为开启状态,并且将环境光源108设置为闪光开启状态。在闪光开启状态下,当正在显示屏102上绘制扫描线时,环境光源108关闭,并且在最后一条扫描线之后短暂地闪光开启。然后,当绘制下一帧时,环境光源108再次关闭。
漫射器直接光源106朝着漫射器元件104投射光。例如,漫射器直接光源106朝着漫射器元件104投射光波304。因为漫射器元件104处于散射状态,所以漫射器元件104散射光波304以产生光线锥,并且漫射器元件104均匀地发光以针对显示屏102发光。因此,显示屏102对穿过其的光304进行过滤以显示所发射的光图像。
图3还图示了时间2处的组件的状态,其中,数字内容覆盖系统将显示屏102设置为掩蔽状态,将漫射器元件104设置为透明状态,将漫射器直接光源106设置为关闭状态,并且将环境光源108设置为闪光开启状态。在闪光开启状态下,当正在显示屏102上绘制扫描线时,环境光源108关闭,并且在最后一条扫描线之后短暂地闪光开启。然后,当绘制下一帧时,环境光源108再次关闭。
如图3所示,环境光源108将光波306向外投射穿过透明漫射器元件104和显示屏102(其可以选择性地衰减光以显示透明度掩模图像)。实际上,如图3所示,表示光波306的箭头在离开显示屏时较短,以表示穿过显示屏102的光的衰减。因此,除了透明度掩模图像之外,观察者还可以感知到光波306(以及其他光波)以看到漫射器元件104后方的场景。
如上文所提及,数字内容覆盖系统使这些组件(显示屏102、漫射器元件104、漫射器直接光源106以及环境光源108)同步,并且在时间1与时间2处的状态之间转换组件。数字内容覆盖系统根据上述显示速率(如由显示速率时钟302所图示)执行转换功能。因此,数字内容覆盖系统可以在时间2处呈现与所发射的光图像和由透明度掩模图像调制的对象视图相关联的数字覆盖,这些图像一起作为复合图像呈现给人眼。
虽然图3图示了基于显示速率以均匀比率(例如在发射状态与掩蔽状态之间的相等时间量)在组件状态之间转换,但在一些实现中,数字内容覆盖系统以不同比率在组件状态之间转换。实际上,显示屏(和其他组件)处于每种相应状态的时间比率或时间比例控制复合图像内的所发射的光图像和透明度掩模图像中的每一个的整体亮度。
例如,数字内容覆盖系统可以将时间1处的状态与时间2处的状态之间的比率改变为除了一对一对应关系之外的内容。特别地,时间1可以表示数字内容覆盖系统在时间1处将每个组件的状态维持在其相应状态的若干连续帧(例如显示速率周期)。例如,数字内容覆盖系统可以在两个、三个、四个等连续显示速率周期内维持时间1状态,而无需转换到时间2状态。同样,时间2可以表示数字内容覆盖系统在时间2处将每个组件的状态维持在其相应状态的若干连续帧。例如,数字内容覆盖系统可以在两个、三个、四个等连续显示速率周期内维持时间2状态。
以这种方式,数字内容覆盖系统可以改变组件状态之间的比率(例如占空比)。为了说明2:3的比率,数字内容覆盖系统可以基于显示速率来为两个连续帧维持时间1状态,然后数字内容覆盖系统可以将组件转换到时间2状态并且基于显示速率在三个连续帧内维持时间2状态。除了前述示例中的2:3的比率之外,数字内容覆盖系统还可以利用1:2比率、3:5比率、4:5比率,反之亦然(例如3:2、2:1、5:3或5:4)。
可以在Miller等人的美国专利第10,181,299号中找到描述了数字内容覆盖系统的附加信息,该专利特此通过全文引用并入本文。
应注意,尽管本文中将显示系统110描述为显示所发射的光图像和背景视图,但显示系统110可选地支持经由接触传感器和/或非接触传感器的输入。例如,触摸屏层可以位于显示屏102与用户之间,非接触传感器(诸如可从加利福尼亚州旧金山的Leap Motion购得的传感器或控制器)可以接收用户输入等。这将允许例如数字键盘被显示为所发射的光图像。可以接收用户输入并将其提供给显示了所发射的光图像的程序,然后可以关闭数字键盘(例如,程序停止显示数字键盘所发射的光图像)。
四倍缓冲
图4图示了实现本文中所描述的一些技术的示例显示处理器402。特别地,显示处理器402实现用于显示屏102的数据的四倍缓冲。如本文中所使用,术语“四倍缓冲”是指使用四个视频缓冲器来在显示屏102上显示内容。显示处理器包括控制器404、颜色帧缓冲器A406、阿尔法帧缓冲器A 408、颜色帧缓冲器B 410和阿尔法帧缓冲器B 412。通过显示处理器402从数字覆盖管理器接收视频数据420,该数字覆盖管理器生成、回放或以其他方式提供所发射的光图像。视频数据420包括用于颜色帧和阿尔法帧二者的数据。控制器404协调显示处理器402的操作,包括在缓冲器406、408、410和412中的哪一个要将数据作为输出422提供至显示屏(例如显示屏102)之间进行切换。显示处理器402可以被实现为独立组件(例如图形处理单元(GPU))或被实现为另一组件(例如中央处理单元(CPU))的一部分。
如上文所描述,数字内容覆盖系统通过在所发射的光图像与由透明度掩模图像衰减的对象的背景视图之间快速交替,利用可切换漫射器元件104和显示屏102来生成数字覆盖。显示处理器402支持使用颜色帧和阿尔法帧二者来实现显示系统110。
如本文中所使用,术语“颜色帧”是指描述了要在显示屏上显示的一个视频帧的数据。该数据例如是一个视频帧的像素值,向显示屏通知在其处于发射状态时哪些值用来设置显示屏的像素,以便显示期望的所发射的光图像。颜色帧可以包括描述了例如合成图像或捕获到的视频内容的数据。
如本文中所使用,术语“阿尔法帧”是指描述了将被显示为与颜色帧相对应的透明度掩模图像的一个视频帧的数据。为了便于使所发射的光图像不透明,阿尔法帧具有透明度掩模图像,该透明度掩模图像具有与针对所发射的光图像显示的图像、图标、文本等相同的形状并且在显示屏102上与该图像、图标、文本等位于大致相同的位置处。如下文更详细地描述的,在所发射的光图像正在快速移动的情况下,显示屏102上的显示了透明度掩模图像的位置可以(基于所发射的光图像正在移动的速度)与显示屏102上的显示了所发射的光图像的位置略微偏移。
在显示屏102处于发射状态时,将颜色帧提供至显示屏102,从而允许所发射的光图像被显示给用户并对用户可见。当显示屏处于掩蔽状态时,将阿尔法帧提供至显示屏102,从而对来自漫射器元件104后方的光进行过滤以显示透明度掩模图像。通过具有与针对所发射的光图像显示的图像、图标、文本等相同的形状并且与该图像、图标、文本等位于大致相同的位置处的透明度掩模图像,来自环境光源108的穿过漫射器元件104的光在透明度掩模图像正在显示屏102上进行显示的位置处至少部分地被显示屏102遮挡。因此,更少的光在透明度掩模图像位于显示屏102上的位置处通过,进而防止了漫射器元件104后方的场景渗出所发射的光图像,从而产生不透明的复合图像。
在阿尔法帧中,取决于复合图像所期望的透明度或不透明度,帧中的不作为透明度掩模图像的一部分的位置是白色,而帧中的作为透明度掩模图像的一部分的位置是在白色与黑色之间的值。如果期望复合图像是不透明的,那么阿尔法帧中的作为透明度掩模图像的一部分的位置是黑色。沿着透明度掩模图像的边缘的位置可选地是灰色的。如果期望复合图像是透明的,那么阿尔法帧中的作为透明度掩模图像的一部分的位置是在白色与黑色之间的值,其中,更接近黑色的值指示复合图像的较低透明度,而更接近白色的值指示复合图像的较高透明度。
在图5、图6、图7和图8中图示了颜色帧、阿尔法帧及其显示器的示例。图5图示了示例颜色帧502。如所图示,所发射的光图像是具有各种建筑物、树木和瀑布的漂浮球。
图6图示了示例阿尔法帧602。如所图示,透明度掩模图像604具有与颜色帧502中的所发射的光图像相同的形状并且与该所发射的光图像位于大致相同的位置。
图7图示了示例背景视图702。背景视图是如上文所讨论的漫射器元件104后方的场景的视图。背景视图702包括安放在漫射器元件104后方的桌子上的酒瓶和酒杯。
图8图示了由显示内容覆盖系统的用户看到的示例视图802。来自颜色帧502的所发射的光图像被视为覆盖了背景视图702。由颜色帧502和阿尔法帧602产生的复合图像是不透明的,并且背景视图702在颜色帧502中的浮动球和阿尔法帧602中的透明度掩模图像不存在的区域中是可见的。应了解,视图802处于特定时间点并且显示了单个颜色帧502。随着时间的流逝,视图将随着所发射的光图像和透明度掩模图像的改变而改变。
返回图4,帧缓冲器406至412被组织为两个集合:缓冲器集合A414和缓冲器集合B416。控制器404交替地具有颜色帧缓冲器和阿尔法帧缓冲器,这些缓冲器将数据提供为输出422。例如,控制器404具有将数据提供为输出422的颜色帧缓冲器,随后是将数据提供为输出422的阿尔法帧,随后是将数据提供为输出422的颜色帧,随后是将数据提供为输出422的阿尔法帧,依此类推。这种交替基于显示刷新速率而发生。
在两组缓冲器414、416的情况下,一组缓冲器用于将数据提供为输出422,而另一组缓冲器正在将新视频数据420写入其中。在某个时刻,通常在每隔一个垂直同步(Vsync)处,控制器404切换哪一组缓冲器正在将数据提供为输出422与哪一组缓冲器正在将新视频数据420写入其中。
图9图示了被显示为视频数据420的帧序列的示例900。在示例900中,显示了颜色帧902,随后是阿尔法帧904,随后是颜色帧906,随后是阿尔法帧908,随后是颜色帧910,随后是阿尔法帧912。用于颜色帧902和阿尔法帧904的数据分别由颜色帧缓冲器406和阿尔法帧缓冲器408提供。控制器404然后切换到另一组缓冲器,因此用于颜色帧906和阿尔法帧908的数据分别由颜色帧缓冲器410和阿尔法帧缓冲器412提供。控制器404然后切换到另一组缓冲器,因此用于颜色帧910和阿尔法帧912的数据分别由颜色帧缓冲器406和阿尔法帧缓冲器408提供。
返回图4,可以发生存在丢帧的情况。丢帧是指尽管是切换缓冲器集合的时间但是颜色帧或阿尔法帧仍未准备好进行显示的情况。可以出于各种不同原因(诸如所发射的光图像的渲染复杂性、视频译码、文件读取、AR显示器的物理干扰等)中的任何一种而丢弃帧。通过成组地切换阿尔法帧缓冲器和颜色帧缓冲器,一对颜色帧缓冲器和阿尔法帧缓冲器始终是当前组缓冲器,用以将数据提供为输出422。如果发生丢帧并且下一个颜色帧或阿尔法帧尚未就绪,那么控制器404将不会切换这组缓冲器。这避免了由于在显示屏102的单个绘图中显示来自两个不同帧的数据而引起的撕裂。这还导致再次显示当前颜色帧和当前阿尔法帧,然后切换这组缓冲器。因此,显示处理器402避免了显示阿尔法帧而不是颜色帧或显示颜色帧而不是阿尔法帧的情况。
通过示例,如果颜色帧910在所需时间处尚未准备好进行显示,那么从缓冲器410和412切换至缓冲器406和408将不在下一个Vsync之前发生。相反,将重复颜色帧906和阿尔法帧908的显示。
如果显示处理器402未使用两组缓冲器,那么显示处理器402可以在预期阿尔法帧时将颜色帧提供为用于输出422的数据,或在预期颜色帧时将阿尔法帧提供为用于输出422的数据。例如,如果显示处理器402仅具有单组缓冲器414,那么在正在显示阿尔法帧并且发生丢帧使得下一个颜色帧尚未就绪的情况下,控制器404将不会切换到颜色帧缓冲器406。即使期望显示颜色帧,这也会导致再次显示阿尔法帧缓冲器408中的当前阿尔法帧。因此,显示屏102将处于发射状态,而漫射器元件104将处于散射状态。这可以产生对观看者来说看似明亮闪光的事物。显示颜色帧而不是阿尔法帧或显示阿尔法帧而不是颜色帧可以引起明显的闪光。发生这些明显的闪光是因为在阿尔法帧和颜色帧中,图像的给定区域可以具有极为不同的外观。由于阿尔法帧直接用颜色值对区域的透明度进行编码,因此纯透明区域将具有黑色的发射色和白色的透明色。两次示出透明度掩模图像将导致显示器的该区域明亮闪光。两次示出颜色图像将导致显示器的该区域过度变暗。对于显示器的不透明白色区域,情况相反。两次示出颜色图像将导致显示器的该区域明亮地闪光,而两次示出透明度掩模图像将导致屏幕的该区域更暗地闪光。
显示处理器402的四倍缓冲器配置可以可选地基于提供立体四倍缓冲的商用硬件来实现。立体四倍缓冲是指将一组缓冲器用于立体显示器的左侧,而将另一组缓冲器用于显示器的右侧。颜色帧缓冲器406和阿尔法帧缓冲器408可以被映射到左部立体缓冲器,并且颜色帧缓冲器410和阿尔法帧缓冲器412可以被映射到右部立体缓冲器。因此,实现立体四倍缓冲的现有显示处理器402可以用于实现图4的四倍缓冲。即使在后部(back)缓冲器(在其中写入新视频数据420的缓冲器)尚未准备好进行交换时,也期望这种现有显示处理器402以支持左眼与右眼之间的强制性交替。
在一种或多种实现中,显示处理器402还包括先进先出(FIFO)缓冲器,并且将较小帧集合预取到FIFO中。被预取的帧的数目可以变化并且可选地为用户可配置的。FIFO越大,可以加载越多的帧以使性能变得平稳,但需以更大的存储器消耗为代价。当将帧传输到帧缓冲器406、408、410或412时,从FIFO的前部丢弃帧,并且可以将未来帧加载到FIFO的后部。未来帧可以按照各种方式被加载到FIFO中,诸如使用专用线程来经由循环像素缓冲对象(PBO)进行加载。将较小帧集合预取到FIFO中进一步平滑了帧加载和显示,从而减少了所丢弃的帧的数目。
应注意,使用本文中所讨论的技术,显示屏110可以与任何标准图像和视频读取器/译码器组合。因此,本文中所讨论的技术支持可以被显示为所发射的光图像的各种内容,而无需任何特殊或专有的编码或压缩。
应注意,从显示处理器402向显示系统110传送颜色帧和阿尔法帧两者使用仅传送颜色帧的像素带宽的两倍。因此,使用支持较大带宽的视频连接。例如,可以使用DisplayPort连接将显示处理器连接至显示系统110。
还应注意,数字内容覆盖系统正在颜色帧与阿尔法帧之间非常快速地切换显示屏102。颜色帧和阿尔法帧具有极为不同的内容,因此按顺序显示的帧之间的差异可以是可察觉的。因此,在显示系统110中使用了使用快速响应的LCD晶体的显示屏102,以向用户提供可接受的外观。
还应注意,强度缩放可以用于减少液晶转变伪像。这将所发射的光图像的动态范围减小了诸如20%,从而允许显示屏102容忍颜色帧与阿尔法帧之间的亮度急剧变化。这进一步减少了显示屏102的老化。
在一种或多种实现中,还针对显示屏102执行了伽马校正。伽马校正的使用改善了所发射的光图像的抗锯齿。
还应注意,颜色帧和阿尔法帧中的数据极为不同。因此,如果颜色帧和阿尔法帧进行了压缩,那么通常使用不同的压缩算法。例如,可以基于通常包含颜色的帧来选择用于颜色帧的压缩算法,而可以基于通常包含大部分恒定颜色的帧来选择用于阿尔法帧的压缩算法。类似地,不同编译码器可以用于颜色帧和阿尔法帧。
八倍缓冲
图10图示了实现本文中所讨论的一些技术的示例显示处理器1002。特别地,显示处理器1002实现用于显示屏102的数据的八倍缓冲。如本文中所使用,术语“八倍缓冲”是指使用八个视频缓冲器来在显示屏102上显示内容。显示处理器包括控制器1004、缓冲器的左侧类集1006以及缓冲器的右侧类集1008。缓冲器的左侧类集1006包括颜色帧缓冲器A1010、阿尔法帧缓冲器A 1012、颜色帧缓冲器B 1014和阿尔法帧缓冲器B 1016。缓冲器1010至1016被组织为两个集合:缓冲器集合A 1018和缓冲器集合B1020,每个缓冲器集合1018、1020包括颜色帧缓冲器和阿尔法帧缓冲器。缓冲器的右侧类集1008包括颜色帧缓冲器A1020、阿尔法帧缓冲器A 1022、颜色帧缓冲器B 1024以及阿尔法帧缓冲器B 1026。缓冲器1020至1026被组织为两个集合:缓冲器集合A 1028和缓冲器集合B 1030,每个缓冲器集合1028、1030包括颜色帧缓冲器和阿尔法帧缓冲器。
通过显示处理器1002从数字覆盖管理器接收视频数据1040,该数字覆盖管理器生成、回放或以其他方式提供所发射的光图像。视频数据1040针对左眼显示器和右眼显示器二者包括用于颜色帧和阿尔法帧二者的数据。控制器1004协调显示处理器1002的操作,包括在缓冲器1010、1012、1014、1016、1020、1022、1024、1026中的哪一个要将数据作为输出1022提供至显示屏(例如显示屏102)之间进行切换。显示处理器1002可以被实现为独立组件(例如GPU)或被实现为另一组件(例如CPU)的一部分。
除了显示处理器1002被设计成用于与立体显示内容覆盖系统一起使用之外,显示处理器1002与图4的显示处理器402类似。立体显示内容覆盖系统包括上文所讨论的各种组件,并且还允许立体显示。立体显示是指针对左眼显示了与针对右眼显示的图像不同的图像,从而允许将所发射的光图像视为3维(3D)图像。在一种或多种实现中,使用快门系统将显示内容覆盖系统实现为立体显示器。快门系统操作为在遮挡屏幕102的左眼视图以使得可以显示针对右眼的图像与遮挡屏幕102的右眼视图以使得可以显示针对左眼的图像之间交替。
左侧的视频缓冲器1006存储用于向左眼显示的数据。在两组缓冲器1018和1020的情况下,一组缓冲器用于将数据提供为针对左眼的输出1042,而另一组缓冲器正在将针对左眼的新视频数据1040写入其中。类似地,右侧的视频缓冲器1008存储用于向右眼显示的数据。在两组缓冲器1028和1030的情况下,一组缓冲器用于将数据提供为针对右眼的输出1042,而另一组缓冲器正在将针对右眼的新视频数据1040写入其中。
控制器1004重复经历了具有视频缓冲器序列以将数据提供为输出422。例如,该序列可以是针对左眼的颜色帧缓冲器,然后是针对右眼的颜色帧缓冲器,然后是针对左眼的阿尔法帧缓冲器,然后是针对右眼的阿尔法帧缓冲器。通过另一示例,该序列可以是针对左眼的颜色帧缓冲器,然后是针对左眼的阿尔法帧缓冲器,然后是针对右眼的颜色帧缓冲器,然后是针对右眼的阿尔法帧缓冲器。因此,例如,将数据提供为输出422的缓冲器的排序将是:颜色帧缓冲器1010、颜色帧缓冲器1020、阿尔法帧缓冲器1012、阿尔法帧缓冲器1022、颜色帧缓冲器1014、颜色帧缓冲器1024、阿尔法帧缓冲器1016、阿尔法帧缓冲器1026。
因此,除了控制器1004正在左侧的视频缓冲器1006与右侧的视频缓冲器1008之间进行切换以及针对左眼视图和右眼视图正在多组视频缓冲器之间进行切换之外,控制器1004以图4的控制器404类似的方式进行操作。
通过成组地切换在左侧1006和右侧1008中的每一个内的阿尔法帧缓冲器和颜色帧缓冲器,一对颜色帧缓冲器和阿尔法帧缓冲器始终是当前组缓冲器,以将数据提供为输出1042。如果发生丢帧并且左侧1006或右侧1008内的下一个颜色帧或阿尔法帧尚未就绪,那么控制器1004将不会切换该侧内的这组缓冲器。这避免了由于在显示屏102的单个绘图中显示来自两个不同帧的数据而引起的撕裂。这还导致再次显示当前颜色帧和当前阿尔法帧,然后切换这组缓冲器。因此,显示处理器1042避免了显示阿尔法帧而不是颜色帧或显示颜色帧而不是阿尔法帧的情况。附加地,将左右视图配对成组避免了立体显示问题,在立体显示问题中,图像并未针对立体视觉消耗适当地配对。
如果显示处理器1002未在左侧1006和右侧1008的每一个内使用两组缓冲器,那么显示处理器1002可以在预期阿尔法帧时将颜色帧提供为用于输出1042的数据,或在预期颜色帧时将阿尔法帧提供为用于输出1042的数据,类似于上文关于四倍缓冲的讨论。
在一种或多种实现中,立体显示内容覆盖系统的显示速率是实现四倍缓冲显示内容覆盖系统的显示内容覆盖系统的显示速率的至少两倍。这是因为:由于针对左眼和右眼显示不同图像,因此需要在立体显示内容覆盖系统中显示同两倍的帧一样多的帧。因此,例如,如果上文所讨论的四倍缓冲显示内容覆盖系统将使用120Hz的显示速率,那么立体显示内容覆盖系统将使用至少240Hz的显示速率。
六倍缓冲
图11图示了实现本文中所讨论的一些技术的示例显示处理器1102。特别地,显示处理器1102实现用于向显示屏110输出的数据的六倍缓冲。如本文中所使用,术语“六倍缓冲”是指使用六个视频缓冲器来在显示系统110上显示内容。显示处理器包括控制器1104、颜色帧缓冲器A 1106、阿尔法帧缓冲器A 1108、半透明帧缓冲器A 1110、颜色帧缓冲器B1112、阿尔法帧缓冲器B 1114以及半透明帧缓冲器B1116。通过显示处理器1102从数字覆盖管理器接收视频数据1120,该数字覆盖管理器生成、回放或以其他方式提供所发射的光图像。视频数据1120包括用于颜色帧、阿尔法帧以及半透明帧的数据。控制器1104协调显示处理器1102的操作,包括在缓冲器1106、1108、1110、1112、1114以及1116中的哪一个要将数据作为输出1122提供至显示系统(例如显示系统110)之间进行切换。显示处理器1102可以被实现为独立组件(例如GPU)或被实现为另一组件(例如CPU)的一部分。
如本文所使用,术语“半透明帧”是指描述了与颜色帧相对应的半透明图像的一帧的数据。半透明图像控制LCD屏幕的透明度。
在一种或多种实现中,显示处理器1102被配置为用于与在逐个像素的基础上可控制的漫射器元件一起使用。图3仅讨论了数字内容覆盖系统的每个组件的两种状态。然而,附加状态是可能的(诸如第三状态和/或第四状态)。例如,在一些实现中,数字内容覆盖系统利用第三状态来控制数字覆盖的半透明。为了说明,在一种或多种实现中,当漫射器元件104处于漫射(散射)状态时,半透明图像控制LCD屏幕的透明度,并且当禁用了LCD屏幕的直接照明(直接光源106关闭)时,启用了场景的照明(环境光源108接通或闪光开启)。
因此,通过利用该第三状态,数字内容覆盖系统可以通过在逐个像素的基础上调整由漫射器元件完成的散射量来改变模糊水平,以提供磨砂玻璃类型的覆盖。特别地,数字内容覆盖系统可以基于透明度掩模图像(处于第一状态)来控制透明度,可以基于所发射的光图像(处于第二状态)来控制颜色,并且可以基于半透明图像(处于第三状态)来控制半透明。
除了显示处理器1102被设计成用于与三种不同类型的帧一起使用之外,显示处理器1102与图4的显示处理器402类似。控制器1104重复经历了具有将数据提供为输出1122的视频缓冲器序列,该序列是颜色帧缓冲器、阿尔法帧缓冲器以及半透明帧缓冲器。
帧缓冲器1106至1116被组织为两个集合:缓冲器集合A1130和缓冲器集合B 1132。在两组缓冲器1130、1132的情况下,一组缓冲器用于将数据提供为输出1122,而另一组缓冲器正在将新视频数据1120写入其中。在某个时刻,通常在每隔三个Vsync处,控制器1104切换哪一组缓冲器正在将数据提供为输出1122与哪一组缓冲器正在将新视频数据1120写入其中。控制器1104以与图4的控制器404类似的方式进行操作,除了控制器1104正在每组三个缓冲器的两个集合(而非每组两个缓冲器的两个集合)之间切换。
通过在两组缓冲器1130、1132之间切换,一组颜色帧缓冲器、阿尔法帧缓冲器以及半透明帧缓冲器始终是当前组缓冲器,以将数据提供为输出1122。如果发生丢帧并且下一个颜色帧、阿尔法帧或半透明帧尚未就绪,那么控制器1104将不会切换这组缓冲器。在下一个颜色帧或阿尔法帧尚未就绪的情况下,这避免了由于在显示屏102的单个绘图中显示来自两个不同帧的数据而引起的撕裂。这还导致再次显示当前颜色帧、当前阿尔法帧以及当前半透明帧,然后切换这组缓冲器(例如在下一个Vsync处)。因此,显示处理器1122避免了以下情况:显示阿尔法帧而不是颜色帧或半透明帧,显示颜色帧而不是阿尔法帧或半透明帧,或显示半透明帧而不是颜色帧或阿尔法帧。
如果显示处理器1102未使用两组缓冲器,那么显示处理器1102可以在预期阿尔法帧或半透明帧时将颜色帧提供为用于输出1122的数据,在预期颜色帧或半透明帧时将阿尔法帧提供为用于输出1122的数据,或在预期颜色帧或阿尔法帧时将半透明帧提供为用于输出1122的数据。考虑到阿尔法帧、颜色帧以及半透明帧的内容极为不同,显示颜色帧和半透明帧而非预期的阿尔法帧或显示阿尔法帧或半透明帧而非预期的颜色帧可以以明亮闪光形式呈现给用户。对颜色帧或阿尔法帧而非预期的半透明帧的显示可以产生非预期的半透明。
在一种或多种实现中,使用六倍缓冲器的显示内容覆盖系统的显示速率是实现使用四倍缓冲器的显示内容覆盖系统的显示内容覆盖系统的显示速率的至少1.5倍。这是因为同1.5倍的帧一样多的帧由显示处理器1102输出。因此,例如,如果使用上文所讨论的四倍缓冲器的显示内容覆盖系统将使用120Hz的显示速率,那么使用六倍缓冲器的内容覆盖系统正将使用至少180Hz的显示速率。
图12图示了实现六倍缓冲的另一示例显示处理器1202。显示处理器包括控制器1204、颜色帧缓冲器A 1206、阿尔法帧缓冲器A 1208、相机帧缓冲器A 1210、颜色帧缓冲器B1212、阿尔法帧缓冲器B 1214以及相机帧缓冲器B 1216。通过显示处理器1202从数字覆盖管理器接收视频数据1220,该数字覆盖管理器生成、回放或以其他方式提供所发射的光图像。视频数据1220包括用于颜色帧、阿尔法帧以及相机帧的数据。控制器1204协调显示处理器1202的操作,包括在缓冲器1206、1208、1210、1212、1214以及1216中的哪一个要将数据作为输出1222提供至显示系统(例如显示系统110)之间进行切换。显示处理器1202可以被实现为独立组件(例如GPU)或被实现为另一组件(例如CPU)的一部分。
如本文中所使用,术语“相机帧”是指描述了所显示的图像的数据,使得在漫射器元件104后方的相机可以捕获显示系统110的反射。在一种或多种实现中,相机帧包括用以在显示屏102上显示黑色的数据。
附加地或备选地,因为相机帧的内容是黑色图像,所以可以用定制电路替换相机帧缓冲器(例如颜色帧缓冲器1210和1216),以在该帧时间期间直接生成黑色图像。这种定制电路的使用减少了用于实现缓冲器集合1230和1232的存储器量。
图13图示了包括位于漫射器元件后方的相机的示例环境1300。如所图示,根据一种或多种实现,示例环境1300包括显示屏102、漫射器元件104、漫射器直接光源106、环境光源108以及相机1302。除了环境1300包括相机1302之外,环境1300与图1的环境100类似。在示例环境1300中,显示屏102处于掩蔽状态并且漫射器元件104处于透明状态。显示屏102显示黑屏,从而使在漫射器元件104后方的场景(背景视图)从显示屏102反射出来,并且穿过处于透明状态的漫射器元件104,如反射1304所图示。例如,图7的背景视图702(其包括安放在漫射器元件104后方的桌子上的酒瓶和酒杯)可以被反射回相机1302。
相机1302捕获反射1304的图像,并将捕获到的图像传送到数字覆盖管理器,该数字覆盖管理器生成、回放或以其他方式提供所发射的光图像。因此,数字覆盖管理器具有背景视图的图像,并且可以按照各种不同方式中的任何一种使用该图像。例如,数字覆盖管理器可以生成背景视图的环境图,并且在生成所发射的光图像时使用该环境图来显示看起来如同折射的对象,比如,水或钻石。然后,用户可以透视折射对象以观看背景视图。所发射的光图像还可以通过过滤环境图的区域来创建磨砂玻璃的外观以计算显示屏102中的发射像素的颜色。
程序可以使用环境图的另一种方式是确定在所发射的光图像中放置对象的位置和/或如何在所发射的光图像中移动对象,使得这些对象在与背景视图交互时呈现给用户。例如,可以改变所发射的光图像以移动瀑布的位置,使得在背景视图中,水看似落入玻璃中。通过另一示例,背景视图可以包括旋转转盘,并且程序可以生成并且移动所发射的光图像中的一个或多个对象,使得这些对象在转盘顶部旋转时呈现给用户。通过又一示例,背景视图可以包括旋转转盘,并且程序可以基于转盘的角度或位置将不同对象显示为所发射的光图像。
图14图示了具有“时间1”、“时间2”以及“时间3”的流程1400,其描绘了显示屏102、漫射器元件104、漫射器直接光源106、环境光源108以及相机1302的相应状态。除了流程1400包括“时间3”和相机1302的状态之外,流程1400与图3的流程300类似。
特别地,流程1400包括显示速率时钟1402,该显示速率时钟在组件(例如,显示屏102、漫射器直接光源106、漫射器104、环境光源108以及相机1302)重复地循环通过时间1、时间2以及时间3时使这些组件在其相应状态之间转换。与图3的显示速率时钟302类似,显示速率时钟1402可以按照各种速率中的任何一种使组件在其相应状态之间转换。此外,与图3的显示速率时钟302类似,显示速率时钟1402可以按照基于显示速率的偶数比率或按照不同比率使组件在其相应状态之间转换。
如图14所图示,在时间1处,数字内容覆盖系统将显示屏102设置为发射状态,将漫射器元件104设置为散射状态,将相机1302设置为关闭状态,将漫射器直接光源106设置为开启状态,并且将环境光源108设置为闪光开启状态。相机1302在处于关闭状态时不捕获图像。漫射器直接光源106朝着漫射器元件104投射光。例如,漫射器直接光源106朝着漫射器元件104投射光波304。因为漫射器元件104处于散射状态,所以漫射器元件104散射光波304以产生光线锥,并且漫射器元件104均匀地发光以针对显示屏102发射光。因此,显示屏102对穿过其的光304进行过滤以显示所发射的光图像。
图14还图示了时间2处的组件的状态,其中,数字内容覆盖系统将显示屏102设置为掩蔽状态,将漫射器元件104设置为透明状态,将相机1302设置为关闭状态,将漫射器直接光源106设置为关闭状态,并且将环境光源108设置为闪光开启状态。如图14所示,环境光源108将光波306向外投射穿过透明漫射器元件104和显示屏102(其可以选择性地衰减光以显示透明度掩模图像)。因此,除了透明度掩模图像之外,观察者还可以感知光波306(以及其他光波)以看到漫射器元件104后方的场景。
图14还图示了时间3处的组件的状态,其中,数字内容覆盖系统将显示屏102设置为掩蔽状态,将漫射器元件104设置为透明状态,将相机1302设置为开启状态,将漫射器直接光源106设置为关闭状态,并且将环境光源108设置为闪光开启状态。环境光源108通过透明漫射器元件104和正在显示全黑的显示屏102向外投射光波306。光波306使背景视图的反射出现在显示屏102的背侧(显示屏的朝向漫射器元件104的一侧),被图示为反射1304。相机1302在处于开启状态时捕获一个或多个图像。因此,在时间3处,相机1302捕获背景视图的一个或多个图像。
数字内容覆盖系统使这些组件(显示屏102、漫射器元件104、相机1302、漫射器直接光源106以及环境光源108)同步,并且在时间1、时间2以及时间3处的状态之间转换组件。数字内容覆盖系统根据上述显示速率(如由显示速率时钟1402所图示)执行转换功能。因此,数字内容覆盖系统可以在时间2处呈现与所发射的光图像和由透明度掩模图像调制的对象视图相关联的数字覆盖,这些图像一起作为复合图像呈现给人眼,同时在时间3处捕获背景视图的图像以辅助生成所发射的光图像。
返回图12,除了显示处理器1202被设计为显示允许相机捕获背景视图的数据之外,显示处理器1202与图4的显示处理器402类似。控制器1204重复经历了具有视频缓冲器序列以将数据提供为输出1222,该序列是颜色帧缓冲器、阿尔法帧缓冲器以及相机帧缓冲器。将来自颜色帧缓冲器、阿尔法帧缓冲器以及相机帧缓冲器的数据提供至显示屏102。
帧缓冲器1206至1216被组织为两个集合:缓冲器集合A1230和缓冲器集合B1232。在两组缓冲器1230、1232的情况下,一组缓冲器用于将数据提供为输出1222,而另一组缓冲器正在将新视频数据1220写入其中。在某个时刻,通常在每隔三个Vsync处,控制器1204切换哪一组缓冲器正在将数据提供为输出1222与哪一组缓冲器正在将新视频数据1220写入其中。控制器1204以与图4的控制器404类似的方式进行操作,除了控制器1204正在每组三个缓冲器的两个集合(而非每组两个缓冲器的两个集合)之间切换。
通过在两组缓冲器1230、1232之间切换,一组颜色帧缓冲器、阿尔法帧缓冲器以及相机帧缓冲器始终是当前组缓冲器,以将数据提供为输出1222。如果发生丢帧并且下一个颜色帧、阿尔法帧或相机帧尚未就绪,那么控制器1204将不会切换这组缓冲器。在下一个颜色帧或阿尔法帧尚未就绪的情况下,这避免了由于在显示屏102的单个绘图中显示来自两个不同帧的数据而引起的撕裂。这还导致再次显示当前颜色帧、当前阿尔法帧以及当前相机帧,然后切换这组缓冲器。因此,显示处理器1222避免了以下情况:显示阿尔法帧而不是颜色帧或相机帧,显示颜色帧而不是阿尔法帧或相机帧,或显示相机帧而不是颜色帧或阿尔法帧。
如果显示处理器1202未使用两组缓冲器,那么显示处理器1202可以在预期阿尔法帧或相机帧时将颜色帧提供为用于输出1222的数据,在预期颜色帧或相机帧时将阿尔法帧提供为用于输出1222的数据,或在预期使用颜色帧或阿尔法帧时将相机帧提供为用于输出1222的数据。考虑到阿尔法帧、颜色帧以及相机帧的不同内容,显示颜色帧或相机帧而非预期的阿尔法帧,显示阿尔法帧或相机帧而非预期的颜色帧,或显示颜色帧或阿尔法帧而非预期的相机帧可能会导致如上文所描述的显示器变暗或变亮。此外,显示阿尔法帧而非预期的颜色帧或相机帧可以按照明亮闪光形式呈现给用户。
在一种或多种实现中,使用六倍缓冲器的显示内容覆盖系统的显示速率是实现使用四倍缓冲器的显示内容覆盖系统的显示内容覆盖系统的显示速率的至少1.5倍。这是因为同1.5倍的帧一样多的帧由显示处理器1402输出。因此,例如,如果使用上文所描述的四倍缓冲器的显示内容覆盖系统将使用120Hz的显示速率,那么使用六倍缓冲器的内容覆盖系统将正使用至少180Hz的显示速率。
快速移动对象
可能出现这种情况:显示所发射的光图像的程序期望将在显示屏102上移动的对象作为所发射的光图像进行显示。在一种或多种实现中,该程序渲染彼此同步的颜色帧和阿尔法帧。例如,显示了具有对象的颜色帧,随后显示了具有透明度掩模图像的阿尔法帧,该透明度掩模图像在阿尔法帧中位于与对象在颜色帧中所处的位置相同的位置。
图15图示了彼此同步的颜色帧和阿尔法帧的示例1500。示例1500是飞机在显示屏102上快速移动的情况。显示了颜色帧1502,其中飞机位于右上角,然后显示了阿尔法帧1504,其中飞机的透明度掩模图像位于与飞机在颜色帧1502中所处的位置相同的位置中。然后,显示了颜色帧1506,其中飞机已经向下且向左移动,然后显示了阿尔法帧1508,其中飞机的透明度掩模图像位于与飞机在颜色帧1506中所处的位置相同的位置中。
在对象被显示为在显示屏102上极快地移动的情况下,使颜色帧与阿尔法帧彼此同步可以导致在对象的前缘和尾缘上出现条带伪像。这通常是因为颜色帧在对象被显示在显示屏102上的位置添加了光,然后透明度掩模图像遮挡对象在显示屏102上的背景视图。追踪移动对象的用户预期了对象正在移动的速率,并且用户的眼睛已经沿着对象的预期轨迹进行了移动,因此透明度掩模图像最终遮挡了不完全为用户正在查看的位置的区域,这导致对象的前边缘看起来过明,而对象的后边缘看起来过暗。
为了解决这些条带伪像,如果对象被显示为在显示屏102上极快地移动,那么程序可以在不同时间(更接近其显示时间)处对颜色和透明度掩模图像进行采样。因此,对象在显示颜色帧时在其位置处进行渲染,而阿尔法帧在显示阿尔法帧时在其位置处进行渲染。对于合成图形,这可以涉及渲染所发射的光图像,该所发射的光图像在时间上比在其之前的透明度掩模图像晚了一个子帧。对于捕获到的视频内容,可以使用交替帧来产生所发射的光帧和透明度帧。备选地,可以使用光流和其他算法来产生中间帧,以有效地内插帧时间。
图16图示了与颜色帧和阿尔法帧的显示时间同步的颜色帧和阿尔法帧的示例1600。示例1600是飞机在显示屏102上快速移动的情况。显示了颜色帧1602,其中飞机在右上角,然后显示了阿尔法帧1604,其中飞机的透明度掩模图像已向下且向左移动。然后显示了颜色帧1606,其中飞机进一步向下且向左移动,然后显示了阿尔法帧1608,其中飞机的透明度掩模图像已更进一步地向下且向左移动。如示例1600所图示,阿尔法帧1604中的飞机的透明度掩模图像与飞机在颜色帧1602中所处的位置不在同一位置中,并且阿尔法帧1606中的飞机的透明度掩模图像与飞机在颜色帧1608中所处的位置不在同一位置中。
明亮亮点
如上文所述,如果期望所发射的光图像是透明的,那么阿尔法帧中的作为透明度掩模图像的一部分的位置是在白色与黑色之间的值,其中,更接近黑色的值指示所发射的光图像的较低透明度,而更接近白色的值指示所发射的光图像的较高透明度。可以利用透明度掩模图像来使所发射的光图像的某些部分看起来比背景视图更亮。
通过将所反射的光图像的期望部分的像素设置为颜色帧中的白色并且将透明度掩模图像中的对应像素设置为更透明,可以使该期望部分对用户看起来比背景视图更亮。例如,在RGB颜色空间中,其中(0,0,0)的(r、g、b)值表示黑色,透明度掩模图像中的对应像素可以被设置为(50,50,50)。
通过使透明度掩模图像中的对应像素更加透明,从那些对应像素处的背景视图使附加的光通过,从而使在期望部分处显示的所发射的光图像对用户来说看起来略亮。尽管落在期望部分处的光在背景视图与用户的眼睛之间的漫射器上,但期望部分看起来比背景视图略亮。
当预期所发射的光图像的一部分诸如沿着所显示的水滴的边缘为透明的时候,这种用于使该部分看起来更亮的技术特别有用。
显示器同步
考虑到颜色帧和阿尔法帧的交替显示,在设计数字内容覆盖系统时应格外小心,以免出现对于用户来说可察觉或不可接受的伪像。这种伪像的一种可能源是显示系统110本身。当改变了LCD显示屏102上的像素值时,该变化是顺序进行的(例如以从显示屏102的左上角到显示屏102的右下角的扫描方式)。然而,如果漫射器元件104未被分段或不具有逐像素的控制,那么并行地进行漫射器元件104的状态改变(例如同时改变整个漫射器元件104的状态)。在显示屏102和漫射器元件104中进行改变的方式方面的这种差异可能产生各种伪像,诸如对比度损耗。
可以使用各种不同技术来解决由于在显示屏102和漫射器元件104中进行改变的方式方面的差异而导致的这些伪像。一种这种技术是使环境光源108在比帧时间少的时间内同步开启(例如,如上文所述,在每个帧结束时使环境光源108闪光)。小于环境光源108处于开启的量可以变化,诸如仅在帧时间的80%内开启。例如,如果在特定显示速率下每秒显示144帧,那么帧时间为1÷144=0.00694秒。在该示例中,如果环境光源108在帧时间的75%内处于开启,那么在每个帧时间期间,环境光源108在0.00521秒内处于开启。
用于解决由于在显示屏102和漫射器元件104中进行变化的方式的差异而导致的伪像的另一种技术是使用分段的漫射器元件104。在一种或多种实现中,漫射器元件104未被分段,因此,漫射器元件104的状态是散射的或透明的。无法设置这种漫射器以使一个部分处于散射状态,而另一部分处于透明状态。
然而,分段式漫射器元件104能够使一些部分处于散射状态,而其他部分处于透明状态。如上文所述,这种分段式漫射器元件104是在逐个像素的基础上局部可控的漫射器元件104,其中,单独像素(或像素组)可以处于散射状态,而其他像素处于透明状态。分段式漫射器元件104的状态改变与LCD显示屏102的顺序扫描改变同步。这允许分段式漫射器元件104的像素(或像素组)的改变与LCD显示屏102中的对应像素同时(或大致同时)被改变。例如,如果分段式漫射器元件104在逐个像素的基础上为可控的,那么可以在改变LCD显示屏102上的像素值的同时以及在与改变LCD显示屏102上的像素值的速率相同的速率下按顺序更新分段式漫射器元件104中的像素(例如以从漫射器元件104的左上角到显示屏104的右下角的扫描方式)。
这种分段式漫射器元件104的另一示例是由水平带或垂直带(与LCD显示屏102的扫描图案对准)制成并且与LCD显示屏102同步的漫射器元件104。这些带的大小可以变化,诸如10至20条扫描线、漫射器元件104的大小的10%等。分段式漫射器元件104的状态改变与LCD显示屏102的顺序扫描改变同步。例如,如果分段式漫射器元件104在逐个带的基础上为可控的,那么可以在改变LCD显示屏102的对应像素的同时按顺序更新分段式漫射器元件104中的带(例如以从漫射器元件104的左上角到显示屏104的右下角的扫描方式)。
类似地,在一种或多种实现中,使用基于硬件的解决方案,切换视频缓冲器与改变漫射器元件的状态同步。图17图示了基于硬件的解决方案的示例,该解决方案用于使视频缓冲器的切换与改变漫射器元件的状态同步。如所图示,示例显示系统1700包括显示屏102和漫射器元件104。显示系统1700可以是上文所讨论的任何显示系统,诸如参考图1、图2和/或图13所讨论的显示系统110。除了光电晶体管1702和饱和LED 1704位于显示屏102的相对侧上,显示屏102和漫射器元件104与上文所讨论的显示屏类似。
一个或多个光电晶体管1702在一个或多个像素的特定区域处位于显示屏102上。生成被提供给显示屏102的视频帧,使得基于漫射器元件104的期望状态,每个帧的该特定区域中的一个或多个像素包括两种颜色(例如黑色或白色)中的一种。一个或多个光电晶体管感测该特定区域是黑色的还是白色的,并相应地转换漫射器元件104。例如,如果该特定区域是黑色的,那么将漫射器元件104设置为散射状态,并且如果该特定区域是白色的,那么将漫射器元件104设置为透明状态。
一个或多个饱和LED 1704位于显示屏102与一个或多个光电晶体管1702相对的一侧。一个或多个饱和LED 1704照明显示屏102的一个或多个像素,一个或多个光电晶体管1702位于该一个或多个像素上。一个或多个饱和LED 1704照明针对所有类型的帧的这些像素。这使得一个或多个光电晶体管1702对环境光(例如环境光源108)无关。
该基于硬件的解决方案使漫射器元件104与显示处理器同步,从而在不具有显示处理器与漫射器元件之间的直接软件链路的情况下改变哪一个帧缓冲器正在将其帧提供至显示屏102。当(例如经由串行COM端口)从显示处理器向漫射器元件发送信号时,可以由实现显示处理器的设备的操作系统施加延迟。这些延迟可以导致同步问题,这些问题通过基于硬件的解决方案避免。
组合
在本文中讨论了以透明度控制来控制增强现实显示器的各种不同方面。应注意,数字内容覆盖系统可以实现这些不同方面的各种组合。例如,相机帧缓冲器或半透明帧缓冲器可以被包括在8缓冲器立体实现中,从而产生12缓冲器实现。通过另一示例,相机帧缓冲器和半透明帧缓冲器可以被包括在8缓冲器立体实现中,从而产生16缓冲器实现。
此外,本文中参照快速移动对象、明亮亮点以及显示器同步所讨论的各种技术可以被组合在一起和/或与本文中所讨论的任何显示处理器实现一起使用。
衰减显示器(LCD)可以是灰度显示器,其以与由照明盒子的LED所发射的对应颜色同步的方式快速显示顺序图像。这将具有较高帧速率,但将允许透明度掩模图像仅仅为灰度而非颜色的模式,这可以提高显示器的能量效率。
示例过程
以下讨论描述了可以利用先前所描述的系统和设备来实现的技术。过程的各个方面可以用硬件、固件、软件或他们的组合来实现。该过程被示出为指定由一个或多个设备执行的操作并且不一定限制于用于由相应方框执行操作的顺序的一组方框。在以下讨论的部分中,将参考图1至图17。
图18是描绘了使用多组视频缓冲器经由透明度控制来控制增强现实显示器的示例实现中的过程的流程图。在该示例中,在至少第一状态与第二状态之间重复地对系统进行定序(框1802)。在第一状态,显示屏处于发射状态,并且漫射器元件处于散射状态。在第二状态,显示屏处于掩蔽状态,并且漫射器元件处于透明状态。系统还可选地包括序列中的一个或多个附加状态,诸如如上文所讨论的显示屏处于发射状态并且漫射器元件处于透明状态的第三状态。
在处于第一状态时,在显示屏上显示视频内容的所发射的光图像(框1804)。所发射的光图像包括被显示为背景视图上的覆盖的一个或多个对象。
在处于第二状态时,在显示屏上显示视频内容的透明度掩模图像(框1806)。透明度掩模图像操作以在漫射器元件处于透明状态时阻挡来自背景视图的一些光穿过显示屏。
使用第一组视频缓冲器和第二组视频缓冲器来存储用于显示屏的视频数据(框1808)。第一组视频缓冲器包括用以存储描述所发射的光图像的第一颜色帧的数据的第一颜色帧缓冲器,以及用以存储描述与第一颜色帧相对应的第一透明度掩模图像的数据的第一阿尔法帧缓冲器。第二组视频缓冲器包括用以存储描述所发射的光图像的第二颜色帧的数据的第二颜色帧缓冲器,以及用以存储描述与第二颜色帧相对应的第二透明度掩模图像的数据的第二阿尔法帧缓冲器。第一组视频缓冲器和第二组视频缓冲器还可选地包括附加帧缓冲器,诸如半透明帧缓冲器和/或相机帧缓冲器。
系统在使用第一组视频缓冲器来显示所发射的光图像和透明度掩模图像二者与使用第二组视频缓冲器来显示所发射的光图像和透明度掩模图像二者之间切换(框1810)。这导致当漫射器元件处于发射状态时,来自视频缓冲器的数据被显示在显示屏上,而当漫射器元件处于透明状态时,来自阿尔法缓冲器的数据被显示在显示屏上。
示例系统和设备
图19图示了实现数字内容覆盖系统1902的示例计算设备1900。显示内容覆盖系统至少部分地用硬件实现,并且可选地,可以部分地用软件和/或固件实现。如图19所示,数字内容覆盖系统1902可以包括数字覆盖管理器1904、显示屏管理器1906、漫射器元件管理器1908、漫射器直接光源管理器1910、环境光源管理器1912、相机管理器1914、同步器1916、视频帧缓冲器集合1918以及控制器1920。虽然图19描绘了特定数目的组件,但在一些实施例中,数字内容覆盖系统1902可以包括更多或更少的组件。例如,显示内容覆盖系统1902可以不包括相机管理器1914。另外,这些组件可以执行与在下文中所描述的那些任务不同的附加或备选任务。
数字覆盖管理器1904管理、生成、动画绘制、回放和/或创建数字内容以通过显示屏进行显示。例如,数字覆盖管理器1904响应于用以设计数字内容的用户输入来生成包括文本、图像、图标等的数字内容(例如所发射的光图像和/或透明度掩模图像、半透明图像、黑色图像)。数字覆盖管理器1904可以进一步生成看似与在显示屏后方(例如在显示器壳体内)出现的有形现实世界对象交互的数字内容。例如,数字覆盖管理器1904可以生成数字内容的数字动画,该数字内容与显示器壳体内的显示器上的对象进行虚拟交互(例如,所发射的光图像和/或透明度掩模图像,这些图像在被组合在一起时描绘出数字覆盖)。例如,背景视图可以包括旋转转盘,并且程序可以生成并且移动所发射的光图像中的一个或多个对象,使得这些对象在转盘顶部旋转时呈现给用户。
显示屏管理器1906通过显示屏(诸如上文所讨论的显示屏102)渲染数字内容,使数字内容光栅化,呈现数字内容或以其他方式显示数字内容。显示屏管理器1906还在发射状态与掩蔽状态之间转换、切换、交替或转变显示屏。在发射状态下,显示屏管理器1906激活显示屏以对光进行过滤来显示数字内容(例如所发射的光图像)。在掩蔽状态下,显示屏管理器1906改变显示屏上的有源区域(例如像素)以被动地允许一些光穿过显示屏,同时选择性地过滤其他光以显示由透明度掩模图像衰减的背景视图。
漫射器元件管理器1908管理或控制漫射器元件,诸如上文所讨论的漫射器元件104。例如,漫射器元件管理器1908将漫射器元件从散射状态转换、切换、交替或转变为透明状态,反之亦然。例如,漫射器元件管理器1908发送电信号以刺激漫射器元件内的分子变为透明的。
漫射器直接光源管理器1910管理或控制漫射器直接光源,诸如上文所讨论的漫射器直接光源106。例如,根据本文中的公开内容,漫射器直接光源管理器1910将漫射器直接光源从开启状态转换、切换、交替或转变为关闭状态,反之亦然。
环境光源管理器1912管理或控制环境光源,诸如上文所讨论的环境光源108。例如,根据本文中的公开内容,环境光源管理器1912将环境光源从开启状态(或闪光开启状态)转换、切换、交替或转变为关闭状态,反之亦然。
相机管理器1914管理或控制相机或其他图像捕获设备,诸如上文所讨论的相机1302。例如,根据本文中的公开内容,相机管理器1912将相机从开启状态转换、切换、交替或转变为关闭状态,反之亦然。
根据本文中的公开内容,同步器1916与显示屏管理器1906、漫射器元件管理器1908、漫射器直接光源管理器1910、环境光源管理器1912和/或相机管理器1914中的一个或多个通信,以进行同步、定时、触发、对准或以其他方式发起显示屏、漫射器直接光源、漫射器元件、环境光源和/或相机的转变。
视频帧缓冲器集合1918包括至少两组视频帧缓冲器,每组视频帧缓冲器至少包括颜色帧缓冲器和阿尔法帧缓冲器。每组视频帧缓冲器可选地还包括半透明帧缓冲器和相机帧缓冲器。如上文所述,视频帧缓冲器集合1918可以是例如集合414和416、集合1018、1020、1028和1030、集合1130和1132、集合1230和1232。
控制器1920在哪个视频帧缓冲器集合1918要将数据作为输出提供至显示屏(例如显示屏102)之间切换。这可以在例如Vsync处发生。例如,控制器1920可以是如上文所述的控制器404、控制器1004、控制器1104或控制器1204。
图20图示了通常在2000处的示例系统,该示例系统包括代表可以实现本文中所描述的各种技术的一个或多个计算系统和/或设备的示例计算设备2002。这通过包括显示内容覆盖系统2004来图示,该显示内容覆盖系统可以是上文所述的显示内容覆盖系统1902。计算设备2002可以是例如与客户端相关联的设备(例如客户端设备)、片上系统和/或任何其他合适的计算设备或计算系统。
如所图示的示例计算设备2002包括彼此通信地耦合的处理系统2004、一个或多个计算机可读介质2006以及一个或多个I/O接口2008。尽管未示出,但计算设备2002还可以包括将各种组件彼此耦合的系统总线或其他数据和命令传输系统。系统总线可以包括不同总线结构中的任何一个或组合,诸如存储器总线或存储器控制器、外围总线、通用串行总线和/或利用各种总线架构中的任何一种的处理器或局部总线。还预期了各种其他示例,诸如控制线和数据线。
处理系统2004代表用以使用硬件来执行一个或多个操作的功能性。因此,将处理系统2004图示为包括可以被配置为处理器、功能块等的硬件元件2010。这可以包括作为使用一个或多个半导体形成的专用集成电路或其他逻辑设备的硬件中的实现。硬件元件2010不受形成这些硬件元件的材料或其中采用的处理机制限制。例如,处理器可以由(多个)半导体和/或晶体管(例如电子集成电路(IC))组成。在这种上下文中,处理器可执行指令可以是电子可执行指令。如上文所述,处理系统2004可以包括例如显示处理器402、显示处理器1002、显示处理器1102或显示处理器1202。
将计算机可读存储介质2006图示为包括存储器/存储装置2012。存储器/存储装置2012表示与一个或多个计算机可读介质相关联的存储器/存储装置容量。存储器/存储装置2012可以包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、闪速存储器、光盘、磁盘等))。存储器/存储装置2012可以包括固定介质(例如RAM、ROM、固定硬盘驱动器等)以及可移除介质(例如闪速存储器、可移除硬盘驱动器、光盘等)。如下文进一步描述的,计算机可读介质2006可以用各种其他方式配置。
(多个)输入/输出接口2008代表如下操作的功能性:允许用户向计算设备2002录入命令和信息,并且还允许使用各种输入/输出设备将信息呈现给用户和/或其他组件或设备。输入设备的示例包括键盘、光标控制设备(例如鼠标)、麦克风、扫描仪、触摸功能性(例如被配置为检测物理触摸的电容式或其他传感器)、相机(例如,其可以采用可见波长或不可见波长(诸如红外频率)来将移动识别为不涉及触摸的姿势)等。输出设备的示例包括显示设备(例如监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备等。因此,可以按照如下文进一步描述的各种方式配置计算设备2002以支持用户交互。
本文中可以在软件、硬件元件或程序模块的一般上下文中描述各种技术。通常,这些模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、组件、数据结构等。如本文中使用的术语“模块”、“功能性”和“组件”通常表示软件、固件、硬件或其组合。本文中所描述的技术的特征是与平台无关的,这意味着可以在具有各种处理器的各种商业计算平台上实现这些技术。
所描述的模块和技术的实现可以被存储在某种形式的计算机可读介质上或在某种形式的计算机可读介质上传输。计算机可读介质可以包括可以由计算设备2002访问的各种介质。通过示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
“计算机可读存储介质”是指与仅仅信号传输、载波或信号本身相比能够实现信息的持久性存储和/或非瞬态存储的介质和/或设备。计算机可读存储介质是非信号承载介质。计算机可读存储介质包括硬件(诸如易失性和非易失性介质、可移除和不可移除介质)和/或用适合于存储诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据的信息的方法或技术实现的存储设备。计算机可读存储介质的示例可以包括但不限于:RAM、ROM、EEPROM、闪速存储器或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储装置、硬盘、磁带盒、磁带、磁盘存储装置或其他磁性存储设备,或适合于存储期望信息并且可以由计算机访问的其他存储设备、有形介质或制品。
“计算机可读信号介质”是指信号承载介质,该信号承载介质被配置为诸如经由网络将指令传送到计算设备2002的硬件。信号介质通常可以在经调制的数据信号(诸如载波、数据信号或其他运输机制)中实施计算机可读指令、数据结构、程序模块或其他数据。信号介质还包括任何信息递送介质。术语“经调制的数据信号”是指按照对信号中的信息进行编码的这种方式来设置或改变其特性中的一种或多种。通过示例而非限制,通信介质包括有线介质,诸如有线网络或直接有线连接;和无线介质,诸如声学、RF、红外和其他无线介质。
如先前所描述的,硬件元件2010和计算机可读介质2006代表以硬件形式实现的模块、可编程设备逻辑和/或固定设备逻辑,可以在一些实现中采用这些装置来实现本文中所描述的技术的至少一些方面,诸如执行一个或多个指令。硬件可以包括集成电路或片上系统、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑设备(CPLD)的组件以及硅或其他硬件中的其他实现。在此上下文中,硬件可以操作为处理设备,该处理设备执行由指令定义的程序任务和/或由硬件以及用于存储用于执行的指令的硬件实施的逻辑,例如先前所描述的计算机可读存储介质。
前述的组合也可以用于实现本文中所描述的各种技术。因此,软件、硬件或可执行模块可以被实现为一个或多个指令和/或逻辑(这些指令和/或逻辑实施在某种形式的计算机可读存储介质上)和/或由一个或多个硬件元件2010实现。计算设备2002可以被配置为实现与软件和/或硬件模块相对应的特定指令和/或功能。因此,可以至少部分地用硬件(例如,通过使用处理系统2004的计算机可读存储介质和/或硬件元件2010)实现由计算设备2002可执行的、作为软件的模块的实现。指令和/或功能可以由一个或多个制品(例如一个或多个计算设备2002和/或处理系统2004)可执行/可操作,以实现本文中所描述的技术、模块和示例。
本文中所描述的技术可以由计算设备2002的各种配置支持,并且不限于本文中所描述的技术的具体示例。该功能性还可以全部或部分地通过使用分布式系统来实现,诸如,经由如下文所描述的平台2016通过“云”2014来实现。
云2014包括和/或代表用于资源2018的平台2016。平台2016使云2014的硬件(例如服务器)和软件资源的基础功能性抽象化。资源2018可以包括在远离计算设备2002的服务器上执行计算机处理时可以被利用的应用和/或数据。资源2018还可以包括通过互联网和/或通过订户网络(诸如蜂窝网络或Wi-Fi网络)提供的服务。
平台2016可以使资源和功能抽象化以将计算设备2002与其他计算设备连接。平台2016还可以用于使资源缩放抽象化,以提供对应级别的缩放来满足对经由平台2016实现的资源2018的需求。因此,在互连的设备实施例中,本文中所描述的功能性的实现可以分布在整个系统2000中。例如,该功能性可以部分地在计算设备2002上被实现以及经由使云2014的功能性抽象化的平台2016来实现。
结论
虽然已经用特定于结构特征和/或方法动作的语言描述了本发明,但应理解,在所附权利要求书中定义的本发明不必限于所描述的特定特征或动作。相反,特定特征和动作作为实现所要求保护的发明的示例形式而被公开。

Claims (20)

1.一种用于使用系统来显示在背景场景上方的数字内容覆盖的方法,所述方法包括:
对所述系统在第一状态与第二状态之间进行定序,所述第一状态包括:所述系统的显示屏处于发射状态并且所述系统的漫射器元件处于散射状态以用于显示所发射的光图像,所述第二状态包括:所述显示屏处于掩蔽状态并且所述漫射器元件处于透明状态以用于充当到所述背景场景的透视窗口;
在处于所述第一状态时,在所述显示屏上显示视频内容的一个或多个所发射的光图像;
在处于所述第二状态时,在所述显示屏上显示所述视频内容的一个或多个透明度掩模图像,每个透明度掩模图像具有与所述一个或多个所发射的光图像中的一个光图像大致相同的形状,以阻挡在与所述一个或多个所发射的光图像中的所述一个光图像大致相同的区域处的所述背景场景;
使用第一组视频缓冲器和第二组视频缓冲器来存储用于所述显示屏的视频数据,
所述第一组视频缓冲器包括第一颜色帧缓冲器和第一阿尔法帧缓冲器,所述第一颜色帧缓冲器用以存储描述第一所发射的光图像的第一颜色帧的数据,所述第一阿尔法帧缓冲器用以存储描述与所述第一颜色帧相对应的第一透明度掩模图像的数据,
所述第二组视频缓冲器包括第二颜色帧缓冲器和第二阿尔法帧缓冲器,所述第二颜色帧缓冲器用以存储描述第二所发射的光图像的第二颜色帧的数据,所述第二阿尔法帧缓冲器用以存储描述与所述第二颜色帧相对应的第二透明度掩模图像的数据;以及
在使用所述第一组视频缓冲器来显示所述第一所发射的光图像和所述第一透明度掩模图像二者与使用所述第二组视频缓冲器来显示所述第二所发射的光图像和所述第二透明度掩模图像二者之间切换。
2.根据权利要求1所述的方法,每个透明度掩模图像在所述显示屏上具有与所述一个或多个所发射的光图像中的一个光图像大致相同的位置。
3.根据权利要求1所述的方法,所述切换包括每隔一个垂直同步进行切换。
4.根据权利要求1所述的方法,其中所述第一组视频缓冲器和所述第二组视频缓冲器用以存储用于向用户的左眼而不是所述用户的右眼显示的视频数据,所述方法还包括:
使用第三组视频缓冲器和第四组视频缓冲器来存储用于朝所述用户的右眼而不是所述用户的所述左眼的所述显示屏的视频数据,
所述第三组视频缓冲器包括第三颜色帧缓冲器和第三阿尔法帧缓冲器,所述第三颜色帧缓冲器用以存储描述第三所发射的光图像的第三颜色帧的数据,所述第三阿尔法帧缓冲器用以存储描述与所述第三颜色帧相对应的第三透明度掩模图像的数据,
所述第四组视频缓冲器包括第四颜色帧缓冲器和第四阿尔法帧缓冲器,所述第四颜色帧缓冲器用以存储描述第四所发射的光图像的第四颜色帧的数据,所述第四阿尔法帧缓冲器用以存储描述与所述第四颜色帧相对应的第四透明度掩模图像的数据;以及
在使用所述第三组视频缓冲器来显示所述第三所发射的光图像和所述第三透明度掩模图像二者与使用所述第四组视频缓冲器来显示所述第四所发射的光图像和所述第四透明度掩模图像二者之间切换。
5.根据权利要求1所述的方法,其中所述第一组视频缓冲器还包括用以存储描述所述视频内容的第一半透明图像的数据的第一半透明帧缓冲器,所述第二组视频缓冲器还包括用以存储描述所述视频内容的第二半透明图像的数据的第二半透明帧缓冲器,所述定序包括按顺序通过所述第一状态、所述第二状态以及第三状态,在使用所述第一组视频缓冲器与使用所述第二组视频缓冲器之间的所述切换包括:
在使用所述第一组视频缓冲器来显示所述第一所发射的光图像、所述第一透明度掩模图像以及所述第一半透明图像与使用所述第二组视频缓冲器来显示所述第二所发射的光图像、所述第二透明度掩模图像以及所述第二半透明图像之间切换。
6.根据权利要求1所述的方法,所述定序包括按顺序通过所述第一状态、所述第二状态以及第三状态,所述第三状态包括:所述显示屏处于掩蔽状态并且所述漫射器元件处于所述透明状态,在使用所述第一组视频缓冲器与使用所述第二组视频缓冲器之间的所述切换包括:
在使用所述第一组视频缓冲器来显示所述第一所发射的光图像、所述第一透明度掩模图像以及黑色图像与使用所述第二组视频缓冲器来显示所述第二所发射的光图像、所述第二透明度掩模图像以及所述黑色图像之间切换。
7.根据权利要求1所述的方法,所述第一透明度掩模图像与所述第一透明度掩模图像的显示时间同步而不是与所述第一所发射的光图像的所述第一颜色帧同步,并且所述第二透明度掩模图像与所述第二透明度掩模图像的显示时间同步而不是与所述所发射的光图像的所述第二颜色帧同步。
8.根据权利要求1所述的方法,还包括:增加所述透明度掩模图像的一部分的透明度以使所述所发射的光图像的对应部分显得更亮。
9.根据权利要求1所述的方法,所述漫射器元件包括分段式漫射器元件,所述方法还包括:使所述显示屏的像素值的改变与所述分段式漫射器元件中的像素状态的改变同步。
10.根据权利要求1所述的方法,所述第一组视频缓冲器和所述第二组视频缓冲器被包括在显示处理器中,所述第一颜色帧包括特定区域中的一个或多个像素,所述一个或多个像素被设置为一种颜色以指示将所述漫射器元件设置为在所述显示处理器与所述漫射器元件之间不具有直接软件链路的所述散射状态,并且所述一个或多个像素被设置为不同颜色以指示将所述漫射器元件设置为在所述显示处理器与所述漫射器元件之间不具有直接软件链路的所述透明状态。
11.一种用于控制显示系统的显示处理器,所述显示处理器包括:
第一组视频缓冲器,所述第一组视频缓冲器包括第一颜色帧缓冲器和第一阿尔法帧缓冲器,所述第一颜色帧缓冲器用以存储描述第一所发射的光图像的第一颜色帧的数据,所述第一阿尔法帧缓冲器用以存储描述与所述第一颜色帧相对应的第一透明度掩模图像的数据;
第二组视频缓冲器,所述第二组视频缓冲器包括第二颜色帧缓冲器和第二阿尔法帧缓冲器,所述第二颜色帧缓冲器用以存储描述第二所发射的光图像的第二颜色帧的数据,所述第二阿尔法帧缓冲器用以存储描述与所述第二颜色帧相对应的第二透明度掩模图像的数据;
控制器,所述控制器在使用所述第一组视频缓冲器来显示所述第一所发射的光图像和所述第一透明度掩模图像二者与使用所述第二组视频缓冲器来显示所述第二所发射的光图像和所述第二透明度掩模图像二者之间切换;
显示屏管理器,所述显示屏管理器用以对所述显示系统的显示屏在第一状态与第二状态之间进行定序,所述第一状态包括:所述显示屏处于发射状态,并且所述第二状态包括:所述显示屏处于掩蔽状态,所述显示屏在处于所述第一状态时显示视频内容的所发射的光图像并且在处于所述第二状态时显示所述视频数据的透明度掩模图像,所述透明度掩模图像具有与所发射的光图像大致相同的形状;以及
漫射器元件管理器,所述漫射器元件管理器用以使所述显示系统的漫射器元件按顺序通过所述第一状态和所述第二状态,所述第一状态包括:所述漫射器元件处于散射状态,并且所述第二状态包括:所述漫射器元件处于透明状态。
12.根据权利要求11所述的显示处理器,每个透明度掩模图像在所述显示屏上具有与所述一个或多个所发射的光图像中的一个所发射的光图像大致相同的位置。
13.根据权利要求11所述的显示处理器,其中所述第一组视频缓冲器和所述第二组视频缓冲器用以存储用于向用户的左眼而不是所述用户的右眼显示的视频数据,所述显示处理器还包括:
第三组视频缓冲器,所述第三组视频缓冲器包括第三颜色帧缓冲器和第三阿尔法帧缓冲器,所述第三颜色帧缓冲器用以存储描述第三所发射的光图像的第三颜色帧的数据,所述第三阿尔法帧缓冲器用以存储描述与所述第三颜色帧相对应的第三透明度掩模图像的数据,所述第三所发射的光图像和所述第三透明度掩模图像用于朝所述用户的所述左眼而不是所述用户的所述右眼的所述显示屏;
第四组视频缓冲器,所述第四组视频缓冲器包括第四颜色帧缓冲器和第四阿尔法帧缓冲器,所述第四颜色帧缓冲器用以存储描述第四所发射的光图像的第四颜色帧的数据,所述第四阿尔法帧缓冲器用以存储描述与所述第四颜色帧相对应的第四透明度掩模图像的数据,所述第三所发射的光图像和所述第三透明度掩模图像用于朝所述用户的所述左眼而不是所述用户的所述右眼的所述显示屏;以及
所述控制器,所述控制器还用以在使用所述第三组视频缓冲器来显示所述第三所发射的光图像和所述第三透明度掩模图像二者与使用所述第四组视频缓冲器来显示所述第四所发射的光图像和所述第四透明度掩模图像二者之间切换。
14.根据权利要求11所述的显示处理器,其中所述第一组视频缓冲器还包括用以存储描述所述视频内容的第一半透明图像的数据的第一半透明帧缓冲器,所述第二组视频缓冲器还包括用以存储描述所述视频内容的第二半透明图像的数据的第二半透明帧缓冲器,所述控制器用以在使用所述第一组视频缓冲器来显示所述第一所发射的光图像、所述第一透明度掩模图像以及所述第一半透明图像与使用所述第二组视频缓冲器来显示所述第二所发射的光图像、所述第二透明度掩模图像以及所述第二半透明图像之间切换。
15.根据权利要求11所述的显示处理器,其中所述第一组视频缓冲器还包括用以存储针对黑色图像的数据的第一相机帧缓冲器,所述第二组视频缓冲器还包括用以存储针对所述黑色图像的数据的第二相机帧缓冲器,所述显示屏和所述漫射器元件二者将按顺序通过所述第一状态、所述第二状态以及第三状态,所述第三状态包括:所述显示屏处于所述发射状态并且所述漫射器元件处于所述透明状态,所述控制器用以在使用所述第一组视频缓冲器来显示所述第一所发射的光图像、所述第一透明度掩模图像以及所述黑色图像与使用所述第二组视频缓冲器来显示所述第二所发射的光图像、所述第二透明度掩模图像以及所述黑色图像之间切换。
16.根据权利要求11所述的显示处理器,所述显示屏和所述漫射器元件二者用以按顺序通过所述第一状态、所述第二状态以及第三状态,所述第三状态包括:所述显示屏处于所述发射状态,所述漫射器元件处于所述透明状态,并且电路生成黑色图像以用于在所述第三状态下显示在所述显示屏上。
17.根据权利要求11所述的显示处理器,所述第一透明度掩模图像与所述第一透明度掩模图像的显示时间同步,而不是与所述第一所发射的光图像的所述第一颜色帧同步,并且所述第二透明度掩模图像与所述第二透明度掩模图像的显示时间同步,而不是与所述所发射的光图像的所述第二颜色帧同步。
18.根据权利要求11所述的显示处理器,还包括具有增加的透明度以使所述第一所发射的光图像的对应部分显得更亮的所述第一透明度掩模图像。
19.根据权利要求11所述的显示处理器,所述第一颜色帧包括特定区域中的一个或多个像素,所述一个或多个像素被设置为一种颜色以指示将所述漫射器元件设置为所述散射状态,并且所述一个或多个像素被设置为不同颜色以指示将所述漫射器元件设置为所述透明状态。
20.一种用于使用显示系统来显示在背景场景上方的数字内容覆盖的计算设备,所述计算设备包括:
处理器;
第一组视频缓冲器,所述第一组视频缓冲器包括第一颜色帧缓冲器和第一阿尔法帧缓冲器,所述第一颜色帧缓冲器用以存储描述第一所发射的光图像的第一颜色帧的数据,所述第一阿尔法帧缓冲器用以存储描述与所述第一颜色帧相对应的第一透明度掩模图像的数据;
第二组视频缓冲器,所述第二组视频缓冲器包括第二颜色帧缓冲器和第二阿尔法帧缓冲器,所述第二颜色帧缓冲器用以存储描述第二所发射的光图像的第二颜色帧的数据,所述第二阿尔法帧缓冲器用以存储描述与所述第二颜色帧相对应的第二透明度掩模图像的数据;以及
计算机可读存储介质,所述计算机可读存储介质上存储有多个指令,所述多个指令响应于由所述处理器执行而使所述处理器执行操作,所述操作包括:
对所述显示系统在第一状态与第二状态之间进行定序,所述第一状态包括:所述系统的显示屏处于发射状态并且所述系统的漫射器元件处于散射状态以用于显示所发射的光图像,所述第二状态包括:所述显示屏处于掩蔽状态并且所述漫射器元件处于透明状态以用于充当所述背景场景的透视窗口;
在处于所述第一状态时,在所述显示屏上显示视频内容的一个或多个所发射的光图像;
在处于所述第二状态时,在所述显示屏上显示所述视频内容的一个或多个透明度掩模图像,每个透明度掩模图像具有与所述一个或多个所发射的光图像中的一个光图像大致相同的形状,以阻挡在与所述一个或多个所发射的光图像中的所述一个光图像大致相同的区域处的所述背景场景;以及
在使用所述第一组视频缓冲器来显示所述第一所发射的光图像和所述第一透明度掩模图像二者与使用所述第二组视频缓冲器来显示所述第二所发射的光图像和所述第二透明度掩模图像二者之间切换。
CN202010072373.5A 2019-05-13 2020-01-21 数字内容覆盖的方法、计算设备及显示处理器 Active CN111935538B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/410,630 US10847117B1 (en) 2019-05-13 2019-05-13 Controlling an augmented reality display with transparency control using multiple sets of video buffers
US16/410,630 2019-05-13

Publications (2)

Publication Number Publication Date
CN111935538A true CN111935538A (zh) 2020-11-13
CN111935538B CN111935538B (zh) 2023-01-13

Family

ID=69897014

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010072373.5A Active CN111935538B (zh) 2019-05-13 2020-01-21 数字内容覆盖的方法、计算设备及显示处理器

Country Status (5)

Country Link
US (1) US10847117B1 (zh)
CN (1) CN111935538B (zh)
AU (1) AU2020200804B2 (zh)
DE (1) DE102020000789A1 (zh)
GB (1) GB2583997B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113296723A (zh) * 2021-05-21 2021-08-24 重庆紫光华山智安科技有限公司 目标框与视频帧的同步显示方法、系统、设备及介质
CN113470570A (zh) * 2021-07-15 2021-10-01 中科芯集成电路有限公司 一种led显示驱动芯片sram控制方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11694385B2 (en) * 2021-06-08 2023-07-04 Sony Group Corporation 3D microgeometry and reflectance modeling
KR20230103379A (ko) 2021-12-31 2023-07-07 삼성전자주식회사 Ar 처리 방법 및 장치
CN115297312A (zh) * 2022-08-04 2022-11-04 深圳市瑞云科技有限公司 一种传输图像透明度信息的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6603482B1 (en) * 2000-01-31 2003-08-05 Evans & Sutherland Computer Corporation Screen space effects utilizing the alpha channel and the alpha buffer
US20050166214A1 (en) * 2002-07-29 2005-07-28 Silicon Graphics, Inc. System and method for managing graphics applications
CN101371247A (zh) * 2005-12-19 2009-02-18 辉达公司 用于图形处理器的并行阵列结构
US20140192281A1 (en) * 2013-01-04 2014-07-10 Disney Enterprises, Inc. Switching dual layer display with independent layer content and a dynamic mask
CN104917990A (zh) * 2014-03-12 2015-09-16 索尼电脑娱乐美国公司 通过调整垂直消隐进行视频帧速率补偿
US20170041598A1 (en) * 2015-08-05 2017-02-09 Disney Enterprises, Inc. Switched emissive transparent display with controllable per-pixel opacity
US10181299B1 (en) * 2017-11-30 2019-01-15 Adobe Systems Incorporated Generating digital content overlays in relation to real-world objects via a display case with a multi-layered transmissive display

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100097293A1 (en) * 2008-10-16 2010-04-22 Mcmahon Roy P Overlay Display Device
US10424115B2 (en) * 2014-04-24 2019-09-24 Christof Ellerbrock Head-worn platform for integrating virtuality with reality
CN107633822B (zh) * 2017-10-27 2020-06-05 上海天马微电子有限公司 一种显示装置和显示装置的驱动方法
KR20200063614A (ko) * 2018-11-28 2020-06-05 주식회사 라온텍 Ar/vr/mr 시스템용 디스플레이 유닛

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6603482B1 (en) * 2000-01-31 2003-08-05 Evans & Sutherland Computer Corporation Screen space effects utilizing the alpha channel and the alpha buffer
US20050166214A1 (en) * 2002-07-29 2005-07-28 Silicon Graphics, Inc. System and method for managing graphics applications
CN101371247A (zh) * 2005-12-19 2009-02-18 辉达公司 用于图形处理器的并行阵列结构
US20140192281A1 (en) * 2013-01-04 2014-07-10 Disney Enterprises, Inc. Switching dual layer display with independent layer content and a dynamic mask
CN104917990A (zh) * 2014-03-12 2015-09-16 索尼电脑娱乐美国公司 通过调整垂直消隐进行视频帧速率补偿
US20170041598A1 (en) * 2015-08-05 2017-02-09 Disney Enterprises, Inc. Switched emissive transparent display with controllable per-pixel opacity
US10181299B1 (en) * 2017-11-30 2019-01-15 Adobe Systems Incorporated Generating digital content overlays in relation to real-world objects via a display case with a multi-layered transmissive display

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SMITHWICK,QUINN: "A switched emissive transparent display with controllable per-pixel opacity", 《JOURNAL OF THE SOCIETY FOR INFORMATION DISPLAY》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113296723A (zh) * 2021-05-21 2021-08-24 重庆紫光华山智安科技有限公司 目标框与视频帧的同步显示方法、系统、设备及介质
CN113296723B (zh) * 2021-05-21 2022-04-01 重庆紫光华山智安科技有限公司 目标框与视频帧的同步显示方法、系统、设备及介质
CN113470570A (zh) * 2021-07-15 2021-10-01 中科芯集成电路有限公司 一种led显示驱动芯片sram控制方法

Also Published As

Publication number Publication date
GB2583997A (en) 2020-11-18
US10847117B1 (en) 2020-11-24
US20200365114A1 (en) 2020-11-19
DE102020000789A1 (de) 2020-11-19
GB2583997B (en) 2021-06-16
AU2020200804A1 (en) 2020-12-03
GB202001823D0 (en) 2020-03-25
CN111935538B (zh) 2023-01-13
AU2020200804B2 (en) 2021-08-05

Similar Documents

Publication Publication Date Title
CN111935538B (zh) 数字内容覆盖的方法、计算设备及显示处理器
US9916794B2 (en) Switched emissive transparent display with controllable per-pixel opacity
CN101548277B (zh) 多并行处理器的计算机图形系统
US9132361B2 (en) Projectable masks
EP2461318A2 (en) Emissive display blended with diffuse reflection
TWI402792B (zh) 更新電子紙顯示器的獨立像素波形
US10497326B2 (en) Generating digital content overlays in relation to real-world objects via a display case with a multi-layered transmissive display
US9773475B2 (en) System and method for displaying layered images
US20110175902A1 (en) Multilayer display device
CN101290761B (zh) 显示装置、显示装置的驱动方法和电子仪器
US8857994B2 (en) Transparent display with dynamic mask
JP2006251796A (ja) ちらつき及びボケを低減する画像表示デバイス
JP2010146010A (ja) 情報表示装置
EP2656340A2 (en) Display region refresh
KR20110078292A (ko) 멀티 영상 표시 시스템
Riecke et al. Selected technical and perceptual aspects of virtual reality displays
KR20200063614A (ko) Ar/vr/mr 시스템용 디스플레이 유닛
Lincoln Low latency displays for augmented reality
US20070024642A1 (en) Multi-plane display for displaying overlapping images
US11710467B2 (en) Display artifact reduction
KR102235679B1 (ko) 시각 효과를 가지는 객체를 디스플레이하는 장치 및 방법
US11462180B1 (en) Multi-layered display apparatus having a mesh layer with light emitting diodes
JP2013029563A (ja) 表示装置および表示方法
Smithwick A switched emissive transparent display with controllable per‐pixel opacity
CN108461038A (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
GR01 Patent grant
GR01 Patent grant