请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
戴客 首页 科技资讯 混合现实 科普 查看内容

Mars说光场— 光场显示

北极蚊子 2018-10-25 12:01

 重现一个真实的三维世界,实现类似于《阿凡达》电影所展示的全息显示,是人类长久以来的梦想。如果能采集并投射出全光函数中7个维度的光线,将能使环境中所有人同时获得身临其境的全息视觉体验。光场作为理想的3D显示技术与传统2D显示有着明显的区别:传统的2D显示器只能提供仿射、遮挡、光照阴影、纹理、先验知识五方面心理视觉信息。光场显示除了能产生传统2D显示器的所有信息外,还能提供双目视差、移动视差、聚焦模糊三方面的生理视觉信息。在光场显示技术发展过程中,出现了多种光场显示技术方案,引起广泛关注和研究的主要有五种技术:(1)体三维显示(Volumetric 3D Display);(2)多视投影阵列(Multi-view Projector Array);(3)集成成像(Integral Imaging);(4)数字全息;(5)多层液晶张量显示。关于三维显示的详细发展历史及其应用可以参见[1-11]。

图 1. 电影《阿凡达》中描绘的光场全息三维军事沙盘

1、体三维显示

体三维显示技术[12,13]主要通过在空间中不同深度平面显示不同图像来实现。如图2所示,屏幕沿着Z轴方向快速往返运动,屏幕移动到不同位置时投影仪投射出不同的图像[14];当屏幕的移动足够快时,由于人眼的视觉暂留特性从而在眼前显示出三维立体图像。然而高速且匀速的往返直线运动难以实现,因此在体三维显示系统中将平移运动转化为旋转运动。

图 2. 平移式/旋转式体三维显示原理示意图

Langhans 从90年代开始研发体三维显示,并陆续推出了名为“Felix”的体三维显示样机。Langhans 在1996年发表了基于激光扫描的体三维显示技术[15],在1998年将体积进一步缩小形成便携式的体三维显示[16],后于2002年实现了可交互的体三维显示[17]。

图 3. 德国Felix体三维显示系统

美国南加州大学Andrew Jones于2007年研制了360°体显示系统[18],如图4所示。该系统通过高速投影仪将图像投到一个高速旋转的反射镜上。当镜子旋转到不同的位置,投影仪投出对应视点的图像,从而实现360°环视光场显示。Jones在2009年进一步将人脸实时重建技术加入到光场显示系统,实现了远程裸眼3D视频会议[19]。

图 4. 美国南加州大学实现的360度光场显示

体三维显示技术在我国起步较晚,中科院自动化研究所于2007研制出基于DMD高速投影仪的体三维显示系统Helix[20],如图5所示,其视点分辨率为1024*768*170,每个体素的大小为0.23*0.23*1mm3,对比度为800:1,3D图像的亮度为100Lux,3D图像刷新率为15fps。实现体三维显示的核心思路是分时复用地在空间中投射不同的图像,牺牲反射场函数中时间t维度换取深度z维度,这就要求投影仪具有非常高的显示帧率。该系统投影170层图像并保持15fps的刷新率,则要求投影仪每秒投影2550幅图像。为了达到如此高的帧率,投影仪只能工作在单色模式下。

图 5. 中科院自动化所研制的体三维显示系统Helix

体三维显示技术原理简单,实现了有限的空间内反射场函数中的5个维度(x, y, z, λ, t),但体三维显示技术存在多方面缺陷:1)体三维显示技术的显示器件不是一个平面,而是一个立体空间,因此占地面积大。2)螺旋面的成型精度要求高,因此加工成本高,不利于量产化。3)单位时间内形成的体素数量有限,视点分辨率有限。4)体三维显示系统需要加入旋转机械运动,投影与运动同步控制困难。

2、多视投影阵列光场显示

多视投影阵列三维显示技术通过多个投影仪组成的阵列向空间中一定角度范围内不同方向投射不同图像。相比于体三维显示技术, 多视投影三维显示技术保留了裸眼、多视等优点,并且显示屏幕更接近传统的平面显示器,符合人眼观看显示器的习惯。同时,多视投影三维显示技术去掉了系统中机械运动部件和螺旋显示屏幕,还可以显示复杂纹理和彩色三维内容。但其明显缺点是成本高昂、占地空间大。

浙江大学于2012年构建了全视向的三维显示[21],随后又展示了360°三维显示系统[22,23],如图6所示。北京理工大学在2015年实现了可触摸的360度光场显示[24],如图7所示。北京邮电大学将多投影3D显示应用与地理信息系统[25],并比较了3D投影与柱面光场在垂直视差上的区别[26]。

