选择图像动态范围转换算子的方法和设备
技术领域
本发明涉及转换图像的动态范围以及对已经转换的动态范围的图像编码的一般领域。
本发明涉及从一组图像动态范围转换算子(operator)之中选择图像动态范围转换算子的设备和方法。
这种设备和方法能够用于例如减小图像的或图像序列的动态范围,也就是说修改该图像(或图像序列中的每个图像)的属于给定动态值范围的像素的辉度(luminance)值,以便获得属于比(原始图像序列的)原始图像的动态值范围更低的动态值范围的辉度值。
这样的方法或设备能够用在对图像或图像序列编码的方法和相应的设备中,诸如用于对相当大的和/或减小的动态范围的图像(或图像序列)编码的方法和相应的设备。
背景技术
已知使用色调映射算子(TMO)或色调再现器来修改(也被称为变换或适配)例如可以由高动态范围照相机获取的被称为原始图像的图像,以获得动态范围更低的图像(低动态范围图像),以便使原始图像的动态范围适配例如显示该图像的屏幕的动态范围。
在下文中,转换、适配或修改图像的动态范围等同于转换、适配或修改该图像的辉度分量(值)。
如果一旦其动态范围被修改,原始图像就被打算供显示系统使用,则对该适配图像的辉度分量进行量化和编码以便与显示标准(BT709等)兼容。在这种情况下,通常称为亮度(luma)分量而不是辉度分量。就其本身而言,辉度对应于以cd/m2表示的物理单位。
本发明可同等地适用于辉度分量和亮度分量。
这些TMO之一是由Reinhard开发的,一般被称为PTR算子(Reinhard,E.,Stark,M.,Shirley,P.,和Ferwerda,J.,"Photographictonereproductionfordigitalimages",ACMTransactionsonGraphics21(2002年7月))。
该图像动态范围转换算子的原理是修改原始图像的辉度分量LW以便通过使用由式(1)给出的S形(sigmoid)映射曲线来获得图像的修改辉度分量Ld:
其中,Lwhite是用来减少具有高辉度值的区域的辉度值,Ld是大小是图像的大小并且包括以比原始图像的动态值范围更低的动态值范围表示的图像的像素的辉度值的矩阵,LS是大小是图像的大小并且包括通过式(2)获得的辉度值的矩阵:
其中,a是所选取的曝光值,k一般被称为键(key),其定义由式(3)给出的图像的明度(brightness)的指数:
其中,N是图像中的像素的数量,δ是避免任何奇点(singularity)的值,Lw(i)是图像的辉度分量LW的像素i的辉度值。
值a和Lwhite是该TMO的两个参数,它们是固定的,例如,对于参数a固定为18%,对参数Lwhite固定为原始图像的最大辉度值。忽略用来减少具有高辉度值的区域的因子,式(1)可以重新用公式表示为:
还已知使用与图像序列中的其他图像的动态范围无关地修改该图像序列中的每个图像的动态范围的算子,以及根据该图像的像素和图像序列中的在时间上先于要转换的图像的预定数量的图像的像素,为图像的每次转换选取键(Kang,S.B.,Uyttendaele,M.,Winder,S.和Szeliski,R.,"Highdynamicrangevideo",[ACMSIG-GRAPH2003Paperson-SIGGRAPH'03],319,ACMPress,纽约,纽约,美国(2003))。
更具体地,根据式(3)来计算键,其中,N等于要转换的图像中的像素数量与图像序列中在时间上先于其的图像中的像素数量之和。
还已知使用如下算子,其使用根据当前图像的键和在前图像的那些键来动态适配的多个在前图像(Ramsey,S.,III,J.J.,和Hansen,C.,"Adaptivetemporaltonemapping,"ComputerGraphicsandImaging-2004(3),3–7(2004))。
还已知使用如下算子,其比较使用人类视觉系统(HVS)的视觉响应的原始图像和辉度值属于被适配于屏幕的动态范围的图像(Mantiuk,R.,Daly,S.,和Kerofsky,L.,"Displayadaptivetonemapping"ACMTransactionsonGraphics27,1(2008年8月)),其使得能够获得在该屏幕上的视觉感知的失真尽可能小的图像。在这些方法期间计算人类视觉系统的响应的结果之间的残留误差的最小化。该最小化得到是分段线性的并且逐个图像计算的转换曲线。
还已知对由先前阐述的对原始序列的每个图像应用图像动态范围转换算子而得到的图像序列应用处理,以便保留原始图像序列中的图像之间的明度的时间相干性。
例如,Boitard等人(R.Boitard等人,“Temporalcoherencyforvideotonemapping”,Proc.SPIE8499,ApplicationsofDigitalImageProcessingXXXV,2012年)提出通过根据原始图像序列的全局特征计算出的值来减小通过先前所提及的图像动态范围转换算子之一修改的原始图像序列中的图像的辉度分量Ld的值的动态范围。
于是,由式(5)给出减小的动态范围辉度分量L’d:
L′d二R.Ld(5)
根据变型,减小的动态范围辉度分量L’d由式(6)给出:
L′d=(x+(1-x).R)Ld(6)
其中,x是例如由用户固定的减小值的偏移。
在图像动态范围转换算子是PTR算子的具体情况下,值R由式(7)给出:
这个后者实施例使得能够保留对存在于原始图像序列中的对象的感知并且确保原始图像序列中图像之间的明度的时间相干性。
根据实施例,值R由式(8)给出:
其中,是原始图像序列中的要转换的图像的辉度分量的键,是原始图像序列中的辉度分量的键之中的最大键,是要转换的图像的修改辉度分量Ld的键,是源自原始图像序列的修改辉度分量Ld的键之中的最大键。
还已知评估诸如先前所提及的算子那样的图像动态范围转换算子。潜在地,这些算子能够通过保留原始图像序列中的图像之间的明度的时间相干性的处理来补充。
对于这样的评估,已知使用对从应用该算子得到的图像的主观质量进行量化的评估标准(Ledda等人.,“Evaluationoftonemappingoperatorsusingahighdynamicrangedisplay”,ACMSIG-GRAPH2005Papers,纽约,NY,美国,2005年,SIGGRAPH’05,页640–648,ACM.,以及AkikoYoshida,“Perceptualevaluationoftonemappingoperatorswithreal-worldscenes”,ProceedingsofSPIE2005,卷5666,页192–203,SPIE)。
然而,因为非常经常性地这些结果图像(resultantimage)进行编码,以便为了存储的目的而限制它们的大小或者为了在通信信道上传送的目的而限制它们的比特率,所以发明人观察到,曾经在编码和解码之后重构的这些结果图像并非系统地具有与已经由所述标准评估的这些结果图像的主观质量相对应的呈现质量。
发明内容
本发明的目的是克服先前提及的至少一个缺点。
为此目的,一般地,对图像动态范围转换算子的选择基于优化质量标准,质量标准是从对通过图像动态范围转换算子修改的原始图像进行编码和解码之后的重构的版本计算出的失真的函数。
因此,对于给定比特率,修改的动态范围的图像的主观质量对于给定的比特率是最优的。
根据本发明的一个方面,本发明涉及一种用于通过优化质量标准从一组图像动态范围转换算子之中选择图像动态范围转换算子的方法。每个图像动态范围转换算子被应用于原始图像以获得动态范围低于原始图像的动态范围的被称为修改的图像的图像,所述方法的特征在于,针对每个图像动态范围转换算子计算质量标准,作为从通过图像动态范围转换算子修改的图像进行编码和解码之后的重构的版本计算出的失真的函数。
根据实施例,在通过所述图像动态范围转换算子修改的原始图像与重构的版本之间计算出失真。
根据变型,如果修改的原始图像和重构的版本的动态范围已经通过应用作为用于获得修改的原始图像的算子的逆的算子而被扩展,则在修改的原始图像与重构的版本之间计算出失真。
根据变型,如果该重构的版本的动态范围已经通过应用作为用于获得修改的图像的算子的逆的算子而被扩展,则在原始图像与重构的版本之间计算出失真。
根据所述方法的变型,质量标准还是修改并编码的原始图像的比特率的函数。
根据本发明的另一个方面,本发明涉及一种用于从一组图像动态范围算子之中选择图像动态范围转换算子的设备。所述设备包括用于将图像动态范围转换算子应用于原始图像以获得动态范围低于原始图像的动态范围的被称为修改的图像的图像的部件以及用于优化质量标准以选择动态范围转换算子的部件,所述设备的特征在于,用于优化质量标准的部件被配置为针对每个图像动态范围转换算子计算质量标准作为从对通过图像动态范围转换算子修改的图像进行编码和解码之后的重构的版本计算出的失真的函数。
根据本发明的另一个方面,本发明涉及一种用于转换辉度值属于给定动态值范围的原始图像序列的系统。所述系统包括若干动态范围转换算子,所述若干动态范围转换算子将被应用于原始图像序列中的每个图像的辉度分量以获得值属于比原始图像序列的动态值范围更低的动态值范围的修改的辉度分量,所述系统的特征在于,其还包括根据前面所提及的用于从图像动态范围转换算子之中选择动态范围转换算子的设备。
根据本发明的另一个方面,本发明还涉及一种用于对给定动态范围的原始图像编码的方法,其中使用动态范围低于原始图像的动态范围的图像,该图像的动态范围通过对原始图像应用图像动态范围转换算子而获得。所述方法的特征在于,按照根据前面所述的方法从一组图像动态范围转换算子之中选择图像动态范围转换算子。
根据本发明的另一个方面,本发明还涉及一种用于对给定动态范围的原始图像编码的设备,其中使用动态范围低于原始图像的动态范围的图像,该图像的动态范围通过对原始图像应用图像动态范围转换算子而获得。所述设备的特征在于,按照根据前面所述的设备从一组图像动态范围转换算子之中选择图像动态范围转换算子。
附图说明
参照附图,通过非限制性的实施例和有利的实现方式,将更好地理解和例示本发明,附图中:
图1示出选择图像动态范围转换算子的方法的实施例的图;
图2示出选择图像动态范围转换算子的方法的变型的图;
图3示出选择图像动态范围转换算子的方法的变型的图;
图4示出实现根据本发明的方法的选择图像动态范围转换算子的设备的框图;以及
图5示出根据本发明的转换图像动态范围的系统的框图。
具体实施方式
以下描述从一组M个图像动态范围转换算子TMOi(i=1至M)之中选择图像动态范围转换算子的方法的若干实施例和变型。这些实施例和变型所共有的标号指代相同的实体。
根据示例,该组可以包括在介绍部分中描述的一个或多个图像动态范围转换算子。而且,图像动态范围转换算子这个术语还可以包括使得能够确保诸如在介绍部分中所描述的那样的原始图像序列中的图像之间的明度的时间相干性的处理。这种跟随算子而被应用的处理能够被应用于该组中的一个或多个算子。
在必须修改(转换或适配)图像序列中的全部图像的动态范围的情况下,对图像序列中的每个图像应用图像动态范围转换算子。
图1图示地示出从一组M个图像动态范围转换算子TMOi(i=1至M)之中选择图像动态范围转换算子TMOo的方法的实施例。
该方法包括应用图像动态范围转换算子的步骤10,在此期间,该组中的每个算子TMOi应用于在方法输入处呈现其自身的每个图像I1。然后,在步骤10的输出处得到数量为M的图像这些图像中的每个是被称为修改的图像的图像,即动态范围低于原始图像I1的动态范围的图像。注意,对每个图像I1有M个图像
该方法还包括进行编码的步骤20,在此期间,根据已知方法对每个图像进行编码。该编码方法可以是例如在静止图像情况下的JPEG类型或者例如ITU-TH.265/MPEG部分2“高效率视频编解码器”(HEVC)类型的图像序列编码器。
该方法还包括重构图像的步骤30,在此期间,在对通过对每个图像进行编码所获得的编码进行解码之后重构图像为此目的,通过在步骤20期间所使用的编码方法的对偶(dual)方法对在步骤20输出处的编码进行解码。因此,图像被重构为与图像一样多。
一般地,该方法还包括优化质量标准的步骤40,在此期间,针对每个图像动态范围转换算子TMOi计算质量标准Qi,作为从对通过图像动态范围转换算子TMOi修改的图像进行编码和解码之后的重构的版本计算出的失真Di的函数。
根据图1的实施例,在步骤40期间,在图像与图像之间计算出失真Di。
图2图示地示出参照图1描述的实施例的变型。
根据该变型,该方法包括扩充动态范围的步骤50,在此期间,通过应用算子EOi来扩展每个图像的动态范围和每个图像的动态范围,算子EOi是用于获得图像的那个TMOi的逆。
于是,在动态范围是原始图像动态范围的两个图像之间计算出失真Di。更具体地,在通过图像动态范围转换算子TMOi修改的原始图像与对通过图像动态范围转换算子TMOi修改的原始图像进行编码和解码之后的重构的版本之间计算出失真Di,图像的动态范围和该重构的版本的动态范围已经在步骤50期间被扩展。
该变型使得能够知道哪个是使得能够在不需要参考原始图像的情况下得到更好的压缩率的图像动态范围转换算子。
图3图示地示出参照图1描述的实施例的变型。
根据该变型,在原始图像I1与图像之间计算出失真Di,该重构的版本的动态范围通过应用算子EOi而扩展,算子EOi是用于获得修改的图像的那个TMOi的逆(步骤50)。
本发明绝不限于一种类型的图像或图像序列编码或图像动态范围转换算子。
然而,在用于进行图像序列编码的方法使用时间预测器(temporalpredictor)的情况下,发明人观察到,所选择的图像动态范围转换算子是结果图像被处理以便保留原始图像序列中的图像之间的时间相干性的那个图像(或那些图像中的一个)。实际上,有两个主要原因导致在时间预测器中所使用的运动估计器的性能的降低。
第一个起因于在不对通过图像动态范围转换算子修改的图像应用处理时出现的从一个图像到另一个图像的辉度值的闪烁。这些闪烁伪像是由于与在时间上相继的图像有关的键值的改变。实际上,如果键k从一个图像到另一个图像而改变,则(S形形式的)修改曲线也改变,从而导致辉度值的不同的修改,然而在原始图像中是相似的。
第二个起因于不保留原始图像的明度的时间相干性。实际上,因为运动估计器的质量在于从原始图像与预测图像之间的差异所获得的残差图像的低动态范围,所以就明度而言,预测图像与原始图像越不相干,该残差图像越将具有的高动态范围。
根据该方法的变型,质量标准Qi还是修改并编码的原始图像的比特率Ri的函数。
于是,质量标准Qi由下式给出:
Qi=γ*Ri+Di
其中,Ri是图像大小或者从图像计算出的图像序列的比特率。
失真Di例如由均方误差(MSE)类型的距离给出。本发明不限于这样的度量,并且可以使用任何其他度量。
因此,在本方法结束时选择的图像动态范围转换算子是优化(在平方误差情况下最小化)质量标准Qi的算子。
在图像动态范围转换算子由式(2)和式(4)给出的情况下,对应的算子EOi由下式给出:
其中
并且其中,a是所选取的曝光值,k是由式(3)给出的键。
如果算子计算出作为该图像的像素和在时间上先于在图像序列中要被转换的图像的预定数量的图像的像素的函数的键,则必须使用该新的键。
在图像动态范围转换算子比较使用人类视觉系统(HVS)的视觉响应的原始图像与辉度值属于被适配于屏幕的动态范围的图像的情况下,在这些方法期间计算出人类视觉系统的响应的结果之间的残留误差的最小化。该最小化得到是分段线性的并且逐个图像计算的转换曲线。然后,通过对分段线性的并且逐个图像计算的转换曲线求逆(invert),计算出对应的算子EOi,并且这针对每个图像。
根据与图像动态范围转换算子继之以保留原始图像序列中的图像的时间相干性的处理的情况有关的变型,在将逆算子应用于图像之前将该处理的逆处理应用于该图像。
例如,在处理由式(9)给出的处理的情况下,逆处理将由下式给出:
其中,L′d是图像的辉度分量。
根据本发明的一个硬件方面,本发明涉及参照图4描述的用于选择图像动态范围转换算子的设备400。
设备400包括通过数字地址和数据总线40互连的以下元件:
-计算单元43(也被称为中央处理单元);
-存储器45;
-网络接口44,用于设备400与经由连接41连接的其他远程设备之间的互连。
计算单元43可以由(可能是专用的)微处理器、(可能也是专用的)微控制器等来实现。存储器45可以实现为易失性和/或非易失性形式,诸如RAM(随机存取存储器)、硬盘、EPROM(可擦除可编程ROM)等。设备400被配置为实现根据参照图1至图3所描述的本发明的方法。
为此目的,部件43、44以及可能的45彼此协作,以对原始图像I1应用图像动态范围转换算子TMOi以得到动态范围低于原始图像的动态范围的修改的图像以及优化质量标准以选择图像动态范围转换算子。用于优化质量标准的部件被配置为针对每个图像动态范围转换算子TMOi计算质量标准Qi作为从对通过图像动态范围转换算子(TMOi)修改的原始图像进行编码和解码之后的重构的版本计算出的失真Di的函数。
根据另一个硬件方面,本发明涉及系统CONV,其用于将辉度值属于给定动态值范围(HDR)的图像的动态范围转换为辉度值属于比原始图像的动态值范围更低的动态值范围(LDR)的图像。这通常被称为HDR到LDR动态范围减小。
图5示出实现根据本发明的方法的用于转换图像的这样系统的框图。
系统CONV包括M(>1)个动态范围转换算子TMOi,其将被应用于原始图像SIO的辉度分量Lw以获得辉度值属于比图像SIO的动态值范围(HDR)更低的动态值范围LDR的修改的图像。
在色彩图像的情况下,系统CONV包括用于获得该色彩图像SIO的辉度分量Lw的部件GLW。例如,如果图像SIO表示在(R,G,B)色彩空间中,则对图像进行变换以便表示在(X,Y,Z)色彩空间中,以便恢复(X,Y,Z)空间中的形成辉度分量Lw的Y信道。广泛地已知使用这样的色彩空间变换部件。可以在不脱离本发明的范围的情况下使用部件GLW的其他示例。系统CONV还包括部件DIV和MULT,用于保存恒定饱和度(constantsaturation)和色彩的色调的目的。这些部件DIV被配置为将对应于色彩图像SIO的R、G和B色彩分量除以分量Lw,装置MULT被配置为将由此修改的R、G和B色彩分量乘以修改的辉度分量。然后,以浮点值表示表示来源于该乘法的三个分量。为了获得修改的图像LDR,在系统CONV的部件Ftol的输入处提交来源于该乘法的这三个分量,并且对它们的值进行到属于必须显示修改的色彩图像的屏幕的动态值范围的完整值(wholevalue)的转换。
根据本发明,转换系统还包括用于从M个转换算子TMOi之中选择动态范围转换算子TMOo的设备。该设备根据参照图4描述的设备400。
根据本发明的另一个方面,本发明涉及对给定动态范围的原始图像以及动态范围通过对原始图像应用图像动态范围转换算子而获得并低于原始图像的动态范围的图像进行编码的方法。
这样的编码方法的示例是使用动态范围更低的图像(往往被称为LDR图像的图像)来预测每个原始图像(往往被称为HDR图像的图像)。这种类型的编码方法也包括对HDR图像和LDR图像两者进行编码的那些方法。
根据本发明,这种类型的编码方法的特征在于,用于获得LDR图像的图像动态范围转换算子是根据参照图1至图4描述的方法之一从一组图像动态范围转换算子之中选择的。而且,在由选择方法使用算子EOi的情况下,算子EOi执行作为由算子TMOi所产生的运算的逆的运算。
在图1至图5中,所示出的模块是功能单元,其可以对应于或者可以不对应于在物理上可区别的单元。例如,这些模块或它们中的一些可以一起被分组在单个组件或电路中,或者构成同一软件的功能。相反,一些模块可以由分开的物理实体组成。与本发明相适合的设备和系统根据纯硬件实施例来实现,例如以专用组件(例如ASIC(专用集成电路)或FPGA(现场可编程门阵列)或VLSI(超大规模集成电路))的形式,或者以集成在器件中的若干电子组件的形式,或者甚至以硬件元件和软件元件混合的形式。