对具有扩展动态范围的图像的分层编码中的自适应伪轮廓预防转让专利

申请号 : CN201280053870.4

文献号 : CN103918274B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 苏冠铭曲晟斯科特·达利

申请人 : 杜比实验室特许公司

摘要 :

编码器接收扩展或视觉动态范围(VDR)内的图像序列。针对每个图像,选择动态范围压缩函数和相关联的参数以将输入图像转换成具有较低动态范围的第二图像。使用输入图像和第二图像计算残差图像。使用分层编解码器对输入VDR图像序列进行编码,该分层编解码器将第二图像用作基本层并且将根据输入图像和第二图像获得的残差图像用作一个或更多个残差层。伪轮廓检测方法(FCD)使用残差图像估计经解码的VDR图像中的潜在地在感知上可见的伪轮廓的数量并且迭代地调节动态范围压缩参数以预防或减少伪轮廓的数量。还描述了使用均匀动态范围压缩函数的示例。

权利要求 :

1.一种用于转换输入图像的方法,包括:

a)接收图像序列中的输入图像,其中所述输入图像具有第一动态范围;

b)将所述输入图像转换成第二图像,其中所述第二图像具有低于所述第一动态范围的第二动态范围,并且其中基于包括一个或更多个参数的动态范围压缩函数进行所述转换;

c)使用所述输入图像和所述第二图像计算残差图像;

d)确定所述残差图像是否具有至少一个伪轮廓;以及e)当确定所述残差图像具有至少一个伪轮廓时,调节至少一个所述参数;

其中所述确定步骤d)包括像素级检测方法和图片级检测方法,其中所述像素级检测方法包括:基于所述残差图像中的相应像素的周围区域中的所有像素的归一化标准偏差的相应中值,以及一个或更多个阈值,计算像素级伪轮廓指标,以及其中所述图片级检测方法包括:将所述残差图像划分成非交叠块;

针对每个块,基于一个或更多个像素级伪轮廓指标计算块级伪轮廓指标;

基于所述块级伪轮廓指标获得多个连接块级伪轮廓指标;以及获得伪轮廓检测(FCD)度量作为所述多个连接块级伪轮廓指标和至少一个阈值的函数。

2.根据权利要求1所述的方法,还包括:

重复所述步骤b)至所述步骤e),直到将所述至少一个伪轮廓的计数最小化。

3.根据权利要求2所述的方法,其中,将所述至少一个伪轮廓的所述计数降低为低于阈值。

4.根据权利要求1所述的方法,其中所述输入图像包括视觉动态范围(VDR)图像。

5.根据权利要求1所述的方法,还包括:

将所述第二图像压缩成基本层信号;以及

将根据所述输入图像和所述第二图像获得的图像压缩成一个或更多个增强层信号。

6.根据权利要求1所述的方法,其中所述动态范围压缩函数包括均匀量化器并且所述参数包括低量化值(CL)和高量化值(CH)。

7.根据权利要求1所述的方法,其中计算所述残差图像包括:将动态范围扩展函数应用于所述第二图像以生成预测输入图像;以及将所述残差图像计算为所述输入图像与所述预测输入图像之间的差图像。

8.根据权利要求1所述的方法,其中所述像素级检测方法包括:针对所述残差图像中的每个像素:

限定所述像素周围的像素的周围区域;

计算所述周围区域中所有像素的标准偏差;

基于所述标准偏差计算所述周围区域中所有像素的归一化标准偏差;

基于所述周围区域中的所述归一化标准偏差计算中值标准偏差;以及基于所述中值标准偏差和一个或更多个阈值计算像素级伪轮廓指标。

9.根据权利要求1所述的方法,其中在步骤d)和步骤e)中,所述至少一个伪轮廓在感知上可见。

10.根据权利要求1所述的方法,其中,所述图片级检测方法还包括:针对所述多个连接块级伪轮廓指标中的每一个,

计算边缘对比度和局部对比度阈值;以及

如果所述边缘对比度高于所述局部对比度阈值,则确定所述多个连接块级伪轮廓指标中的该连接块级伪轮廓指标在感知上可见。

11.根据权利要求10所述的方法,其中基于计算跨过所述多个连接块级伪轮廓指标之一的边缘的亮度来计算所述边缘对比度。

12.根据权利要求10所述的方法,其中基于一个或更多个系统参数和对比敏感度函数来计算所述局部对比度阈值。

13.一种用于转换输入图像的方法,包括:

接收场景中的视觉动态范围VDR图像的序列;

针对所述场景中的每个VDR图像i:

将第i个VDR图像转换成第i个标准动态范围SDR图像,其中所述第i个SDR图像具有比所述第i个VDR图像低的动态范围,并且其中基于包括图像相关参数CL[i]和CH[i]的均匀动态范围压缩函数进行所述转换,其中所述CL[i]表示第i个SDR图像的最小输出值,CH[i]表示第i个SDR图像的最大输出值;

步骤a):将所述CL[i]和所述CH[i]设置为初始值;

步骤b):使用所述第i个VDR图像和所述第i个SDR图像计算第i个残差图像;

步骤c):确定所述第i个残差图像是否具有至少一个伪轮廓;

步骤d):当确定所述第i个残差图像具有至少一个伪轮廓时,调节所述图像相关参数CL[i]和CH[i]至少之一;

重复以调节的参数CL[i]和CH[i]进行的以上所述的将第i个VDR图像转换成第i个SDR图像且重复步骤b)至步骤d),直到至少一个伪轮廓的计数被最小化;

基于所有所计算的图像相关参数CH[i]中的最大值计算用于整个场景的场景相关值CH;

