Karl Guttag:微软HoloLens 2激光显示解析(五)

知名光学专家Karl Guttag,此前已经发表了四篇关于HoloLens 2激光扫描显示系统的分析文章,分别对分辨率、清晰度、偏色/斜向纹理、扩瞳等方面进行分析。而这一系列文章并没有结束,在第五篇文章中,将进一步分析HoloLens 2颜色和亮度等LBS激光显示的问题。

色彩管理简析

首先,Karl表示第一次看到HoloLens 2时就对它的色彩饱和度感到非常不满意,甚至相比HoloLens 1代而言都有着巨大差距。然而HoloLens 2采用的是高饱和度、色域的激光显示模组,是什么原因导致最终入眼效果变差呢?

此前谈到HoloLens 2光波导严重偏色问题多会归类到LBS光机自身。为了探究,本文中Karl将LBS的光强和光波导的色彩均匀性两个因素分开讨论。

Karl此前就发文进行探讨过HoloLens 2的LBS激光扫描显示,当中LBS的部分缺点目前仍无法解决。同时在该系列第一篇文章中也提到,HoloLens 2中与LBS相关的分辨率低、闪烁等问题。本文将进行一系列实拍辅证,来分析HoloLens 2中LBS的强度控制与色彩管理问题。

PS:光照强度和明亮程度通常情况下意义接近。在本文中,强度(Intensity)指亮度(Luminance),单位:nits = cd/m²;而明亮程度/灰度(Brightness)则指的是HoloLens 2最终呈现的光效。

人眼对亮度伽玛值的感知

人眼对于亮度感知是非线性的,在下图左侧黑暗区域,强度的绝对值变化很小,同样的在右侧的明亮区域,亮度的绝对值变化也比较小。

而所有常见的图片和视频文件格式在编码都在充分利用这一事实,从而实现感官相近的图像可以进行更小体量的编码。以目前sRGB色彩标准而言,0-30编码编码值与254-255的编码值相接近,意味着sRGB格式在黑暗区域可实现更小编码量。

为了能正确驱动显示8位(2^8 =256)编码的像素对应的颜色,约需要12位(4096级)线性亮度控制。即便多数标准使用的不是伽玛曲线,但像素值的非线性编码和解码也通常被称为“伽玛”。

简单测试用于区分问题根源

为了进一步区分问题根源,Karl首先进行了一项简单测试。即通过测试图像(灰、白渐变图),该图像拥有整个256级(8位)渐变,从中心点为0(黑色)开始,过渡到左右255(白色)。

上,原图;下,HoloLens 2实拍图

不过,在HoloLens 2的波导中显示结果就非常糟糕,左右两侧无规律的偏色现象极为严重,从而导致无法显示暗色区域的过渡。

Karl表示:HoloLens 2出现了偏冷色的彩虹效应,色差明显偏大导致无法区分暖灰色渐变。而屏幕中间的黑/暗色区域较窄,且从亮到暗处的过渡非常急促,整体的色彩效果非常不友好。

单绿色模式进一步分析

接下来选取一张绿色测试图像,即绿色-黑色的过渡图,上下分为两部分,两部分过渡相反。同时,中间和左右两侧依旧拥有黑白灰对比色块。

上,原图;下,HoloLens 2实拍图

从实拍图结果来看,上半部分,HoloLens 2显示黑色到绿色过渡并不平滑,更像是从一大片绿色迅速立刻到黑色,再立刻渡到一大片绿色,中间的黑色区域非常非常窄。下半部分,从暗色过渡到绿色的情况则会导致亮色区域被压缩,并且亮色区域饱和度也有所降低。

显示效果对比:左,HoloLens 2;中,原始图像;右,HoloLens 1

接下来,将上面的绿色过渡图选取中间偏上区域进行放大对比。

从上面2倍放大图来看,绿色渐变呈现出斜向(弧形)的亮度和颜色渐变带,如上图中蓝色虚线标注。多数情况,我们的眼睛观看焦点也都在“中间梯形区域”(前几篇文章多次提到),而通过绿色图像也表明存在具备一系列的斜向过渡,而不是一整块区域混合显示。

像素变粗现象

Karl还提到了一点,HoloLens 2通常会将所有像素呈现的更粗,例如上面4倍放大区域的对比图,上方实拍图比下放原图的字母显示更粗,由此导致边缘和整体效果会变模糊。

红色和蓝色过渡测试

同时,从上面的测试图还发现了红色光斑,而由于绿色和黑色怎么组合都无法出现红,因此猜测:红色光斑可能来自于将红色(蓝色)混合到绿色呈现的,也就是HoloLens 2光波导偏色/色彩不均匀的情况,会导致绿色光在红色区域会无法显示,也就是被“遮挡”。

由此推测,在显示原色(本测试中为绿色)时还会产生补偿色(本测试中是红色和蓝色)。补偿色与原色的变化强度理应一致,就如同下图测试结果。

Karl在此前博客中提到,激光显示原理中降低色彩饱和度和颜色混合叠加方面,激光输出单一颜色(红、绿、蓝)饱和度太高,如果显示绿色草丛,就需要额外加入其它颜色进行补偿,目的就是降低绿色降低饱和度,从而看起来更真实。