图 6. 浙江大学360度多视三维显示系统

图 7. 北京理工大学360度悬浮光场显示

南加州大学Graphic Lab在2014年提出了一种具有垂直视差的投影仪阵列光场显示方案[27],如图8所示。所提出的方案通过人眼跟踪来判断人眼相对于屏幕的高低位置,并根据人眼位置实时渲染对应视点图像。该技术沿用水平排列的投影仪阵列同时获得了水平视差和垂直视差,但是当同一水平位置上出现高度不同的两个(及以上)观众时,只有其中一个观众能观看到正确视点图像。

图 8. 南加州大学实现的水平投影仪阵列

南加州大学Graphic Lab于2016年提出了与真人1:1的多视投影光场显示系统,并实现了实时对话,如图9所示,该系统包括216个投影仪、6台PC主机。

图 9. 南加州大学实现的真人1:1的多视投影光场显示系统

之前外界猜测Magic Leap可能使用的光纤扫描投影技术,其实就是基于投影阵列的光场显示。如果投影仪真的能做到1毫米直径,那么Magic Leap的光场显示方案是可行的。但最新上市的Magic Leap One并没有采用这种方案,显然是投影仪的微型化还不能在工程上大规模实现。

3、集成成像光场显示

集成成像[19]最早是将微透镜阵列放于成像传感器之前实现光场采集。光场采集和光场显示的光路是可逆的,因此集成成像技术既可应用于光场采集[28],又可应用于光场显示[29,30]。目前已经商业化的裸眼3D电视正是基于集成成像原理。

韩国国立首尔大学Byoungho Lee于2001年将柱面透镜光栅覆盖在LCD表面实现了动态的集成成像3D显示[31]。日本NHK的在1997年采用梯度下标克服了深度有限的问题[32]并在HDTV上实现了实时的三维显示[33]。东京大学Naemura在2001年实现了集成成像的任意视点合成[34]。国内四川大学于2009年利用2层光栅实现了3D显示[35],在2010年通过叠加两块具有不同LPI(Line Per Inch)参数的柱面光栅所实现的3D显示具有更小的图像串扰,更大的可视角[36],如图10所示。北京邮电大学也尝试了两个光栅组合的3D显示[37]。

图 10. 四川大学采用两层柱面光栅叠加实现的集成成像3D显示

柱面透镜光栅的主要作用是将不同像素的光线投射到不同的方向。如图11所示,柱面透镜下所覆盖的8个像素分别产生不同的颜色,从而向不同方向投射出不同颜色的光线。然而单个柱面透镜的宽度一般并不等于整数个像素的宽度,因此会存在某个像素横跨两个柱面透镜的情况,此时会产生光线串扰。在商业化的产品中普遍采用的技术方案为:将柱面透镜光栅相对屏幕倾斜,然后通过软件算法来减轻光线的串扰。

图 11. 柱面透镜光栅光学特性示意图

基于柱面透镜光栅的光场显示存在一个明显的缺陷:视点图像分辨率损失严重。柱面透镜光栅的尺寸由LPI(Lens Per Inch)决定。当LPI较大时,每个柱面透镜覆盖的像素就越少,从而产生的视点数量较少,在观看时会产生视点不连续的情况。当LPI较小时,每个柱面透镜覆盖的像素就越多,产生的视点数量也较多,但每个视点的图像分辨率损失严重。由于整体可控的像素数量是一定的,当柱面透镜覆盖更多的像素时,单个视点的图像分辨率损失严重。例如采用4K显示屏(4096x2160),一般商业化的裸眼3D显示器在水平方向产生16(或32)个视点,则每个视点的分辨率降低到256x2160。虽然存在分辨率损失的问题,但基于柱面透镜光栅的光场显示方案成本低廉,成为了目前唯一大面积商业化应用的裸眼3D显示方案。而且显示器面板的分辨率正在逐步提高,视点图像分辨率损失的问题将会逐步得到解决。

4、全息显示

光场可以看做是“离散的”、“数字化的”全息,当光场的角分辨率和视点分辨率不断提高,光场的显示效果也将不断逼近全息显示。全息显示技术在近几年不断发展,Tay Savas于2008年在《Nature》上展示可更新内容的全息显示[38]。 P.A.Blanche于2010年在《Nature》上展示过彩色的全息显示[39]。总体而言,全息的显示是终极的光场显示效果,但动态彩色大尺度的全息显示技术尚不成熟,仍有待于材料学、微机电、光学等多学科的共同进步。

国内北京理工大学和上海大学在全息成像方面积累了大量工作。北理工在2013年通过调制复振幅实现了动态3D全息显示[40]。在2014年采用编码复用实现了动态彩色3D全息显示[41],如图12所示。随后在2015年采用压缩查询表的方法在3D全息显示中实现了CGH(Computer Generated Hologram)[42]。

