视频HDR -> LDR问题(Tone Mapping)综述

笔者按:最近开始作视频HDR的相关工作,对相关内容都不太了解,从综述文章开始阅读。本文主要记录文章 《A comparative review of tone-mapping algorithms for high dynamic range video》的阅读记录。Review文章不会讲很具体的原理,只是给出一些启发式的公式,作为这个问题的入门。

这篇文章的展开逻辑是先笼统地讲讲HDR,然后图像HDR,然后视频HDR,一直到第六章才会从原理上讲一些TM算法的详细原理。想看具体的算法原理的同学也可以直接看第六章。

摘要和Introduction就略过了,直接从第二节问题背景开始讲起。

目录

2 General background

2.1 LDR和HDR图像的区别

2.2 The capture, display and distribution of HDR video

2.3 Perceptual motivation of TM

2.4 Detail presevation in tone-mapping

2.5 TM of colors

3 Historical overview

3.1 background

3.2 Tone-curve & 3.3 Detail preservation

4 Definations and taxonomy

4.1 Tone-curve

4.2 Local adaptation

5 Video TM

5.1 background

5.2 时域一致性

5.3 Noise Visibility

5.4 分类

6 算法介绍


2 General background

Tone Mapping(后续缩写为TM)主要是为了将HDR内容在非HDR设备上display出来。HDR内容通常有10bit~12bit甚至更高的位深度,但是常见的非HDR设备的位深则只有8bit。最通常的HDR->LDR的pipeline如下图所示:

首先将HDR输入图像转换到对数域,然后应用一个保边滤波器来去噪。这个滤波图像和对数域图像做差可以得到一个细节层(detail layer)。滤波图像经过色调映射曲线可以得到一个亮度压缩图像,而后再将两个图像进行混合,并转换回线性域,并从输入图像中恢复色度,就可以得到最终的LDR输出了。

但其实根据TM的目标不同,具体的实现是有很大的区别的,这里按下不表,后面会讲到。

2.1 LDR和HDR图像的区别

主要区别就是,HDR图像可以描述更大范围的颜色和亮度。LDR图像通常是8位深度,而HDR图像通常用浮点数来描述。LDR图像的亮度通道存储是线性的,但是在显示器上通常要做一次gamma变换再进行展示,这是因为人眼对亮度的感知并不是线性的。gamma校正可以看作一种最简单的TM变换。gamma变换还有一些更加复杂的形式,比方说gamma偏移增益模型和补充gamma校正,可以用来感知观看环境的亮度等。

严格来说,TM是将图像从一个色域转换到另一个色域的映射。但现在通常指的是将HDR信号中的线性参考亮度映射到显示设备的受限域的映射。

2.2 The capture, display and distribution of HDR video

这节主要介绍了HDR视频的捕获设备/技术,HDR显示器,以及HDR传输的相关发展。

2.3 Perceptual motivation of TM

人类的视系统大概可以容纳3.7个对数单位的动态范围。其中单个视神经元的相应范围大概是1.5个对数单位,但是通过这些神经元的并联,可以达到上述的程度。换算到亮度单位则是约10e-6 nit ~ 10e8 nit的响应范围,也就是14个数量级的动态范围。TM的目的就是达到相似的能力。

根据Weber-Fechner定律,人类视觉系统在大部分情况下都是一个对数响应。所以在TM的过程中,很多计算也在对数域中进行。

2.4 Detail presevation in tone-mapping

在DIP领域的早期工作中,引入了一些特征子用来描述图像的特征。举例,在Retinex理论中,图像被描述为照明和反射的乘积。在这个理论中,反射率就是场景的基本描述之一,其被限制在非常有限的动态范围内。在TM操作中,为了保持这个特征,我们就要尝试保证场景的反射率的动态范围不被压缩的情况下,同时压缩整个场景的illumination的动态范围。换言之,就是压缩整个场景的全局对比度,但是保留场景的局部对比度。在图1中,通过保边滤波器将图像大致分离成了照度和反射率。

2.5 TM of colors

在一些算法中,会使用Color appearance models来重塑HDR颜色,但是为简单记,TM操作仅仅处理亮度层。在单个颜色通道上执行色调映射会产生饱和度降低的效果,而单独在亮度通道执行TM则会使图像过饱和。这里提出了一个在颜色恢复时采用的去饱和model:

大写C是输入颜色,L是输入亮度,T是色调映射值,而s是控制参数。

 2.6 TM intent

