对HDR视频进行编码和解码的制作方法

文档序号:16637818发布日期:2019-01-16 07:11阅读:690来源:国知局
对HDR视频进行编码和解码的制作方法

本发明涉及用于对高动态范围图像的时间上连续的集合(在本文中被称为hdr视频)分别进行编码、解码的方法和装置。



背景技术:

直到几年前,所有视频都是根据所谓的低动态范围(ldr)理念(也被称为标准动态范围(sdr))进行编码的。这意指,无论捕获到的场景是什么,代码的最大值(通常为8位辉度(luma)y'=255;或者用于模拟显示器驱动的100%电压)应当通过标准化定义对应于、即被绘制在具有依据标准协议为100nit(尼特)的峰值亮度(brightness)pb(即,其能够绘制的最亮的白色)的显示。如果人们购买了稍暗或稍亮的实际显示器,则假设查看者的视觉系统将适应,从而图像仍然将看起来合适,并且甚至与在参考100nit显示器上的相同,而不是例如令人讨厌地过亮(例如,在一个人在恐怖电影中有应当具有黑暗外观的夜景的情况)。

当然,对于实际的节目制作,这通常意指保持对场景照明设施的严格控制,因为即使在完全均匀的照明中,各种对象的漫反射百分比已经能够给出100:1的对比度。这样的sdr显示器的黑色在良好的情况下通常可以是0.1nit,而在最坏的情况下可以是1nit或者甚至若干nit,因此,sdr显示动态范围(最亮的白色除以最暗的可查见黑色)最多将是1000:1或更差,这非常良好地对应于这样的均匀照明场景,并且对于所有需要被绘制的像素灰度值或亮度是8比特编码,具有大约2.0的伽马值或编码逆伽马值0.5。rec.709是通常使用的sdr视频编码。通常,相机同时捕获非常明亮和相当暗的区域也存在问题,即,如在窗户或车窗外部看到的场景通常将被剪裁成白色(给出红色、绿色和蓝色的相加性颜色分量r=g=b=max。对应于其平方根编码值r'=g'=b'=255)。注意,如果在这种应用中,动态范围首先仅指定峰值亮度(即,最亮的绘制的或可绘制的明度(luminance)),我们假设最低明度值是实际零(而实际上其可能取决于查看条件,诸如显示前板或电影屏幕光反射,例如0.1nit),并且那些进一步的细节与特定解释无关。还要注意,有若干种方式来定义动态范围,并且在下文的解释中通常使用的最自然的方式是显示器绘制的明度动态范围,即,最亮的颜色相对于最暗的颜色的明度。

还要注意,在hdr研究期间已经变得更清楚并且在此对其进行提及以确保每个人都理解的内容是:代码系统自身本来不具有动态范围,除非将参考显示与其相关联,这表示例如r'=g'=b'=y'=255应当与100nit或者备选地1000nit等的pb相对应。具体地,与通常预先假定的相反,用于像素的颜色分量的比特数与其辉度一样不是动态范围的良好指示器,因为例如10比特的编码系统可以编码hdr视频或sdr视频,这是由编码类型来确定的,并且特别是与编码相关联的参考显示器的电光传递函数eotf,即,定义辉度代码[0,1023]与像素的对应明度之间的关系,因为其需要在显示器上绘制。

在本文中,假设当提及hdr图像或视频时,其具有针对最高辉度代码的对应峰值亮度或最大明度(或者例如在rgb编码的情况下,等效最高的r'、g'、b'值,而不是ycbcr编码),其高于100nit的sdr值,通常至少高4倍,即,使得hdr图像看起来最佳的待绘制的最大显示明度可以是例如1000nit、5000nit或10000nit(注意,这不应当与初步复杂概念相混淆,下文将详细说明人们能够将这样的hdr图像或视频编码为sdr图像或视频,在这种情况下,图像能在100nit显示器上绘制,但重要的是,还包含所有信息——当对应的相关联的元数据对颜色变换进行编码以恢复hdr图像时——用于创建具有例如1000nit的pb的hdr图像!)。

因此,对高动态范围图像的高动态范围编码能够对具有例如高达1000nit的待绘制明度的图像进行编码,以能够显示-绘制高质量的hdr,具有例如与周围绘制的场景相比的明亮爆发,或者闪闪发光的金属表面等。

在实践中,世界上有一些场景会具有非常高的动态范围(例如,室内捕获的对象像1nit一样暗,而同时透过窗户外部看到阳光照射的对象具有高于10000nit的明度,给出了10000:1的动态范围,这比1000:1的dr大10倍,并且甚至比100:1的动态范围大100倍,并且例如一些典型情况下,例如白天观看,电视观看可以具有小于30:1的dr)。由于显示器变得越来越好(比100nit的pb亮若干倍,目前出现了1000nit,并且设想到了数千的nit的pb),目标是能够精美地绘制这些图像,但是因为如不同观看条件的这样的因素而不完全等同于原始情况,但是至少非常自然,或者至少赏心悦目。这需要在sdr视频编码时代所缺少的东西:一种良好的实用hdr视频编码技术。

读者还应当理解,因为查看者通常在不同的情况下观看内容(例如,晚上坐在光线昏暗的客厅,或者在黑暗的家中或电影院里,而不是实际站在捕获的明亮非洲景观中),所以场景中的明度与最终在电视(或其他显示器)上绘制的那些明度之间没有任何同一性。这尤其能够通过使人类颜色分级者人工地决定可用编码dr上的最佳颜色、即相关联的参考显示器上的最佳颜色来处理,例如通过规定场景中的太阳应当在图像中以5000nit(而不是实际值10亿nit)绘制来处理。备选地,自动算法可以进行从例如原始相机捕获到文本中的内容的这样的转换,这(通常)将被称为(主)hdr分级。这意指那么能够在5000nitpb的hdr显示器上在可用的那些位置处绘制该主分级。

然而,与此同时,未来几年对具有100nitpb的传统sdr显示器、或者不能够产生5000nit白的一些显示器(例如,因为其是便携式的)将有大的既有用户人群,并且那些人也需要能够观看hdr电影。因此,需要一些机制将5000nithdr转换为同一场景的100nitsdr外观图像。

图1示出了许多种可能的hdr场景的几个例示性范例,未来的hdr系统(例如,被连接到1000nitpb显示器)可能需要能够正确地处理、即通过为图像中的所有对象/像素绘制适当的明度。例如,imscn1是来自西方电影的阳光户外图像,而imscn2是夜间图像。使hdr图像绘制与仅在几年前结束的ldr时代中其始终是的绘制的不同之处在于:ldr具有这样的有限的动态范围(大约pb=100nit,并且黑色水平为+-0.1nit至1nit),大多数情况下,仅可以示出对象的反射率(其将落在对于良好的白色的90%与对于良好的黑色的1%之间)。因此,人们必须独立于其明度来示出对象,并且不可以同时忠实地示出可能发生的场景的所有有时高对比度的照明。在实践中,这意指高亮度的阳光场景必须以与暗淡的雨天场景大致相同的显示明度(0-100nit)进行绘制。并且,即使夜间场景也不能够被绘制得太暗,否则查看者将不能够很好地区分图像中的最暗部分,所以,再次地,那些夜间亮度将跨0nit至100nit之间的范围被绘制。因此,人们不得不常规地将夜间场景着色为蓝色,从而查看者将理解他并不是在观看日间场景。当然,现在,在现实生活中,人类视觉也将适于可用的光的量,但不是那么多(现实生活中的大多数人都认识到变暗了)。因此,人们将希望利用能够在其中进行艺术地设计的所有壮观的局部照明效果来绘制图像,以得到更加逼真的绘制图像,至少在人们具有可用的hdr显示器时。

所以在图1的左侧轴上是对象明度,因为人们将希望在针对5000nitpb显示器的5000nitpb主hdr分级中看到它们。如果人们想要传达的不仅仅是幻觉,而是真正意义上的牛仔处在明亮的阳光照射环境中,那么人们必须指定并且将这些像素明度绘制地足够亮(但是也不要太亮),例如大约500nit。对于夜间场景,人们主要想要暗明度,但是摩托车上的主要角色应当是可以良好识别的,即,不太暗(例如,大约5nit),并且同时,能够存在例如街灯的相当高明度的像素,例如在5000nit显示器上大约为3000nit,或者在任何hdr显示器上的峰值亮度附近(例如,1000nit)。第三范例imscn3示出了现在在hdr显示器上也可能的内容:人们能够同时绘制非常亮和非常暗的像素两者。我们看到暗的洞穴,通过小的开口,我们看到外部的阳光。对于这种场景,人们可能想要使例如树的阳光照射的对象比在想要绘制明亮的阳光照射的场景的印象(例如,大约400nit)中稍微不那么明亮,这应当与洞穴内部的基本上黑暗的特性更加协调。颜色分级者可能想要最佳地协调所有对象的明度,从而没有任何内容看起来不合适地暗或亮,并且对比度良好,例如,在该洞穴中站在黑暗中的人可以在主hdr梯度图像中以大约0.05nit来编码(假设hdr绘制将不仅能够绘制明亮的高光,而且还能够绘制暗区域)。

能够理解的是,将针对所有这些非常不同类型的hdr场景的所有对象明度映射到在图1右侧上所示的小得多的sdr或ldr动态范围(dr_1)中可用的最佳明度可能并不总是微不足道的任务,这就是为什么优选可以涉及人类颜色分级者来确定颜色变换的原因(其至少包括明度变换,或者当对辉度代码等效地执行时的辉度变换)。然而,人们总是能够选取使用自动确定的变换,例如,基于分析图像内容的颜色属性,诸如其明度直方图,并且这可以是例如针对较简单种类的hdr视频或者例如在实时内容生成中人类分级不太优选的应用的优选选项(在该专利中,假设不限制分级也可以涉及对数个颜色变换功能参数的快速设置,例如在捕获的开始之前快速地设置整个产生)。

申请人已经设计了一种编码系统,其不仅能够处理仅单个标准化的hdr视频的通信(编码),用于本领域中的典型单种显示(其中每个终端查看者具有例如1000nitpb显示器),而且其能够同时通信和处理视频,这些视频具有针对各种可能的其他显示类型的最佳外观,其具有该领域中的各种其他峰值亮度,特别是针对100nitpbsdr显示器的sdr图像。

仅编码一组hdr图像,即具有正确的外观,即用于在例如1000nithdr监视器上进行绘制的图像对象明度,在例如10位的传统mpeg或类似的视频编码技术中,并不困难。人们仅需要为具有相当大的动态范围的新型图像建立最佳oetf(光电传递函数),亦即,与白色相比的相对暗的区域不示出条带,并且然后计算针对所有像素/对象明度的辉度代码。

然而,申请人设计了一种系统,所述系统能够实际上将hdr图像作为ldr图像来传,即,实际上传送ldr(或者更准确地说是sdr,标准动态范围,我们的意思是传统的基于rec.709的编码,参考100nitpb参考显示器,并且常常在这样的参考显示器上进行最佳颜色分级)图像,然后,能够立即用于在传统的100nitpbsdr显示器上绘制看起来正确的sdr外观。此外,定义了一组适当的可逆颜色变换函数f_ct,如图2所图示的。这些函数可以由人类颜色分级者来定义,以得到对应于hdr主图像mast_hdr的合理外观的sdr图像(im_ldr),而同时确保通过使用逆函数if_ct能够以足够的准确度来重建原始主hdr(mast_hdr)图像作为重建的hdr图像(im_rhdr),或者,可以在内容创建侧使用自动分析算法来确定合适的这样的颜色变换函数f_ct。除非教导需要更具体的阐述,否则我们将假设在创建侧使用了几个标准函数,例如,如在wo2015007505中的loggamma形初始hdr至sdr映射(例如,选取函数的特定形状,关于hdr图像中最亮颜色(如灯)的波瓣距离平均颜色(例如,黄昏时的城市景观)的波瓣有多远),并且在有用的地方,另外的例如3部分曲线调节颜色的最暗子区域中的至少一个,或者中间的或更亮的,例如,而不仅仅限于阐明,我们假设在创建侧的面部检测器算法能够确定在黑暗中存在至少一个面部的情况下控制暗斜率的函数的参数。或者,在一些实施例中,我们将利用范例来阐述,在所述范例中,在根据本发明原理将两个分级的图像(针对电影或一般视频内容的一个时刻)编码为待通信的一幅图像之前,这两个分级的图像在创建侧是可用的,在不限制理解的情况下,我们将假设是hdr图像(例如,具有1000nit编码峰值亮度pb_c,即,能够利用所选取的编码的颜色表示来编码的最亮白色明度)和sdr(100nitpb_c)图像,这两者均由人类颜色分级者在先前进行分级。注意,不是依赖接收侧将函数f_ct反转为if_ct,还能够已经发送用于根据接收到并解码的sdr图像im_rldr计算im_rhdr所需的函数。因此,颜色变换函数实际上做的是将hdr图像(mast_hdr)中的像素的明度改变为ldr明度,即,如在图1所示的最佳明度压缩以适配100nitpbldr动态范围dr_1中的所有明度。申请人已经发明了一种方法,所述方法能够保持颜色的色度恒定,仅有效地改变其明度,如下文将阐述的。

如在图2中所示的典型编码链如下地工作。一些图像源201,其例如可以是给出最佳分级的图像的分级计算机或者是给出hdr输出图像的相机,提供主hdr图像mast_hdr,以进行颜色变换和编码。颜色变换器202应用所确定的颜色变换,例如,凹弯曲函数,为了简化说明,我们假设其是伽马函数,其中,系数gam=1/k,并且k是大于2.0的数。当然,可以采用更复杂的明度映射函数,只要其是足够可逆的,即,im_rhdr图像具有可忽略的或可接受的条带。通过应用至少包括明度变换函数的这些颜色变换函数f_ct,得到输出图像im_ldr。该图像或图像集利用传统的ldr图像编码器进行编码,该传统的ldr图像编码器可以潜在地在某种程度上被修改,例如,可能已经优化了用于预测差异的dct变换的量化表,以更好地适合具有hdr特性的图像(但是,所述颜色变换通常可能已经使得im_ldr的统计结果看起来更像是典型的ldr图像而不是典型的hdr图像,所述hdr图像通常具有相对较多的具有相对暗明度的像素,因为该范围的上部可能常常包含小灯等)。例如,可以使用mpeg型编码器,如hevc(h265),产生经编码的sdr图像im_cod。该视频编码器203然后假装其得到正常的sdr图像,尽管其也得到允许重建主hdr图像的函数f_ct,即,有效地使这成为对sdr和hdr外观以及其对应的图像集(分别为im_rldr、im_rhdr)的双重共编码。可以有若干种方式来通信这种包括函数f_ct的所有信息的元数据,例如,其可以作为sei消息来通信。然后,传输格式器204应用所有必要的变换以对数据进行格式化,从而根据一些标准来检查一些传输介质205,例如卫星或有线或互联网传输,例如根据atsc3.0或dvb,或者任何视频信号通信原理,即执行数据的分组化,信道编码等。在任何消费者或专业侧,接收器206可以并入在各种物理装置中,例如,机顶盒、电视或计算机,通过应用无格式和信道解码来撤消信道编码。然后,视频解码器207应用例如hevc解码,以产生经解码的ldr图像im_rldr。然后,颜色变换器208被布置为将sdr图像变换为任何非ldr动态范围的图像。例如,可以通过应用在编码侧使用的颜色变换f_ct的逆颜色变换if_ct来重建5000nit原始主图像im_rhdr,以根据mast_hdr产生im_ldr。可以包括显示调谐单元209,其将sdr图像im_rldr变换为不同的动态范围,例如,在显示器210是3000nitpb显示器或1500nit或1000nitpb图像等的情况下,im3000nit被最优地分级。

图3示出了能够如何设计hdr和sdr图像对的仅一个示例性(非限制性)基于颜色变换的编码,在该范例中,具有特别不总是必需但有用的属性,保持色度的亮度重新计算,所述范例来自wo2014056679。当在标准化为针对sdr和hdr图像的1.0最大相对明度的色域中查看时(即,假设sdr和hdr具有相同的例如rec.2020原色,它们具有完全相同的帐篷形状的色域;如在wo2014056679的图1中所示的),人们能够理解这种处理。如果人们要驱动任何显示器,例如在驱动图像中牛仔具有对应于显示器的峰值亮度的10%的明度的辉度代码,那么显示器的pb越高,该牛仔将显得越亮。这可能是不期望的,因为我们可能想要在所有显示器上以(近似)相同的明度、例如60nit来绘制牛仔。那么当然,随着显示器的pb越高,他的相对明度(或者对应的10位辉度代码)应当越低,以得到相同的最终绘制明度。即,人们可以将这样的期望表示为降级映射,例如,从用于sdr图像的辉度代码800到例如用于hdr图像的辉度代码100(取决于定义所使用的代码的eotf的确切形状),或者,在明度中,将60%的sdr明度映射到例如用于4000nithdr显示器或其对应的最佳分级图像的1/40th。在该文本中的降级意指将像素的辉度代码(或者其对应于要绘制的明度)从较高峰值亮度的表示(即,用于在例如1000nitpb的较高pb显示器上绘制)改变为用于在较低pb显示器、例如在100nitsdr显示器上绘制的较低pb图像中的相同场景的图像的辉度,并且升级是用于将较低pb图像转换为较高pb图像的相反颜色变换,并且不应当将其与空间放大和缩小相混淆,其分别是添加新的像素以及丢弃一些像素或者这些像素的一些颜色分量。对于任何颜色都能够做到这一点,其中,(rgb)三元组对应于显示器或编码代码色域中的一些色度(x,y),其方式是由图3的装置自动地缩放到针对该色度可用(可绘制)的最大明度lmax(x,y)。实际上,能够证明这对应于应用相似的明度映射,其在消色差轴上(即,具有无特定色调的颜色的消色差轴)将sdr图像中的颜色的输入明度l置于最佳hdr分级的图像的所需的相对输出明度l*。在没有划分为细节的情况下,与本教导相关的是,对应的颜色变换然后能够被实现为(优选线性的)rgb分量的乘法变换,在每个分量上分别由乘法器311乘以大于或小于1.0的常数g,其对应于人们选取的明度变换函数l_out=tm(l_in)的任何形状,其也能够被表达为像素的输入的红色、绿色和蓝色值的最大值的函数变换。因此,针对每种输入颜色(r,g,b),计算适当的g值以应用所需的颜色变换,所述颜色变换将im_rldr变换为im_rhdr(或者以适当地缩放的方式变换为任何其他分级的图像,如im3000nit),当明度映射器307得到一些sdr-明度到hdr_明度映射函数时,例如以参数指定的loggamma函数或sigmoid,或者作为lut接收到的多线性曲线。示例性实施例电路的部件是:305:最大值计算器,输出正在被处理的像素颜色的r、g和b值的最大值(maxrgb);301:明度转换器,根据所述系统当前工作的某种颜色定义标准来计算颜色的明度,例如,rec.2020;302:除法器,产生lmax(x,y)作为l/max(r,g,b);307:明度映射器,实际上作为maxrgb上的映射器而工作,产生m*=tm(maxrgb),tm有一些函数定义了f_ct的明度变换部分;308:乘法器,产生l*=(m*)xlmax(x,y),以及310:增益确定单元,在该实施例中实际上是除法器,计算g=l*/l,即,输出hdr相对明度除以输入sdr相对明度l;并且311是乘法器,其被布置为将三个颜色分量r、g、b乘以相同的g因子。

该电路可能适用于一些颜色编码。然而,理想情况下,将希望在典型的sdr编码中工作,因为其通常被使用。将出自hevc解码器207的im_ldr通常将是非线性y'cbcr编码(其中,我们能够假设辉度y'的rec.709非线性近似为平方根,即,忽略非恒定明度问题,则:近似地为y'=sqrt(l))。

图4示出了实现相同的预期明度改变颜色处理的可能性,作为直接对y'、cb和cr像素颜色分量的乘法策略。同样地,替代通信在其中仍然需要进行除法(通过分别根据所选的实施例情况,线性明度l或sqrt输入辉度y')来获得针对乘法的增益值g的tm()函数,在这种情况下,我们已经通信了图像中像素的可能辉度y'值所需的各种g值,例如作为查找表g_ct,或者需要较少数据的任何等效汇编,只要接收侧接收到正确的功能变换规范,以在该范例中根据编码的hdr场景的接收到的sdr外观图像来重建主hdr图像。当我们说各种方面能够在各种实施例中互换地组合时,本领域读者应当是能够理解的。例如,还可以存在其他实施例,其对具有正确的最终明度的颜色(例如,色度)的明度无关的编码进行缩放,以呈现为hdr、即l_out_hdr中的计算的像素颜色,。

人们能够在解码器400(在升档器401和402之后,在一些实施例中是任选的,例如4:4:4编码)中再次看到,通过颜色空间变换单元403从ycbcr到rgb的转换,以得到(现在是非线性的,即线性相加性颜色分量的平方根;由主要笔画'来指示)r'、g'和b'值,以通过最大计算单元404计算这三个颜色分量中的最大的一个颜色分量(注意,一些备选实施例可以使用加权的版本,例如,wr*r',并且其他输入到最大值,例如,辉度y'或者像素颜色的辉度l的重建的值或近似值,但是我们将不解释那些细节以保持核心概念足够简单)。增益确定单元405将从创建侧(例如,作为bd盘上的元数据,或者通信的视频信号,例如作为sei消息或相似的机制)接收取决于像素颜色(即,特定的图像内容)的期望的增益的规范,亦即,例如g_ct作为lut,并且其被布置为输出被处理的该像素的g值,以由乘法器409、410和411使用,来将颜色分量与例如y'4h相乘为hdr辉度=g*y'4l,即,接收到的sdr图像的输入辉度等。在该范例中,我们还示出了对于色度分量cb和cr具有不同增益因子gs的任选可能性,并且在存在任选的升档器407和408的情况下,其将基于确定的g值来确定那些值。

我们还示出了另外的颜色变换器412能够将所述(例如,解码处理核心内部)ycbcr颜色转换成适合于例如根据smptest.2084eotf或代码分配函数编码的r”、g”和b”值的目的的另一种格式的信息,例如,因为要利用正确分级的图像而服务的显示器420需要例如通过hdmi连接的诸如图像颜色通信格式的格式。

因此,所有这些编码器和解码器拓扑都能用于实现hdr编码、通信和正确解码。这并不意指人们拥有一切所希望的东西。实际上,指定良好的hdr显示器例如能够在必要时在例如0.01nit与1000nit(或5000nit)之间绘制像素明度。这并不意指人们具有很好看的图像向其展示。如果人们认为这是创作艺术家的问题,然而我们应当认识到我们仍然具有居间编码技术,但是对于单个hdr图像编码,任何适合的可逆解码代码分配将足够,编码技术允许同时编码hdr场景的若干个动态范围外观(即,至少两个,通常为sdr和hdr,但是在编码例如两个hdr外观时可以应用相同的原理,例如,1000nithdr版本和10000nithdr图像),具有一些另外的实际限制,需要利用详细的技术仔细来处理,否则其将限制编码系统的有用性。更具体地,可以在分级者能够实现的内容之间进行权衡,特别是sdr图像的外观质量,以及hdr图像的质量,理想情况下,应当(给定所有的实际约束,例如人类分级者缺少时间来微调其外观,或者不支持一些颜色功能的特定ic的复杂性降低等)都具有良好或者至少足够的质量。但是至少人们将期望hdr图像具有良好的质量,否则为什么要费心制造新的高质量系统。具体地,尽管hdr能够是绘制的图像的显著更高亮度的部分,但是还必须对图像的暗区域采取良好的技术保护,并且这是我们将利用下文的实施例来解决的另一实际问题。

roccogoris等人:“philipsresponsetocfeforhdrandwcg,112,mpeg会议2015年6月23日/2015年7月warsawno.mpeg2015/m36266描述了由申请人所开发的允许在图像的hdr分级与sdr分级之间进行结构化转换的可能方式之一,并且反之亦然,并且特别是其功能性联合编码和通信。然而,未教导的是安全地处置深hdr黑色的差异特定方式。

还已经提出了复杂的hdr编码,例如,“paullauga等人:segmentation-basedoptimizedtonemappingforhdrimageandvideocoding;2013picturecodingsymposiumieee8dec2013,第257-260页”,但是其不能够很好地转化为实际已经部署的视频处理系统(如传统的hevc编码),特别是对于那些教导,因为其需要通信位图来指示哪里的像素是解码器必须特别小心的,因为已经使用了特定的编码技巧。



技术实现要素:

通过以下操作获得实际上将hdr场景图像编码为通信的sdr图像的非常有利的系统:将hdr视频解码器(600、1000)布置为基于向接收到的100nit标准动态范围图像(im_rldr)应用一组明度变换函数来计算hdr图像(im_rhdr),所述函数至少包括粗略明度映射(fc),其由动态范围优化器(603)应用于标准动态范围图像的像素辉度,产生动态范围调节的辉度(y'hps),并且随后由范围延展器(604)应用第二函数,所述第二函数是将动态范围调节的辉度(y'hps)的最暗值(0)映射到接收到的黑色偏移值(bk_off),所述视频解码器还包括增益限制器(611、1105),所述增益限制器被布置为:作为粗略映射和对最暗值的映射的备选计算,将备选明度变换函数应用到标准动态范围图像的像素辉度,所述像素辉度映射到hdr图像的与标准动态范围图像的最暗辉度(y'_in)相对应的最暗明度的子集(502)上。范围延展器通常将与线性映射一起在感知均匀空间中工作(或者在另一颜色空间中的对应策略)。

这种增益限制器策略在具有人类颜色分级者时非常有用,人类颜色分级者可能在选择其分级函数以按照其期望获得与hdr图像相对应的sdr外观时有点任意(保证编码的良好技术特性,即hdr图像的足够的质量可重建性,例如,通过将hdr图像的一些推入到深sdr黑色),但是也尤其用于自动算法,例如基于2个可用的预先创建的分级,亦即,hdr图像和对应的sdr外观图像,或者基于分析hdr图像特征等根据hdr图像自动计算为合理的sdr图像的sdr图像,来估计函数形状或参数。所述分级者能够在参考显示器上看到他正在做什么(例如,在sdr参考显示器上,并且在hdr显示器上检查主hdr图像),但是在电视制作期间不能够实时地运行自动算法。最暗的hdr场景颜色的增益限制的并行(解)编码确保了hdr重建的良好质量。现在,在sdr辉度的整个范围上实现了良好的控制,既关于sdr外观的艺术方面的需求,又关于作为对应的sdr图像而通信的hdr输入图像的重建质量,并且所述系统简单,符合人们将对sdr图像的期望,也关于在已经部署的视频通信系统中的进一步处理(例如,mpeg编码/解码),而不需要外来技巧,并且进一步编码超出了(一个或多个)明度映射函数。在我们的并行策略计算的第一明度映射良好的情况下,将对其进行选择,因为其通常将包含例如在创建侧由人类分级者所需的分级,但是,否则,如果其比接收侧的解码器的hdr重建最低要求更差,则将选择增益限制策略,其将被设计为至少足够好以获得hdr重建角度所需的最小质量水平。

以下变型和实施例也是有利的。

一种hdr视频解码器(600),其中,增益限制器被布置为计算通过应用一组明度变换函数和输入辉度(y'_in)的函数而获得的中间hdr明度(l_hdr_im)的最小值。在通过简单的计算实现了所需的策略的情况下,这对于编码器和解码器是有利的。

一种hdr视频解码器(600),其中,备选明度变换被定义为预设或接收的常数(1/gp)与感知的辉度(y'p)的值的乘积,所述感知的辉度(y'p)是通过对输入辉度应用非线性函数来计算的,所述非线性函数的特征在于:在距彼此的等距位置处的一组感知的辉度值具有视觉上均匀的亮度外观。已经发现在感知的颜色空间中的实施例工作良好。

一种hdr视频解码器(600),其中,所述非线性函数具有以下定义:y'p=log[(1+(rho-1)*power(l_sdr_in,1/2,4)]/log(rho),其中,l_sdr_in是标准动态范围图像(im_rldr)的线性明度,并且其中,rho是预设或通信的常数。

一种hdr视频解码器(600),其中,所述常数(1/gp)是由hdr视频解码器根据hdr图像的编码峰值亮度(pb_c)的接收到的值来确定的。

一种hdr视频解码器(600),包括处理器(901),以控制对以下项的选择:备选明度变换,或者基于至少针对标准动态范围图像(im_rldr)的最暗明度的一组明度变换函数的变换,其中,所述一组明度变换函数包括精细分级函数,所述精细分级函数包括将最暗的hdr明度变换为标准动态范围图像(im_rldr)的最暗明度的规范。

一种hdr视频解码器(600),其中,所述处理器(901)被布置为基于检查所接收到的黑色偏移值(bk_off)是否为零来确定要应用哪个明度变换。

具有更多可能性的实施例尽管更复杂,但是允许对复杂的hdr场景或要求进行更好和更适应的处理。

一种hdr视频编码器,其被布置为计算输入hdr图像(im_rhdr)的100nit标准动态范围图像(im_rldr)表示,所述视频编码器包括:

-范围延展器(702),其被布置为将输入hdr明度或辉度(y'hp)的值映射到最小黑色值,所述最小黑色值通常为零;

-动态范围优化器(703),其被布置为应用粗略明度映射(fc),诸如指定将hdr图像的两个明度子区域分配给所得到的辉度(y'r)的范围的两个子区域;

-增益限制器(707),其被布置为应用备选明度变换函数,以将hdr图像的最暗明度的子集(502)变换为标准动态范围图像的对应最暗辉度(y'_in)。

一种hdr视频编码器,其被布置为计算输入hdr图像(im_rhdr)的100nit标准动态范围图像(im_rldr)表示,所述视频编码器包括:

-范围延展器(702),其被布置为将输入hdr明度或辉度(y'hp)的值映射到最小黑色值,所述最小黑色值通常为零,从而产生经延展的颜色表示明度或辉度(y'hps)作为输出;

-动态范围优化器(703),其被布置为将粗略明度映射应用于经延展的颜色表示明度或辉度(y'hps),所述粗略明度映射指定将hdr图像的暗和亮的明度子区域分别分配给所得到的辉度(y'r)的范围的对应的暗和亮的子区域;

-增益限制器(707),其被布置为:作为对输入hdr图像的明度或辉度的备选计算,应用备选明度变换函数以将hdr图像的最暗明度的子集(502)变换为标准动态范围图像的对应的最暗辉度(y'_in)的范围。

一种上述hdr视频编码器,其中,备选明度变换被定义为预设或接收的常数(1/gp)与感知的辉度(y'hp)的值的乘积,所述感知的辉度(y'hp)是通过对hdr输入明度(l_in)应用非线性函数来计算的,所述非线性函数的特征在于,在距彼此的等距位置处的一组感知的辉度值具有视觉上均匀的亮度外观,并且其中,所述增益限制器(1204)计算感知的辉度乘以预设或接收的常数(gp)的最大值,并且由连续向感知的辉度(y'hp)应用所述范围延展器延展的范围和所述动态范围优化器的粗略亮度映射而得到的感知的辉度(y'p)的值。

一种hdr视频解码的方法,其被布置为基于向接收到的100nit标准动态范围图像(im_rldr)应用一组明度变换函数来计算hdr图像(im_rhdr),所述函数至少包括粗略明度映射(fc),并且所述方法包括:

-将所述粗略明度映射(fc)应用于输入明度(l_sdr_in)或者应用于作为所述输入明度的函数的输入辉度(y'p),产生动态范围调节的辉度(y'hps);

-通过以下操作来应用增益限制策略:确定作为对包括粗略映射的所述明度变换的备选的备选明度变换函数以根据标准动态范围图像的对应最暗辉度(y'_in)计算落在hdr图像的最暗明度的子集(502)中的明度,并且选择备选明度变换函数确定的辉度(y'pfb)以及通过至少应用粗略明度映射而获得的辉度(y'hp)中的最低者。

一种根据权利要求10所述的hdr视频解码的方法,其中,确定备选明度变换函数包括:确定至少在感知均匀空间中定义的标准动态范围图像的最暗输入辉度(y'_in)的线性函数,通过将预设或接收的常数(1/gp)乘以与相应输入辉度(y'_in)相对应的感知的辉度(y'p)的值来计算。

一种hdr视频编码的方法,用于计算输入hdr图像(im_rhdr)的100nit标准动态范围图像(im_rldr)表示,所述方法包括:

-应用映射,所述映射将输入hdr明度或辉度(y'hp)的值映射到映射的输出的范围调节的辉度(y'hps)的最小黑色值,所述最小黑色值通常为零;

-随后,向所述范围调节的辉度(y'hps)应用粗略明度映射(fc),所述粗略明度映射指定将hdr图像的最亮和最暗明度的明度子范围分别分配给所得到的辉度(y'r)的范围的相应对应的最亮和最暗子范围;

-作为对映射和粗略亮度映射的组合的备选明度变换,应用增益限制策略,所述增益限制策略被布置为应用备选明度变换函数以将hdr图像的最暗明度的子范围(502)变换为标准动态范围图像的对应的最暗辉度(y'_in)。

一种根据权利要求12所述的hdr视频编码的方法,其中,所述增益限制通过将因子(gp)与通过向输入hdr图像(im_rhdr)的明度(l_in)应用感知函数而获得的感知均匀化的辉度(y'hp)来计算所述备选明度变换函数。

当前的新技术思想可以以各种形式来体现,诸如连接的系统,可以通过通用或专用网络通信的远程位置上的部分服务,包括代码的计算机程序产品,所述代码当在处理器上运行时使所述处理器能够执行上述方法权利要求之一的所有方法步骤,任何视频信号编码,其包括需要在编码器/发射器与解码器/接收器之间协调地通信的各种所需元数据等。

附图说明

根据下文所描述的实现方式和实施例并且参考其加以阐述,并且参考附图,根据本发明的方法和装置的这些和其他方面将变得明显,附图仅仅用作例示更一般概念的非限制性具体说明,并且其中,虚线用于指示部件是任选的,非虚线部件不一定是必需的。虚线也能够用于指示这样的元件:所述元件被解释为必要的,但是被隐藏在对象的内部,或者用于无形的事物,诸如,例如对象/区域的选择(以及其如何在显示器上显示)。

在附图中:

图1示意性图示了当人们最佳地将高动态范围图像映射到对应的最佳颜色分级的类似外观时发生的许多典型的颜色变换(与在给定第一和第二动态范围dr_1与dr_2中的差异的情况下所期望和可行的相似),其在可逆性的情况下也将对应于hdr场景的ldr图像到该场景的hdr图像的映射;

图2示意性图示了申请人最近开发的对高动态范围图像、即能够具有通常至少700nit或更多(通常1000nit或更多)的明度的图像进行编码的技术,其实际上通信(一幅或多幅)hdr图像作为ldr图像加上至少包括针对像素颜色的适当确定的明度变换的元数据编码颜色变换函数,将由解码器用于将接收到的(一幅或多幅)ldr图像转换为(一幅或多幅)hdr图像,其是在图像创建侧创建的(一幅或多幅)原始主hdr图像的忠实重建;

图3示意性图示了申请人的第一版本的技术,其能够用于实现色域内颜色(即,色度)-保持明度变换,以改变图像对象或像素的亮度,以使其们更符合在不同并且特定大于输入图像的动态范围的动态范围的图像中所需的亮度,这良好适用于特定类型的情况;

图4示意性示出了编码器或解码器中用于将第一动态范围的图像变换为第二动态范围的图像、特别是在解码侧并且反之在编码侧根据接收到的sdr图像来重建hdr图像所需的核心明度变换的另一可能实施例,这对现有技术有用;

图5示意性示出了例如自动算法能够如何与图像统计结果图像依赖地匹配,三部分明度变换曲线作为基于标准重新分级的图像编码功能的工具集的示例性成员,因为我们实际设计其用于hdr视频编码,所述参数对被通信到接收器的该功能的形状进行编码,从而其能够重建和应用该功能;

图6示意性示出了根据本发明原理的我们的hdr视频解码器的核心的第一基本实施例;

图7示意性示出了对应的编码器的第一可能实施例;

图8示意性示出了根据我们当前教导的新原理的另一种可能的解码器;

图9示意性示出了第三种更复杂的解码器,其能够在解码策略之间进行选择,通常基于内容如何被编码,以及能够如何根据编码根据接收到的(一幅或多幅)第一动态范围图像定义对(一幅或多幅)第二动态范围图像的解码的对明度变换的元数据编码的特定变型来确定;并且

图10放大了最低hdr明度区域(分别是对应的最低sdr辉度),这些区域需要比仅仅是艺术转换更小心的处理,以阐明编码和解码明度变换形状如何经由镜像相对于对角线与彼此相关,以及能够如何经由从零开始的足够大斜率的明度映射函数部分片段和最大化策略来定义安全代码分配;

图11示意性示出了用于解释有用的解码器实施例的另一实施例;

图12示意性示出了对应的编码器实施例;并且

图13示意性示出了对于各种可能的代码峰值亮度pb_c,对于增益限制策略的感知的辉度域中的最暗颜色的线性底部的乘法常数gp。

具体实施方式

图5示出了人们通常能够如何利用曲线、明度(或辉度)映射曲线对sdr图像与hdr图像之间的变换进行建模的范例。即,当接收sdr图像时,也能够通过应用逆曲线来近似地重建创建侧主hdr图像。在一些实施例中,可能涉及用于基于主图像(sdrpb_c=100nit图像)中的几何对应像素来计算二次重新分级图像中的像素的区域(例如,对应于对象)的各种颜色变换(即,在我们的阐述中,pb_c=1000nit的hdr图像仅仅作为要清楚的范例)。例如,局部颜色变换可以仅被应用于一些区域,而不被应用于图像的其余部分。然而,出于实际的原因,无论是出于需要廉价的特定实施例系统中ic的复杂性的原因,还是人类分级参与可用的时间等,在许多场景中,人们想要简单的变换(通常在全局上,即,依赖于像素辉度,而不是其在图像中的几何位置或者其他这样的非颜色相关的属性)。通常,人们想要以如图5所见到的凸形状开始(如我们能够看到的,该曲线在输入x轴上在1nit与1000nit之间的主要部分是“小字符r形”),并且用于可能已经被充分建模的特定内容。如果人们允许仅选择可逆的明度映射函数,则hdr图像的重建是几乎完美的,除了量化和dct误差。当我们将sdr图像发送到接收器(因此形成其能够用于最佳地重建原始主hdr图像)时,sdr图像的质量可能与预期(艺术)sdr外观图像稍微偏离,除了可能足够的若干应用(例如,对于新闻节目而言,只要主要图像对象(例如新闻读者的面部等)具有足够的质量,新闻读者后面的墙上的每个阴影在每个像素中都具有正确的灰度值并不重要;换言之,放松了艺术和对应的技术精度要求)。我们将假设对于我们的说明,我们基于两个先前存在的分级,亦即pb_c=1000nit主hdr分级图像,以及其对应的最佳外观sdr图像,自动地编码待通信的sdr代表图像。即,图像分析算法而不是人类确定hdr到sdr明度变换的函数形状(或者反之亦然)。通过艺术性上最佳地观察,我们意指所有图像对象在比主hdr图像现在小10×的明度动态范围(0-pb_c_sdr=100nit而不是0-pb_c_hdr=1000nit)中被给予适当的明度,从而作为近似于hdr主外观的外观,所有对象看起来仍然合理的明亮,并且区域间和对象内对比度看起来合适。如果我们仅使用对应于例如重新使用缩放到pb_c_sdr=100nit的hdr相对明度的线性压缩函数,则图像的较暗区域将令人不舒服地变暗。该最佳明度映射通常将取决于场景的类型以及其各种动态范围外观图像(例如,也有具有pb_c_mdr=500nit的mdr图像),例如,在图像中某处刻在玻璃上的白色商业标志的可读性可能是在所有dr外观中以高质量呈现的对象,以履行对该电影的商业赞助商和该标识的所有者的义务。因此,我们现在假设人类色彩分级者已经花费足够的时间来准确地对主hdr和导出的(最佳地看起来对应的)sdr图像进行分级,而不失去关于不太关键和更自动的实施例的一般性。

现在,能够自动地或者在分级者的一些参与下完成对分级图像的编码。为了简单起见,我们将仅解释自动编码系统的范例,但是同样不应当将其视为对我们的发明的限制,因为当人类分级者参与sdr图像的创建以用于对hdr/sdr对的基于颜色变换的编码(即,其中,分级的图像中的仅一幅图像实际上作为像素颜色矩阵被通信,连同在元数据中重新计算其他分级的图像的函数)时,类似的技术原理将适用,当他从基函数的有限集合中顺序地选择时(即,首先通过使用一个简单的“r形”函数进行粗略的sdr分级,并且然后在他仍然发现有必要时进一步微调所需的变换,还考虑到他的时间和预算来处理电影,正如图7的处理链所阐明的那样)。不失一般性地,我们将利用具有以下类型的自动明度变换函数确定(基于比较sdr与hdr图像的直方图,在“对数”域中,其由申请人针对该hdr处理所开发的感知亮度空间变换来确定,参见下文)的范例来解释所述原理。

我们发现其非常有用,如你还能够看到的,通过拟合到伪对数感知空间图中的数据(参见图5的x和y轴的刻度,读者可以认为这提供了等距看起来视觉上近似相同差异的位置,即灰色一,grey_2=20%浅灰色,grey_3=比grey_2浅20%等),如果分级者或自动最佳匹配曲线计算单元至少对于与主hdr图像的sdr图像相对应的初始确定使用三部分曲线作为输入,则其由图像(区域505)中的亮或高亮像素的线性倾斜部分的角度a_h和针对较暗颜色(区域503)的映射的线性近似的角度a_d来限定(至少对于基于主hdr图像的sdr重新分级图像的粗略确定)。这条曲线仅需要三个非常有用并且大量传达关于图像的参数,因为作为曲线的第三部分,我们使用弯曲的分段,其在两个线段交叉点的两侧的宽度wp上相等地延展(即,仅有a_d、a_h和wp需要被通信给接收器,这对于不能够负担太多元数据通信的系统而言,或者对于连续图像的至少一些时隙的分级不能够花费太多时间的分级者等而言,是重要的)。在我们所使用的任一端上连接两个线性部分的弯曲部分的固定形状曲线通常是抛物线段(区域504)。

现在,有一个确定sdr分级图像的有趣属性,这能够通过实验来验证。如果没有足够量的暗像素,即sdr黑色(具有rec.709曲线,最低代码,例如,在10位辉度编码中的0、1和2,对应于峰值明度的近似1/1000的显示绘制明度,即,100nit的1/1000th,并且这对应于hdr场景的图像对象或区域中的一些),则许多hdr场景的sdr外观图像看起来在质量上不是非常好。因此,人们预期将需要继续该函数(在我们的范例中,三部分曲线的暗对象像素的线性部分,但是在使用其他函数来确定sdr分级图像的实施例中是相似的),高达约0.1nit,如在图5中由箭头所看到的(与对于这些对象具有较高sdr明度的分级对比,看起来将不合适)。这将为那些hdr场景提供漂亮外观的sdr图像版本。然而,hdr场景当然具有可能包含可能非常大的动态范围(深黑色)的像素明度的属性。读者应当仔细注意,我们正在讨论与针对预期的代码的典型参考显示器的峰值亮度或者实际上pb_c相比的相对明度(实际上,这与此有关,但是我们更喜欢利用对明度的绝对值编码来工作,在任何良好外观的动态范围分级中,那些明度被称为一些典型的显示能力,例如在昏暗的晚上客厅中而不是在原始场景中观看的1000nit显示器;简单地说:太阳将以1000nit进行编码和绘制,而不是以实际值10亿nit)。因此,在现实世界中,例如夜间场景的典型hdr场景可能具有远低于1nit(例如,0.01nit,或者甚至更低)的黑暗角落的明度,同时路灯可能在图像中具有10000nit或更高的明度,即,动态范围为1000000:1或更多,这在本质上是在sdr表示中不可绘制或不可表示的。注意,在最佳(主)hdr和sdr分级中,对比度可能会稍微降低,因为艺术家分级者可能稍微使场景中最暗的部分变亮,并且使最亮的像素变暗,但是人们可能仍然期望良好的表示(编码自身,对于所有用途)以及其在例如0.05nit与5000nit之间的示例性hdr场景的绘制(只要这样的显示器是可用的),即,仍然需要显示器绘制的所需dr为100000:1,这显然高于sdr能力,并且这就是我们首先介绍hdr技术的原因。

因此,如果不能够在sdr分级中对hdr明度点501以下的任何内容进行绘制(或者甚至利用基于rec.709的技术进行编码),则这意指其sdr表示中的区域502的所有hdr值将被剪切到相同的黑色(例如,辉度代码0,无论是8位、10位还是12位表示)。对于仅将hdr图像通信到接收器的系统(即,将仅使用接收侧的函数根据接收到的hdr像素化图像来计算sdr分级),即,该系统能够在1000nithdr显示器上直接绘制完美编码的图像数据(例如,如果其是使用smpte2084oetf来编码的),并且该系统将仅需要颜色变换函数来导出对于具有低于1000nit的显示器峰值亮度pb_d的显示器的查看者的最佳分级,这实际上将不是问题。例如,人们可以通过使用这些剪切函数从接收到的hdr图像降级来进行sdr分级,这确实将产生正确的最佳sdr外观。

但是对hdr场景的两个不同动态范围外观进行编码的系统(即,两个不同的分级),例如,需要通信sdr图像以使得例如大的既有用户查看者能够在直接绘制而没有高质量的明度处理时看到sdr图像的系统,并且所述系统从那里为购买了hdr显示器的那些消费者获得了非常良好的hdr图像重建,所述系统具有更多约束。如果人们在sdr图像中剪辑一些较暗的hdr颜色以进行通信,则不能够在接收侧可逆地重建所需的hdr像素颜色。

那么人们可能认为该解决方案可能是因为选取黑色的线性段更明智,使得其接近并近似sdr相对于hdr图像中对应明度的点的轨迹(r形状中点的较厚的云),但是那么sdr的质量看起来严重地退化。例如,当具有黑色的线性段的云从(0,0)开始接近时,那么许多较暗的区域变得太亮,并且看起来不再是对比度良好的(应当是映衬明亮背景的人物例如变得更浅的深灰色轮廓)。在对于普通ldr场景将给出已经较低的质量的情况下(即,例如,在精心均匀的照明下,工作室设施对象反射率在1%与95%之间),尤其是对于hdr场景,人们也将希望在场景的sdr变型中看到足够令人印象深刻的区域间对比。hdr场景的sdr表示能够是非常关键和复杂的,因为同时人们可能想要传达洞穴的暗区域比平均点亮区域(例如,在洞穴入口附近)暗得多,取代简单地使这些暗区域非常暗,人们也可能希望看到例如站在那里的人还算不错。有问题的是,问题通常甚至延展到更亮的区域(因为路线重新分级明度变换曲线,如例如由于其简单性而导致三部分曲线延展了大的明度子范围的任何参数偏差),这对应被仔细控制的sdr图像中的若干局部对比度产生了严重的影响,例如,如果人们不使用明度映射曲线的下部朝向良好的hdr明度剪切点501弯曲而是朝向绝对零踢下线hdr_luminance=0的策略,那么已经由导演仔细选取用于场景的外观的灰尘上散射的光束几乎可以消失在褪色的外观中。

因此,对于该问题,需要额外的部件(在分级或者至少在编码中),并且尤其是在所有实际场景中都能够容易地处理该问题的部件(仅在不是用于各种应用的不同种类的情况下,人们才具有非常良好的hdr编码和处理技术,但是当单个系统潜在地在一些微调配置之后能够处理各种应用需求,其范围从例如好莱坞电影的高质量离线分级到非常便宜的即时电视广播,其中,不要求太多变化,例如,除了目前存在以及人们专门用于电视制作过程之外没有太多额外的人类专家参与,等等;无论如何,在所有情况下,尽在人们掌握了主hdr分级和对应的sdr分级的创建、通信和使用的情况下,人们才有非常良好的hdr处理系统)。

图6示出了解码器的核心明度变换部分(基于并且进一步构建本申请的发明人新近发明的概念),其具有对最暗的hdr颜色的正确处理,因为其能够被并入在利用先前的附图所解释的解码器实施例的各种实施例中。

输入是经典rec.709辉度y'_in(即,例如0-1023个值)。感知空间转换单元601在感知空间中转换那些明度(如已经利用图5所介绍的)。对于读者可能需要记住,如果具有rgb颜色空间,如rec.2020,或者如其y'cbcr变型的推导,那么所有可表示颜色的色域都是具有尖角的三角形帐篷形,其能够被归一化为1.0,并且然后,颜色变换能够被看作是所述帐篷内的颜色点的位置的变化(hdr相对明度或辉度落在与其对应的sdr明度或辉度不同的高度)。

例如,也改变为感知表示改变了各种颜色的高度(即,以各种单位表示的其“亮度”),例如,因为重新定义明度轴上的度量(通过白色的帐篷的垂直极点)变为对数,意指具有相对明度为例如90%的颜色的高度应当改变到该位置落在对数轴上的任何位置。

我们改为对数表示,因为其对于处理hdr场景图像的sdr重新分级具有各种优点。首先,以更感知的方式对明度的这种均匀化意指已经具有hdr图像的稍微合理的非常粗略的较小动态范围表示。然而,如果人们关心艺术,例如,在需要夜间黑暗以获得正确模式的场景中,如果人们要使用对数图像直接在ldr显示器上对其进行绘制,则夜间场景可能看起来不正确,因为其可能太亮,并且没有简单的说法关于其在具有特定显示器峰值亮度pb_d的任何hdr显示器上看起来如何,但是将能够预期的是,至少对于关键的hdr场景,这样的简单的处理在任何显示器上看起来都不是最佳的。在标准化的色域以及其亮度轴中,hdr图像通常可以具有接近最大值(1.0)的明亮对象,并且然后,其余像素明度远低于此。为了将该大的动态范围压缩到sdr明度范围中,这两个明度必须更接近在一起,因为这些灯仅能够是例如2×倍明亮于平均像素明度512=18%(而不是例如在hdr中的10000:500=20×)。这已经能够通过近似对数的函数或者与其形状相似的一些更好的函数(实际上做“一些”增强)来近似地实现。

但是,那些sdr分级还不是非常适合作为hdr图像的良好质量的sdr分级,因为其看起来将非常暗淡、无对比并且常常褪色。为了良好的分级,必须仔细考虑所述场景中最亮像素的可确定范围和最暗亮度的子范围中的至少一个以及通常这两者都要发生的事情。即使是最简单的版本那么也能够稍微离开中间在中间范围内发生的事情,例如仅使用平滑的连接行为,或者系统可以在那里进行更精确的控制(但是,为此我们在编解码器拓扑中通常具有精细的分级功能)。

philips发明了一种函数,能够进行从线性明度到感知的辉度的转换y'p:

y'p=log[(1+(rho-1)*power(l,1/2,4))/log(rho)[方程1]

其中,l是归一化的明度,并且rho是取决于hdr图像的pb_c的常数,并且通常对于10000nit是33。逆函数能够被用作线性化函数,即,从感知均匀辉度域转换到线性域,即明度的域。因此,我们的实施例能够与感知空间转换单元中的任何明度感知均匀化曲线一起工作,其创建辉度代码,所述辉度代码在感知上比明度更等距地扩散,并且特别地知道输入图像是hdr图像,其中,相当大的动态范围需要由等距亮度值来表示(在本申请中,我们能够在技术上称之为辉度;在sdr编码时代,由于仅有一种方式来对明度进行编码,所以辉度由rec.709oetf来计算,其近似平方根,但是对于hdr辉度代码能够由任何应用的hdroetf来定义,这是比黑色附近的平方根更陡峭的函数,例如smpte2084pq函数),但是为了简化说明,我们将假设其是上文的philips函数(方程1的rho参数化loggamma函数,其中,rho能够是固定的或可变的;通常如果编码器和解码器与固定的预先约定的最大值一起工作,则其将是固定的。pb_c用于所有通信的视频内容,例如1000nit,如果使用具有不同pb_c的编码,则是可变的。

然而,在该实施例中,作为输入的sqrty'辉度被变换为感知的辉度,因此,感知空间转换单元601的变换函数形状将为此被调节(能够组合两个部分函数,等于第一平方y',并且然后应用上文的philips感知函数形状)。

从这里开始,所述处理在感知空间中(如图5的轴),并且能够开始依赖于真实内容的图像/依赖于场景的对象重新增亮。如读者能够看到的,功能性hdr编码的简单实施例可以仅具有三个框(并且一些廉价编码甚至不使用所有那些)。

三个处理框(精细分级单元602、动态范围优化器603和范围延展器604)与编码器中发生的次序相反(但是不是单元601的感知,以及线性化器605的线性化,因为编码和逆解码明度变换两者都在感知为伪对数域中工作,该变换总是以相同的方式来完成的)。

因此,读者更容易利用图7的编码器开始解释,因为我们能够根据当根据主hdr外观创建sdr外观时人类分级者(或者对此进行模拟的自动系统)将想要做什么来进行推论。感知空间转换单元701类似于单元601,仅知道转换从线性hdr明度开始(以仅该范例而不失一般性的,一些其他编码器也可以从针对hdr图像的其他颜色特性开始,但是那些是理解本技术概念不必要的细节)。即,单元701应用方程1。因此,输出颜色明度现在被表示为感知的辉度y'hp。辉度延展器702将内容延展到sdr中的最大范围。对于许多实施例而言,这是重要的重新分级步骤,因为仅具有小的sdr动态范围,人们当然不想要具有未使用的代码,同时必须绘制代表基本上是hdr场景图像的合理sdr。因此,如果我们的电影或场景的明度仅为例如最大值的70%,那么延展器通常可以将该值映射到100%(或者至少接近例如95%)。类似地,可能发生暗端上的映射,至y'hps=0。读者应当注意,一些场景以及其hdr图像可能具有相当大的动态范围,但是不是最高可能动态范围可编码。例如,如果主hdr处在10000nitpb_c表示中,则应当小心地将像素分配给大约10000nit的那些最高明度,或者人们可能抱怨图像太亮(即,在其典型的观看环境中,与这样的场景在现实生活中相比看起来不自然地明亮,或者仅仅是看起来令人不快的明亮)。例如,小的街灯可能具有10000nit的像素,但是从室内环境通过窗口看到的最亮像素可能仅是例如1500nit,这意指对于该图像,未使用在1500nit与10000nit之间的代码。然后,亮度延展器702将图像中的该1500nit最亮的颜色映射到中间颜色表示y'hps的最大值,即延展的颜色表示(能够被看作是sdr图像的最大值,因为人们从那时起能够专注于校正低于固定白色=1.0的对象明度的分布)。一些实施例可以与此偏离,例如,映射到第二图像动态范围的90%,例如,在我们使用相同的技术进行hdr1至hdr2的重新分级的情况下。当然,元数据需要发送最初被延展的1500nit点,从而在解码侧,范围延展器604能够在hdr重建中将该sdr峰值亮度(1.0对应于1023)映射回1500nit。

同样在黑色侧,可能发生这样的延展,但是在一些实施例中,应当小心,因为黑色的行为与亮度不同(关于内容语义、观看环境、心理视觉外观等)。还可以去除该黑色延展处理步骤,并且仅经由明度变换函数形状处理将hdr图像的所有最暗明度的明度变换分配给sdr图像。

通常能够有若干种模式。对于专业模式,其中,分级者正在观察由于他对明度变换曲线的参数的选择而得到的分级图像(例如,他可以使用刻度盘来降低或增加单元703的三部分曲线的明亮明度a_h的角度等),不仅仅是sdr图像,还有hdr参考监视器上的hdr重建,从而他能够看到他的选择对重建质量的影响,人们能够预期对该曲线的选择(特别是下文将讨论的单元704的精细分级曲线)是主导的。在其中包括编码器的一些分级装置实施例可以在分级者在0附近的最暗hdr值处对其曲线的线性近似产生非常低的斜率时提供警告(这将导致针对重建的高斜率和编码错误,如条带或dct错误),并且然后,所述装置可以在分级者同意的情况下为最暗的hdr颜色提出其自己的部分曲线,并且将其发送给元数据中的接收器。自动分级系统(例如,来自预分级主hdr和对应的(一幅或多幅)主sdr分级图像的编码)可能需要更安全和粗略的方法,例如,若干自动系统可能仅具有对明度变换的(例如,基于三段曲线的)粗略确定以关联(单元703的)两个分级,并且没有(单元704的)微调曲线,在这种情况下,简单的场景用于确定明度映射曲线的底部部分(其然后主要用作用于重建hdr图像的代码分配曲线而不是sdr分级曲线选择)是期望的。注意,那些自动系统通常也将具有黑色偏移行为,例如,通过曲线匹配对明度分布进行统计,如在图5中所示的。

为了简化理解,我们假设粗略sdr分级确定单元703应用上文所提到的图像优化内容曲线,例如,通过基于如在图5中的直方图数据的自动估计(或者等效地,这可以基于人类分级者最优化)。通常,如果涉及人,则粗略分级可以使用最暗像素相对于最亮像素的粗略重新分布,即其分别跨hdr相对于sdr明度子范围的明度子范围。因此,通常将涉及如所示的三部分曲线的曲线,其至少控制所述场景的更亮和更暗部分的明度跨度。读者可以理解典型的使用情景和行为,例如根据夜间场景与商店橱窗的区域间对比度控制。比如说在商店里,一些穿着衣服的人体模型被照亮,或者甚至商店可能会出售点亮的灯具,而在室外,在黑暗中,可能还有其他物品,例如铺路的瓷砖。通过粗略控制,分级者能够优化这样的视觉方面,如在图像的暗区域中的对象的可见性,例如外部铺设的瓷砖,并且他能够控制在点亮的商店橱窗中怎样非常明亮地照亮灯,等等。如果sdr和hdr主分级中的像素明度的明度分布显示出这样的“r形”行为,如在图5中所示的,那么读者根据他所知的数学知识能够理解自动辉度映射函数确定单元能够如何确定粗略分级函数(并且如果明度分布云形状稍有不同,则他也能够理解最佳曲线匹配,以及为什么这是粗略明度映射,当计算对应于主hdr图像待编码和通信的sdr分级时,其已经表现得很合理,但是其不如具有近似在特定hdr场景的sdr与hdr分级之间的关系的微调可优化曲线的函数那样完美,并且其色度重新分级需要更好)。

然后,对于一些实施例,主要是那些需要涉及人类分级者的高颜色质量分级的实施例——但是还有一些自动系统可以确定这样的微调曲线,例如,基于识别输入的hdr辉度范围的区域,对于该区域,映射的3部分曲线偏离例如点(其将确定自由曲线而不是3点曲线)(luminance_sdr,luminance_hdr)的云的每个输入hdr辉度的中间点的轨迹过多——能够确定精细分级曲线。该曲线被应用于由精细分级单元704处理的每个像素的粗糙辉度y'r(在通过粗略映射处理之后)。当这种精细分级辉度映射曲线围绕对角线振荡时,最终结果是,在最终的sdr输出图像中,具有特定亮度的像素的一些子集将比粗糙的sdr辉度y'r被sdr分级的更亮或更暗,亦即,具有精确的辉度y'p(单元704的输出)。该曲线能够满足若干项艺术要求,例如,为一些中间范围的亮度对象创建更高的对比度,但是我们将在下文看到能够如何优雅地使用其来为最暗区域规定良好的sdr外观,同时保持良好的hdr重建质量。

最后,线性化单元705将针对sdr外观图像的完全按需分级的像素辉度转换为线性明度域,从而我们能够在稍后确定增益因子g时使用该f(l_in)(在使用基于增益因子变换的实施例中),最终以乘法的方式对三种颜色分量进行所需的颜色变换(如已经利用图3所阐述的)。

为了更好地理解下文的一些技术发明,让我们进一步讨论确定针对编码器框的参数的自动算法的典型映射(将在编码实际发生时使用,即,将通过应用具有那些参数的明度变换函数来生成sdr图像,并且所使用的参数(或者等效地,函数形状自身,例如lut)将与sdr图像一起被共同编码在例如sei消息中,从而接收器能够根据接收到的(一幅或多幅)sdr图像进行逆色处理并且重建(一幅或多幅)hdr图像。并且,如上所述,我们并不打算将该阐述限制在我们要求保护的范围内,因为人类分级者可以做出类似的考虑。

自动算法可以使用各种启发法来获得黑色偏移bk_off的良好值,但是简单算法将通过在sdr-hdr明度点的云之后映射曲线的下部来对其进行确定。即,在图5的范例中,我们看到许多这种云遵循特定方向,并且因此,三部分曲线的低线性段将继续朝向x轴(y'_sdr=0),如箭头指示的,并且该交点将定义黑色偏移bk_off。否则,当线性部分通过(0,0)时的映射将在针对该特定hdr场景的实际云之上相当高,但是应当具有更大的误差,即,通常不会出现自动函数估计。如上所述,对于l_hdr=bk_off,这直接下降到l_sdr=0可以创建漂亮的sdr外观,但是:对于暗区域的hdr图像有不良的重建(因为例如通信的y'_sdr辉度的1对多的逆映射不能够产生正确的hdr明度)。

现在,有趣的部分是我们在编码器/编码策略中已经并入了增益限制器707,这将确保至少自动分级编码器做什么(即,在确定黑色偏移之后尝试至少拟合三部分曲线),曲线的最低部分(用于与接收器通信,实现hdr分级作为sdr分级的良好双重通信)是针对重建的安全曲线。即,其应当至少近似地编码hdr场景和其hdr主图像中的最暗区域的内容。能够有若干种方式来确定这样的曲线,这通常在简单的实施例中将通过部分曲线插入发生,并且通常是针对黑暗的固定部分曲线。有趣的是,由于ic和软件应当尽可能便宜。至少,尽管理论上编码器可能是复杂的,但是我们希望解码器具有相对简单的hdr图像重建原理。即,我们不喜欢像需要复杂附加信息的奇怪编码策略那样复杂的事物。正如我们在图5和图7中能够看到的,我们能够将这种编码策略体现为由最佳明度变换所确定的sdr值(即,r形曲线f(l_hdr),这在点501之下将很差)与针对最暗区域的安全曲线之间的最大值计算。并且,在大多数情况下,我们能够使用相对简单的安全曲线原理。因为我们从点501之上的下部曲线(这里在示例中仅是一条线)继续的虚线看到,正确的明度变换曲线f(l_hdr)将由最大值计算产生,并且在点501之下,因为明度变换f(l_hdr)的斜率相对高度太低(在该范例中甚至被剪切为零),具有足够sdr代码的任何适当选择的部分曲线表示在这些最暗的hdr区域中的任何语义上重要的图像数据将由最大值计算产生。

为了进一步简化理解,我们将假设使用线性部分曲线将区域502中最暗的hdr像素转换为合适的sdr颜色的实用简单实施例(其那么可能不是艺术上最优的,但是至少对hdr重建图像来说是良好可逆的,并且在许多情况下,也是实用可接受的视觉质量)。这能够通过在乘法器706中将输入像素明度l_in乘以常数dg来实现。注意,在该特定实施例中,线性明度被相乘,并且为了最大值确定,在由单元705的重新线性化之后,将其与具有艺术上完全优化的映射的上部并行处理轨道的线性明度进行比较。这样的乘数能够处理任何场景,无论其中将定义hdr图像的l_in的颜色空间如何,并且特别是其pb_c。然而,应当适当选择因子dg。但是优点是其不需要被编码并且作为元数据传输到(一个或多个)接收器,如果我们假设解码器将仅使用针对dg值的良好标准智能选择,或者更确切地说是在其1/dg侧。还可以基于作为(共同)通信的hdr视频的全局属性来确定合适的选择,如其pb和最小值,并且甚至可能进一步基于色度方面,诸如图像的设想用途等。

我们能够利用图10更好地看到。许多暗色的线性映射能够被看作是增强(或者,如果增强因子小于1,则调光增强)。注意,在绝对明度中,人们可能期望hdr图像(至少在某种程度上)比sdr图像更亮(利用k增强;k>=1),但是也可能暗区域具有与sdr图像相同的明度,因为sdr显示器不能够绘制明亮的颜色,但是这两个显示器通常能够相似地绘制暗色。并且,在一些情况下,hdr显示器甚至可以针对那些最暗的颜色示出更暗的绘制颜色(例如,与传统的lcdldr显示器相比,在暗室中的oledhdr)。但是在相对系统中(即,hdr和sdr明度两者都是最大值1.0的分数),要保持hdr的暗度与sdr颜色的亮度大致相同,同时将其称为pb_c,其亮度可能比100nit亮10或100×倍,当在相对坐标系中从sdr映射到hdr时将进行调光,并且当创建从hdr输入到sdr的变换时进行增强,如在图5中所示的(其中,我们能够看到例如在这两个轴上的1nit的绝对值)。因此,用于将hdr到sdr映射为曲线1002的最暗颜色的局部增强可以是精细的,并且其对应于sdr到hdr重建部分(线性)曲线1001,其是相对于对角线具有相同角度的镜像。当使用曲线1002来生成针对最暗hdr区域的sdr代码时,我们仍然可以具有hdr图像的良好可重建性。但是自动系统或分级者可能选择特定曲线,该曲线具有较低的局部分段,即,更靠近对角线。分级者可以这样做,因为否则太多(sdr)代码被用于最暗的hdr区域,并且这具有他可能不希望用于当前图像的两种效果:1)该区域502的应当是非常黑暗的一些像素(例如,通过门洞看到灯光关闭的后面的房间)可能会变得太亮,并且也非常不方便:2)可能没有足够的sdr代码以足够的质量对点501之上的所有明度进行编码(其中,可能有许多hdr明度区域被良好地呈现,例如,视图的特定较亮部分进入暗的未照明的橱柜,光线昏暗并且远离外界的窗户的内部走廊,平均明度的区域是经由玻璃窗连接到走廊的办公室,以及通过办公室另一侧的窗户看到的阳光明媚的外部世界)。这是为什么他选择这样的低曲线1003(并且自动算法可能这样做,因为其盲目地跟随如在图5中的数据,无论明度点云可能是什么形状)。

因此,如果在编码器处选择了dg的最小允许值(在该图中对应于示出根据sdr图像来重建hdr图像,或者更精确地,作为输入其像素的y'_sdr值,以及对应的接收器/解码器侧1/dg值),如果增益限制器707计算所选曲线计算的任何f(l_in)和dg*l_in的最大值,那么将永远不选择比曲线1002更靠近对角线的曲线的较低值。

在解码侧,通过线性曲线1001的第二输入,即(1/dg)*y'_sdr,不能够从最小值计算中出现增强太多、即从其下方更靠近对角线的部分曲线。最后(因为我们定制并解释了该实施例以与经典的rec709可解释的sdr输出图像一起工作),平方根计算器708(或者rec709oetf转换器)计算形成正在被以sdr辉度y'_sdr处理的像素的正确分级像素明度的线性明度表示l_sdr_out,能够像往常一样用在当该图像被压缩用于视频通信时的例如hevc视频压缩中。即,该通信的图像是可用的,并且将由传统系统视为可直接绘制的良好视觉质量sdr图像,即,辉度被定义为近似可绘制sdr明度的平方根。但是,如所解释的,该图像也是hdr图像的编码,能通过反向应用在图7中对于较低轨道的上轨道的数字映射来进行重建,如在图6的示例性sdr-2-hdr解码器中所示的。如虚线所示的hdr明度也可以通过平方根操作或者适合于应用的另一辉度代码分配函数来表示,例如,将(一幅或多幅)图像从解码器通信到结合有预先约定的通信协议属性的显示器。

参数dg取决于主hdr分级的峰值亮度与第二分级的峰值亮度相比,峰值亮度在sdr分级的情况下总是100nit(但是在一些实施例中,hdrpb_c可能像针对bd盘的分级是1000nit,并且在其他实施例中是5000nit或10000nit等)。

取决于pb_c_hdr的g的实用良好值在线性域中dg_lin=0.05*pb_c_hdr/100(即,在编码器侧,并且在解码器侧,我们对应的实施例将使用1/dg)。该线性0.05值在伪对数域中对应值为0.287。如果编码器知道解码器将期望要根据该值在sdr图像中(例如,在简单实施例中线性地)编码的最暗hdr亮度,则其能够以这样的方式来创建sdr辉度,并且解码器将利用1/dg值对其正确地解码,无需任何进一步的信息。对于大多数图像和情况这运行良好,特别是在自动编码系统中,一些图像或情况可能需要对最低hdr明度的安全编码进行更精确和依赖于图像的优化,如在区域502中的那些最暗hdr亮度的局部明度映射曲线中所反映的那样。我们将在下文示出能够如何经由精细分级曲线以方便的方式完成,例如,分级者将根据他的喜好塑造其最低部分,从而给予那些暗hdr区域的sdr子区域的更好的外观,但是仍然可以良好地自动重建hdr图像,假定所选择的自定义曲线在元数据中被通信(由单元602在解码器中应用的曲线)。

在对编码器的这种解释之后,本领域读者能够理解图6的一个可能的解码器单元的实施例,因为其是编码的反转。现在,精细分级单元602将sdr输入图像的精确辉度的像素亮度重置为粗略辉度y'r(即,因为这也能够被公式化:其在sdr动态范围中进行重新分级)。随后,动态范围优化器603计算hdr辉度的缩放版本y'hps(其仍然通常在0.0-1.0的整个范围内发生,然而,现在是hdr动态范围的相对表示)。最后,范围延展器604将这些缩放版本正确地定位在例如pb_c=5000nithdr表示的hdr明度轴上,如所述例如将最大值缩放辉度映射到1500nit(即,由动态范围优化器603产生的图像表示y'hps的1.0点,映射到1500nit,而不是5000nit,因为这是例如当前被处理的场景的图像中的最亮像素)。最后,线性化单元605创建正确重建的hdr明度的明度表示,但是仍然是中间的一个l_hdr_im,因为增益限制器611仍然需要应用正确的编码安全(替代顺序重新分级处理的上部轨道)策略用于最暗sdr辉度(其对应于在创建/编码侧的主hdr图像的区域502中的原始最暗hdr明度)。

通常,该增益限制器611将应用在创建侧应用的任何映射策略的反转。为了简化理解,我们将再次假设使用线性策略,具有合适的增益dg,其能够由任何接收器基于接收到的sdr图像表示的原始hdr图像的pb_c来计算(其也始终在元数据中通信,否则接收器不能够确定y'cbcr的正确明度范围或hdr图像的rgb表示),如上所述。在该非常实用的简单有用的实施例中,乘法器610将y'_in乘以1/dg(在编码器和解码器中使用通用hdr编码保护算法的情况下,无论需要什么缩放都能够在增益限制器116中直接考虑。因此,在简单实施例中,解码器中的增益限制器计算l_hdr_im和(1/dg)*y'_in的最小值,产生l_hdr_out。例如,在通过使用正确的l_hdr_out将hdr图像的色度转换为3d颜色的情况下,一些解码器实施例将直接使用该值来进行最终的颜色变换。其他实施例可能需要这种情况的平方根版本(这是对hdr图像明度的rec.709解释),并且在这种情况下,可以存在任选的平方根计算器612。

因为我们还教导了许多范例,这些范例通过乘法因子g用于将三个颜色分量乘以该g(无论其是什么形式,例如线性或者非线性rgb、ycbcr等),进行解码的颜色/明度变换(重建为hdr),我们给出了图8中的另一阐述实施例。鉴于上述解码器使用了选择明度的原理,之后仍然被用于计算g因子,人们能够从图8中获悉也能够基于g值进行最小化策略(或者通常对于暗像素解码策略的任何正确的良好质量)。上部分支的所有分量再次如所解释的那样。然后,增益计算器801通过除以f(y'_in)值来计算增益,f(y'_in)值是通过应用各种明度变换函数形状来计算的,如由其在接收到的元数据中的编码所确定的(即,例如包含a_d、a_h和wp的sei图像用于粗略转换,例如,基于8形状控制点的线性函数用于单元602的精细分级功能,或者更精确的lut等),即,不考虑针对最暗明度的特定(编码安全)行为。在该表示中,最小值计算单元802现在计算由增益计算器801确定的增益g和已知的1/dg的最小值(或者在一些实施例中,还可以通信在创建侧使用的该dg的值,这偏离了上述方程中的标准值),产生了用于与三种颜色分量相乘的最终g_fin。本领域读者能够想象对应的编码器,或者其他策略能够如何能够做必要的变更以用于达到良好的g_fin值,例如,接收来自创建侧的g值的lut以获得最暗的明度。

更有趣的是,图9给出了hdr解码器的更复杂的实施例,因为人们可以将其置于可以获得以各种方式创建的各种内容的系统中,特别是关于确定用于将hdr图像的区域502最暗明度编码为最暗sdr辉度的良好子集的良好策略的可能性。这样的ic或软件可以驻留在例如tv或stb中,其都可以获得高质量的分级的电影资料,例如,一组sdr(或hdr)图像与必要的颜色变换函数的元数据一起通信(通常,除了我们解释的用于阐明本发明之外,还可以存在特定的颜色变换,例如修改像素颜色的饱和度),通过互联网从电影传送服务器,或者经由卫星连接的简单电视广播。在该范例中,我们假设例如人类分级者已经创建了一种更好的策略来映射最暗的hdr明度而不是上文的线性明度。他可以经由部分函数f_bk来这样做。尽管线性的策略是实用简单的策略,但是在大多数情况下将都能够正常工作,对于最暗的hdr场景像素,在hdr场景仍然需要其的情况下,更复杂的编码仍然是编码安全备选/并行策略,分级者可以为超暗内容并入特定的分级行为。在各种实施例中,有若干种方式能够做到这一点,例如,他可以经由将被加载到单元602中的精细分级亮度映射的lut编码来通信该部分形状,即,作为单个函数。备选地,他可以通信部分函数,所述部分函数用于否决精细分级明度映射函数的最低部分的形状等。现在,在这种情况下,增益限制的行为应当由例如精细分级函数的最低部分的分级确定的形状来确定,即应当绕过最小值计算(即,解码器应当具有检测情况的控制机制,是否是具有用于超暗或最暗暗点的备选/并行解码的简单策略的第一个,或者是否在编码侧使用针对超暗内容的更为复杂的备选策略),但是,如果其他如此粗略地自动分级的内容进入(例如,因为查看者切换到有线或卫星提供的视频节目),则应当(再次)应用利用图6说明的基于线性的版本。有用的实施例是通过将黑色偏移(bk_off)设置为零来进行这种基于精细分级曲线的方法,并且然后,在精细分级曲线中确定从l_hdr=0开始的所有hdr明度到sdr的映射(即,在解码器侧处,无论精细分级函数的形状如何,(hdr图像的)为零的l_in值通常将映射到为零的y'_sdr辉度,而不是像图5中点501的hdr明度已经映射为零;即,如果仅应用了基于明度变换的处理的上分支,而不是具有斜率dg的线性部分的增益限制)。运行检查程序的处理器901将检查这种情况:在黑色偏移bk_off为零的情况下,基于精细分级曲线的解码应当针对最暗的sdr亮度发生,并且如果不是这种情况,则应当发生在另一解码器实施例中计算f(y'_in)与g的最小值以及线性1/dg斜率的sdr解码的策略。因此,处理器901向开关902发送控制信号,选择适合于给定情况的任何变型。

图12示出了另一编码器(1200)实施例,该研究已经表明特别有趣,尤其是如果与我们的例如rho=25的philips感知曲线一起使用。我们的方程1具有依赖于pb_c的rho值,针对该值,我们能够使用也由解码器所使用(即,已知)的分配函数,因此,然后仅需要通信pb_c值,例如,pb_c=33用于10000nitpb_c,25用于5000,13.2用于1000(100nit的pb_c将对应于5.7,但是这显然不是针对hdr图像编码的pb_c值,因此,仅用于将sdr图像映射到我们的philips感知的辉度域)。用于获取任何pb_c的rho的方程可以是:

rho(pb_c)=1+(33-1)*power(pb_c/10000;1/(2.4)),并且对于hdr编码,pb_c通常将高于800nit。

各种单位(基于自定义曲线形状的精细分级,基于对图像的暗处和亮处的对比度的控制的三部分曲线粗略分级,以及黑色和白色偏移)可以再次被理解为相同或者类似于上述实施例。即,例如分级者(或自动分级装置)决定他想要将hdr图像的最亮明度(实际上在技术上被实施为对应的最亮辉度)映射到典型的sdr辉度的最大值(即,例如10位编码中的1023),并且也可能是黑色被移位,通常是最低的sdr代码(0)。然后,他通过选择曲线形状对亮处和暗处进行粗略外观调节,分配对图像的那些部分的范围、平均亮度和对比度,例如,照亮夜间场景中最暗的部分,否则其hdr图像辉度值在sdr显示器上看起来太暗。所以,例如,他为超暗内容指定了范围0-m1_hdr,并且利用感知表示中的线性曲线将其映射到0-m1_sdr,并且同样地,他将m2_hdr-1映射到m2_sdr-1,再次对应于最亮的明度的该子范围中的线性映射。然后,他指定、或者分级设备/编码器自身指定用于中间明度值的一些平滑连接函数。然后,分级者利用选定的精细分级曲线将一些对象的明度或者实际上其对应的辉度(沿着各自的明度子范围放置)移位到更合适的位置,以使得例如面部看起来更清洁,或者场景中的特定灯稍微更亮等。这产生sdr“亮度”,或者更准确地说是感知均匀亮度表示(y'p)中的辉度。

现在的不同之处在于,在感知域中执行了最大值计算(或者通常等效地确定更适合于待输出的最暗sdr辉度y'_sdr的编码策略)。此外,必须在该域中确定最佳常数gp,以通过乘法器1203乘以感知的hdr辉度y'hp(如由感知空间转换单元1201计算的)。在这样的编码器实施例中,线性化单元1205在增益限制器(1204)之后而不是在其之前以电路连接次序进入,因为最大值计算也发生在感知空间中。

根据研究,发明人发现了,如果在感知空间中以线性方式(即,能够由乘法常数、即gp表示)该策略使代码峰值亮度(pb_c,即待编码的主hdr图像的)独立分配最暗的hdr颜色的子范围[0到hdrl]到最暗的sdr颜色的子范围[0-sdrl],则其在所有典型的hdr测试图像上都表现良好。

根据实验发现了,对应于hdr明度1nit的感知的辉度(总是,无论待编码的hdr图像的峰值亮度如何)都可以很好用于hdrl值,并且感知的辉度对应于sdrl上限阈值0.1。

然后,能够将乘法值gp编码为:

gp=ph(0.1/100,100)/ph(1/pb_c,pb_c)[方程2]

在这种表示法中,ph是上文的我们的方程1的公式,并且更准确地说,如果输入是逗号之前的第一值,则是出现的相对函数的值。因此,当使用高达针对sdr的最大代码峰值亮度100nit时,第一ph是功能形状(并且否则替代pb_c_sdr中填充的100,例如是200,但是我们在这个实施例原理的产生中保持简单),并且我们将针对输入的输出值取为0.1,因此是最大可能sdr明度(100)的1/1000。类似地,第二部分、即除法的分母是由输入到philips感知函数ph(但是现在应当覆盖高达hdr输入图像所需的范围,例如pb_c=5000nit,由逗号后的pb_c所指示的)产生的亮度值,该值对应于1nithdr明度,即相对值1/pb_c,例如在5000nitpb_c的情况下为1/5000。人们可以通过gp+-=0.67log(pb_c)/log(1000)来进行近似。

有趣的是,我们选择固定的ph函数的rho值(以及也有伽马值,通常为2.4)的实施例不需要将所选择的gp值从编码站点传送到任何接收侧(但是一些实施例可能这样做),并且解码器能够通过仅仅通信hdr代码(或实际通信该hdr图像的sdr图像)的峰值亮度来计算他所需的逆常数1/gp自身,无论如何都需要通信,因为人们需要知道哪个要绘制代码r=g=b=1023实际上对应的白色亮度。因此,人们能够节省通信位,这也意指如果不需要元数据,则不能够被丢失或损坏,从而发生错误后果。这提供了编码器和解码器也已经预先同意(因为其使用的编码算法,例如hevc-profile-x)例如1nit和0.1nit的黑暗的映射。

实验结果表明,如果人们在sdr辉度编码单元(1206)中使用最近标准化的rec.1886eotf的逆(而不是经典使用rec.709oetf)来计算要放入sdr图像信号中并且被通信给接收器的实际sdr辉度y'_sdr,那么具有大约50个辉度代码用于编码hdr场景图像的超暗内容中存在的任何图像结构,即,亮度低于1nit的像素。我们通常用于此的eotf将是l_out=a*power((y'_sdr+b);2.4),其中,a=1.0,并且b=0。y'_sdr辉度是在文件中写入的,并且同时表示已经为(一幅或多幅)主hdr图像创建的sdr外观的像素亮度,以及那些主hdr图像中的亮度,当然,这些是通过应用我们的颜色变换函数、特别是我们的明度变换函数来计算的。rec.1886所定义为标准sdr监视器上的输出绘制明度l_out,如我们所说,将被输入用于该eotf的反转,即,oetf将明度转换为辉度代码。在我们已经将那些明度转换为0-100nit明度范围或者任何对应的等效辉度范围之后,所述明度将表示hdr主明度,即,其是图12的lo值,是包含sdr动态范围的明度,对应于输入hdr辉度y'_in,例如,精确地或近似地为原始主hdr图像像素明度的平方根。

人们应当满足各种使用场景,因为我们的编码器可能既用于直接消费,也用于原始视频的主存储,这可以在多年后在更高质量的绘制系统上使用。超暗内容可以在经典电视系统上绘制,其中,低于0.1nit的任何内容通常都不那么有趣,或者由于显示面板上的房间光反射而甚至看不到,但是图像也可以在能够绘制深黑色的如oled的显示器上的黑暗环境中被绘制,并且甚至可能使得向其传递图像的显示器或装置使用内部增亮算法,以稍微增加最暗颜色的明度。然而,尽管hdr图像很可能除了许多非常明亮的对象外还包含非常暗的区域(例如,在夜间场景中),大约50个辉度代码应当足够用于这样的区域,因为其是黑暗的,既不是完全可见的,也不是典型的图像中最重要的部分(并且所有图像细节仍然利用大约五分之一的代码量来表示,这些代码被用于“完美地”表示ldr/sdr时代的所有种类的图像)。读者还应当注意,在该实施例中,所述处理开始于输入hdr明度l_in,即,是否仅使用hdr明度,或者其仍作为线性明度的特定函数来输入,例如,平方根,其是技术电路设计选项,能够与本申请教导的所有其他部分相结合地自由地改变。

因为本领域读者现在能够开始理解如何设计我们原理的各种组合替代变型,所以图11示出了解码器(1100)的两个交错实施例,该解码器对应于图12类型的编码器。我们已经示出了虚线,即一些实施例能够具有处理器1101的情况条件检查(如已经类似于图9所阐述的),关于是否将利用最小化策略解码接收到的sdr图像的最暗像素的解码,或者开关1102是否将绕过,并且所有解码将纯粹根据接收到的函数进行处理,其用作代码确定,能够将接收到的sdr亮度y'_in转换为重建的hdr明度lo,因为其将是需要的。乘法器1103现在使用逆常数1/gp,如上所述,在许多实际实施例中,所述逆常数能够由接收设备来计算(通常每个电影一次,或者通常是新的接收内容,诸如在频道切换之后),因为其知道编码器将类似地使用什么。因此,一些实施例将总是使用具有增益限制器1105的电路,而不存在来自处理器1101的任选控制回路。本领域读者还应当理解,我们的原理并不禁止实际通信1/gp值,例如存储在磁盘的扇区上,或者存储在与接收到的信号共同通信的元数据中,等等。

为了能够使用rho=5.7的philips感知功能,我们首先将rec.1886eotf(其中,b=0,a=0)应用到接收到的sdr辉度y'_in(因为其在例如hevc图像编码的信号中通信),以获得归一化线性sdr明度l_sdr_in作为起始点(当然,在一些实施例中,那两个单元可以被组合,因为其将是固定的lut,因为由于sdr的标准化的100nitpb_c,如果使用这样的编码作为输入,则rho总是5.7,这是我们的实施例可能的使用方式,至少在可预见的未来)。单元1111的线性转换将再次具有rho,其取决于指示使用哪个hdr编码的pb_c的接收到的值。

图13示出了g的一些典型值用于可能的pb_c代码峰值亮度(即,不一定是图像中最亮的明度,但是图像可能包含的内容(如果使用了所有代码,即最亮的像素处在最大值),并且编码应当能够处理)。人们能够对此进行编码,例如作为lut并且将其放入解码器硬件中。

在本文中所公开的算法部件可以(全部地或部分地)在实践中实现为硬件(例如,专用ic的部分),或者实现为在专用数字信号处理器或通用处理器等上运行的软件。

根据我们的介绍,技术人员应当可以理解哪些部件可以是任选的改进并且可以与其他部件组合实现,以及方法的(任选的)步骤如何对应于装置的对应单元,并且反之亦然。本申请中的“装置”一词以其最广泛的含义使用,即,允许实现特定目标的一组单元,并且因此,例如能够是ic(的小电路部分),或者专用家电(例如,带显示器的家电),或者网络系统的部分等。“布置”也意图以最广泛的意义使用,因此,其尤其可以包括单个装置、装置的部分、(部分)协作装置的集合等。

计算机程序产品表示应当被理解为涵盖实现通用或专用处理器的命令集合的任何物理实现,在一系列加载步骤(其可以包括中间转换步骤,例如翻译成中间语言,和最终处理器语言)之后将命令输入处理器,并且执行本发明的任何特征功能。具体地,计算机程序产品可以被实现为载体上的数据,诸如,例如磁盘或磁带,存储器中存在的数据,经由有线或无线网络连接传输的数据,或者纸上的程序代码。除了程序代码之外,程序所需的特征数据也可以体现为计算机程序产品。

操作该方法所需的一些步骤可能已经存在于处理器的功能中而不是在计算机程序产品中描述,例如数据输入和输出步骤。

应当注意,上述实施例说明而非限制本发明。在技术人员可以容易地实现所绘制的范例到权利要求的其他区域的映射的情况下,我们为了简明而未提及所有这些选项。除了在权利要求中组合的本发明的元件的组合之外,元件的其他组合也是可能的。可以在单个专用元件中实现元件的任何组合。

权利要求中括号内的任何参考标记不用于限制权利要求。“包括”一词不排除权利要求中未列出的要素或方面的存在。元件前面的词语“一”或“一个”不排除存在多个这样的元件。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1