基于所有所计算的图像相关参数CL[i]中的最小值计算用于整个场景的场景相关值CL;以及使用所述均匀动态范围压缩函数以及场景相关参数CH和CL,将所述场景中的所有VDR图像转换成SDR图像,其中所述确定步骤c)包括基于所述第i个残差图像中的像素的周围区域中的所有像素的归一化标准偏差的中值,以及一个或更多个阈值,计算像素级伪轮廓指标。

14.根据权利要求13所述的方法,还包括:

在步骤a)之前,确定对所述场景中的所有VDR图像应用高裁剪模式还是应用低裁剪模式。

15.根据权利要求14所述的方法,其中在所述高裁剪模式下,在步骤d)中,仅增大参数CH[i],而在所述低裁剪模式下,在步骤d)中,仅减小参数CL[i]。

16.根据权利要求14所述的方法,其中所述确定是否应用高裁剪模式基于计算所述场景的偏度值并且所述偏度值为正。

17.根据权利要求14所述的方法,其中所述确定是否应用低裁剪模式基于计算所述场景的偏度值并且所述偏度值为负。

18.根据权利要求13所述的方法,还包括:

使用基于所述第i个SDR图像的基本层和一个或更多个增强层对所述场景中的所述第i个VDR图像进行压缩。

19.根据权利要求13所述的方法,其中在步骤c)中,所述至少一个伪轮廓在感知上可见。

20.一种用于转换输入图像的装置,包括:

a)用于接收图像序列中的输入图像的部件,其中所述输入图像具有第一动态范围;

b)将所述输入图像转换成第二图像的部件,其中所述第二图像具有低于所述第一动态范围的第二动态范围,并且其中基于包括一个或更多个参数的动态范围压缩函数进行所述转换;

c)使用所述输入图像和所述第二图像计算残差图像的部件;

d)确定所述残差图像是否具有至少一个伪轮廓的部件;以及e)当确定所述残差图像具有至少一个伪轮廓时,调节至少一个所述参数的部件;

其中所述确定所述残差图像是否具有至少一个伪轮廓的部件包括用于像素级检测的部件和用于图片级检测的部件,其中所述用于像素级检测的部件基于所述残差图像中的相应像素的周围区域中的所有像素的归一化标准偏差的相应中值,以及一个或更多个阈值,计算像素级伪轮廓指标,以及其中所述用于图片级检测的部件将所述残差图像划分成非交叠块;针对每个块,基于一个或更多个像素级伪轮廓指标计算块级伪轮廓指标;基于所述块级伪轮廓指标获得多个连接块级伪轮廓指标;以及获得伪轮廓检测(FCD)度量作为所述多个连接块级伪轮廓指标和至少一个阈值的函数。

21.一种用于转换输入图像的装置,包括:

用于接收场景中的视觉动态范围VDR图像的序列的部件;

针对所述场景中的每个VDR图像i进行以下操作的部件:将第i个VDR图像转换成第i个标准动态范围SDR图像,其中所述第i个SDR图像具有比所述第i个VDR图像低的动态范围,并且其中基于包括图像相关参数CL[i]和CH[i]的均匀动态范围压缩函数进行所述转换,其中所述CL[i]表示第i个SDR图像的最小输出值,CH[i]表示第i个SDR图像的最大输出值;

步骤a):将所述CL[i]和所述CH[i]设置为初始值;

步骤b):使用所述第i个VDR图像和所述第i个SDR图像计算第i个残差图像;

步骤c):确定所述第i个残差图像是否具有至少一个伪轮廓;

步骤d):当确定所述第i个残差图像具有至少一个伪轮廓时,调节所述图像相关参数CL[i]和CH[i]至少之一;

重复以调节的参数CL[i]和CH[i]进行的以上所述的将第i个VDR图像转换成第i个SDR图像且重复步骤b)至步骤d),直到至少一个伪轮廓的计数被最小化;

基于所有所计算的图像相关参数CH[i]中的最大值,计算用于整个场景的场景相关值CH的部件;

基于所有所计算的图像相关参数CL[i]中的最小值,计算用于整个场景的场景相关值CL的部件;以及使用所述均匀动态范围压缩函数以及场景相关参数CH和CL,将所述场景中的所有VDR图像转换成SDR图像的部件,其中所述针对所述场景中的每个VDR图像i进行操作的部件在执行步骤(c)中,基于所述第i个残差图像中的像素的周围区域中的所有像素的归一化标准偏差的中值以及一个或更多个阈值,计算像素级伪轮廓指标。

说明书 :

对具有扩展动态范围的图像的分层编码中的自适应伪轮廓

预防

[0001] 相关申请的交叉引用
[0002] 本申请要求于2011年11月1日提交的美国临时专利申请No.61/554,294的优先权,通过引用将其全部内容合并于此。

技术领域

[0003] 本申请一般地涉及图像。更具体地,本发明的实施方式涉及对具有扩展动态范围的图像的分层编码中的伪轮廓伪影的自适应预防。

背景技术