图12. 北京理工大学2014年实现的彩色3D全息显示

5、多层液晶张量光场显示

光场比传统2D图像具有更高的维度,不论是光场的采集还是显示都会面临牺牲图像分辨率来换取角度分辨率的两难境地。国际上最新的研究思路是将高维的光场进行压缩分解。张量光场显示技术最初由美国MIT Media Lab的Gordon Wetzstein提出[43],如图13所示。Gordon Wetzstein将光场表示为一个张量(Tensor),对张量进行分解即可将高维度的光场压缩为多个向量的张量积,从而利用有限层数的液晶就可以显示出完整的光场。基于多层液晶的张量光场显示原理比较复杂,目前公开的资料比较少,因此本文将用较大篇幅来剖析其工作原理。

图 13. Gordon Wetzstein 于2013年在MIT实现的张量光场显示

5.1 液晶工作原理

液晶的工作原理直接关系到多层液晶光场显示样机的搭建,在搭建多层液晶样机之前有必要详细了解液晶的工作原理及特性。如图14所示[44],背光板发出的光线是均匀自然光,经过下偏光片(起偏膜)过滤变了偏振光。对液晶层施加电压后,液晶会扭转偏振光的偏振方向,扭转角度的大小与施加电压成正比,也即与像素值的大小成正比。经液晶扭转后的偏振光被上偏光片(阻偏膜)过滤,偏振光与上偏光片的夹角越小则透过的光线亮度越高。下偏光片与上偏光片的偏振极性始终垂直。当液晶像素值为0时,液晶对偏振光的扭转角度也为0,偏振光的偏振极性与上偏光片的偏振极性垂直,所以该像素点发出的光线衰减到0,如图14中蓝色偏振光。当液晶像素值为1时,液晶对偏振光扭转90度,偏振光的偏振极性与上偏光片的偏振极性平行,所以该像素点发出的光线不衰减,如图14中红色和绿色偏振光。