如上所述,TMO(Tone-Mapping Operator)会根据目的不同会有很大的区别。因而根据目的对TMO进行了分类。

第一类:人类视觉模拟VSS。具体来讲,这种色调映射是为了模拟人类视觉系统的特性,包括局限性,比如说通过增加眩光或者降低黑暗区域的色度、对比度来模拟人类视觉系统在夜视上的限制。目的是为了在display的时候展现出和人类观察相似的效果。

第二类:最佳主观质量BSQ。另一些时候,在感知上重现场景并不重要,而是要真实再现主观质量方面最受青睐的TMO。这种目标下的TMO通常会使得输出图像具有更高的对比度、细节和饱和度。

第三类:场景重现SRP。再另一些时候,将场景的动态范围进行压缩的时候,并不希望压缩后的图像在观感上和原图像差别很大。这种时候TMO的目的则是使得输出图像尽可能地接近输入图像。

3 Historical overview

本章介绍一些关于TM的发展。

3.1 background

近年来文献的分类

3.2 Tone-curve & 3.3 Detail preservation

这两节笼统地介绍了一些色调曲线和细节保留的方法。由于都不涉及到具体的原理,这里就略过了。

4 Definations and taxonomy

本章将介绍一些TMO中的过程的定义性原理,主要是Tone curves和Local processing。具体的实现可以看第六章。

4.1 Tone-curve

大部分情况下,TM映射都可以用一个连续函数来表示。少数情况下也会是一个没办法用连续函数描述的隐式映射。

用数学语言描述这个过程:有一个HDR输入图像L\in \mathbb{R}^{+},要展示到显示器上l\in \left \{ 0, 1, ..., 255\right \},通过一个映射M:L\rightarrow l。L的单位是不确定的,通常和场景的亮度线性相关。

色调映射函数通常会和图像的整体亮度、对比度、饱和度有关,并且和一些图像的统计数据相关,比如直方图,中值等。将前者记为后者记为则TM函数可以记为

(这里给的输出T,经过gamma变换后就是L了)

4.2 Local adaptation

应用4.1节中的全局色调曲线可以压缩图像的动态范围,但是引入的一个弊端是降低图像的对比度。但是如上文中标红的部分所说,TM的目的是压缩全局动态范围的同时保留局部对比度。

为了保留/提升局部的对比度,可以像4.1中一样引入一些参数,但是这些参数只在local的region中计算。通过引入这些局部属性,TM可以在local patch上进行调整,以保持或者增强图像细节。将这些局部属性记为则TM函数记为:

但是在图1中我们讲到,其实TM会将图像分为base layer和detail layer。然后将TM curve通常是应用在base layer上的,然后再添加上detail layer

将base layer记为细节层记为则TM函数可以写为

这里,色调映射曲线就变成了一个关于base layer的全局映射以及一个关于局部细节的detail layer。当然这个过程中还可以引入额外的映射关系,或者空间变化参数等,这里按下不表。

5 Video TM

视频的TM和静态图像的HDR相比有一些区别。本章将予以介绍,并且对这些VTM方法进行分类。

VTM和静态图像TM最主要的区别是要维护帧间一致性,另一个方面的问题是计算效率。

5.1 background

早期的时候没有成熟的HDR视频捕获设备,所以这方面的研究比较少。而且大部分研究是基于一些生成的(synthesized)数据来进行HDR映射的。在HDR视频捕获设备出现以后,评估以前的这些算法发现或多或少都会存在一些问题。在2010年后,VTM的研究才进入了一个比较成熟的时期。

5.2 时域一致性

VTM遇到的时域相关的问题包括闪烁(全局和局部的)、对象不连贯等。

参考Eq.7,不论是全局的抑或是局部的上的信息,都可能会因为噪声等原因,导致图像的统计属性、局部的属性在帧间发生变化,这些变化又反过来作用在TM curve上,最终导致了闪烁的产生。

在全局处理的情况下,可以在时域上进行一些低通滤波,来实现帧和帧之间的平滑变化。

但是这种做法中用到了关于未来的帧的信息,可能会导致没有办法real time进行。而且会导致在光照实际发生变化之前就对这个变化产生响应。也有一些办法比方说仅仅用到过去的帧,比方说一个指数衰减的时域加权kernel。

但是对于局部的TMO,要更加复杂一些。因为局部的window采样数据有限,所以在不同的帧之间,其统计信息可能发生很大的变化。有一些方法会在最终的输出的空域上进行低通滤波,但是这样做很可能会误伤细节,并引入运动模糊。