[0004] 本文所使用的术语“动态范围”(DR)可以涉及人类心理视觉系统(HVS)感知图像的强度(例如,灰度、亮度)的范围(例如从最暗的暗到最亮的亮)的能力。在这个意义上,DR涉及“场景相关”的强度。DR也可以涉及显示设备充分地或近似地渲染特定宽度的强度范围的能力。在这种意义上,DR涉及“显示相关”的强度。在本文的描述中任何一点上除非明确地指定特定的场景具有特定的意义,否则应当推断出该术语可以使用任何一种意义,例如可互换地进行使用。
[0005] 本文所使用的术语高动态范围(HDR)涉及跨越人类视觉系统(HVS)的大约14至15个量级的DR宽度。例如,基本正常(例如,在统计、生物计量或眼科意义的一项或更多项上)的适应良好的人具有跨越大约15个量级的强度范围。适应的人可以感知具有少至只有极少数光子的暗淡光源。然而,这些相同的人可以感知沙漠、大海或雪天的正午太阳的接近痛苦的闪耀强度(或者甚至看一眼太阳,然而非常短暂地以防止受到伤害)。然而这个跨度对于“适应的”人(例如其HVS具有重置和调整的时间段的人)来说是可利用的。
[0006] 相比之下,相对于HDR,在其上人可以同时感知强度范围内的扩展宽度DR可能被稍微截短。本文所使用的术语“扩展动态范围”、“视觉动态范围”或“可变动态范围”(VDR)可以单独地或互换地涉及可由HVS同时可感知的DR。本文所使用的VDR可以涉及跨越5至6个量级的DR。因此,然而也许相对于真实场景相关的HDR,VDR在一定程度上较窄,但是VDR仍然表示宽的DR宽度。本文所使用的术语VDR图像或图片可以涉及其中通过多于8个的比特表示每个像素分量的图像或图片。
[0007] 直到最近,显示器已经具有比HDR或VDR明显窄的DR。使用典型阴极射线管(CRT)、具有恒定荧光白色背光照明液晶显示器(LCD)或等离子屏技术的电视(TV)和计算机监视器装置可以将其DR渲染能力约束至大约3个量级。因此,相对于VDR和HDR,这样的传统显示器代表低动态范围(LDR),其也被称为标准动态范围(SDR)。
[0008] 至于可缩放视频编码和HDTV技术,扩展图像DR通常涉及一种分叉方法。例如,使用现代具有HDR能力的相机捕获的场景相关HDR内容可以用于生成内容的VDR版本或SDR版本,内容的VDR版本或SDR版本可以显示在VDR显示器或传统SDR显示器上。为了节省带宽或出于其他方面的考虑,可以使用分层或分级方法、使用SDR基本层(BL)和增强层(EL)来传输VDR信号。接收分层比特流的传统解码器可以只使用基本层来重构SDR图片;然而,VDR兼容解码器可以使用基本层和增强层二者来重构VDR流。
[0009] 在这样的分层VDR编码中,可以以不同空间分辨率、比特深度和颜色空间表示图像。例如使用每个颜色分量12比特或更多比特来表示典型VDR信号,而使用每个颜色分量8比特来表示典型SDR信号。另外,基本层信号和增强层信号可以使用多种图像和视频压缩方案进行进一步地压缩,如由运动图像专家组(MPEG)的ISO/IEC建议书中定义的那些方案,如MPEG-1、MPEG-2、MPEG-4、第2部分和H.264。
[0010] 分层VDR编码在编码流水线的至少两个部分引入量化:a)从第一比特深度(例如,每颜色分量12比特)的VDR信号至第二、较低比特深度(例如,每颜色分量8比特)的SDR信号的变换期间;b)在基本层和增强层的压缩处理期间。伪轮廓可以作为这样的量化的伪影出现在所重构的图像上。
[0011] 本部分中所描述的方法是可以实行的方法,但并不一定是先前已经构思或实行的方法。因此,除非另有说明,否则本部分所描述的任何方法不应当仅仅由于它们包含在本部分中被认为是现有技术。相似地,除非另有说明,否则不应基于该部分而认为关于一种或更多种方法而确定的问题已经在任何现有技术中被意识到。MONET P ET AL:“Block Adaptive Quantization of Images(图像的块自适应量化)”,IEEE Transactions on Communications.IEEE Service Center,Piscataway,NJ,USA,vol41,no.2,1Februray,1993,pages303-306公开了将图像分块并且将量化器调节为局部信号属性。

发明内容