(图片来源于https://www.xianjichina.com/news/details_34485.html)

图 14. 液晶面板工作原理示意图

5.2 多层液晶偏振特性

从上述液晶的成像原理可知每层液晶显示面板都具有起偏膜和阻偏膜,如果直接将多层液晶显示面板平行堆叠起来,那么无论将液晶像素设为多少值,背光发出的光线都无法穿透多层液晶,从而无法显示任何图像。如图15所示,由于第一层液晶LCD#1阻偏膜的存在,背光发出的光线经过第一层液晶后必定为偏振光且偏振极性与第二层液晶LCD#2起偏膜的偏振极性垂直,理论上不会有任何光线经过第二层液晶,也就不会有光线进入第三层液晶。所以,多层液晶前的观看者不会接收到任何光线,呈现一片漆黑。

图 15. 直接堆叠多层液晶的偏振特性示意图

由上述分析可知,直接将多层液晶显示面板平行堆叠起来无法实现光场显示。为了使得多层液晶能够按照光场4D模型来工作,需要重新排列偏振膜。有两种偏振片排列方式,分别称之为乘法模型和加法模型。乘法模型的偏振片排列方式如图16所示,如果有N层液晶则需要(N+1)块偏振片,在任意两块偏振片之间放入一块液晶,且任意两块相邻的偏振片的偏振极性互相垂直。图16中P1偏振片为正45度偏振极性,对背光进行起偏,所以进入LCD#1的为正45度偏振光。P2偏振片为负45度偏振极性,对LCD#1的偏振光进行阻偏,从而调节从LCD#1出来的光线的亮度,同时保证进入LCD#2的光线都为负45度偏振极性。同理,P3偏振片为正45度偏振极性,对LCD#2的偏振光进行阻偏,从而调节从LCD#2出来的光线的亮度,同时保证进入LCD#3的光线都为正45度偏振极。以此类推,每一层液晶都对进入的光线起到了亮度调制的功能,从而实现了多层液晶联合调制光线。光线从背光板发出穿过多层液晶,每穿过一层液晶,液晶就会对上一层液晶的偏振光进行偏转,且上一层液晶的偏振角度不会累加到当前层液晶的偏转,所以调制关系为乘法运算,可表示为式(1)。当然,我们也可以将乘法运算通过对数转换为加法运算,如式(2)。

l = [a, b, c] = a×b×c (1)

log(l ) =log(a×b×c) = log(a) + log(b) + log(c) (2)

其中,a, b, c分别为目标光线与LCD#1,LCD#2和LCD#3交点上的像素值;为多层液晶联合调制后光线的亮度。

图 16. 多层液晶的乘法模型偏振片排列示意图

加法模型的偏振片排列方式如图17所示,如果有N层液晶,不论N为多少,则都只需要两块偏振片,分别位于第一层液晶的起偏位置和第N层液晶的阻偏位置,且两块偏振片的偏振极性互相垂直。图17中P1偏振片为正45度偏振极性,对背光进行起偏,所以进入LCD#1的为正45度偏振光。LCD#1对进入的光线进行偏转,然后进入LCD#2。LCD#2在LCD#1偏转角度的基础上进一步对光线进行偏转,偏转后的光线进入LCD#3。同理,LCD#3在LCD#1和LCD#2偏转角度的基础上进一步对光线进行偏转。P2 偏振片为负45度偏振极性,对经过LCD#3偏转后的光线进行阻偏,从而调制光线亮度。光线从背光板发出穿过多层液晶,每穿过一层液晶,液晶就会对上一层液晶的偏振光进行偏转,且上一层液晶的偏振角度会累加到当前层液晶的偏转,最后进入人眼的光线亮度由多层液晶偏振角度之和来决定,所以多层液晶的调制关系为加法运算,可表示为式(3)。

图 17. 多层液晶的加法模型偏振片排列示意图

l = [a, b, c] = a+b+c (3)

其中,a, b, c分别为目标光线与LCD#1,LCD#2和LCD#3交点上的像素值;为多层液晶联合调制后光线的亮度。

5.3 多层液晶的各向异性

如图18所示,传统2D显示器每个像素点都会在一定角度范围内发出光线,但每个像素点发出的光线都是各向同性的。换句话说,每个像素点向各个方向发出的光线都具有一样的亮度和颜色。左右眼接收到同样的图像,不同位置的观看者也接收到同样的图像。2D显示器既不能提供双目视差,也不能提供移动视差,因此人眼始终只能看见一幅2D 图像。

图 18. 传统2D显示器各向同性光学特性

产生各向异性的光线是光场显示的关键。将传统的液晶显示器多层堆叠起来可以构造如图19中光场4D模型,待显示的物体向各个方向发出的光线都可以被多层液晶重现,从而确保多层液晶前不同位置的观众可以接收到不同的光线,不同位置的观众可以看见三维物体的不同侧面。

图 19. 多层液晶光场显示原理示意图

如图20所示,假设背光是均匀的,所有从背光发出并达到第一层液晶的光线的亮度一致,多层液晶上不同像素的连线就形成了一条不同亮度和颜色的光线。通过不同像素的组合,多层液晶可以在一定空间范围内的任意位置重建出发光点,例如多层液晶之间的点F、多层液晶之后的点G、多层液晶之前的点H,且重建的发光点可以发出各向异性的光线。

图 20. 多层液晶光场显示光线的各向异性

图20中F点的光线、G点的光线和分别由三层液晶上的不同像素组合产生,表示为式(4)。类似的,其他光线也可以由多层液晶上像素的联合调制产生。为了实现光线的快速调制,曹煊于2015年开发了基于GPU的并行光场分解算法[45,46]]。

l 1 = [a1, b1, c1]

l i = [ai, bi, ci] (4)

l 3 = [a3, b3, c3]

其中,l i 表示第条光线;ai, bi, ci分别为光线与LCD#1、LCD#2和LCD#3相交的像素;[ai, bi, ci] 可表示两种不同的运算法则,这主要取决于多层液晶的偏振膜的工作方式。

通过上述的分析可知,多层液晶进行光线调制时具有高度的灵活性,可以重现发光点处于多层液晶不同位置时的各向异性光线。当足够多的发光点同时被调制产生时,就能投射出整个三维物体。如图21所示,待显示的三维物体可以设置在多层液晶之前、之后或者中间,从而使观看者感觉物体突出于显示器之外或者凹陷于显示器之内,并且三维显示的“突出感”可以在一定范围内调节。

图 21. 多层液晶张量光场显示的深度范围示意图

张量光场显示本质上是利用多层液晶进行空间复用,形成空间光调制器。该方案不会损失视点图像分辨率,但存在一个明显的缺点:液晶和偏振膜的透光率较低,当背光穿过多层液晶后光强损失严重;因此基于多层液晶的光场显示往往亮度比较低。液晶层数越多,光场显示亮度损失越严重。

需要说明的是,OLED(Organic Light-Emitting Diode)是自发光显示屏,无需背光。多层OLED叠加在一起,进入人眼的光线并不是由多层OLED屏联合调制后的结果,不满足光场4D模型。因此,多层OLED显示屏的堆叠并不能实现张量光场显示。

文章点评