也就是说,激光显示会增加少量的补偿色(可以是红、绿、蓝),用来校正色彩准确性。不过由于激光显示从0开始的变化较快,以及红光快速增多,导致在绿色渐变测试中被过度补偿,从而导致出现红色光斑的现象。

上面4张图从上至下分别是:绿-黑色双向渐变原图、以及绿色过滤图、红色过滤图、蓝色过滤图。后面三张均通过Photoshop处理,可在一定程度代表HoloLens 2激光模组显示绿色时会补偿多少红色、蓝色光。经过对比可以看到,红色比蓝色要明显更多。

黑色过渡显示如何?

接下来,Karl设计了一张黑色测试图,该图中间区域用竖向划分了9个灰阶区块(灰阶变化较小,手机不易看出效果,请切换显示器或可视角度),同时从0-8的宽度依次变窄。

测试原图

左:HoloLens 2实拍图(暗灰背景)裁切、右:原图等比裁切

注:实拍图经过Photoshop曝光处理,将原图上方255的白色块,手动调整至244左右。

从对比图来看,从0到1亮度变化并不是很大,而1-8的亮度增加则太过明显。尤其是只对比0与8两块区域,原图中的差别并不大,但在HoloLens 2上显示的变化却很大。

另外值得注意的是,在单一灰阶的竖向通道内,依然会出现斜向切割线(断层效应,放大上图查看),下方颜色有所加深。

HoloLens 2亮度超500nit

由于HoloLens 2存在显示偏色以及闪烁现象,使用简单的方式(光度计)无法准确的测试亮度数据。而通过相机长曝光可以进行粗略的中心亮度的估算。微软表示HoloLens 2亮度可达500nit,同时HoloLens 2支持11级亮度调节,并且拥有2个物理调节亮度的快捷按钮。

通过相机长曝光粗略测试,HoloLens 2中间区域在11个亮度级别下测试亮度分别为16、38、59、91、113、140、221、291、360、414、538。可见最大亮度下,的确可达到500nit以上。本文中测试照片大部分在第4档亮度(即291nit)下拍摄,效果相比一台200nit的显示器还要亮一些。

当然,538nit最大亮度的表现要比HoloLens 1更高,Magic Leap亮度约320nit。而HoloLens 2还可以阻挡60%的环境光,也就是500nit的级别在绝大多数室内场景足够使用,但在户外环境下亮度依然很低。

绿色渐变图的灰阶和颜色变化

接下来,我们将绿色测试图像放大来进一步观察。将图片上半部分中间约1/6充满HoloLens 2整个视野(观察下方字母从c-a区间)。这样的结果就是,实际图像中显示变化中的每一阶对应着多个像素宽。

而这次测试的结果同样简单清晰,这也基本代表着人眼看到的实际情况。

从上图来看(亮度为第四档),HoloLens 2左侧蓝色矩形和右侧蓝色椭圆区域已被标注放大,同时右侧还增加了0-12的灰阶标注,黄色虚线标注出横向断层现象(原文说类似楼梯式断层)。

结果显示来看,即便在纯绿色背景下,仍然混合了部分红色。

再将上图通过PS过滤掉红、蓝两色,我们发现黄色虚线框内的断层变化,上半部分绿色区域的断层现象仍然存在,下半部分原本是红色区域的断层现象则几乎不见。

而如果将测试图通过PS过滤掉蓝色和绿色,那么在黄色虚线区域上半部分断层现象消失,而下半部分断层依然存在。同时黄色虚线框中,越靠近底部红色更深、更暗,而仅绿色过滤图中的明亮变化相对不大。

同时,红色过滤图中底部颜色显示相对绿色有更大显示范围,而绿色过滤中底部则是大面积的黑/暗色。

但是,红色过滤图中的断层效应更加明显,并且左侧黄色虚线区域比有右侧更为明显。同时,这种断层效应更偏向于斜向,6、7、8三块区域下方有着明显的斜向断层,与绿色过滤图中横向偏多情况不同。

上图中蓝色过滤层(PS过滤红色和绿色),此图中蓝色的曝光似乎是原来3.5倍,以至于蓝色看上去非常突出。

值得注意的是,在0号区域蓝色激光就已经微弱开启,但在1号区域又完全关闭,而2号区域则显示不完整,整个现象非常有趣,也令人摸不着头脑。

最大和最低亮度下对比

上述Karl通过不同单绿色测试图了解了LBS激光显示+蝶形光波导的显示基础特性,之前测试图都在第四档亮度下完成。接下来Karl继续在HoloLens 2的最大和最小亮度进行拍摄对比,而下放的图片都是经过PS亮度调整,以让亮度和上述图片亮度更接近,从而方便大家对比。

从上至下:HoloLens 2最大亮度实拍、HoloLens 2最低亮度实拍、HoloLens 2最低亮度单绿色过滤、HoloLens 最低亮度淡绿色过滤+3曝光

在最大亮度下,整体画面和上述第四档亮度下类似(第二张),对角线的断层和横向的断层情况接近,但位置微弱的变化。