[0012] 下面呈现说明书的简化概要以提供对说明书的一些方面的基本理解。
[0013] 根据本公开内容的一方面,提供一种用于转换输入图像的方法,包括:a)接收图像序列中的输入图像,其中所述输入图像具有第一动态范围;b)将所述输入图像转换成第二图像,其中所述第二图像具有低于所述第一动态范围的第二动态范围,并且其中基于包括一个或更多个参数的动态范围压缩函数进行所述转换;c)使用所述输入图像和所述第二图像计算残差图像;d)确定所述残差图像是否具有至少一个伪轮廓;以及e)当确定所述残差图像具有至少一个伪轮廓时,调节至少一个所述参数;其中所述确定步骤d)包括像素级检测方法和图片级检测方法,其中所述像素级检测方法包括:基于所述残差图像中的相应像素的周围区域中的所有像素的归一化标准偏差的相应中值,以及一个或更多个阈值,计算像素级伪轮廓指标,以及其中所述图片级检测方法包括:将所述残差图像划分成非交叠块;针对每个块,基于一个或更多个像素级伪轮廓指标计算块级伪轮廓指标;基于所述块级伪轮廓指标获得多个连接块级伪轮廓指标;以及获得伪轮廓检测(FCD)度量作为所述多个连接块级伪轮廓指标和至少一个阈值的函数。
[0014] 根据本公开内容的另一方面,提供一种用于转换输入图像的方法,包括:接收场景中的视觉动态范围VDR图像的序列;针对所述场景中的每个VDR图像i:将第i个VDR图像转换成第i个标准动态范围SDR图像,其中所述第i个SDR图像具有比所述第i个VDR图像低的动态范围,并且其中基于包括图像相关参数CL[i]和CH[i]的均匀动态范围压缩函数进行所述转换,其中所述CL[i]表示第i个SDR图像的最小输出值,CH[i]表示第i个SDR图像的最大输出值;步骤a):将所述CL[i]和所述CH[i]设置为初始值;步骤b):使用所述第i个VDR图像和所述第i个SDR图像计算第i个残差图像;步骤c):确定所述第i个残差图像是否具有至少一个伪轮廓;步骤d):当确定所述第i个残差图像具有至少一个伪轮廓时,调节所述图像相关参数CL[i]和CH[i]至少之一;重复以调节的参数CL[i]和CH[i]进行的以上所述的将第i个VDR图像转换成第i个SDR图像且重复步骤b)至步骤d),直到至少一个伪轮廓的计数被最小化;基于所有所计算的图像相关参数CH[i]中的最大值计算用于整个场景的场景相关值CH;基于所有所计算的图像相关参数CL[i]中的最小值计算用于整个场景的场景相关值CL;以及使用所述均匀动态范围压缩函数以及场景相关参数CH和CL,将所述场景中的所有VDR图像转换成SDR图像,其中所述确定步骤c)包括基于所述第i个残差图像中的像素的周围区域中的所有像素的归一化标准偏差的中值,以及一个或更多个阈值,计算像素级伪轮廓指标。
[0015] 根据本公开内容又一方面,提供一种用于转入输入图像的装置,包括:a)用于接收图像序列中的输入图像的部件,其中所述输入图像具有第一动态范围;b)将所述输入图像转换成第二图像的部件,其中所述第二图像具有低于所述第一动态范围的第二动态范围,并且其中基于包括一个或更多个参数的动态范围压缩函数进行所述转换;c)使用所述输入图像和所述第二图像计算残差图像的部件;d)确定所述残差图像是否具有至少一个伪轮廓的部件;以及e)当确定所述残差图像具有至少一个伪轮廓时,调节至少一个所述参数的部件;其中所述确定所述残差图像是否具有至少一个伪轮廓的部件包括用于像素级检测的部件和用于图片级检测的部件,其中所述用于像素级检测的部件基于所述残差图像中的相应像素的周围区域中的所有像素的归一化标准偏差的相应中值,以及一个或更多个阈值,计算像素级伪轮廓指标,以及其中所述用于图片级检测的部件将所述残差图像划分成非交叠块;针对每个块,基于一个或更多个像素级伪轮廓指标计算块级伪轮廓指标;基于所述块级伪轮廓指标获得多个连接块级伪轮廓指标;以及获得伪轮廓检测(FCD)度量作为所述多个连接块级伪轮廓指标和至少一个阈值的函数。
[0016] 根据本公开内容再一方面,提供一种用于转换输入图像的装置,包括:用于接收场景中的视觉动态范围(VDR)图像的序列的部件;针对所述场景中的每个VDR图像i进行以下操作的部件:将第i个VDR图像转换成第i个标准动态范围(SDR)图像,其中所述第i个SDR图像具有比所述第i个VDR图像低的动态范围,并且其中基于包括图像相关参数CL[i]和CH[i]的均匀动态范围压缩函数进行所述转换,其中所述CL[i]表示第i个SDR图像的最小输出值,CH[i]表示第i个SDR图像的最大输出值;步骤a):将所述CL[i]和所述CH[i]设置为初始值;步骤b):使用所述第i个VDR图像和所述第i个SDR图像计算第i个残差图像;步骤c):确定所述第i个残差图像是否具有至少一个伪轮廓;步骤d):当确定所述第i个残差图像具有至少一个伪轮廓时,调节所述图像相关参数CL[i]和CH[i]至少之一;重复以调节的参数CL[i]和CH[i]进行的以上所述的将第i个VDR图像转换成第i个SDR图像且重复步骤b)至步骤d),直到至少一个伪轮廓的计数被最小化;基于所有所计算的图像相关参数CH[i]中的最大值,计算用于整个场景的场景相关值CH的部件;基于所有所计算的图像相关参数CL[i]中的最小值,计算用于整个场景的场景相关值CL的部件;以及使用所述均匀动态范围压缩函数以及场景相关参数CH和CL,将所述场景中的所有VDR图像转换成SDR图像的部件,其中所述针对所述场景中的每个VDR图像i进行操作的部件在执行步骤(c)中,基于所述第i个残差图像中的像素的周围区域中的所有像素的归一化标准偏差的中值,以及一个或更多个阈值,计算像素级伪轮廓指标。
[0017] 在结合附图阅读下面的详细描述后,将更理解说明书的其他优点和新颖特征。

附图说明

[0018] 在附图中,通过示例的方式而不是通过限制性的方式例示了本发明的实施方式,其中相同的附图标记指代相同的元件,并且其中:
[0019] 图1描绘了根据本发明的实施方式的分层编码系统的示例数据流;
[0020] 图2描绘了根据本发明的实施方式的示例均匀动态范围压缩函数;
[0021] 图3描绘了根据本发明的实施方式的用于检测伪轮廓的示例系统;
[0022] 图4描绘了根据本发明的实施方式的、用于在像素级检测伪轮廓的示例处理流程;
[0023] 图5描绘了根据本发明的实施方式的、用于在图片级检测伪轮廓的示例处理流程;
[0024] 图6A和图6B描绘了根据本发明的实施方式的、用于在视频编码中在场景级预防伪轮廓的示例处理流程;以及
[0025] 图7A、图7B和图7C描绘了根据本发明的实施方式的、用于计算伪轮廓检测度量的示例处理流程。

具体实施方式