为了克服这个问题,一些方法对时域滤波器引入了一些限制:比方说,在时域上如果发现梯度过大,则限制滤波器的kernel。

而在这个问题上更进一步深入,则衍生出了使用运动补偿的时域kernel,这个kernel可以让filtering过程沿着运动路径进行。如果运动估计是正确的,这样的filter就不会产生运动模糊。但并非所有的情况下motion field都是可见的,比如被前景遮挡的时候等。

在时域上添加constraint的方法可以引申出一些好处,这些constraint有的时候可以让静态的TM算法扩展到VTM中。

另外一个保持时域一致性的方法是,将时域处理考虑为后处理步骤。这样做的好处是,先验知识更多,并且可以考虑一些有关未来帧的信息。

5.3 Noise Visibility

HDR相机在捕获HDR视频的时候可能会导致噪声增加:因为相机需要同时捕获亮区和暗区的信息,在捕获暗区信息的时候,就要将sensor gain设置的很高。这些噪声在TM之前可能是不可见的,但是TM之后可能会变得明显。

当然可以用一些降噪算法来缓解噪声的问题。比方说上面提到的时域相干滤波其实也会起到这个作用。另外还有一些空域滤波等等。

对TM问题而言,另一种方法是:由于噪声在RAW数据上的分布并不是线性的,我们可以根据对噪声的特性来调整TM曲线,来实现最终将噪声压制在较暗的区域内。

上述的两种方法可以结合起来,来压制噪声的分布。

5.4 分类

对VTM算法在5个层面上进行了分类

1、Tone curve:线性、对数/指数、S形、基于直方图的、梯度域的……

2、处理:global or local

3、目的:同上述static下的三个目的

4、时域相干性:global or local,or post processing

5、速度:能否实时

6 算法介绍

本章介绍一些VTMO。

Visual Adaptation TMO [FERWERDA J. A., PATTANAIK S. N., SHIRLEY P., GREENBERG D. P.: A model of visual adaptation for realistic image synthesis.]:这个算法是第一次明确地将时域一致性机制引入TM算法。该算法基于一个阈值——强度函数,该函数是从实验中得到的。

Interactive walk-through TMO [DURAND F., DORSEY J.: Rendering Techniques 2000.]: 该算法可以分为两步,第一步:在对数域执行下采样、低分辨率渲染以决定adaptation level。第二部:根据adaptation level来执行TM。

Time adaptation TMO [PATTANAIK S. N., TUMBLIN J., YEE H., GREENBERG D. P.: Time-dependent visual adaptation for fast realistic image display.]: 该算法中提出了一个可以对人类视觉系统的时间适应机制进行建模的方法。首先使用一个adaptation-appearance model来模拟图像的响应,而后再反向适用这个模型来将其映射到显示设备。 在adaptation model中,使用sigmoid函数来计算视觉细胞的静态相应,然后使用指数平滑滤波器来对时间适应机制进行建模。此外还有一些其它的filter。

Temporal exposure TMO [KANG S. B., UYTTENDAELE M., WINDER S., SZELISKI R.: High dynamic range video.]: 该算法通过在帧与帧之间交替曝光时间来捕获HDR视频。为了重建HDR视频,使用光流对帧进行插值,以在每帧中都提供两种不同的曝光。此外,通过在帧之间加入一个时间滤波器,来使得帧之间的过渡变得平滑。其中用到的TM曲线是通过以下形式定义的:

其中,而\kappa是几何平均值。但是如上所述,平均值这样的统计数据可能会在帧之间快速变化。为了缓解这个问题,\kappa将在一个时域窗口的若干帧上进行加权计算:

s是空域中的所有像素,t是时域中的所有帧,ε是一个小常数。

Time-dependent GPU TMO —— 略

Adaptive temporal TMO —— 对Time exposure TMO的一点点改进,略过

Local adaptation TMO —— 在局部计算视觉细胞的响应。同时利用双边滤波和指数滤波器来进行更进一步的平滑。

Mal-adaptation TMO [IRAWAN P., FERWERDA J. A., MARSCHNER S. R.: Perceptually based tone mapping of high dynamic range image streams]: 算法提出了一个用于VTM的VSS模型。

……裂开,本来都码了9000字了,然后不知道咋了数据丢失只剩6000了,不想再重新写了,这篇就这样吧,放一些review中给出的实验结果,有兴趣的自己去看文献吧(这篇review对算法的介绍也实在让人看的云里雾里

 

猜你喜欢

转载自blog.csdn.net/q274488181/article/details/123043838
HDR