在最小亮度下,HoloLens 2几乎没有显示暗处的颜色,红色区域也偏多,导致过滤从原来的红色到绿色,成为红-黄-绿三色都比较明显。

最低亮度下,0-3号区域的三角形中几乎只显示了红色,因为绿色过滤图中几乎为黑色显示,在将曝光增加3档后可以清楚的看出结果,0和1号区域有微弱的绿光,但在顶部三角形区域黑色明显覆盖到5号区域的范围。

HoloLens 2输入近似为输出响应

上图是从本文中最开始的测试图中,裁切出来的区域,尺寸已经调整至与HoloLens 2测试时的大小接近。

上图是本文最开始的灰度测试图,同时包含一张原始ELF格式测试图。

上图是将上面图片原始灰度测试图和ELF图像通过PS处理,从而和HoloLens 2的实测照片相接近。左侧白底图为使用的补偿曲线(红色)。

上图是HoloLens 1(LCoS光源)灰度图,由于波导导致颜色偏色,但灰阶表现仍然比较合理。

控制激光发射强度

下图分别OSRAM公司绿色激光二极管(左)、绿色LED(右)的电流和光输出(激光对应mW,LED对应流明)的曲线图。虽然说各个元器件依然有所不同,图片基本能表明激光与LED存在的典型区别。

如上图所示,激光元器件具备响应特性,这也导致它们亮度控制比LED复杂很多。因为,激光响应具备阈值电流,再次电流之前不会被激发,一旦达到阈值亮度将随着电流增加则迅速增加。对于LBS而言,激光模组阈值设定为刚好低于黑色,否则就意味着需要开启还需要等待一段时间。

电流的一个很小的变化,就导致激光模组的发光量呈现大的变化。而且一个重要的信息是,阈值随着激光温度的变化也发生变化。激光模组表现也会受制于自身发热导致结果呈现出微弱变化。

这也意味着激光模组所需电流以及驱动不同亮度所需电流变化很小,由于像素扫描时间的脉冲非常窄,导致没有太多可能使用时间控制式方法,如类似PWM的脉冲方式来控制亮度。

必须要保留部分强度,从而补偿变化的光速,因为它在中心加速而在两侧减速。重要的是,整体亮度的控制。

激光模组调制问题总结

  • 1,由于人类视觉反应而产生调制要求。需具备4000多个亮度级别(12位),以及支持典型8位伽玛编码;
  • 2,HoloLens 2亮度范围约538÷16=33倍(约5位)。因此需要降低图像亮度作为代价,在较低亮度下才会明显看到;
  • 3,过饱和原色的色彩校正;
  • 4,激光模组必须补偿激光的扫描速度,激光在两侧速度慢,需要调暗;
  • 5,激光阈值导致像素丢失或像素过亮,显示内容变化也会导致激光温度变化,并影响阈值;
  • 6,急促的非线性激光响应随着温度而变化,一是受到显示图像的内容,二是阈值的微弱变化会导致亮度发生明显差异;
  • 7,像素时间短,几乎无法进行PWM调制。

上述问题可以通过在激光中加入某些形式的二次调制,可某种程度上得到缓解。虽然说有助于亮度控制,但实现起来可能比较困难,而且效率也堪忧。

HoloLens 2拥有约33倍动态范围(亮度从16-538nit),但16nit对在夜间依然比较亮,而538nit在白天来说依然很暗。尽管HoloLens 2拥有33:1的动态对比度,不过以汽车HUD中,DLP光源可实现5000:1动态对比度(亮度2.8-15000nit)。

LCoS和DLP都可以通过显示设备直接调节亮度,可有效的解决1和2的问题,而3则与LED无关,4-7的问题也不存在。因此,LCD响应曲线具有自然的伽玛值,这使得LCoS在低亮度下也同样易于调节。而采用LED的DLP,则可以将LED控制用作强度调制。

MicroLED的亮度控制则依赖于设备本身,因此不得不解决1-3的问题。而其优点在于响应曲线不存在激光光源的阈值。但Karl认为其可能通过其它形式的二级调制方案,如电子中性密度滤光片。

结论

简单来讲,按照今天显示领域的标准,HoloLens 2的亮度控制仍然是糟糕的,而且还伴随着其它严重问题,例如绿色斜向断层现象,以及色彩偏红等。

HoloLens 2的灰阶响应表现同样较差。几乎比我们见到的低端显示设备还差。除了偏色外,最终呈现出的颜色饱和度明显偏低。当然,其灰阶响应优势是单调变换。

最基本的问题还是在于像素控制、颜色校正、整体亮度都依赖于激光,而它的高度非线性传递函数(响应特性)。对HoloLens 2而言,这是一个严重的失误。

而至于HoloLens 2是否适用某些室内场景,这是完全不同的另一个话题,因为在某些应用中,可能并不需要严格的色彩控制,也不需要特别大的亮度范围。即便LBS光机具备很好的色彩调制,但光波导模组本身或许也存在一些问题。也就是说,你无法将它用于浏览照片和观看电影这种色彩和亮度要求很高的场景。

本文系青亭网翻译。

原文:kguttag

(0)

相关推荐