[0026] 本文描述了VDR分层编码中的伪轮廓伪影的自适应预防。在下面的描述中,出于解释的目的,提出了多个具体的细节以便于提供对本发明的全面理解。然而,明显的是,在没有这些具体细节的情况下仍可以实现本发明。在其他实例中,为了避免对本发明的不必要地封闭、模糊或混淆,将不再详尽地描述公知的结构和设备。
[0027] 概述
[0028] 本文所描述的示例实施方式涉及用于预防分层编码中的伪轮廓伪影的对VDR视频信号的自适应量化。在实施方式中,编码器接收扩展或视觉动态范围(VDR)内的图像序列。对于每个图像,选择动态范围压缩函数和相关联的参数将输入图像转换成具有较低动态范围的第二图像。使用输入图像和第二图像计算残差图像。使用分层编解码器对输入VDR图像序列进行编码,该分层编解码器将该第二图像用作基本层并且将从输入图像和第二图像中获得的残差图像作为一个或更多个残差层。伪轮廓检测方法(FCD)使用残差图像估计经解码的VDR图像中的潜在地在感知上可见的伪轮廓的数量并且迭代地调节动态范围压缩参数以减少伪轮廓的数量。
[0029] 在示例实施方式中,动态范围压缩函数包括均匀量化器。
[0030] 在示例实施方式中,FCD方法包括像素级轮廓检测器和图片级轮廓检测器。
[0031] 在另一种实施方式中,编码器接收VDR图像的场景(例如,一组图片)。包括帧相关参数CL[i]和CH[i]的均匀动态范围压缩函数被应用到每帧i以将每个VDR图像转换成SDR图像,其中,SDR图像具有相比VDR图像而言较低的动态范围。在设置CL[i]和CH[i]的初始值后,在迭代处理中,使用每个VDR图像及其相应的SDR图像来计算残差图像。通过使用残差图像,伪轮廓检测方法(FCD)来计算残差图像中的感知上可见的伪轮廓的数量并且迭代地调节CL[i]或CH[i]以减少伪轮廓的出现。在处理场景中的所有帧后,基于所有CH[i]值的最大值计算场景相关的CH值,并且基于所有CL[i]值的最小值计算场景相关的CL值。在输入场景的压缩期间,使用所计算的场景相关的CH和CL值将均匀动态范围压缩函数应用到场景中的所有图像。
[0032] 在另一种实施方式中,通过将伪轮廓的边缘对比度与基于系统参数和对比敏感度函数(CSF)的模型的可见性阈值进行比较来计算伪轮廓检测度量。
[0033] 示例分层VDR系统
[0034] 图1是根据实施方式实现分层或层次性VDR编码的示例图像处理系统100。系统100表示分层解码器的实施方式,其中,使用基本层135和增强或残差层185这两层对输入信号V 105进行编码。残差编码器185可以是单层解码器或多层解码器。
[0035] 在实施方式中,输入信号V 105可以表示由高比特深度分辨率(例如,以4:4:4颜色格式如RBG 4:4:4的每颜色分量的12比特或更多比特)表示的输入VDR信号。该VDR信号可以通过动态范围压缩处理(例如,色调映射操作器或量化器)110进行处理以生成信号S 112。在一些实施方式中,动态范围压缩处理还可以包括其他非线性或线性图像变换过程。信号S可以具有与信号V相同或比信号V低的空间分辨率。信号S可以以比信号V低的比特深度分辨率(例如每颜色分量8比特)表示。信号S可以具有与信号V相同的颜色格式,或在其他实施方式中,信号S可以具有不同的颜色格式,例如YCbCr 4:2:0。
[0036] 在实施方式中,基本层(BL)信号S112可以通过BL编码器130进行处理以获得压缩信号135。在实施方式中,可以通过任何现有的视频编码器(如由运动图像专家组(MPEG)规范所指定MPEG-2视频编码器或MPEG-4视频编码器)来实现编码器130。
[0037] 可以通过在BL解码器140中对信号135进行解码、生成原始VDR信号V(165)的预测值,并且从原始中减去该预测值(165)以生成残差信号175。在实施方式中,可以使用在2012年4月13日提交的国际专利申请No.PCT/US2012/033605中所描述的多变量多回归模型来实现预测器160。残差信号175还可以通过残差编码器180进一步压缩以生成编码残差信号185。在实施方式中,可以通过任何现有的视频编码器(如由运动图像专家组(MPEG)规格所指定的MPEG-2视频编码器或MPEG-4视频编码器)或者其他图像和视频编码器(如JPEG2000、VP8、Flash视频)等来实现编码180。在编码180之前还可以有其他图像处理操作如颜色转换和/或非线性量化。
[0038] 由于在动态范围压缩器110或编码器130和180中的量化处理,在VDR解码器中,重构的VDR信号可以展示量化相关的相关伪影如伪轮廓伪影。减少这些伪影的一种方法可以结合后处理技术,如去轮廓;然而,这样的技术增加了解码器的计算复杂性,可能无法完全移除伪轮廓,并且甚至可能引入其他不期望的伪影。减少伪轮廓的第二种方法可以结合应用编码预处理方法,如抖动。然而,预抖动增加了输入信号的熵,从而降低了整体的压缩效率。实施方式提出了新的方法以通过自适应地调节VDR到SDR的动态范围压缩处理110来防止伪轮廓伪影,使得能够防止并且最小化潜在伪轮廓的数量。
[0039] 在实施方式中,编码系统100还可以包括伪轮廓检测器(FCD)120,伪轮廓检测器(FCD)120估计解码流中的伪轮廓伪影的潜在严重性或可见性。本文稍后将描述对于给定信号V和S,FCD 120调节动态范围压缩器110的参数使得潜在伪轮廓伪影的数量最小化。可以将这样的参数发送给解码器,例如使用元数据167作为编码比特流的部分,或者编码器可以使用这样的参数来获得将在预测器160中使用的预测参数。
[0040] 本文所定义的术语“元数据”可以涉及作为编码比特流的部分进行传输并且帮助解码器渲染经解码的图像的任何辅助信息。这样的元数据可以包括但不限于与下列项相关的信息:那些本文所描述的颜色空间或色域转换、动态范围和/或量化参数。
[0041] 示例动态范围压缩
[0042] 分层VDR编码系统100包括动态范围压缩器110,该动态范围压缩器110将原始VDR信号映射至基本层(例如,SDR)信号112。在实施方式中,可以通过函数Q()和参数集合P定义动态范围压缩器的输入-输出特性。因此,给定VDR输入vi,SDR输出si可以表示为:
[0043] si=Q(vi,P) (1)
[0044] 图2描绘了使用均匀量化器的动态范围压缩器的示例实施方式,其中,[0045]
[0046] 其中,O是舍入偏移量,并且P={CH,CL}。在等式(2)中,vL和vH值通常基于输入视频序列的一组帧的动态范围特性进行定义。给定vL和vH,{CH,CL}参数控制动态范围量化量和潜在地在感知上可见的伪轮廓的数量。在图2中,使用16比特表示VDR输入,而使用8比特表示SDR输出。如图2所描绘的,在某些实施方式中,可以接着动态范围压缩进行裁剪。例如,高于255的SDR值可以被裁剪为值255并且低于0的SDR像素值可以被裁剪为值0。
[0047] 在一种实施方式中,量化器是均匀的并且仅应用于VDR信号的伽马校正亮度分量(例如,YCbCr信号的Y分量)。在其他实施方式中,量化可以是非均匀的,可以独立于输入信号的多于一个颜色分量进行操作,并且可以在感知量化域内进行操作。
[0048] 给定等式(2),去量化(或动态范围扩展)处理的实施方式可以表示为:
[0049]
[0050] 在一种实施方式中,将通过有损压缩130对线性量化数据进行压缩并且可以通过线性回归获得逆量化函数,例如,通过VDR和基本层数据集合之间的低次多项式进行拟合。在实施方式中,给定动态范围扩展函数的参数模型,如:
[0051] Q-1=(si)=a2si2+a1si+a0, (4)
[0052] 这样的模型的参数(例如,a0、a1和a2)可以通过对预测VDR值和输入VDR值之间的均方误差(MSE)进行最小化来解出,如下面的等式(5)所描绘的:
[0053]
[0054] 当接着动态范围压缩进行裁剪时,可以通过使用未裁剪的SDR数据来计算等式(5)以改善对VDR数据的预测。
[0055] 给定等式(1)的动态范围压缩函数,实施方式选择参数的集合P以对重构VDR信号中的潜在伪轮廓的数量进行最小化。例如,给定等式(2)的线性量化器,如果VDR图片中的像素值的分布具有接近于零像素值的主峰和朝向最大像素值的长尾,则CL可以设置为零(CL=0),然后可以获得使最终重构VDR中的伪轮廓伪影最小的CH的值。较高的CH值可以减少伪轮廓伪影;然而,高的CH值可以增加残差流185的比特率,从而影响整体编码效率。
[0056] 在实施方式中,可以保持视频场景(例如,图片组)的帧中动态范围参数的选择(例如,[CL CH])恒定,其可以支持场景保持恒定亮度并且有利于基本层和增强层编解码器(例如,130和180)内的运动估计处理。
[0057] 伪轮廓检测和预防
[0058] 图3描绘了根据本发明实施方式的伪轮廓检测器(FCD)120的示例。FCD系统300包括动态范围扩展处理器310和FCD计数器320。动态范围扩展处理器310接收SDR输入si305(或S 112)并且使用由动态范围压缩单元110所使用的逆处理,其输出本文中表示为315的原始VDR输入的近似值(或预测版本)。信号 还可以表示为预测vi或去量化vi。给定输入vi和 FCD系统300计算预测误差或残差
[0059]
[0060] 其被输入至FCD计数器320进行进一步的处理。给定残差图像ri319,FCD计数器单元320由于针对动态范围压缩所选择的参数输出(根据给定准则)重构VDR信号中的潜在地在感知上可见的伪轮廓的数量。
[0061] 在实施方式中,在等式(6)中,残差可以计算为 其中 表示从预测器160直接获得的预测VDR信号165。
[0062] 在FCD计数器320中,检测并计算输入残差中的伪轮廓包括像素级检测分量和图片(或帧)级检测分量。
[0063] 示例像素级检测
[0064] 图4描绘了根据实施方式的、用于在像素级检测伪轮廓的示例过程。给定残差像素ri(步骤410),Ai′表示在像素ri周围的N个像素(例如,3×3或5×5)的区域,像素ri在该区域的中心处。根据下面的等式(7)和等式(8)计算在Ai′中的残差像素的均值μi和标准偏差σi(步骤420)。
[0065] 和 (7)
[0066]
[0067] 对于给定的动态范围压缩器110,mi表示是对应于相同si输出值的输入值vi的范围。例如,对于图2中所描绘的均匀量化器,根据等式(2)所有的mi值相等,[0068]
[0069] 在该实施方式中,均匀量化结果在于,
[0070]
[0071] 根据等式(8)、(9)和(10),在感兴趣区域内的残差像素的标准偏差与定义均匀量化器的斜率的参数[CL CH]强烈地相关。
[0072] 使得
[0073]
[0074] 表示Ai′内所有残差像素的归一化标准偏差(步骤430),并且使得[0075] 对于所有的
[0076] 表示在像素ri周围的像素区域 内的所有归一化标准偏差的中位数(步骤440)。将像素级伪轮廓指标表示为αi,然后给定阈值TH、TL、LL和LH,当αi=1时,残差ri319与潜在伪轮廓相关联,其中(步骤450),
[0077]
[0078] 在一种实施方式中,在等式(12)中,区域 在其他实施方式中,区域 可能大于Ai。在示例实施方式中,TH=1/5、TL=1/6,并且对于16比特VDR输入,LL=10000,LH=60000。伪轮廓伪影存在于其中 比阈值TH小的区域。然而,非常小的 值表示区域已经非常平滑;因此,为了避免误报(false positive),将 设置为高于阈值TL。从感知的角度来看,在非常黑暗和非常明亮的区域难以观察伪轮廓伪影;因此,LL和LH可以用于分别定义非常黑暗和非常明亮的区域,其中检测伪轮廓可能不太重要。
[0079] 示例图片级检测
[0080] 尽管等式(13)中的αi提供了像素级的伪轮廓指标,从感知角度来看,检测图片级的伪轮廓可能更加重要。例如,仅当大图片区域具有多个像素且αi=1以及这些像素相连时,伪轮廓伪影将感知可见。图5描绘了根据本发明实施方式的、用于检测图片级的伪轮廓的示例过程。
[0081] 在实施方式中,图片或视频帧被划分为非交叠块Bj(例如16×16或32×32像素块)(步骤510)。使得Bj表示二进制、块级伪轮廓指标、其表示在那个块中伪轮廓伪影是如何可观察的。在实施方式中,给定
[0082] 和 (14)
[0083]
[0084] 其中,|Bj|表示区域Bj内的像素的数量,然后
[0085] βj=(bj>TB)·(cj<TB)。 (16)
[0086] 引入等式(15)和等式(16)中的变量cj和TB来补偿跨越两个块的伪轮廓检测。在实施方式中,TB=0.1。
[0087] 在针对每个块计算Bj(步骤520)之后,当对于βj=1的多个块被认为相连(步骤530)时,对潜在伪轮廓进行计数。在实施方式中,给定阈值Tc(例如,Tc=0),使得[0088] {θk}=connected_component{βj}, (17)
[0089] 表示在βj的集合之间的4连接分量的数量。例如,使用MATLAB编程语言,可以使用bwconncomp(βj,4)函数计算{θk}。然后,在步骤540中,FCD度量值[0090] FCD=|{|θk|>Tc}|, (18)
[0091] 表示在感兴趣图片区域中潜在地在感知上可见的伪轮廓伪影的数量。
[0092] 通常,阈值LL、LH和TC取决于目标VDR显示系统的显示特征和人类视觉系统的特征二者。
[0093] 基于场景的伪轮廓预防
[0094] 图6A和图6B描绘了根据本发明实施方式的、当对视频序列进行编码时用于检测和预防感知可见伪轮廓伪影的示例处理流程。如前面所解释的,伪轮廓伪影的数量通常与在输入VDR信号的动态范围的压缩期间的量化量相关。给定动态范围压缩函数Q(vi,P),对于给定的参数集合P,实施方式测量潜在伪轮廓的数量。然后,迭代地调节P使得潜在地在感知上可见的伪轮廓的数量最小化。例如,给定等式(2)的均匀量化器(也在图2中进行了描绘),在视频的场景内,实施方式首先确定在该场景内的max VH和min VL值(步骤610),然后迭代地确定使得潜在伪轮廓数量最小化的CH和CL值(步骤620和步骤630)。
[0095] 本文所使用的术语“场景”涉及一组连续的帧或图片,或通常具有相似动态范围和颜色特征的连续视频帧或图片的集合。
[0096] 本文所使用的术语“高裁剪”与动态范围压缩期间用于主要地朝向高像素值(例如,加亮)裁剪的偏好相关。当场景中的像素的柱状图表示大部分像素值趋向于接近暗区域并且该柱状图示出了加亮(明亮)区域的长尾时,则这样的裁剪是优选的。
[0097] 本文所使用的术语“低裁剪”与在动态范围压缩期间用于主要地朝向低像素值(例如,暗阴影)裁剪的偏好相关。当场景中的像素的柱状图表示大部分像素值趋向于接近亮区域并且该柱状图示出了暗区域的长尾时,则这样的裁剪是优选的。
[0098] 在实施方式中,可以通过计算场景中像素值的柱状图的偏度来确定关于是进行低裁剪还是进行高裁剪的判决(步骤620)。给定μ和σ,即场景中所有N个输入vi像素的亮度值的估计均值和标准偏差值,偏度可以被定义为
[0099]
[0100] 如果偏度值为负值,则数据更朝向均值的左边分散。如果偏度值为正值,则数据更朝向均值的右边分散。
[0101] 图6B更详细地描绘了迭代处理630的实施方式,其用于确定将对VDR的解码器的输出中的伪轮廓伪影最小化的CH和CL值。根据裁剪决定632(可以使用等式(19)的偏度估计进行确定),处理600可以跟随635或637的路径。针对场景中的每个帧和所有帧计算所选择的路径。
[0102] 在低裁剪(637)情况下,对于每个帧i,迭代过程开始(步骤637-2)于初始值CL[i](例如,CL[i]=0),并且使用等式(18)计算FCD度量(637-3)。如果所检测的感知可见伪轮廓的数量等于或低于所给定的阈值Tf(例如,Tf=0),则处理继续至下一帧(637-1)直到处理完所有帧。否则,如果所检测的感知可见轮廓的数量高于所给定的阈值,则在步骤637-2中,通过指定步骤降低CL[i]值(例如,降低5或降低10)并且重复该处理。当处理完场景中的所有帧,将用于场景的动态压缩的CL’值选择为所有计算的CL[i]值中的最小值。
[0103] 在高裁剪(635)情况下,对于每个帧i,迭代过程开始(步骤635-2)于初始值CH[i](例如,CH[i]=235),并且使用等式(18)计算FCD度量(635-3)。如果所检测的在感知上可见伪轮廓的数量等于或低于所给定的阈值Tf(例如,Tf=0),则处理继续至下一帧(635-1)直到处理完所有帧。否则,如果所检测的在感知上可见的轮廓的数量高于所给定的阈值,则在步骤635-2中,通过指定步骤增加CH[i]值(例如,增加5或增加10)并且重复该过程。当处理完场景中的所有帧,然后将用于场景的动态压缩的CL’值选择为所有计算的CH[i]值中的最大值。
[0104] 基于可见性阈值的FCD度量
[0105] 图7A、7B和7C描绘了基于可见性阈值的、根据实施方式的计算步骤540、635-3或637-3中FCD度量的示例处理。与前面的讨论相似,该度量也是基于通过等式(17)进行计算的连接βi=1分量(例如,θk);然而,作为计数所有连接分量的替代,仅计算具有比局部可见对比度阈值高的边缘对比度的连接分量。
[0106] 如图7A所示,与步骤520和步骤530相似,步骤720和步骤730用于计算连接βi=1分量的数量,例如,使用等式(14至17)。在图7B(790)中描绘了这样的连接分量(795)的示例。
[0107] 对于每个连接分量(例如,795),图7B描绘了计算跨越其边缘的伽马校正亮度值的示例过程(步骤740)。使用连接分量的每个边缘周围的像素窗(例如,3×3或5×5),步骤740-1A和步骤740-1B首先计算在该边缘周围的区域1和区域2中的平均代码(像素)值。在示例实施方式中,可以仅针对相关像素值(例如,YCbCr中的Y)的亮度分量计算平均代码值。
[0108] 接下来,在步骤740-2A和步骤740-2B中,将平均代码值转换成伽马校正亮度值L1和L2。存在基于各种标准显示校准模型计算伽马校正亮度值的多种替代。在一种实施方式中
[0109]
[0110] 其中,Vavg为平均代码值,而γ为伽马。
[0111] 给定亮度值L1和L2,步骤750可以计算边缘对比度CE,如
[0112]
[0113] 图7C描绘了步骤760中计算局部对比度阈值的示例处理。在步骤760-5中,可以计算局部光适应水平LA为
[0114]
[0115] 基于局部光适应水平和其他系统参数,在步骤760-10中,根据合适的预计算模型族计算或选择对比敏感度函数(SCF)模型(例如,CSF760-15)。给定SCF模型(例如,760-15),获得对比敏感度值SC。在一些实施方式中,SC可以定义为峰值对比敏感度(例如,图760-15中的PCS)。在其他实施方式中,SC可以定义为对比敏感度函数与Y轴的交点。在步骤760-20,给定计算的局部对比敏感度值SC,局部对比度阈值可以按照下面的方式进行计算
[0116]
[0117] 返回至图7A,在步骤750和步骤760之后,其中针对一个连接分量计算CE和CTL值,在步骤770中,比较这两个值。如果CE大于局部对比度阈值,则所考虑的连接分量被认为是在感知上可见并且对于整个图片或帧的FCD计数加一,否则,该连接分量不认为是感知可见的并且不被计数,并且处理继续返回至步骤740。最后,最终的FCD度量表示图片中潜在地在感知上可见的伪轮廓的总数量。
[0118] 本文所描述的用于均匀量化器的方法可以容易地扩展到其他类型的量化器如非均匀量化器。通过将原始输入范围[vL,vH]划分为p个非交叠输入范围[vLi,vHi],其中i=1,2,...,p,然后预防伪轮廓伪影的问题可以被表达为识别参数集合Pi,例如,Pi=[CHi,CLi],其中i=1,2,...,p的问题,使得在每个输入段(例如,FCDi)内的FCD度量等于或低于给定阈值。
[0119] 示例计算机系统实现
[0120] 可以以计算机系统、电子电路和元件中配置的系统、集成电路(IC)器件如微控制器、现场可编程门阵列(FPGA)或另外可配置或可编程的逻辑器件(PLD)、离散时间或数字信号处理器(DSP)、专用IC(ASIC)、和/或包括一个或更多个这样的系统、器件或部件的装置中实现本发明的实施方式。计算机和/或IC可以运行、控制或执行与检测并且预防本文所描述的那些伪轮廓相关的指令。计算机和/或IC计算与检测并且预防本文所描述的那些伪轮廓的相关的各种参数或值中的任何一种。可以在硬件、软件、固件和上述项的各种组合中实现图像和视频的实施方式。
[0121] 本发明的某些实施方式包括计算机处理器,该计算机处理器执行使得其执行本发明的方法的软件指令。例如,在显示器、编码器、机顶盒、代码转换器等中的一个或更多个处理器可以通过执行处理器可访问的、程序存储器中的软件指令来检测并且预防上面所描述的伪轮廓伪影。还可以以程序产品的形式提供本发明。该程序产品可以包括携带一组计算机可读信号(包括指令)的任何介质,当数据处理器执行该指令时使得数据处理器执行本发明的方法。根据本发明的程序产品可以是各种形式中的任何一种形式。该程序产品可以包括例如物理介质,如包括软盘、硬盘驱动器的磁数据存储介质,包括CD ROM、DVD的光学数据存储介质,包括ROM、闪速RAM的电子数据存储介质等。可以任选地对程序产品上的计算机可读信号进行压缩或加密。
[0122] 除非另有说明,否则部件(例如,软件模块、处理器、组件、装置,电路等)指代上面所描述的各项,提及的部件(包括提及的“装置”)应当被解释为包括执行所描述部件的功能的任何组件(例如,功能上等效)、包括与执行本发明所示出的示例性实施例的功能的公开结构在结构上不等同的部件。
[0123] 等同物、扩展、替代和其他事项
[0124] 因此,描述了涉及检测和预防编码VDR序列中的伪轮廓的示例实施方式。在前面的说明书中,参照可能因实施方式而异的各种具体细节对本发明的实施方式进行了描述。因此,什么是本发明并且申请者意欲作为本发明的唯一或排他性指标是一组权利要求,所述一组权利要求以这些权利要求发布的具体形式从本申请发布,包括任何后续的修改。在这样的权利要求中包含的针对术语在本文中提出的任何表达上的定义将决定权利要求中所使用的这样的术语的含义。因此,没有明确地对记载在权利要求中元素,属性,特征,优点或属性进行限制,应该以任何方式对这样的权利要求的范围进行限制。因此,本说明书和附图认为是示意性而非限制性意义。