CN111919437B - 用于头部跟踪自动立体显示器的立体编织 - Google Patents
用于头部跟踪自动立体显示器的立体编织 Download PDFInfo
- Publication number
- CN111919437B CN111919437B CN201980021850.0A CN201980021850A CN111919437B CN 111919437 B CN111919437 B CN 111919437B CN 201980021850 A CN201980021850 A CN 201980021850A CN 111919437 B CN111919437 B CN 111919437B
- Authority
- CN
- China
- Prior art keywords
- mask
- image
- display device
- pixels
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000009940 knitting Methods 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 69
- 230000005540 biological transmission Effects 0.000 claims abstract description 9
- 230000015654 memory Effects 0.000 claims description 50
- 238000012545 processing Methods 0.000 claims description 21
- 238000012886 linear function Methods 0.000 claims description 9
- 210000003128 head Anatomy 0.000 description 67
- 230000006870 function Effects 0.000 description 53
- 230000008569 process Effects 0.000 description 24
- 239000000463 material Substances 0.000 description 22
- 238000004422 calculation algorithm Methods 0.000 description 21
- 230000000875 corresponding effect Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 16
- 238000004590 computer program Methods 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 10
- 238000009941 weaving Methods 0.000 description 9
- 230000004888 barrier function Effects 0.000 description 8
- 230000008033 biological extinction Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 8
- 238000005286 illumination Methods 0.000 description 8
- 230000001419 dependent effect Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 239000011521 glass Substances 0.000 description 7
- 230000009471 action Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 230000008447 perception Effects 0.000 description 4
- 125000006850 spacer group Chemical group 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 206010047571 Visual impairment Diseases 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/366—Image reproducers using viewer tracking
- H04N13/383—Image reproducers using viewer tracking for tracking with gaze detection, i.e. detecting the lines of sight of the viewer's eyes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/302—Image reproducers for viewing without the aid of special glasses, i.e. using autostereoscopic displays
- H04N13/305—Image reproducers for viewing without the aid of special glasses, i.e. using autostereoscopic displays using lenticular lenses, e.g. arrangements of cylindrical lenses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/122—Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/302—Image reproducers for viewing without the aid of special glasses, i.e. using autostereoscopic displays
- H04N13/31—Image reproducers for viewing without the aid of special glasses, i.e. using autostereoscopic displays using parallax barriers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/366—Image reproducers using viewer tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/302—Image reproducers for viewing without the aid of special glasses, i.e. using autostereoscopic displays
- H04N13/307—Image reproducers for viewing without the aid of special glasses, i.e. using autostereoscopic displays using fly-eye lenses, e.g. arrangements of circular lenses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/366—Image reproducers using viewer tracking
- H04N13/376—Image reproducers using viewer tracking for tracking left-right translational head movements, i.e. lateral movements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
描述了用于进行以下步骤的系统和方法:确定与观看显示设备的发射界面相关联的被跟踪方位;使用被跟踪方位来生成表示与显示设备的发射界面相关联的第一组值的第一遮罩;使用被跟踪方位来生成表示与显示设备的发射界面相关联的第二组值的第二遮罩;以及使用第一遮罩和第二遮罩来生成输出图像。
Description
相关申请的交叉引用
本申请要求于2019年1月16日提交的美国申请No.16/249,551的优先权,该美国申请要求于2018年7月10日提交的美国临时申请No.62/696,188的优先权,其公开内容通过引用整体地并入本文。
技术领域
本说明书总体上涉及可以在生成在自动立体显示器上呈现的内容中使用的方法、设备和算法。
背景技术
体验传统的三维(3D)内容可以包括访问头戴式显示器(HMD)设备以适当地观看此类内容并与之交互。可以为HMD设备计算并制造出特定光学器件,以便提供逼真的3D图像以进行显示。然而,HMD设备的使用对用户来说持续地穿戴可能是麻烦的。因此,用户可以利用自动立体显示器来访问具有3D感知的用户体验,而无需使用HMD设备(例如,护目镜或头饰)。自动立体显示器采用光学部件来为同一平面上各种不同的图像实现3D效果并且从多个视点提供此类图像以产生3D空间的错觉。
发明内容
一个或多个计算机的系统能够被配置成借助于在系统上安装软件、固件、硬件或它们的组合来执行特定操作或动作,该软件、固件、硬件或它们的组合在操作中引起或使系统执行动作。一个或多个计算机程序能够被配置成借助于包括指令来执行特定操作或动作,这些指令当由数据处理装置执行时,使该装置执行动作。
在一个总体方面中,描述了用于进行以下步骤的系统和方法:确定与观看显示设备的发射界面相关联的被跟踪方位;使用被跟踪方位来生成表示与显示设备的发射界面相关联的第一组值的第一遮罩(mask);使用被跟踪方位来生成表示与显示设备的发射界面相关联的第二组值的第二遮罩;以及使用第一遮罩和第二遮罩来生成输出图像。
生成输出图像可以包括:获得具有第一组像素的左图像和具有第二组像素的右图像,将第一组值指派给左图像中的第一组像素,将第二组值指派给右图像中的第二组像素,以及根据所指派的第一组值和所指派的第二组值来将左图像与右图像交织。
系统和方法可以包括和/或利用跟踪模块、耦合到双凸透镜阵列的显示面板和至少一个处理设备,该至少一个处理设备能够访问存储由系统可执行的指令的存储器。
实现方式可以包括以下特征中的一个或多个。实现方式可以包括将输出图像提供给显示设备。输出图像可以被配置成将左图像提供给观看显示设备的发射界面的用户的左眼,同时将右图像同时地提供给观看显示设备的发射界面的用户的右眼。
在一些实现方式中,第一遮罩和第二遮罩是从地形四维表面导出的,并且第一遮罩和第二遮罩是通过对表面的小数部分应用非线性映射来生成的。在一些实现方式中,第一遮罩表示针对检测到的观看显示设备的用户的头部方位(被跟踪方位)的像素的第一子集,并且第二遮罩表示针对所检测到的用户的头部方位的像素的第二子集。在一些实现方式中,第一遮罩和第二遮罩用于针对用户的多个可改变的头部方位,获得与显示设备相关联的每个像素的值。
在一些实现方式中,第一遮罩和第二遮罩是具有红色、绿色和蓝色颜色分量的彩色图像。每个颜色分量可以用于确定输出图像的相应颜色分量。在一些实现方式中,被跟踪方位是用户的头部和/或眼睛方位,并且其中,基于检测到的头部和/或眼睛方位的移动来更新第一遮罩和第二遮罩。在一些实现方式中,第一遮罩和第二遮罩包括针对显示设备的每个像素的至少一个颜色索引的表示。在一些实现方式中,被跟踪方位针对显示设备的每一行而变化。
在一些实现方式中,被跟踪方位是用户的头部和/或眼睛方位,并且基于检测到的头部和/或眼睛方位的移动更新第一遮罩和第二遮罩。在一些实现方式中,被跟踪方位针对显示设备的每一行而变化。这个方面的其他实施例包括各自被配置成执行方法的动作的对应的计算机系统、装置和在一个或多个计算机存储设备上记录的计算机程序。
在另一总体方面中,描述了一种计算机实现的方法。该方法可以包括使用至少一个处理设备和存储器,所述存储器存储指令,这些指令当被执行时使处理设备执行包括以下步骤的操作:确定与观看显示设备的发射界面相关联的被跟踪方位;使用被跟踪方位来生成表示与显示设备的发射界面相关联的第一组值的第一遮罩;使用被跟踪方位来生成表示与显示设备的发射界面相关联的第二组值的第二遮罩;以及使用第一遮罩和第二遮罩来生成输出图像。
生成输出图像可以包括:获得具有第一组像素的左图像和具有第二组像素的右图像,将第一组值指派给左图像中的第一组像素,将第二组值指派给右图像中的第二组像素,以及根据所指派的第一组值和所指派的第二组值来将左图像与右图像交织。
实现方式可以包括以下特征中的一个或多个。在一些实现方式中,该方法可以包括将输出图像提供给显示设备。输出图像可以被配置成将左图像提供给观看显示设备的发射界面的用户的左眼,同时将右图像同时地提供给右眼。这个方面的其他实施例包括各自被配置成执行方法的动作的对应的计算机系统、装置和在一个或多个计算机存储设备上记录的计算机程序。
在一些实现方式中,第一组像素的至少一部分可从第一位置观看并且第一位置与观看显示设备的用户的左眼相关联,而第二组像素的至少一部分可从第二位置观看并且第二位置与观看显示设备的用户的右眼相关联。
在一些实现方式中,第一遮罩和第二遮罩是从地形四维表面导出的,该地形四维表面具有表示通过与显示设备的发射界面相关联的多个双凸透镜投射的光的位置的标绘线。可以通过对表面的小数部分应用非线性映射来生成第一遮罩和第二遮罩。
在一些实现方式中,第一遮罩和第二遮罩是具有红色、绿色和蓝色颜色分量的彩色图像,每个颜色分量用于确定输出图像的相应颜色分量。在一些实现方式中,第一遮罩和第二遮罩包括针对显示设备的每个像素的至少一个颜色索引的表示。所描述的技术的实现方式可以包括硬件、方法或过程或计算机可访问介质上的计算机软件。
一种或多种实施方式的细节在附图和以下描述中阐述。根据说明书和附图以及根据权利要求书,其他特征将显而易见。
附图说明
图1是图示根据贯穿本公开描述的实现方式的在立体显示器中提供立体编织内容的示例输出图像的框图。
图2是根据贯穿本公开描述的实现方式的用于生成在自动立体显示设备中显示的内容的示例系统的框图。
图3是根据贯穿本公开描述的实现方式的显示屏幕上从与图像的观看者相关联的方位在u-v平面上定义的示例图像的图。
图4是图示观看者的头部方位与表示显示屏幕的示例三维平面中的位置之间的示例几何关系的图。
图5A-5C图示由贯穿本公开描述的实现方式提供的示例光学特征。
图6A-6C图示根据贯穿本公开描述的实现方式的针对自动立体显示器在各个像素位置处采样的示例遮罩。
图7A-7B图示根据贯穿本公开描述的实现方式的用于生成图8C中的图像的示例遮罩。
图8A-8C图示根据贯穿本公开描述的实现方式的在立体显示器上提供的示例图像。
图9是表示采样的四维(4D)表面的示例网格和几何形状的图。
图10是根据贯穿本公开描述的实现方式的用于确定像素的照亮或熄灭的函数的示例图。
图11是根据贯穿本公开描述的实现方式的用于确定像素的照亮或熄灭的另一函数的示例图。
图12是根据贯穿本公开描述的实现方式的用于确定像素的照亮或熄灭的另一函数的示例图。
图13是根据贯穿本公开描述的实现方式的用于确定像素的照亮或熄灭的又一个函数的示例图。
图14是图解根据贯穿本公开描述的实现方式的生成立体编织图像内容的过程的一个实施例的流程图。
图15是根据贯穿本公开描述的实现方式的用于基于双凸显示器的每行确定遮罩的示例技术。
图16图示根据贯穿本公开描述的实现方式的将左图像和右图像编织在一起以生成立体编织图像内容的示例函数。
图17是图解根据贯穿本公开描述的实现方式的使用查找表来基于确定的头部方位确定视图相关像素值的过程的一个示例的流程图。
图18示出可以与本文描述的技术一起使用的通用计算机设备和通用移动计算机设备的示例。
在各个附图中,相同的附图标记指示相同的元件。
具体实现方式
自动立体显示器能够在无需使用头戴式显示器(HMD)设备的情况下提供近似真实世界中的物理对象的三维(3D)光学特性的影像。通常,自动立体显示器包括平板显示器、双凸透镜(例如,微透镜阵列)和/或用于将图像重定向到与显示器相关联的多个不同的观看区域的视差屏障。
在一些示例自动立体显示器中,可以存在提供由此类显示器提供的图像内容的3D视图的单个位置。用户可以坐在该单个位置中以体验到适当视差、很少失真和逼真的3D图像。如果用户移动到不同的物理位置(或者改变头部方位或眼睛凝视方位),则图像内容可能开始显得不太真实、2D和/或失真。本文描述的系统和方法可以重新配置从显示器投射的图像内容以确保用户能够四处移动,但是仍然实时地体验到适当视差、低失真率和逼真的3D图像。因此,本文描述的系统和方法提供了不管在用户正在观看显示器的同时发生的用户移动都维持并向用户提供3D图像内容的优点。
本文描述的系统和方法可以评估如何响应于检测到用户接近显示器的移动而在自动立体显示器上显示图像内容。例如,如果用户(或用户的头部或眼睛)向左或向右移动,则本文描述的系统和方法能够检测此类移动,以确定如何以为用户(并且为用户的每只眼睛)提供图像内容的3D深度、适当视差和3D感知的方式显示图像内容。
确定如何显示图像内容可以包括生成能够针对观看在显示器上的图像内容的用户的左眼和右眼计算出的遮罩(例如,子像素遮罩图像)。在一些实现方式中,遮罩可以表示存储在计算设备上的存储器中的图像。遮罩可以指示显示器的哪些特定像素或子像素将被照亮(以及将要熄灭的子像素),以向观看在显示器上的图像内容的用户的左眼和右眼两者适当地显示3D效果和图像内容。简而言之,本文描述的系统和方法可以在检测到用户的移动时为图像生成针对用户的两个遮罩。第一遮罩可以用于显示意在由用户的左眼观看的图像内容,然而第二遮罩可以用于显示意在由用户的右眼观看的图像内容。
在一些实现方式中,遮罩可以用于适当地定向或重定向图像内容以显示给观看在自动立体显示器上的图像内容的用户的每只眼睛。例如,本文描述的系统能够跟踪头部方位、眼睛移动和/或身体移动并且使用所跟踪到的移动来生成遮罩(例如,遮罩图像)以调整如何提供图像内容以显示在贯穿本公开描述的显示设备上。
在一些实现方式中,生成遮罩可以包括使用多种算法和技术来确定可以将图像内容中的哪些像素部分提供给每只眼睛以确保3D效果。遮罩能够用于组合左眼图像(例如,左图像)和右眼图像(例如,右图像)以产生可以被提供给显示设备的输出图像。该输出图像可以表示被配置成被分别显示给左眼和右眼的图像内容。
可以组合左图像和右图像以生成输出图像。将左图像与右图像组合可以被描述为使用利用由遮罩生成算法生成的遮罩的立体编织算法对像素的立体编织(例如,调和(swizzling))。本文描述的系统和方法可以提供一种或多种立体编织算法,该一种或多种立体编织算法被配置成交织来自生成的左图像的像素和来自生成的右图像的像素,使得用户的左眼观看左图像同时用户的右眼观看右图像。
在一些实现方式中,本文描述的系统和方法可以使用任何数目的立体编织算法来确定哪一组像素要指派为在由自动立体显示器正在呈现的图像内可观看。例如,可以利用本文描述的多种技术来计算出作为眼睛指派函数操作以确保每只眼睛观看输出图像的适当3D版本的遮罩(例如,子像素遮罩)。例如,可以计算出并生成左遮罩以表示左眼指派函数。类似地,可以计算出并生成右眼遮罩以表示右眼指派函数。左遮罩和右遮罩可以一起使用,以为特定一组图像提供适当深度感知、3D效果和适当视差。每个生成的遮罩可以包括针对预定义显示大小(或显示部分)指派给每个红色、绿色和蓝色(RGB)子像素的多个值。遮罩可以用于计算并生成图像以显示给观看自动立体显示器的用户的每只眼睛。
通常,本文描述的系统和方法可以利用被适配成配置在贯穿本公开描述的自动立体显示器上显示的图像内容以确保观看此类内容的用户体验到具有适当视差和最小失真的逼真的3D内容的多种技术和算法。例如,本文描述的系统和方法可以确定和/或计算出用来基于确定用户的位置(或用户的头部或眼睛的位置)指派提供给用户的左眼和右眼中的每一个的输出图像的遮罩。在一些实现方式中,相对于由显示器正在提供的像素的特定部分来提供输出图像。特别地,系统可以确定用户(例如,观看者)的左眼可以观看输出图像中的第一组像素同时用户的右眼可以观看输出图像中的第二组像素。能够基于用户相对于显示器(或者相对于显示器上的像素位置)的位置确定每组像素。
图1是图示根据贯穿本公开描述的实现方式的使用一个或多个遮罩100(例如,遮罩100A和遮罩100B)来在自动立体显示器组件102中提供立体编织内容的示例的框图。立体编织内容可以是指将左图像104A与右图像104B交织以获得输出图像105。图1中所示的自动立体显示器组件102表示包括至少耦合到(例如,结合到)双凸透镜阵列106的高分辨率显示面板107的组装显示器。此外,组件102可以包括位于双凸透镜阵列与高分辨率显示面板107之间的一个或多个玻璃间隔件108。在显示组件102的操作中,透镜阵列106(例如,微透镜阵列)和玻璃间隔件108可以被设计为使得在特定观看条件下,用户的左眼观看与图像相关联的像素的第一子集,如观看光线110所示,然而用户的右眼观看像素的互斥第二子集,如观看光线112所示。
可以针对左眼和右眼中的每一个计算并生成遮罩。遮罩100对每只眼睛来说可以是不同的。例如,可以针对左眼计算出遮罩100A,然而可以针对右眼计算出遮罩100B。在一些实现方式中,遮罩100A可以是遮罩100B的移位版本。也就是说,遮罩100A可以在空间的五个维度(例如,如图9中所示的x、y、z、u和v)中的一个或多个上移位。在一些实现方式中,可以使用与遮罩100B相关联的像素值来确定遮罩100A。为了贯穿本公开的数学方便,可以将遮罩100(例如,遮罩100A和/或遮罩100B)标记为单个遮罩m,其中mR=m,并且mL=1-m。可以在(x-y-z)平面中表示每个遮罩100A/100B,以在(u-v)平面中与显示组件102相关。
在一些实现方式中,遮罩100可以包括单个遮罩(遮罩图像)m,其可以是由(也具有子像素值的)多个像素值表示的二维(2D)平面。例如,每个遮罩100(例如,针对左眼的遮罩100A和针对右眼的遮罩100B)表示计算的子像素的表面s,该子像素具有被指派给要从显示组件102显示的图像内的每个RGB子像素的值。针对右眼的遮罩(例如,mR)可以包括被定义为一(例如,mR=1)以指示特定子像素对用户的右眼可见的子像素。类似地,如果针对左眼的遮罩(例如,mL)包括被定义为一(例如,mL=1)的子像素,则那些子像素对用户的左眼可见。
在一些实现方式中,输出图像I(例如,输出图像105)可以由贯穿本公开描述的系统计算为通过以下等式示出的右遮罩mR(例如,右遮罩图像100A)乘以右图像IR(例如,右图像104B)与左遮罩mL(例如,左遮罩图像100A)乘以左图像IL(例如,左图像104A)组合:(I=mRIR+mL IL)。可以在每像素、每颜色基础上计算这样的计算。此外,可以使用左遮罩mL与右遮罩mR组合等于一(例如,mR+mL=1)的约束。
通常,遮罩(mR)100B和(mL)100A以及右图像(IR)104B和左图像(IL)104A可以表示每种颜色包括至少一个分量的2D图像。例如,用于遮罩图像的示例表示法可以包括mR(u,v),其中针对右眼的遮罩被表示为mR并且u和v表示显示组件102的屏幕的平面中的空间坐标。可以基于像素由左眼(例如,m=0)还是右眼(例如,m=1)可观看来针对每个像素计算遮罩值m(u,v)。
遮罩图像m(u,v)可以取决于表示(例如,观看显示组件102的)用户的头部的3D位置的变量(x,y,z)。例如,本文描述的系统可以跟踪例如在观看组件102的同时要获悉用户位置和移动的用户的两只眼睛之间的中心点。可以将被跟踪位置表示为M(u,v,x,y,z),以示出标量值(M)取决于至少五个变量u、v、x、y和z。标量值(M)也可能取决于颜色索引(c),其中c={红色,绿色,蓝色}。小写字母(m)可以表示(作为图像的)2D函数,然而大写字母(M)可以表示5D函数。因此,m(u,v)=M(u,v,x,y,z),被评价为某个具体位置x、y和z。
在一些实现方式中,可以通过对于遮罩中的每个像素确定红色子像素、绿色子像素和蓝色子像素中的哪一个将在被显示在显示器上时变得可见来针对每个遮罩图像m(u,v)计算颜色索引。通常,可以单独地且独立于另一像素对红色子像素、绿色子像素和蓝色子像素的每个像素进行采样。此外,可以针对用户的每只眼睛计算出颜色索引。
在一些实现方式中,可以将表示用户的位置选择为用户的两只眼睛之间的中点,以利用用户的眼睛之间的对称性。能够根据中点计算出左眼遮罩和右眼遮罩。或者,能够计算出针对左眼(或右眼)的遮罩并且能够根据该计算对针对右眼(或左眼)的遮罩进行内插。
与本文描述的实现方式一致,自动立体显示器组件102可以是包括多个微透镜的免戴眼镜的双凸三维显示器。在一些实现方式中,阵列106可以包括微透镜阵列中的微透镜。在一些实现方式中,能够通过在第一方向上通过至少一个微透镜(例如,向用户的左眼)投射第一图像的一部分(例如,第一组像素)并且在第二方向上通过至少一个其他微透镜(例如,向用户的右眼)投射第二图像的一部分(例如,第二组像素)来产生3D图像。第二图像可以类似于第一图像,但是第二图像可以从第一图像移位以模拟视差,从而为观看自动立体显示器组件102的用户模拟3D立体图像。
图2是根据贯穿本公开描述的实现方式的用于生成在自动立体显示设备202中显示的内容的示例系统200的框图。尽管系统200被示出为与显示器202分开,但是在一些实现方式中,系统200可以作为显示器202的一部分被包括。通常,显示器202能够包括高分辨率且免戴眼镜的双凸三维显示器。例如,显示器202能够包括微透镜阵列106,该微透镜阵列包括具有耦合(例如,结合)到显示器的微透镜的玻璃间隔件的多个透镜(例如,微透镜)。可以设计微透镜,使得从所选观看方位,显示器的用户的左眼可以观看第一组像素,同时用户的右眼可以观看第二组像素(例如,其中第二像素组与第一组像素互斥)。
在一些实现方式中,微透镜阵列106的微透镜能够从显示器202接收图像204,能够根据内容和与观看显示器202相关联的用户的位置来分析这些图像。图像204可以由系统200处理成像素208和具有针对左眼的特定RGB子像素212和针对右眼的RGB子像素214的子像素210。系统200可以使用像素208(以及子像素210、212和214)来生成被配置用于从第一位置进行3D立体观看的第一图像(例如,左图像216)。类似地,系统200可以使用像素208(以及子像素210、212和214)来生成被配置用于从第二位置进行3D立体观看的第二图像(例如,右图像218)。在一些实现方式中,第一位置可以与用户的左眼的位置相对应,然而第二位置可以与用户的右眼的位置相对应。在一些实现方式中,能够通过针对用户使用与眼睛位置的中心的偏移执行计算和评价来利用用户的对称性。也就是说,可以使用与用户的眼睛之间的被跟踪位置的偏移距离来计算出左图像216,同时可以使用在相反方向上(即,朝向右眼)与用户的眼睛之间的被跟踪位置的相同偏移距离来计算出右图像218。
系统200能够计算(并生成)表示被分配给与显示器202中的像素相对应的每个RGB子像素(例如,子像素212和子像素214)的值的遮罩206。任何数目的处理器220可以利用算法(例如,编织算法222和遮罩生成算法224)来生成遮罩206并且使用遮罩206来将图像交织(例如,调和)在一起。例如,如贯穿本公开所描述的,遮罩206能够用于生成左图像216和右图像218。特别地,系统200能够使用遮罩206来将左图像216(用于左眼)和右图像218(用于右眼)交织(例如,将它们编织在一起)以产生在显示器202上提供的组合输出图像226。
输出图像226表示至少部分地基于用户的头部的被跟踪位置、对于两只眼睛具有与用户接近显示器相关联的适当视差和观看配置的3D立体图像。每当用户在观看显示器202的同时移动头部方位时,可以使用系统200来确定输出图像226。
在一些实现方式中,处理器可以包括图形处理单元(GPU)221(或与其进行通信)。在操作中,处理器221可以包括(或者能够访问)存储器、存储装置和其他处理器(例如,CPU)。为了方便图形和图像生成,处理器221可以与GPU 221进行通信以在显示设备202上显示图像。可以通过诸如PCI、AGP或PCI-Express的高速总线来连接CPU(例如,处理器220)和GPU 221。可以通过诸如HDMI、DVI或显示端口的另一高速接口将GPU 221连接到显示器202。通常,GPU 221可以以像素形式渲染图像内容。显示设备202从GPU 221接收图像内容并将该图像内容显示在显示屏幕上。
通常,系统200能够利用处理器220或228(例如,CPU)和/或GPU 221来在显示器202的显示面板上生成并渲染立体三维图像(例如,使用一个或多个遮罩206的输出图像226)。例如,系统200能够在像素网格的一部分上生成并渲染左图像216以便从与用户的第一眼睛的位置相对应的第一位置通过微透镜阵列106来观看。类似地,系统200能够在像素网格的一部分上生成并渲染右图像218以便从与用户的第二眼睛的位置相对应的第二位置通过微透镜阵列106来观看。通常,可以生成并渲染左眼图像216和右图像218以为用户模拟视差和深度感知。也就是说,左图像216可以表示与右图像218的深度移位。例如,像素208的网格可以显示旨在由用户的左眼通过微透镜阵列106看到的第一显示图像,并且像素208的网格可以显示旨在由参与者的右眼通过微透镜阵列106看到的第二显示图像。第一位置和第二位置能够基于用户相对于显示器202的位置(例如,横向/垂直位置、方位、深度、左眼或右眼的位置等)。在一些实现方式中,能够通过从与微透镜阵列106相关联的像素阵列中选择某些像素来确定用于生成第一显示图像和第二显示图像的第一方向和第二方向。
在一些实现方式中,微透镜阵列106能够包括包含两个微透镜的多个微透镜对。显示器202可以将这些微透镜中的至少两个用于显示图像。在一些实现方式中,处理设备228可以被显示器202利用来选择一组出射光线,通过该组出射光线可以通过微透镜来观看图像以基于与用户相对于显示器202的方位相对应的位置信息显示左图像216和右图像218。在一些实现方式中,可以通过与显示器202和/或系统200相关联的跟踪系统230来检测方位(例如,用户的位置)。在一些实现方式中,可以使用与系统200和/或显示器202相关联的一个或多个相机设备(未示出)来确定方位。
在一些实现方式中,多个微透镜中的每一个均能够覆盖多个离散像素(例如,能够被设置在其上方或与其相关联),使得每个像素从在显示器202前面的方向的某个有限子集可见。如果观察显示器的用户的位置是已知的,则能够标识在显示器202的每个透镜下从用户的左眼可见的像素的子集和跨显示器202从用户的右眼可见的像素的子集。通过为每个像素选择与将从用户的眼睛位置看到的虚拟视图相对应的适当渲染的图像,每只眼睛均能够观看正确的图像。在一些实现方式中,例如,用户相对于显示器202的位置可以用于确定用于经由微透镜106向显示器202的用户同时地投射至少两个图像的方向。
显示器202可以包括一个或多个处理设备228,该一个或多个处理设备可以包括一个或多个中央处理单元、图形处理单元、其他类型的处理单元或它们的组合。处理设备228可以执行功能和操作以命令(例如,触发)显示器202显示图像。处理设备228可以分析捕获的可见光和/或红外光并且确定图像数据(例如,与能够被渲染为图像的一组像素的RGB值相对应的数据)和/或深度数据(例如,与渲染图像中的设定像素的RGB值中的每一个的深度相对应的数据)。如果计算系统200被并入到显示器202中,则处理器228可以与处理器220相同。类似地,如果系统230被并入到系统200或显示器202中的任何一者或两者中,则跟踪系统230可以利用此类资源。
在一些实现方式中,显示器202能够包括存储器234。取决于实现方式,存储器234可以是一个或多个易失性存储器单元或非易失性存储器单元。存储器234可以是任何形式的计算机可读介质,诸如磁盘或光盘或固态存储器。根据一些实现方式,存储器234可以存储使处理设备228执行与公开的实现方式一致的功能和操作的指令。
在一些实现方式中,显示器202能够包括有机发光二极管(OLED),这些OLED足够小以致人眼或相机透镜不容易检测到,从而使显示器202变得有效地透明。此类OLED也可以具有足够的亮度,使得当被照亮时,用于发射的光的面积显著地大于它们相应的面积。结果,OLED虽然不容易被人眼或相机透镜看见,但是足够亮以用渲染图像照亮显示器202,而在所显示的图像中没有间隙。在一些实现方式中,显示器202可以是可切换的透明双凸三维显示器。在这样的示例中,可以将OLED嵌入在玻璃基板中,使得玻璃被设置在OLED的连续行之间。这种布置导致显示器202在OLED未被照亮时为透明的,但是在被照亮时(由于显示器202上显示的图像)为不透明的。
在可切换的透明双凸三维显示器实现方式中,微透镜阵列的微透镜106能够由第一材料和第二材料制成。例如,微透镜106中的至少一些能够由第一材料制成并且微透镜106中的至少一些能够由第二材料制成。第一材料可以是不受电流影响(例如,基本上不受影响)的材料,然而第二材料可能受电流影响(例如,基本上受影响)。例如,当未对第二材料施加电流时,第一材料和第二材料可以具有不同的折射率。这样的示例组件可以在第一材料的微透镜与第二材料的微透镜之间的边界处产生折射,从而创建双凸显示。当对第二材料施加电流时,该电流可以使第二材料的折射率改变为与第一材料的折射率相同,从而抵消显示器202的双凸性质,使得两种材料形成均匀折射的单个矩形平板,从而允许显示器上的图像不失真地通过。
在一些实现方式中,电流被施加到第一材料和第二材料两者,其中电流对第二材料具有上述影响而对第一材料没有影响。因此,当显示器202投射图像(例如,设备OLED被照亮)时,处理设备228可以不对微透镜阵列施加电流并且显示器202可以充当双凸阵列(例如,当被开启时)。当显示器202的OLED未被照亮并且处理设备228检测到可见光和红外光时,处理设备228可以使电流被施加到显示器202,从而影响由第二材料制成的微透镜。电流的施加能够改变由第二材料制成的微透镜的折射率,并且显示器202可以不充当双凸阵列。例如,显示器202可以是透明的或充当无双凸效果的通透玻璃片。
根据一些实现方式,显示器202能够包括扬声器组件、I/O设备和/或其他接口机制。处理设备228可以用于收集、接收和/或生成图像数据、深度数据和/或位置数据,以在显示器202上渲染立体三维图像。处理设备228能够解释音频数据,以命令扬声器组件投射与检测到的音频数据相对应的音频。在一些实现方式中,可以对图像数据、深度数据、音频数据和/或位置数据压缩或编码,并且处理设备228可以执行功能和操作以对数据进行解压缩或解码。在一些实现方式中,例如,图像数据可以是诸如JPEG或MPEG的标准图像格式。在一些实现方式中,深度数据可以是例如以一一对应为图像数据的每个像素指定深度值的矩阵。
跟踪系统230可以包括传感器、相机、检测器和/或标记,以跟踪用户的全部或一部分的位置。在一些实现方式中,跟踪系统230可以跟踪用户在房间中的位置。在一些实现方式中,跟踪系统230可以跟踪用户的眼睛的位置。在一些实现方式中,跟踪系统230可以跟踪用户的头部的位置。
在一些实现方式中,跟踪系统230可以跟踪用户(或用户的眼睛或头部的位置)相对于显示设备202的位置,例如,可以用于为用户的左眼和右眼配置遮罩以显示具有适当深度和视差的图像。在一些实现方式中,例如,可以检测与用户相关联的头部位置并将其用作用于经由微透镜106向显示设备202的用户同时地投射至少两个图像的方向。
在一些实现方式中,跟踪系统230可以包括(或利用)黑白相机。黑白相机可以返回黑白(即,无色)图像。这样的相机可能对包括红光、绿光、蓝光和红外光的所有颜色的光敏感。
在一些实现方式中,跟踪系统230可以包括红外传感器并且可以采用耦合到用户的一个或多个标记(例如,附着到用户的反射标记)来精确地找到用户的头部的方位。作为另一示例,红外相机能够用于精确地找到用户的头部的位置。例如,红外相机能够被配置有相对快的面部检测器,该面部检测器能够用于将用户的眼睛在至少两个图像中定位并且在3D中对位置进行三角测量。作为又一个示例,彩色像素(例如,RGB像素)和深度传感器能够用于确定(例如,直接确定)用户的位置信息。
图3是显示屏幕302上从图像的观看者的头部的方位304在u-v平面上定义的示例图像302的图。在此示例中,正在显示屏幕302上观看方位306。在方位304处表示用户的眼睛。在这里,方位304与方位306之间的关系被定义为在五个维度上的函数:M(u,v,x,y,z)。函数M的值是每当检测到用户头部移动时由系统200针对图像内容计算的标量值。如果特定计算出的像素(例如,在方位306处的像素)由用户的左眼在方位304处不可观看,则M的值可以为零。如果特定计算出的像素(例如,在方位306处的像素)由用户的左眼在方位304处可观看,则M的值可以为一。能够针对用户的右眼执行一或零的类似计算和指派。在一些实现方式中,可以针对每个像素的每个可表示颜色(例如,红色、绿色和蓝色(RGB))执行针对左眼和右眼两者的函数M的附加计算。
在图3的示例中,例如,屏幕302被示为定义在u-v平面上并且依赖于观看描绘图像的显示器302的用户的头部的方位(例如,x、y和z)。对于任何一种颜色,函数M的标量值取决于至少五个变量,因此函数M是五维的。然而,如果在屏幕302上描绘图像的显示器上的每个像素是已知的并且如果在具体平面中的每个头部方位是已知的,则系统200可以为图像302的观看者的左眼和右眼两者确定遮罩。因此,系统200能够通过使用五个维度中的四个来确定用于在显示屏幕302上向用户适当地显示图像的遮罩。例如,能够将函数M简化为四维函数而不是五维函数。
图4是图示观看者的头部方位(表示在位置304处)与显示屏幕的三维平面中的位置(例如,方位306)之间的示例几何关系的图。图4在四个维度上图式地描绘数据,该数据是从图3中在五个维度上示出的数据在一个维度上简化的。减少维度可以包括系统200在已知距离z0 404处定义图像M(例如,屏幕302上的图像)。
图4也图示任意头部方位(x',y',z')304(与位置402相对应)与任意平面(x,y,z0)408中的位置306之间的几何关系。平面408的原点被示出在位置409处。u-v平面302、屏幕和平面z=0全部重合,然而平面z=z0与x-y平面408重合。
通常,可以针对平面408计算出并存储头部方位,并且能够使头部方位与可以观看平面408的任何头部方位相关。系统200能够基于所存储的与平行平面408相对应的头部方位确定任何方位(例如,方位304)的头部方位的变化。因为光线以直线传播,能够使用所存储的平面(x,y)408中的头部方位来计算出保持头部方位(x',y',z')304的在平面中的头部方位。例如,平面302可以表示显示器202的屏幕。为了确定在平面302上的位置306处的像素是否从特定方位(例如,方位304)可见,系统200可以确定在位置306处的像素是否从平行平面中的方位402可见。
如本文所使用的,大写字母M表示法可以表示图4中图示的4D函数(例如,M(u,v,x,y))。本文描述的算法可以确定这样的4D函数M(u,v,x,y)=M(u,v,x,y,z0)。在确定4D函数时,本文描述的系统(例如,系统200)可以将该函数表示为地形等高线图(例如,表面)以确保函数是低频的。将函数表示为低频表面能够以高效的方式实现子采样。一旦发生子采样,系统200就可以对代表性表面进行内插以恢复函数M。
例如,系统200可以将函数M用作低频函数S的等高线图。为了简化计算,可以将4D函数M简化为作为2D图像s的等高线图的2D图像m。通常,m和s都可以随头部方位而变化。
例如,可以将投射到显示器202的屏幕上的微透镜阵列106的双凸透镜的位置表示为低频图像的轮廓线或地形表面s(u,v)。此低频表面是4D的,因为该表面取决于x-y平面中正在从那里观看屏幕的点。可以贯穿本公开使用大写字母S来指示4D表面S(u,v,x,y)。
为了方便下述进一步构思,现在将描述与自动立体显示设备相关联的光学特征。图5A-5C图示贯穿本公开描述的实现方式提供的示例光学特征。如图5A中所示,示出了自动立体显示设备500的截面图。每个像素502可以经由相应的红色、绿色和蓝色子像素(子像素502a、子像素502b和子像素502c)发射红光、绿光和蓝光。每个像素502的颜色可以由与显示器500相关联的处理器选择。每个像素502具有方向性和多模态发射束。
显示设备500在这里被示出为与定位在前发射表面中的一排圆柱透镜504相邻。圆柱透镜可以是双凸透镜(或透镜阵列),其接收来自显示设备500的发射光并将该光发送到观看者,如由光束506所示。在一些实现方式中,透镜阵列504经由玻璃间隔件耦合到透镜显示设备500。透镜阵列504可以用来聚焦来自每个发射像素的光,如由光束506所示。透镜阵列504确保每个光束按从阵列504发射的每个光束之间的间隙间隔开一定距离。系统200能够确保特定像素可以将光射入用户的一只眼睛,同时避免将光射入用户的另一只眼睛。
图5B图示显示设备500的一部分的示例正视图。子像素(例如,子像素502a、502b和502c)示出在列中,且透镜阵列504在显示设备500的发射像素前面。在一些实现方式中,透镜阵列504的角度可以与线A偏离约15度。线A垂直于显示器500的底部边缘。其他角度是可能的。
图5C图示显示设备500的一部分的另一示例正视图。在一些实现方式中,双凸透镜阵列(例如,透镜阵列)可以类似于屏障显示器510起作用以滤出图像内容(例如,像素),使得系统可以为观看显示设备500的用户的每只眼睛提供特定图像内容。类似于双凸透镜阵列,屏障显示器510阻挡特定像素并示出其他像素。如果屏障显示器510中的间隙与圆柱透镜的中心光轴重合,则相同的像素被阻挡或示出。
通常,选取透镜阵列以在通过阵列504中的每个透镜发射的光束之间提供具体距离。对于双凸透镜阵列(未示出),屏障510和屏障512可以被配置为阻挡除像素514、516、518、520、522和524之外的所有光。
未被阻挡的像素可以直接在透镜阵列中的特定双凸透镜的中心位置中对准。能够布置类似的配置以阻挡并示出显示器500中的其他像素。在这些配置中,用户可以观看通过间隙526示出的像素。屏障510和512可以用于将来自意在由左眼观看的图像的像素的移位版本显示为来自意在由右眼观看的图像的像素的版本。
为了模拟如图5C中所示的这种屏障,系统200可以针对从位置(x,y,z)观看显示设备的用户的每只眼睛计算出遮罩。在一些实现方式中,例如,每个遮罩(例如,针对左眼的遮罩100A和针对右眼的遮罩100B的移位版本)可以表示每像素3颜色值,其提供来自显示器500的特定图像的适当视图。遮罩中每个像素的示例值可以包括1.0或0.0。值1.0指示遮罩中的像素是可见的。值0.0指示遮罩中的像素是不可见的。
图6A-6C图示根据贯穿本公开描述的实现方式的针对自动立体显示器在各个像素位置处采样的示例遮罩。图6A描绘示例遮罩602(例如,m(u,v)=M(u,v,x,y,z)),该示例遮罩表示显示屏幕上针对方位(x,y,z)的所选一组值的50×50区域。遮罩602包括如显示在计算设备的屏幕上的RGB图像。遮罩602指示哪些像素应该针对特定图像从显示器202上的具体确定位置被照亮并且哪些像素应该被熄灭(或保持熄灭)。特别地,例如,遮罩602基于检测到的观看显示器202的用户的方位来指示哪些像素应该被照亮或熄灭。遮罩602描绘了像素的一半被照亮并且像素的一半被熄灭。
图6B描绘如在双凸显示屏幕上观看到的遮罩604。遮罩604(例如,m(u,v)=M(u,v,x,y,z))图示RGB子像素结构。可以针对左眼和右眼中的每一个计算出遮罩604。通常,右眼遮罩基于用户的眼睛之间的距离的已知对称性产生左眼遮罩的移位版本。
图6C描绘遮罩606。遮罩606是去除了滤色器的遮罩604的版本。遮罩606始终图示双凸条纹。例如,当遮罩606用于在显示器202上显示内容时,由用户的左眼所观看到的双凸线与白色条纹对齐,同时由用户的右眼所观看到的双凸线与黑色条纹对齐。
图7A-7B图示用于生成图8C中的图像的示例遮罩。例如,图7A是由系统200针对接近显示器202的用户的左眼所确定的遮罩(m)702。例如,图7B是由系统200针对接近显示器202的用户的右眼所确定的遮罩704。双凸线706和708以交替彩色条纹描绘。
遮罩702和704可以随u和v而快速地变化,但是也可以随头部方位的变化而快速地变化。例如,约60毫米的x位置的变化可以使双凸图案反转。遮罩702和704可以由系统200使用算法224和跟踪系统230来计算出和生成。遮罩702和704被确定和/或计算为与观看显示设备202的用户的头部方位和显示器202上的多个像素相对应。
图8A-8C图示根据贯穿本公开描述的实现方式的在立体显示器上提供的示例图像。可以将图8A和图8B中的图像802和804连同遮罩702和704一起提供给显示设备202。例如,一旦针对左眼和右眼中的每一个计算出遮罩702和遮罩704,系统200就可以使用左遮罩702并将其乘以左图像802。类似地,系统200可以使用右遮罩704并将其乘以右图像810。例如,左遮罩702乘以左图像802和右遮罩704乘以右图像810的求和生成输出要显示给观看显示器202的用户的图像226(例如,I=mR IR+mL IL)。在一些实现方式中,显示器202可以包括用于计算输出图像的电路以及处理软件和硬件。在一些实现方式中,系统200检索图像802和图像810,计算遮罩702和遮罩704,并且将所得的输出图像(I)226提供给显示设备202。
如图8A中所示,白色图像内容804与被照亮并对用户的左眼可见的像素相对应,而暗内容806与熄灭像素相对应。可以描绘包括特征808的多个特征。如图8B中所示,右图像810包括与被照亮并对用户的右眼可见的像素相对应的白色图像内容812,而暗内容814与被用户视为黑色的熄灭像素相对应。图像810包括若干图像特征816、818、820和822。
图8C图示通过本文描述的系统和技术立体编织的示例输出图像824。输出图像824是由系统200使用图像802、图像810、遮罩702和遮罩704立体编织的调和图像。特征可能看起来重叠,因为输出图像被配置成向观看显示器202的用户的右眼和左眼两者适当地显示内容。特别地,图8C中的特征808与图8A中所示的相同特征808相对应。类似地,图8C中的特征816与图8B中所示的相同特征816相对应。此外,图8C中的特征818和820与图8B中的相应特征818和820相对应。图8C中所示的图像特征804与图8A中的特征和位置804相对应。
图9是表示稀疏采样的四维(4D)表面的示例网格902的图。如贯穿本公开所描述的,表面可以表示与左眼或右眼相关的(值的)遮罩。网格902在(x,y)平面中并且表示双凸显示设备,诸如显示器202,的像素值的样本,在这里被表示为(u,v)平面中的网格904。
返回作为表面S的遮罩的计算,2D图像s(u,v)从固定头部方位(例如,固定(x,y))呈现为平面。例如,能够将s表达为S=C1u+C2v+C3,其中C1、C2和C3是常数。从这一点来说,系统200可以对平面进行内插以确定针对左眼的遮罩和针对右图像的遮罩。例如,显示设备可以具有屏幕,可以使用该屏幕的拐角处的值来将该屏幕表示为平面。系统200可以双线性内插以获得所有的值一,其指示哪些像素从特定头部方位(例如,方位906)可见。通常,随着x和y变化,平面的斜率(C1和C2)可以保持不变,但偏移(C3)可以改变。此偏移随x和y而线性地变化。因此,系统200可以存储x-y平面的四个拐角处的值并且可以以后对像素值进行内插以根据特定头部方位来生成遮罩。
如果系统存储设备904的屏幕的拐角处的四个值,则利用十六个值(例如2×2×2×2=16)。这是因为四个变量中的每一个均能够具有两个可能的值。能够通过以较低速率或大小进行子采样来做出补偿以说明双凸显示设备的双凸透镜或其他制造部分中的缺陷。例如,为了补偿设备瑕疵,系统200可以在例如17×10×5×3个点处对4D表面S进行子采样。表面S(例如,S(u,v,x,y))被存储在稀疏网格902上。网格902后续被线性地内插以针对例如由网格904表示的设备202的屏幕上的每一像素并且针对头部方位(x,y)的任何值获得s的值。
如本文所使用的,方括号可以指示针对整数输入变量定义的离散采样函数。例如,表面函数S[U,V,X,Y]=S(UΔu,VΔv,XΔx,YΔy),其中大写字母U、V、X和Y表示整数并且Δu、Δv、Δx和Δy表示图9中所示的采网格的间距。在一些实现方式中,显示设备的宽度算出为16Δu。
在一些示例实现方式中,例如,表面函数S的子采样版本可以由处理器220存储在存储器中。这样的子采样版本可以使用大小为(17×10×5×3=2550)个浮点数的数组。(17×10)矩阵表示网格904(例如,表示显示器202)的u-v平面,并且(5×3)矩阵表示网格902的x-y平面。在一些实现方式中,利用附加因子3来表示遮罩和最终输出图像中的三种颜色(例如,RGB)。
在操作中,系统200可以确定(或预测)头部方位906(例如,方位(x′,y′,z′))。例如,跟踪系统230可以确定接近显示器202的用户的头部方位。例如,跟踪系统230可以基于检测到的用户的速度预测头部方位可以在不同的位置中。例如,头部方位可以用于使用处理器220来计算2D图像(例如,17×10个样本)s[U,V]。处理器220可以将2D图像发送到GPU221。例如,可以在固定方位906(x′,y′,z′)处确定用户的头部。系统200可以一次一个计算出s[U,V]的个别值。例如,系统200可以计算出U=3并且V=6的s[U,V]的像素值。也就是说,系统可以计算出由图9中的框908所示的s[3,6]。
为了计算出示例框908的像素值,系统200可以定位点910。点910可以表示x-y平面上位于通过(x′,y′,z′)的直线上且(u,v)=(3Δu,6Δv)的位置。作为示例,如果点910位于(x,y)=(1.6Δx,1.3Δy)处,则系统200能够通过取第一拐角912(例如,S[3,6,1,1])、第二拐角914(例如,S[3,6,2,1])、第三拐角916(例如,S[3,6,1,2])和第四拐角918(例如,S[3,6,2,2])中的四个值的加权和来计算出s[3,6]。拐角912、914、916和918处的值表示如从每个相应拐角912-918所观看到的s[3,6]的值。
系统200可以利用遵循使用拐角912-918处的值的正常双线性内插的加权因子。例如,能够在每个相应拐角912-918处计算出s[3,6],并且s[3,6]可以相当于0.4×0.7×S[3,6,1,1]+0.6×0.7×S[3,6,2,1]+0.4×0.3×S[3,6,1,2]+0.6×0.3×S[3,6,2,2]。可以对于s[U,V]的(17×10)个样本中的每一个执行这样的计算。在完成时,处理器220可以将子采样图像发送到GPU 221。因此,在处理器220中(例如,在CPU处)发生从任意(x′,y′,z′)位置906到z=z0平面的映射以及在z=z0平面内的双线性内插,并且(17×10)图像被上传到GPU221。例如,GPU 221可以支持自动硬件双线性内插,以确保s(u,v)可以针对显示器202上的每一像素快速地确定s(u,v)。
接下来,可以将针对s计算出的值转换为实际遮罩值m。例如,遮罩生成算法224可以对表面s的小数部分的值(例如,frac(s))执行非线性映射以确定在遮罩m中表示的每个像素(和子像素)的值。也就是说,对于数字s该数字的整数部分是不大于s的最大整数并且s的小数部分是整数部分与s之间的差。这些值可以分别包括一和零以指示照亮状态或熄灭状态。
通常,遮罩m可以基于frac(s)并且在图10-13中描绘了关系。当frac(s)=0时,对应于白线706,这指示那些像素对用户可见。当frac(s)尽可能远离1(例如,frac(s)=0.5)时,对应于黑线708,这指示那些像素对用户不可见。在图10中示出了这样的示例,其中frac(s)=0,m=1,而当frac(s)=0.5时,m=0。
系统200能够使用frac(s)来计算出显示器202的每个像素的值。一旦计算出frac(s),遮罩生成算法224就可以计算出与用户的当前视点相对应的归一化纹理坐标。能够选择四个邻近块以校准图像并且可以执行双线性内插以计算与视图相关校准像素值。
算法224可以生成一个或多个4D查找表,以用于使用遮罩206来确定像素的立体编织。以上示例中的4D查找表可以包括大小为17×10×5×3个像素的查找表。在操作中,系统200能够使用跟踪系统230来跟踪用户并且确定用户的头部和/或眼睛在x-y平面中的一位置处。能够从该位置到u-v平面(表示显示器202)中的采样点内插直线。能够从遮罩206中检索针对左眼的遮罩和针对右眼的遮罩。查找表可以用于检索四个拐角位置912、914、916和918处的值。所检索到的值可以用于生成左眼遮罩和右眼遮罩以用于将左图像和右图像编织在一起。图像的这种编织能够给3D影像提供适当视差和深度。
图10-13中所示的图提供了表示可以被子采样和内插以恢复4D高频函数M的低频图像(例如,表面s和函数S)的方式。遮罩m可被用于确定像素的哪些部分将被供应给在本文描述的显示设备上观看图像内容的用户的每只眼睛。通常,遮罩生成算法224可以生成针对观看显示器202的用户的左眼的遮罩和针对观看显示器202的用户的右眼的遮罩。两个遮罩相加为一。跟踪中的误差可以引起可见的闪烁和用户观察到的残留影像。因此,系统200可以使用跟踪系统230来跟踪观看显示器202的用户的眼睛之间的中点位置,而不是跟踪表示左眼和右眼的两个单独的位置。从中点位置,系统200可以利用s的单个值,该单个值可以作为输出被提供到图11-13中的示例图中所示的两个非线性函数中。
图10是用于确定像素的照亮或熄灭的函数的示例图示1000。图示1000示出s的值与m的值之间的关系。在此示例中,s是表示地形表面的二维图像。例如,如果在特定像素处的s值为6.37,则该像素可能相对于双凸显示器在第三列上方且第七行下方。为了确定对于该同一像素要使用哪一个遮罩图像m,系统能够确定6.37的值并且使用该值来找到小数片段(例如,0.37)。可以应用图10中所示的非线性函数来找到那个像素处的m值。在此示例中,系统200可以确定所确定的像素处的m值为零(如线1004处所示)。将此非线性函数1000在逐像素基础上应用于s中的所有像素值以获得m中的值。
因为像素可以以位置1002和位置1006处所示的垂直斜率突然切换,所以图示1000可能不是显示3D内容所希望的。突然切换可以引起失真和闪烁。因此,系统200可以利用包括逐步过渡的函数,如图11-13中所示。
图11是用于确定像素的照亮或熄灭的函数的示例图示1100。因为与图10中所示的切换比,逐渐过渡可以提供更少失真和更平滑的图像,所以在过渡点1102处引入宽度上大致与一个像素相对应的渐变斜率。在此示例中,曲线1104对应于mL(例如,左遮罩)。曲线1106对应于mR(例如,右遮罩)。
图12是用于确定像素的照亮或熄灭的函数的另一示例图示1200。在此示例中,曲线1202对应于mL(例如,左眼遮罩)。曲线1204对应于mR(例如,右眼遮罩)。如位置1206处所示,可以允许m的值小于零。通过允许m的值变为负,系统200能够从右图像遮罩206B减去左图像遮罩206A的一部分以补偿(即,消除)通过光的散射可能引入的信号串扰。图12中所示的非线性函数可以用于补偿这种信号串扰。使用此类技术来分析串扰消除能够使得能够引入非线性函数,该非线性函数能够应用取决于观看者的瞳距(IPD)的不同量的串扰消除。在图13中示出了可以用于消除像素之间的串扰的一个示例非线性函数。
图13是用于确定像素的照亮或熄灭的非线性函数的示例图示1300。遮罩生成算法224能够在软件或硬件(例如,在FPGA或ASIC中)中实现这样的函数以将s映射到遮罩m。图示1300描绘在位置1302、1304、1306和1308处具有非线性移动的左眼函数。类似地,描绘了在位置1310、1312、1314和1316处具有非线性移动的右眼函数。函数1300可以用于消除串扰而无需知道与用户相关联的瞳距(IPD)。这可以提供鲁棒的误差检测或避免跟踪误差。
图14是图解用于生成立体编织图像内容的过程1400的一个实施例的流程图。通常,例如,过程1400可以由通信地耦合到显示设备202的系统上的一个或多个处理器执行。在一些实现方式中,一个或多个处理器可以在设备202内。在一些实现方式中,一个或多个处理器可以在设备202外部并且可以与显示器202进行通信以在显示器202的屏幕上提供成像。
与过程1400相关联的显示器可以是具有耦合到显示器的前部的透镜的双凸阵列的高分辨率显示器。用户可能正在观看显示器202上提供的图像内容。过程1400可以确保针对用户的左眼视图包括某些像素,同时针对用户的右眼视图包括像素的互斥子集。过程1400可以使用可以用于将左图像和右图像立体地编织在一起的遮罩(例如,遮罩图像)来生成输出图像。例如,过程1400可以获得左图像和右图像并且以这样的方式(根据遮罩图像)交织像素,以便当通过耦合到显示器202的双凸阵列观看时,使得用户的左眼能够观看左图像并且使得用户的右眼能够观看右图像。
在框1402处,过程1400能够包括确定与观看显示设备的发射界面相关联的被跟踪方位。例如,跟踪系统230可以确定与例如正在观看设备202的用户相关联的位置。也就是说,跟踪系统230可以确定用户的头部方位或眼睛凝视。在一些实现方式中,系统200可以跟踪并使用用户的其他部分的物理位置,以便提供针对观看显示器202的用户的左眼和右眼构造的图像内容。
在框1404处,过程1400包括使用用户的被跟踪方位来生成表示与显示设备的发射界面相关联的第一组值的第一遮罩。例如,系统200能够使用遮罩生成算法224来确定与由观看显示器202的用户的左眼观看图像相关联的左遮罩。可以使用如本文所描述的处理器和算法来计算第一遮罩(例如,左遮罩206A)。左遮罩206A可以包括与特定图像204相对应的每个RGB子像素212的值。可以将左遮罩206A用作左眼指派函数。
在框1406处,过程1400包括使用被跟踪方位来生成表示与显示设备的发射界面相关联的第二组值的第二遮罩。例如,系统200能够使用遮罩生成算法224来确定与由观看显示器202的用户的右眼观看图像相关联的右遮罩。可以使用如本文所描述的处理器和算法来计算第二遮罩(例如,右遮罩206B)。右遮罩206B可以包括与特定图像204相对应的每个RGB子像素214的值。可以将右遮罩206B用作右眼指派函数。
在一些实现方式中,左遮罩206A和右遮罩206B是从地形4D表面导出的,其中标绘线表示通过与显示设备202的发射界面相关联的多个双凸透镜投射的光的位置。例如,遮罩可以作为地形等高线地图,以映射与显示器202和正在显示器202上提供的图像相关联的双凸透镜的位置。可以通过对表面的小数部分应用非线性映射来生成第一遮罩206A和第二遮罩206B。
在一些实现方式中,第一遮罩206A表示针对检测到的观看显示设备202的用户的头部方位的像素的第一采样部分,并且第二遮罩206B表示针对所检测到的用户的头部方位的像素的第二采样部分。例如,可以针对特定眼睛计算出每个遮罩以观看显示器202上显示的图像的不同的相应部分。在一些实现方式中,第一遮罩206A和第二遮罩206B用于针对用户的多个可改变的头部方位,获得与显示设备202相关联的每个像素的值。
在一些实现方式中,被跟踪方位是观看显示器202的用户的头部方位并且基于检测到的头部方位的移动来更新第一遮罩(例如,左遮罩206A)和第二遮罩(例如,右遮罩206B)。在一些实现方式中,如在图15的描述中详细地描述的,被跟踪方位针对显示设备的每一行而变化。
在一些实现方式中,第一组像素的至少一部分从与观看显示设备202的用户的左眼相关联的第一位置可观看。类似地,第二组像素的至少一部分从与观看显示设备202的用户的右眼相关联的第二位置可观看。
在框1408处,过程1400包括使用第一遮罩(例如,左遮罩206A)和第二遮罩(例如,右遮罩206B)来生成输出图像226。生成输出图像226可以包括获得具有第一组像素的左图像216和具有第二组像素的右图像,第一组像素和第二组像素分别表示子像素212和子像素214。例如,处理器220可以从图像204请求和/或获得像素的任何部分,以在生成左图像216和右图像218时使用。
接下来,过程1400可以包括:将第一组值(来自所计算出的左遮罩206A)指派给左图像216中的第一组像素;以及将第二组值(来自所计算出的右遮罩206B)指派给右图像218中的第二组像素。然后可以根据所指派的第一组值和所指派的第二组值来将分别使用左遮罩206A和右遮罩206B生成的左图像216和右图像218交织。在操作中,处理器220可以根据左遮罩206A和右遮罩206B来将左图像216的像素和右图像218的像素调和在一起。
可以将输出图像226提供给显示设备。例如,调和的(即,立体编织的)图像可以由处理器220提供给GPU 221。GPU 221可以将输出图像提供给自动立体显示器202以供显示给被跟踪到所检测到的方位的用户。通常,输出图像226可以被配置成向观看显示设备202的发射界面的用户的左眼提供左图像216,同时向观看显示设备202的发射界面的用户的右眼同时地提供右图像218。
在一些实现方式中,过程1400也可以包括计算第一遮罩和第二遮罩中的每一个的颜色索引。例如,可以针对RGB-L 212和RGB-R 214中的子像素计算出颜色索引。过程1400可以针对第一遮罩和第二遮罩中的每个遮罩中的每个值确定红色子像素、绿色子像素和蓝色子像素中的哪一个将被指示为在相应遮罩中被照亮。指示为被照亮可以是指遮罩206中的像素或子像素的一(1)值。在一些实现方式中,第一遮罩(例如,左遮罩206A)和第二遮罩(例如,右遮罩206B)可以包括针对显示设备的每个像素的至少一个颜色索引的表示。例如,颜色索引可以向本文描述的2D结构添加附加维度。
图15是用于基于双凸显示器的每一行确定遮罩的示例技术。u-v网格1502表示显示器202的显示屏幕。x-y网格1504表示与显示器202的屏幕相距预定距离的位置。用户可以从方位1506移动到方位1508至方位1510和/或到另一方位。系统200可以计算出能够向移动用户提供适当的3D图像内容的图像和遮罩。
通常,双凸显示器,诸如自动立体显示器202,可以接收并显示输出图像。例如,被提供给显示器202的输出图像226可以被更新以一次由一行像素显示。因此,对于内容的一个渲染帧,可以在稍微不同的时间在显示器202的屏幕上提供不同的行。如果用户正在移动,则用户的头部的位置对于正在显示的内容帧的不同行可能是不同的。系统200可以考虑显示时间的差异。例如,如上所述,可以确定17×10图像s[U,V]。可以将图像发送到GPU221。然而,当计算出图像s[U,V]时,系统200可以允许头部方位随显示器202的每行v而变化。计算量保持不变,但是对每次计算,在计算出s[U,V]的一行之后更新头部方位。例如,如果确定用户已经移动,则可以更新用户的头部方位,这可能比渲染和/或更新特定图像帧的速率更频繁。s[U,V]的每个新行可以潜在地使用不同的头部方位。
图16图示将左图像和右图像编织在一起以生成立体编织图像内容的示例函数1600。在此示例中,左眼函数1602被与右眼函数1604编织在一起。填充因子是1.0,其间隔为0.25。此函数使得左遮罩206A和右遮罩206B能够合计为1.0。
图17是图解使用查找表来基于确定的头部方位确定视图相关像素值的过程1700的一个示例的流程图。简而言之,过程1700可以提供使用查找表中的值来找到所计算的像素值的表面s并且在确定头部方位(或头部方位的变化)之后这样做的示例。
在框1702处,过程1700包括确定与当前视点相对应的坐标。例如,系统200能够利用跟踪系统230来确定用户的头部方位。根据头部方位,可以计算出与当前视点相对应的归一化坐标集。
在框1704处,过程1700包括选择图像中的邻近块。例如,能够选择特定校准图像的四个邻近块。对于具体图像,能够选择四个拐角位置,如关于图9以及位置912、914、916和918所描述的。
在框1706处,过程1700可以包括执行邻近块的双线性内插以确定多个视图相关校准像素值。例如,使用图9中所示的拐角912-918处的值,系统200可以对校准像素进行内插。在此示例中,能够在每个相应拐点912-918处计算出s[3,6]并且s[3,6]可以相当于0.4×0.7×S[3,6,1,1]+0.6×0.7×S[3,6,2,1]+0.4×0.3×S[3,6,1,2]+0.6×0.3×S[3,6,2,2]。
在框1708处,过程1700可以包括提供多个视图相关校准像素值。多个视图相关校准像素值可以与所确定的头部方位相对应。每当头部方位改变时,系统200可以重新针对经改变的头部方位确定校准像素值并且提供新的校准像素值以在生成新的输出图像以供显示给用户时使用。
在一些实现方式中,本文描述的系统和技术可以用于将遮罩图像表示为4D表面。可以生成4D表面并将其与应用于表面的小数部分的非线性映射一起使用以产生用于将图像中的像素指派给左眼或右眼的遮罩。可以基于观看描绘图像内容的显示器的用户的头部方位来计算出遮罩。
在一些实现方式中,可以添加附加表面并将其与本文描述的系统一起使用以例如消除或除去串扰,因为串扰可以随着与用户和任何影像相关联的观看角度改变而改变。系统可以附加地使用此类表面表示来执行背光均匀性校正,因为背光均匀性可以随显示屏幕上的方位且随观看角度而改变。
图18示出可以与此处描述的技术一起使用的通用计算机设备1800和通用移动计算机设备1850的示例。计算设备1800意图表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、平板电脑、工作站、个人数字助理、电视、服务器、刀片式服务器、大型计算机和其它适合的计算设备。计算设备1850意图表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其它相似的计算设备。此处示出的组件、其连接和关系以及其功能仅仅旨在为示例性的,并且不旨在限制本文档中描述的和/或要求的本发明的实施方式。
计算设备1800包括处理器1802、存储器1804、存储设备1806、连接至存储器1804和高速扩展端口1810的高速接口1808以及连接至低速总线1814和存储设备1806的低速接口1812。处理器1802可以是基于半导体的处理器。存储器1804可以是基于半导体的存储器。组件1802、1804、1806、1808、1810和1812中的每一个使用各种总线互相连接,并且可以安装在公共主板上或根据需要以其它方式安装。处理器1802可以处理在计算设备1800内执行的指令,包括存储在存储器1804中或存储设备1806上以在外部输入/输出设备(诸如耦合到高速接口1808的显示器1816)上显示GUI的图形信息的指令。在其它实施方式中,根据需要,可以将多个处理器和/或多个总线与多个存储器和多种存储器一起使用。同样,可以连接多个计算设备1800,其中,每个设备提供必要的操作的部分(例如,作为服务器库、一组刀片式服务器或多处理器系统)。
存储器1804存储计算设备1800内的信息。在一种实施方式中,存储器1804是一个或多个易失性存储器单元。在另一实施方式中,存储器1804是一个或多个非易失性存储器单元。存储器1804还可以是另一种形式的计算机可读介质,诸如磁盘或光盘。
存储设备1806能够为计算设备1800提供大容量存储。在一种实施方式中,存储设备1806可以是或可以包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或磁带设备、闪速存储器或其它相似的固态存储器设备、或设备的阵列(包括存储区域网络或其它配置中的设备)。计算机程序产品可以有形地体现在信息载体中。计算机程序产品还可以包含指令,这些指令在被执行时执行一种或多种方法,诸如上文所描述的那些方法。信息载体是计算机或机器可读介质,诸如存储器1804、存储设备1806或在处理器1802上的存储器。
高速控制器1808管理计算设备1800的带宽密集型操作,而低速控制器1812管理较低的带宽密集型操作。这种功能分配仅仅是示例性的。在一种实施方式中,高速控制器1808耦合到存储器1804、显示器1816(例如,通过图形处理器或加速器)和高速扩展端口1810,该高速扩展端口可以接受各种扩展卡(未示出)。在实施方式中,低速控制器1812耦合到存储设备1806和低速扩展端口1814。可以例如通过网络适配器来将可以包括各种通信端口(例如USB、蓝牙、以太网、无线以太网)的低速扩展端口耦合到一个或多个输入/输出设备,诸如键盘、指向设备、扫描器或联网设备(诸如交换机或路由器)。
如图中所示出,可以以多种不同的形式来实施计算设备1800。例如,可以将该计算设备实施为标准服务器1820或多次实施在一组这种服务器中。还可以将该计算设备实施为机架服务器系统1824的一部分。另外,该计算设备可以实施在个人计算机(诸如膝上型计算机1822)中。可替代地,来自计算设备1800的组件可以与移动设备(未示出)(诸如设备1850)中的其它组件组合。这种设备中的每一个可以包含计算设备1800、1850中的一个或多个,并且整个系统可以由彼此通信的多个计算设备1800、1850组成。
除了其它组件之外,计算设备1850包括处理器1852、存储器1864、输入/输出设备(诸如显示器1854)、通信接口1866和收发器1868。设备1850还可以设置有用以提供额外存储的存储设备,诸如微型硬盘或其它设备。组件1850、1852、1864、1854、1866和1868中的每一个使用各种总线互相连接,并且若干组件可以安装在公共主板上,或根据需要,以其它方式安装。
处理器1852可以执行计算设备1850内的指令,包括存储在存储器1864中的指令。可以将处理器实施为包括单独的和多个模拟和数字处理器的芯片的芯片集。处理器可以提供例如对设备1850的其它组件的协调,诸如用户界面的控制、由设备1850运行的应用和通过设备1850进行的无线通信。
处理器1852可以通过耦合到显示器1854的控制接口1858和显示器接口1856来与用户进行通信。例如,显示器1854可以是TFT LCD(薄膜晶体管液晶显示器)或OLED(有机发光二极管)显示器或其它适合的显示器技术。显示器接口1856可以包括用于驱动显示器1854以向用户呈现图形和其它信息的适合的电路系统。控制接口1858可以接收来自用户的命令并且对这些命令进行转换以提交至处理器1852。另外,外部接口1862可以被提供为与处理器1852通信,以便使设备1850能够与其它设备进行近区通信。在一些实施方式中,外部接口1862可以提供例如有线通信,或在其它实施方式中可以提供无线通信,并且还可以使用多个接口。
存储器1864存储计算设备1850内的信息。可以将存储器1864实施为一个或多个计算机可读介质、一个或多个易失性存储器单元或一个或多个非易失性存储器单元中的一个或多个。还可以提供扩展存储器1874并且通过扩展接口1872将该扩展存储器1874连接到设备1850,该扩展接口1872可以包括例如SIMM(单线存储器模块)卡接口。这种扩展存储器1874可以为设备1850提供附加存储空间,或还可以存储设备1850的应用或其它信息。具体地,扩展存储器1874可以包括用于实行或补充上文所描述的过程的指令,并且还可以包括安全信息。因此,例如,可以将扩展存储器1874提供为设备1850的安全模块,并且可以用允许安全使用设备1850的指令来对其进行编程。另外,可以经由SIMM卡与附加信息(诸如,将识别信息以不可侵入的方式放在SIMM卡上)一起来提供安全应用。
存储器可以包括例如闪速存储器和/或NVRAM存储器,如下文所讨论。在一种实施方式中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含指令,这些指令在被执行时执行一种或多种方法,诸如上文所描述的那些方法。信息载体是计算机或机器可读介质,诸如存储器1864、扩展存储器1874或在处理器1852上的存储器,可以通过例如收发器1868或外部接口1862来接收该信息载体。
设备1850可以通过通信接口1866来无线地通信,在必要时,该通信接口可以包括数字信号处理电路系统。除其他之外,通信接口1866可以提供在各种模式或协议下的通信,诸如GSM语音通话、SMS、EMS、或MMS短信发送、CDMA、TDMA、PDC、WCDMA、CDMA1800或GPRS。这种通信可以例如通过无线电频率收发器1868而发生。另外,短程通信可以通过诸如使用蓝牙、WiFi或其它这种收发器(未示出)而发生。另外,GPS(全球定位系统)接收器模块1870可以将额外的与导航和位置有关的无线数据提供给设备1850,根据需要,该无线数据可以供在设备1850上运行的应用使用。
设备1850还可以通过使用音频编解码器1860来可听地通信,该音频编解码器可以接收来自用户的口头信息,并且将口头信息转换为可用的数字信息。音频编解码器1860还可以为用户生成可听见的声音,诸如通过扬声器,例如在设备1850的听筒中的扬声器。这种声音可以包括来自语音电话的声音,可以包括录制的声音(例如语音消息、音乐文件等),并且还可以包括通过在设备1850上操作的应用生成的声音。
如图中所示出,可以以多种不同的形式来实施计算设备1850。例如,可以将该计算设备实施为蜂窝电话1880。还可以将该计算设备实施为智能电话1882、个人数字助理或其它相似的移动设备的一部分。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实施方式可以包括:一个或多个计算机程序中的实施方式,该一个或多个计算机程序可以在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或通用的,可以耦合以从存储系统、至少一个输入设备和至少一个输出设备接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入设备和该至少一个输出设备。
这些计算机程序(也称作程序、软件、软件应用或代码)包括可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言和/或以汇编/机器语言来实施这些计算机程序。如本文中所使用,术语“机器可读介质”、“计算机可读介质”是指用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备和/或装置(例如磁盘、光盘、存储器、可编程逻辑设备(PLD)),包括接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”是指用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处所描述的系统和技术,该计算机具有:用于向用户显示信息的显示器设备(例如CRT(阴极射线管)或LCD(液晶显示器)监视器);以及键盘和指向设备(例如鼠标或轨迹球),用户可以通过该键盘和该指向设备来将输入提供给计算机。其它种类的设备还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈(例如视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式(包括声学输入、语音输入或触觉输入)接收来自用户的输入。
可以将此处所描述的系统和技术实施在包括后端组件的计算系统(例如作为数据服务器)、或包括中间件组件的计算系统(例如应用服务器)、或包括前端组件的计算系统(例如,具有图形用户界面或网络浏览器的客户端计算机,用户可以通过该图形用户界面或该网络浏览器来与此处所描述的系统和技术的实施方式交互)、或包括这种后端组件、中间件组件或前端组件的任何组合的计算系统中。可以通过任何形式或介质的数字数据通信(例如通信网络)来将系统的组件互相连接。通信网络的示例包括:局域网(“LAN”)、广域网(“WAN”)和互联网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通过通信网络进行交互。通过在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
已经描述了多个实施例。然而,要理解,在不脱离本发明的精神和范围的情况下,可以做出各种修改。
另外,图中所描绘的逻辑流程不需要所示出的特定顺序或相继顺序来实现期望的结果。另外,可以提供其它步骤或可以从描述的流程删除步骤,并且可以将其它组件添加至描述的系统或从描述的系统移除。因此,其它实施例在以下权利要求书的范围内。
Claims (19)
1.一种计算机实现的方法,包括:
确定与观看显示设备的发射界面相关联的用户的被跟踪方位;
使用所述被跟踪方位来生成表示与所述显示设备的所述发射界面相关联的第一组值的第一遮罩;
使用所述被跟踪方位来生成表示与所述显示设备的所述发射界面相关联的第二组值的第二遮罩;
其中,所述第一遮罩和所述第二遮罩是从网格导出的,所述网格基于距所述显示设备的所述发射界面的预定义距离来表示所述显示设备的所述发射界面的像素值的样本;以及
使用所述第一遮罩和所述第二遮罩来生成输出图像,生成所述输出图像包括:
获得具有第一组像素的左图像和具有第二组像素的右图像,
将所述第一组值指派给所述左图像中的所述第一组像素,
将所述第二组值指派给所述右图像中的所述第二组像素,以及
根据所指派的第一组值和所指派的第二组值来将所述左图像与所述右图像交织。
2.根据权利要求1所述的方法,进一步包括:
将所述输出图像提供给所述显示设备,所述输出图像被配置成将所述左图像提供给观看所述显示设备的所述发射界面的用户的左眼,同时将所述右图像同时地提供给观看所述显示设备的所述发射界面的所述用户的右眼。
3.根据权利要求1所述的方法,其中:
所述第一遮罩表示针对观看所述显示设备的用户的检测到的头部方位的像素的第一子集;
所述第二遮罩表示针对所述用户的所述检测到的头部的方位的像素的第二子集;并且
所述第一遮罩和所述第二遮罩被用于针对所述用户的多个可改变的头部方位,获得与所述显示设备相关联的每个像素的值。
4.根据权利要求1所述的方法,其中,所述第一遮罩和所述第二遮罩是具有红色、绿色和蓝色颜色分量的彩色图像,每个颜色分量被用于确定所述输出图像的相应颜色分量。
5.根据权利要求1所述的方法,其中,所述被跟踪方位是用户的头部方位,并且其中,基于检测到的所述头部方位的移动来更新所述第一遮罩和所述第二遮罩。
6.根据权利要求1所述的方法,其中,所述第一遮罩和所述第二遮罩包括针对所述显示设备的每个像素的至少一个颜色索引的表示。
7.根据权利要求1-6中的任一项所述的方法,其中,所述被跟踪方位针对所述显示设备的每一行而变化。
8.根据权利要求1所述的方法,其中:
生成所述第一遮罩包括:应用非线性函数来映射所述显示设备的所述发射界面的小数部分,以确定将所述第一组值指派给所述左图像中的所述第一组像素;以及
生成所述第二遮罩包括:应用所述非线性函数来映射所述显示设备的所述发射界面的不同的小数部分,以确定将所述第二组值指派给所述右图像中的所述第二组像素。
9.根据权利要求1所述的方法,其中,所述网格是由从4D查找表检索的四个拐角位置来定义的,所述4D查找表包括所述显示设备的所述发射界面的样本。
10.根据权利要求1所述的方法,其中:
所述被跟踪方位表示观看所述显示设备的所述用户的至少一个检测到的头部方位;以及
所述网格表示从所述检测到的头部方位采样的所述显示设备的所述发射界面的像素值的样本。
11.一种计算设备,包括,
存储器,所述存储器存储可执行指令;和
处理器,所述处理器被配置成执行所述指令,所述指令在被执行时使所述计算设备:
确定与观看显示设备的发射界面相关联的用户的被跟踪方位;
使用所述被跟踪方位来生成表示与所述显示设备的所述发射界面相关联的第一组值的第一遮罩;
使用所述被跟踪方位来生成表示与所述显示设备的所述发射界面相关联的第二组值的第二遮罩;
其中,所述第一遮罩和所述第二遮罩是从网格导出的,所述网格基于距所述显示设备的所述发射界面的预定义距离来表示所述显示设备的所述发射界面的像素值的样本;并且
获得具有第一组像素的左眼图像;
获得具有第二组像素的右眼图像;
将所述第一组值指派给所述第一组像素;
将所述第二组值指派给所述第二组像素;并且
生成输出图像,所述输出图像是通过根据所指派的第一组值和所指派的第二组值将所述左眼图像和所述右眼图像交织来生成的。
12.根据权利要求11所述的计算设备,其中:
所述第一组像素的至少一部分从第一位置可观看并且所述第一位置与观看所述显示设备的用户的左眼相关联;以及
所述第二组像素的至少一部分从第二位置可观看并且所述第二位置与观看所述显示设备的所述用户的右眼相关联。
13.根据权利要求11所述的计算设备,其中:
所述第一遮罩表示针对观看所述显示设备的用户的检测到的头部方位的像素的第一子集;
所述第二遮罩表示针对所述用户的所述检测到的头部的方位的像素的第二子集;并且
所述第一遮罩和所述第二遮罩被用于针对所述用户的多个可改变的头部方位,获得与所述显示设备相关联的每个像素的值。
14.根据权利要求11所述的计算设备,其中,所述第一遮罩和所述第二遮罩是具有红色、绿色和蓝色颜色分量的彩色图像,每个颜色分量被用于确定所述输出图像的相应颜色分量。
15.根据权利要求11至14中的任一项所述的计算设备,其中,所述第一遮罩和所述第二遮罩包括针对所述显示设备的每个像素的至少一个颜色索引的表示。
16.一种显示设备系统,包括:
跟踪模块;
显示面板,所述显示面板耦合到双凸透镜阵列;
至少一个处理设备;和
存储器,所述存储器存储指令,所述指令当被执行时使所述系统执行操作,所述操作包括:
确定与观看显示设备的发射界面相关联的用户的被跟踪方位;
使用所述被跟踪方位来生成表示与所述显示设备的所述发射界面相关联的第一组值的第一遮罩;
使用所述被跟踪方位来生成表示与所述显示设备的所述发射界面相关联的第二组值的第二遮罩;
其中,所述第一遮罩和所述第二遮罩是从网格导出的,所述网格基于距所述显示设备的所述发射界面的预定义距离来表示所述显示设备的所述发射界面的像素值的样本;以及
使用所述第一遮罩和所述第二遮罩来生成输出图像,生成所述输出图像包括:
获得具有第一组像素的左图像和具有第二组像素的右图像,
将所述第一组值指派给所述左图像中的所述第一组像素,
将所述第二组值指派给所述右图像中的所述第二组像素,以及
根据所指派的第一组值和所指派的第二组值来将所述左图像与所述右图像交织。
17.根据权利要求16所述的系统,其中所述操作进一步包括:
将所述输出图像提供给所述显示设备,所述输出图像被配置成将所述左图像提供给观看所述显示设备的所述发射界面的用户的左眼,同时将所述右图像同时地提供给观看所述显示设备的所述发射界面的所述用户的右眼。
18.根据权利要求16所述的系统,其中,所述第一遮罩和所述第二遮罩是具有红色、绿色和蓝色颜色分量的彩色图像,每个颜色分量用于确定所述输出图像的相应颜色分量。
19.根据权利要求16所述的系统,其中,所述被跟踪方位针对所述显示设备的每一行而变化。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862696158P | 2018-07-10 | 2018-07-10 | |
US62/696,158 | 2018-07-10 | ||
US16/249,551 | 2019-01-16 | ||
US16/249,551 US11172190B2 (en) | 2018-07-10 | 2019-01-16 | Stereo weaving for head-tracked autostereoscopic displays |
PCT/US2019/040810 WO2020014126A1 (en) | 2018-07-10 | 2019-07-08 | Autostereoscopic display with viewer tracking |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111919437A CN111919437A (zh) | 2020-11-10 |
CN111919437B true CN111919437B (zh) | 2022-08-09 |
Family
ID=69138604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980021850.0A Active CN111919437B (zh) | 2018-07-10 | 2019-07-08 | 用于头部跟踪自动立体显示器的立体编织 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11172190B2 (zh) |
EP (1) | EP3747191B1 (zh) |
CN (1) | CN111919437B (zh) |
WO (1) | WO2020014126A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL2020216B1 (en) * | 2017-12-30 | 2019-07-08 | Zhangjiagang Kangde Xin Optronics Mat Co Ltd | Method for reducing crosstalk on an autostereoscopic display |
US11410580B2 (en) * | 2020-08-20 | 2022-08-09 | Facebook Technologies, Llc. | Display non-uniformity correction |
JP7557347B2 (ja) | 2020-11-16 | 2024-09-27 | 日本放送協会 | 3次元映像表示装置 |
EP4115779A1 (de) * | 2021-07-06 | 2023-01-11 | Vorwerk & Co. Interholding GmbH | Haushaltsgerät mit multifunktionaler anzeige |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2835974A1 (en) * | 2013-08-05 | 2015-02-11 | TP Vision Holding B.V. | Multi-view 3D display system and method |
CN107124607A (zh) * | 2017-05-08 | 2017-09-01 | 上海大学 | 一种结合视觉疲劳检测的裸眼立体显示装置和方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9445072B2 (en) * | 2009-11-11 | 2016-09-13 | Disney Enterprises, Inc. | Synthesizing views based on image domain warping |
WO2012152346A1 (en) * | 2011-05-12 | 2012-11-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | An autostereoscopic screen and method for reproducing image information |
CN104685423B (zh) | 2012-10-23 | 2017-07-28 | 李阳 | 动态立体与全息显示器 |
US9013564B2 (en) * | 2013-05-07 | 2015-04-21 | Elwha Llc | Controllable lenticular lenslets |
EP3170307B1 (de) * | 2014-07-15 | 2020-08-26 | Novomatic Ag | Verfahren zur darstellung einer dreidimensionalen szene auf einem autostereoskopischen monitor |
KR101975246B1 (ko) * | 2014-10-10 | 2019-05-07 | 삼성전자주식회사 | 다시점 영상 디스플레이 장치 및 그 제어 방법 |
KR20180084749A (ko) * | 2015-09-17 | 2018-07-25 | 루미, 인코퍼레이티드 | 멀티뷰 디스플레이 및 관련 시스템과 방법 |
US10560689B2 (en) * | 2017-11-28 | 2020-02-11 | Paul Lapstun | Viewpoint-optimized light field display |
-
2019
- 2019-01-16 US US16/249,551 patent/US11172190B2/en active Active
- 2019-07-08 EP EP19749488.3A patent/EP3747191B1/en active Active
- 2019-07-08 CN CN201980021850.0A patent/CN111919437B/zh active Active
- 2019-07-08 WO PCT/US2019/040810 patent/WO2020014126A1/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2835974A1 (en) * | 2013-08-05 | 2015-02-11 | TP Vision Holding B.V. | Multi-view 3D display system and method |
CN107124607A (zh) * | 2017-05-08 | 2017-09-01 | 上海大学 | 一种结合视觉疲劳检测的裸眼立体显示装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3747191A1 (en) | 2020-12-09 |
WO2020014126A1 (en) | 2020-01-16 |
US11172190B2 (en) | 2021-11-09 |
EP3747191B1 (en) | 2024-09-04 |
CN111919437A (zh) | 2020-11-10 |
US20200021796A1 (en) | 2020-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111919437B (zh) | 用于头部跟踪自动立体显示器的立体编织 | |
KR102185130B1 (ko) | 다시점 영상 디스플레이 장치 및 그 제어 방법 | |
JP3966830B2 (ja) | 立体表示装置 | |
KR102140080B1 (ko) | 다시점 영상 디스플레이 장치 및 제어 방법 | |
CN118692335A (zh) | 显示处理电路系统 | |
KR102121389B1 (ko) | 무안경 3d 디스플레이 장치 및 그 제어 방법 | |
US20130127861A1 (en) | Display apparatuses and methods for simulating an autostereoscopic display device | |
US9224366B1 (en) | Bendable stereoscopic 3D display device | |
KR20160010169A (ko) | 곡면형 다시점 영상 디스플레이 장치 및 그 제어 방법 | |
KR20140089860A (ko) | 디스플레이 장치 및 그 디스플레이 방법 | |
KR101975246B1 (ko) | 다시점 영상 디스플레이 장치 및 그 제어 방법 | |
CN105430369A (zh) | 自动立体三维显示设备 | |
CN116508066A (zh) | 用于自由立体远程呈现系统的三维(3d)面部特征跟踪 | |
CN109782452B (zh) | 立体影像产生方法、成像方法与系统 | |
CN105681778B (zh) | 一种三维显示装置及其驱动方法 | |
US10939092B2 (en) | Multiview image display apparatus and multiview image display method thereof | |
JP4703635B2 (ja) | 立体視画像生成方法、その装置、及び立体視画像表示装置 | |
CN113900273B (zh) | 裸眼3d显示方法及相关设备 | |
TW201320719A (zh) | 立體畫像顯示裝置、畫像處理裝置及畫像處理方法 | |
KR102139746B1 (ko) | 투명 디스플레이 장치 및 그 디스플레이 방법 | |
Jurk et al. | A new type of multiview display | |
KR20150118325A (ko) | 다시점 영상 디스플레이 장치 및 디스플레이 방법 | |
WO2023219916A1 (en) | Predictive head-tracking multiview display and method |
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 |