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

文档序号:15885995发布日期:2018-11-09 18:53阅读:441来源:国知局
对HDR视频进行编码和解码的制作方法

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

背景技术

直到几年前,所有视频都是根据所谓的低动态范围(ldr)原理(也称为标准动态范围(sdr))编码的。这意味着,无论捕获到的场景是什么,代码的最大值(通常8位亮度y’=255;或者用于模拟显示器驱动的100%电压)应当通过标准化定义对应于具有根据标准协议为100nit的峰值亮度pb(即它能够渲染的最亮的白色)的显示器(即,被渲染在其上)。如果人们购买了稍暗或更亮的实际显示器,则假设观看者的视觉系统将调整,使得图像将仍然看起来合适,并且甚至与参考100nit显示器上相同,而不是例如令人不快地太亮(假如有例如恐怖电影中的夜景,则其应当具有暗的外观)。

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

还要注意,在hdr研究期间已经变得更清楚并且在这里提到以确保每个人都能理解的内容是,代码系统本身不具有动态范围,除非将参考显示器与它相关联,也就是说,例如r’=g’=b’=y’=255应当与100nit或备选地1000nit的pb等相对应。特别地,与通常预先假设的内容相反,用于像素的颜色分量的位数(如它们的亮度)不是动态范围的良好指示器,因为例如10位编码系统可以编码hdr视频或sdr视频,其根据编码类型而确定,特别是与编码相关联的参考显示器的电光转换函数eotf,即定义亮度代码[0,1023]与像素的对应亮度之间的关系,因为它们需要被渲染在显示器上。

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

因此,高动态范围图像的高动态范围编码能够利用要被渲染的例如高达1000nit的亮度对图像进行编码,以便能够显示渲染高质量的hdr,例如与周围渲染场景相比的明亮爆炸,或闪闪发光的金属表面等。并且同时地可以编码相对暗像素颜色或者其亮度(即使未渲染在显示器上)。因此,为了避免怀疑,当本文讨论高动态范围(创建的原始)图像时或者那些图像的编码时,我们意指该编码能够至少处理比基于标准rec.709的sdr编码能够处理的亮度范围更大的亮度范围,即无论什么最亮代码实际上被映射到显示器上作为渲染亮度,该编码都将能够编码至少大于1000:1的亮度范围,并且优选地更大以使得能够利用甚至更高的亮度对比度来编码场景。

实际上,世界上有很多场景能够具有很高的动态范围(例如,室内捕获的对象暗至1nit,同时透过窗户看到外面阳光照射的对象,亮度在10000nit之上,给出10000:1的动态范围,其比1000:1的dr大10倍,甚至比100:1的动态范围大100倍,并且例如传统tv查看可以在一些典型的情况下(例如,白天观看)具有小于30:1的dr)。当人们想要能够至少在理论上渲染对于人类而言最真实的图像时,人们能够争论人类想要与在显示器上的对比的像素亮度同时地看到什么,或者他能够很好地看到什么的更简单的问题。在这两个方面上已经存在争论,也许在某种程度上想要证明特定点,并且有时据说10,000:1亮度对比率应当是足够的,但是如果人在黑暗的大街上行走,则他看见远低于一nit的暗像素以及能够是若干1000或10,000nit的明亮光,并且这不必是不能看到的。因此,虽然可以存在关于什么亮度应当或者能够容易地被渲染的实用选择,但是在用于阐述构思的本文中,我们不想要在用于任何hdr场景的动态范围的上限将必需总是需要是什么上将我们自己限制太多。

因为显示器变得更好(比100nit亮几倍的pb,目前出现1000nit,并且设想数千nitpb),目标是能够漂亮地渲染这些图像,并且尽管由于如不同观看条件之类的因素而与原始图像不完全相同,但至少很自然,或者至少是令人愉悦的。并且这需要sdr视频编码时代所缺少的东西:良好的实用hdr视频编码技术以及这样的视频的良好使用(例如,当将其最佳地渲染时)。

读者还应当理解,因为观看者通常在不同情况下观看内容(例如,晚上坐在光线昏暗的客厅,或者在暗的家中或电影院里,而不是实际站在被捕获的明亮非洲景观中),所以场景中的亮度与最终在电视(或其他显示器)上渲染的亮度之间没有同一性。这能够尤其通过让人类颜色分级者手动决定(即相关联的参考显示器上的)可用编码dr上的最佳颜色来处理,例如通过规定场景中的太阳应当在图像中以5000nit(而不是其实际值10亿nit)渲染。备选地,自动算法可以进行从例如原始相机捕获到本文中(通常)称为(主)hdr分级的内容的这样的转换。这意味着人们能够在5000nitpbhdr显示器上的可用的位置处渲染此主分级。即使我们说用于编码(pb_c)的峰值亮度的实用的良好版本可以通常是例如5000nit,其也不意味着人们不能编码任何所选的编码规范中的任何更高的动态范围场景,并且然后在人们已经可获得无论什么显示峰值亮度(pb_d)的情况下将其最佳地渲染在无论什么显示器上,后者是(一幅或多幅)hdr图像的最佳显示的问题。即,不会特别地需要以完全显示引用的方式编码任何图像,更不用提最终将任何内容的创建固定到任何特定显示器(例如,5000nit或者甚至更糟1000nitpb_d显示器)。

这指示人们可以如何编码任何主hdr图像(本身),然而,与此同时,未来几年将有一大群人拥有100nitpb的传统sdr显示器,或者不能做出5000nit白色的某些显示器,例如因为它是便携式的,而且这些人也需要能够看hdr电影。因此,需要有一些机制将5000nithdr转换为同一场景的100nitsdr外观图像。然而,存在一个问题,该问题是作为以下事实的镜像问题:我们需要hdr视频编码,因为人们不能仅保持在更高的峰值亮度显示器上渲染sdr视频,该sdr视频被预期用于大约100nit的pb_d的sdr显示器。因为当渲染时的图像将看起来太亮,例如恐怖片中的夜晚场景的气氛可以全部丢失,好像人们接通(如超市的天花板上的)灯的电池。如果人们然后将推断仅能够制作单个种类的hdr分级图像,则那些可以在许多情况方式中对于直接sdr渲染看起来太暗。这是因为,如果我们看到以相对[0.0-1.0]表示的像素亮度,则最暗像素亮度将是最亮像素亮度的非常小的分数。例如,考虑具有罪犯移动通过阴影(可能几乎不可见的)的夜晚场景,当在图像中的某处也存在一些亮光时。例如,在用于在1000nit显示器上渲染的1000nit分级编码中,我们可以考虑罪犯利用高达10nit的像素亮度很好地被渲染,而灯应当在以1000nit渲染的情况下很好地被点亮。这意味着在图像中的那两个像素区域之间存在100:1的对比率。如果我们现在使用sdr时代的相对渲染的经典范式(即,将编码的最亮白色(或者pb_c)映射到显示器的最亮白色(pb_d)),则对于100nitsdr显示器而言,这意味着罪犯的相关动作将下降到1nit以下。这可以在显示器上的前面玻璃反射下面,因此不是很好地观看电影,sdr观看者可能使他的眼睛受到压力以试图看到什么将发生。人们可以想象该最暗像素的“某个变亮”将有利于得到至少某个更好的sdr图像,但是人们还可以想象优选地这不是任意地被完成,而是内容相关的。因此,人们总是需要第二图像分级,以及以某种方式将其传递到任何接收器的方式。

图1示出了未来的hdr系统(例如,连接到1000nitpb显示器)可能需要能够即通过为图像中的所有对象/像素渲染合适的亮度来正确处理的许多可能的hdr场景的几个说明性示例。例如,imscn1是来自西方电影的阳光户外图像,而imscn2是夜间图像。使hdr图像渲染与其仅在几年前结束的ldr时代如何不同之处在于,ldr具有如此有限的动态范围(大约pb=100nit,且黑色水平为+-0.1到1nit),大多数情况下,只能示出对象的反射率(其将落在针对好的白色的90%与针对好的黑色的1%之间)。所以人们必须示出独立于其照明的对象,并且不能同时如实地示出可能发生的场景的所有有时高度对比的照明。实际上,这意味着高亮度的阳光场景必须以与阴暗的雨天场景大致相同的显示亮度(0-100nit)被渲染。并且即使夜间场景不能被渲染得太暗,或者观看者不能很好地鉴别图像中最暗的部分,这些夜间亮度也会再次跨度0与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图像。

在例如10位传统mpeg或类似的视频编码技术中仅编码hdr图像的集合(即具有正确的外观)(即用于渲染在例如1000nithdr监视器上的图像对象亮度)并不困难。人们只需要为具有相当大的动态范围的新类型的图像建立最佳oetf(光电转换函数),即在与白色相对较暗区域相比的许多地方不示出条带的图像,然后计算针对所有像素/对象亮度的亮度代码。

然而,申请人设计了一种系统,该系统能够将第一动态范围的图像实际上编码为第二动态范围的图像,即将hdr图像实际上作为ldr图像进行通信的系统,即之后实际上ldr(或sdr,即指100nitpb参考显示器,并且通常在这样的参考显示器上进行最佳颜色分级)图像被通信给接收器,然后能够立即被用于在传统100nitpbsdr显示器上渲染正确外观的sdr外观(在不想要丧失一般性的情况下,在以下描述中我们假定具有这样的实施例,其中,具有例如pb_c=1000nit的内容峰值亮度的hdr图像实际上被传递为100nitpb_c(即,sdr图像),其中另外,必要的颜色变换函数用于根据接收到的100nitsdr图像(被接收为元数据)来重建pb_c=1000nit外观图像)。因此,人们应当理解,这些sdr图像也是正被传递的实际上hdr正确艺术外观图像的重要组成部分。

此外,定义合适的可逆颜色变换函数的集合f_ct,如图2所示。这些函数可以由人类颜色分级者定义,以获得与hdr主图像mast_hdr相对应的合理外观的sdr图像(im_ldr),同时确保通过使用反函数if_ct,能够以足够的准确度重建原始主hdr(mast_hdr)图像作为重建的hdr图像(im_rhdr),或者,可以在内容创建侧使用自动分析算法来确定适当的这样的颜色变换函数f_ct。注意,不是依靠接收侧来将函数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图像编码器进行编码,该编码器可能在某种程度上被修改,例如,可能已经优化了针对预测差异的dct变换的量化表以更好地适于具有hdr特性的图像(尽管颜色变换通常已经使得im_ldr的统计看起来更像是典型的ldr图像而不是典型的hdr图像,但是所述hdr图像通常具有相对较多的具有相对较暗亮度的像素,因为该范围的上部分可能通常包含小灯等)。例如,可以像hevc(h265)一样使用mpeg型编码器,产生编码的sdr图像im_cod。视频编码器203然后假装它获得正常的sdr图像,尽管它还获得允许重建主hdr图像的函数f_ct,即有效地使其成为sdr和hdr外观两者的双重共编码,以及它们对应的图像的集合(分别为im_rldr、im_rhdr)。可以有几种方式来传送包括函数f_ct的所有信息的这种元数据,例如它们可以作为sei信息被传送。然后,传输格式器204根据某个标准(例如卫星或线缆或因特网传输,例如根据atsc3.0,即执行对数据的分组、信道编码等)应用所有必要的变换来对数据进行格式化以传过某个传输介质205。在任何消费者或专业侧,可以被包含在各种物理装置(例如,机顶盒、电视或计算机)中的接收器206通过应用非格式化和信道解码来撤销信道编码。然后视频解码器207应用例如hevc解码,以产生解码的ldr图像im_rldr(这是中间图像,其可以被用于在可用的情况下直接地驱动传统sdr显示器,但是其必须仍然被颜色变换以从其获得如针对具有更高的显示峰值亮度pb_d的显示器所要求的hdr或者mdr图像)。然后,颜色变换器208被布置为将sdr图像变换为任何非ldr动态范围的图像。例如,可以通过应用在编码侧使用的颜色变换f_ct的反颜色变换if_ct来重建5000nit原始主图像im_rhdr,以从mast_hdr得到im_ldr。可以包括显示调谐单元209,其将sdr图像im_rldr变换为不同的动态范围,例如,在显示器210是3000nitpb显示器的情况下被最佳分级的im3000nit,或1500nit或1000nitpb图像等。

图3示出了从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。本文中的降级意味着将像素的亮度代码(或其对应的渲染亮度)从较高峰值亮度的表示(即用于在较高pb显示器(例如1000nitpb)上渲染)改变为用于在较低pb显示器(例如100nitsdr显示器)上渲染的较低pb图像中的相同场景的图像的亮度,并且升级是用于将较低pb图像变换为较高pb图像的相反颜色变换,并且不应当将其与空间尺度升高和尺度降低相混淆,空间尺度升高和尺度降低分别是添加新像素和丢弃一些像素或这些像素的一些颜色分量。可以通过图3的设备以将自动尺度调整到针对某个色度(x,y)可用(可渲染)的最大亮度lmax(x,y)的方式对任何颜色进行该操作,其中(rgb)三元组对应于显示器或编码代码色域中的该色度。

我们看到图3包括应当很好理解的两个部分。上轨道包括确定乘法因子g的处理,该乘法因子可以以各种方式确定。特别地,人们可以在rgb的线性或非线性表示中这样做(非线性r’例如是线性r的平方根),但是我们将假定现在rgb分量是线性的。实际上,人们可以仅使用某个查找表得到l*=lut(l)。但是重要的是要理解利用被表示为lut的函数的几何形状,创建侧(例如,人类颜色分级者或者提出例如包括三个线性部分的函数的自动图像分析系统)确定(0.0xnit与例如可在hdr编码中编码的5000nit之间的其可能值的)特定hdr亮度将多么精确地与(即,在sdr图像被需要用于输入hdr图像的情况下被计算的)等效sdr亮度相对应。如果人们知道像素颜色的亮度(即,亮度的编码)以精确的函数方式与像素颜色亮度相关,则人们可以等效地指定两个亮度之间的函数关系(即,sdr分级的sdr亮度对应于m_hdr原始主hdr分级中的hdr亮度),人们还可以利用稍微不同的函数形状将期望的亮度变换指定为亮度变换。有时,可以存在指定亮度变换的优点,例如如果亮度域是更感知均匀的,则分级者可以更迅速地得到其的期望的外观,但是对于本说明书和其教导而言,我们将假定解码器在不要求变换函数的特定编码的情况下接收亮度变换规范(一些装置可以容易地将该规范变换为其内部地使用的无论什么颜色空间)。因此,上轨道包括建立哪种亮度改变行为被需要用于利用与输入图像不同的动态范围计算第二图像,并且更精确地,该变换被概述为针对每个像素的乘法值,其至少取决于该像素颜色(并且在更高级的版本中,乘法因子还可以例如取决于像素位置)。

下部分示出了该装置可以实际上如何实现例如hdr图像中的每个像素颜色到其sdr等效值的亮度变换(或者对于解码器而言,我们在阐明中假定该变换通常地将接收到的sdr图像变换为某个hdr图像,或者某个介质动态范围(mdr)图像,以用于服务具有位于主hdr图像m_hdr的内容峰值亮度与sdr对应的分级的100nitpb_c之间的特定显示峰值亮度pb_d的显示器)。颜色的亮度(或者“亮度”)由向量的长度给出,因此如果再次我们具有例如线性分量rgb,则人们可以通过乘以适当值g(表示来自hdr到ldr的亮度变换或者备选地用于该颜色的ldr到hdr)来缩放该向量。但是人们可以技术上发现该下分支还可以等效地被实现在某个其他颜色表示上,例如y’cbcr,以及y’(如例如在rec.709中定义的典型的亮度),以及cb和cr对应的色度。

实际上,能够证明这3个分量颜色变换对应于应用类似的亮度映射,其在(即,具有无特定色调的颜色的)消色差轴上将sdr图像中的颜色的输入亮度l映射到最佳hdr分级图像的所需相对输出亮度l*。在没有深入细节的情况下,与本教导相关的是,对应的颜色变换能够通过乘法器311实现为单独地在(现有技术中优选为线性)rgb分量上的每个分量上的乘法变换,其中三次具有大于或小于1.0的相同常数g,其对应于人们选择的亮度变换函数l_out=tm(l_in)的任何形状(例如在创建侧上的人类颜色分级者或某种人工智能自动重新分级算法),其也能够被公式化表示为像素的输入红色、绿色和蓝色值的最大值的函数变换。因此,对于每种输入颜色(r,g,b),当亮度映射器307获得某个sdr亮度到hdr_亮度映射函数(例如参数指定的loggamma函数或sigmoid,或被接收为lut的多线性曲线)时,计算适当的g值以应用将im_rldr转换为im_rhdr的期望颜色变换(或以适当的尺度调整方式变换为任何其他分级图像,如im3000nit)。示例性实施例电路的部件是:305:最大值计算器,输出正被处理的像素颜色的r、g和b值的最大值(最大rgb);301:亮度转换器,根据系统当前工作的某种颜色定义标准(例如,rec.2020)计算颜色的亮度;302:除法器,产生lmax(x,y)作为l/max(r,g,b);307亮度映射器实际上作为映射器在最大rgb上工作,产生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编码,因为它们通常被使用。im_ldr当其将出自任何典型的接收侧装置中的hevc解码器207时将通常采用非线性y’cbcr编码(其中,我们可以假定非线性近似地是平方根)。特别地,如果人们想要hevc解码的y’cbcr图像直接地可用于传统sdr显示器,则其将是rec.709可解读的。

人们还可以设计等效颜色映射,其即使未精确地数学上相同,即在各种备选hdr视频解码器实施例下未将各种sdr颜色映射到精确地相同的hdr颜色,至少提供合理地类似的外观图像,例如其中至少针对图像的最暗部分具有相同颜色。其中可以偏离的一个范例是当裁剪或者软裁剪一些亮值(在图像未被需要用于那些裁剪值的进一步的改变的情况下,例如,在处理电路被用于当接收到传递的hdr图像时导出sdr次级分级的情况下,第二个是可能的)而不是将它们保持足够地低于rgb编码的上色域边界时,但是那将通常是创建侧的选择,例如,颜色分级者负责最终外观。

利用图4阐明了与图3的max(r,g,b)电路相比可能的情况的范例。

使用基于max(r,g,b)的亮度映射的良好属性(或者maxrgb是在对应的输出亮度亮度_im_ldr应当被使用的亮度映射函数形状中查找的指数)在于,颜色变换将决不会用尽色域。例如,如果我们具有在其最大亮度附近(在可能的rgb颜色的色域的顶部附近)的蓝色像素,则该像素的亮度的maxrgb测量结果将接近于1.0,如图4a中所示。假设我们具有如所示的凸形的典型hdr到sdr重分级亮度映射函数。使用的乘法因子将然后是(如果图像创建侧指定了曲线,使得输出亮度lum_lx对应于maxrgb输入值):g=lum_lx/maxrgb,其将稍微大于1.0。b将是最大颜色分量,因此其他两个将是较小的,并且没有超出范围的映射可以针对其发生。b将被映射到b*g=maxrgb*lum_lx/maxrgb,即这将碰巧是在数值上在与期望的亮度lum_lx的相对0.0-1.0标度上的相同值,并且在可能的b值的范围内,即<=1.0。

然而,如果人们现在使用另一亮度表征值(即,亮度本身),则人们可以针对该高度饱和颜色得到以下内容。由于l是更小的(例如,0.5),l是例如可以在图4b中所示的2d色域剖面中看到的蓝色的亮度,所以将具有针对函数输出的相对较大值,即lum_ll.g=lum_ll/l将然后是大约2.0。如果人们使用与因此亮度指定的策略相同的rgb分量的乘法因子缩放,则人们将得到b大约1.0乘以g=2.0超出范围值,其被裁剪到1.0。这将通常地减少那些颜色的饱和度。那可以当然是用于由创建侧(例如,人类分级者)所确定的那些颜色的期望的行为,但是在这种情况下其不再使得所有颜色在色域内。然而,分级者可以指定等效地被用于这样的亮度定义的颜色变换(或者特别是亮度变换)的曲线。如果人们未使用像素颜色的精确亮度l,则行为还可以是不同的,因为该亮度未精确地包含正确亮度信息(用于饱和颜色的一些亮度信息已经泄露到色度分量中)。

然而,在该基本原理中创建侧(并且特别是人类颜色分级者)可能不具有他期望什么的行为的足够的控制,即颜色在对应于主mast_hdr图像(他可以先前已经艺术地创建了该图像,或者在其他实施例或应用中该图像可以直接来自照相机等)的sdr外观中如何表现。

本发明人旨在产生可包含在这样的实际y’cbcr信号路径中并且给定创建者的需要足够通用的良好的实用编码或解码核心电路。



技术实现要素:

具有更实用和更通用和更好地可用于动态范围转换的各种特定hdr场景图像要求方法的目标通过一种高动态范围视频解码器(500)来处理,所述高动态范围视频解码器被布置为接收高动态范围视频的编码(im_cod)并解码和输出时间上连续的通常高动态范围图像(im_rhdr)的集合(例如在sdr图像被接收的情况下),但是在其他实施例中,经必要的修改输出低于接收到的编码图像(im_cod)的动态范围的输出动态范围的动态范围图像,所述高动态范围视频解码器包括:

-输入部(502),其接收三个权重值(kry,kgy,kby);

-视频解码器(501),其被布置为将所述编码(im_cod)解码为用y’cbcr颜色表示的中间图像(im_rldr);

-亮度指数计算单元(503),其被布置为计算针对所述中间图像(im_rldr)的每个像素的亮度指数(j’),所述亮度指数被定义为j’=y’+max{kry*(r’-y’),kgy*(g’-y’),kby*(b’-y’)},

其中,kry、kgy、kby表示所述三个权重值,y’是所述y’cbcr颜色表示的亮度值,并且r’、g’和b’是能根据所述y’cbcr颜色表示的y’、cb和cr值导出的非线性颜色分量值;

-亮度映射器(505),其被布置为接收至少一个一维函数f_ct的详细说明并利用所述亮度指数(j’)作为输入而应用所述至少一个一维函数f_ct,以获得输出亮度指数(j*);

-颜色处理单元,其被布置为确定针对所述时间上连续的图像的集合中的当前正被解码的输出动态范围图像(im_rhdr)中的每个像素的输出颜色(y’h,cb’h,cr’h),所述颜色处理单元被布置为确定输出亮度y’与为所述每个像素的颜色的输入亮度乘以因子的输出亮度相对应,所述因子根据所述输出亮度指数(j*)除以所述亮度指数(j’)的比率而被确定。

所述颜色处理单元可以包括:

-乘法因子计算单元(506),其被布置为计算乘法因子(g),所述乘法因子等于所述输出亮度指数(j*)除以所述亮度指数(j’);

-三个乘法器(509、510、511),其用于将所述中间图像(im_rldr)的每个像素的各个颜色分量(y,cr,cb)乘以所述乘法因子(g),以获得针对所述时间上连续的图像的集合中的当前正被解码的所述输出动态范围图像(im_rhdr)中的所述像素的输出颜色(y’h,cb’h,cr’h)。

一些hdr解码方法(如bbc的混合对数伽玛方法)(https://en.wikipedia.org/wiki/hybrid_log-gamma)是相当静态的,并且即使被裁剪用于仅传递单幅hdr外观图像,即,相当不适于良好hdr场景编码的细节,其需要还能够在任何接收器侧处获得其他动态范围外观图像(例如,5000或者1000nit主hdr分级图像mast_hdr的100nit编解码峰值亮度(pb_c)sdr变型)。并且,其他动态外观图像需要具有良好质量,例如,当在任何显示器上渲染时,站在阴影中的某人不应当具有太丰富多彩的衬衫,因为那不是这样的照明不良的衬衫将通常看起来的样子。因此,人们需要一种解码器,其不仅能由亮度变换函数(f_ct)的创建侧确定的形状控制而且由(针对每个特定颜色)确定如何使用该函数的权重控制。

这是因为亮度是像素颜色的仅一个维度,其他两个色度分量是例如(u,v)色度、或者(cb,cr)色度(还被称为色度)。

如果我们查看图4,并且我们从在色域的中间的消色差灰色轴跟随等亮度线一直到饱和的蓝色,我们发现虽然颜色可以具有相同的亮度属性,但是其意指对于3分量加色定义中的可标记的蓝色分量亮度完全不同的内容。对于已经接近于上色域边界的这样的蓝色而言,也许人们不期望使用该亮度映射形状(但是人们不具有另外的信息,因为对于实用编码技术而言,决定使用并且传递表征改变的动态范围像素或者对象颜色重新变亮行为的仅一个1d亮度映射函数)。在wo2014056679中,使用的总是将该函数展开到无论什么局部范围的优雅的解决方案可用于任何颜色(例如,饱和蓝色)。但是这不意指这将总是最终期望行为。在本申请中,本发明人想要更通用的方式,其能够定义除仅总是max(r,g,b)外的其他亮度指数,或者备选地亮度l。这通过定义新亮度指数j’来完成,该新亮度指数一方面依赖于亮度y’(其当编码的im_cod已经例如被mpeg-hevc解码时直接地输入),并且另一方面依赖于“非线性颜色分量减去色度”值(例如,r’-y’)。这些也是非常有用的,因为其达到恒定的输入cr和cb值(也直接地存在于解码的中间im_rldr图像中),并且g’-y’是可根据r’-y’、b’-y’(以及y’,但是不是通常必要的)计算的,因为对于rgb原色和白点的任何给定选择而言(例如,根据rec.2020、或者rec.709、或者dci-p3等),y’将唯一地被定义为a*r’+b*g’+c*b’,其中a、b和c是实值常量。因此:g’-y’=1/b*((1-b+a+c)y’-a(r’-y’)-c(b’-y’))。

例如,对于rec.709而言,将具有:

y’=0.212600*r’+0.715200*g’+0.072200*b’

cb=-0.114572*r’+-0.385428*g’+0.500000*b’

cr=0.500000*r’+-0.454153*g’+-0.045847*b’

因此:

r’-y’=0.000000*cb+1.574800*cr

g’-y’=-0.187324*cb+-0.468124*cr

b’-y’=1.855600*cb+0.000000*cr

并且对于rec.2020而言:

y’=0.262700*r’+0.678000*g’+0.059300*b’

cb=-0.139630*r’+-0.360370*g’+0.500000*b’

cr=0.500000*r’+-0.459786*g’+-0.040214*b’

因此:

r’-y’=0.000000*cb+1.474600*cr

g’-y’=-0.164553*cb+-0.571353*cr

b’-y’=1.881400*cb+0.000000*cr

在亮度指数j’=y’+max{kry*(r’-y’),kgy*(g’-y’),kby*(b’-y’)}中,值y’、r’、g’和b’是非线性值(如由’所指示的)。特别地,y’是y’cbcr颜色表示的亮度值并且特别地是对应的线性亮度值的非线性表示(亮度)。特别地,y’cbcr颜色表示的值y’可以是亮度指数的r’、g’和b’值的线性加权和。类似地,y’cbcr颜色表示的值cbcr可以是亮度指数的r’、g’和b’值的线性加权和。类似地,亮度指数的值r’-y’、g’-y’和b’-y’可以是y’cbcr颜色表示的值cbcr的加权和,并且因此亮度指数的值r’、g’和b’可以是y’cbcr颜色表示的值y’、cb和cr的加权和。

在不同的实施例中,上文所提到的加权和中的权重可以是不同的。

所述三个权重值kry、kgy、kby可以是可变值,并且因此可以被用于调整所述亮度指数。所述权重值kry、kgy、kby可以例如连同所述一维函数f_ct一起被接收,并且实际上可以连同所述高动态范围视频的所述编码一起被接收。

在一些实施例中,可以接收视频信号,所述视频信号包括所述高动态范围视频、所述一维函数f_ct和所述权重值kry、kgy、kby的所述编码。

所述权重值kry、kgy、kby可以从(通常远程)编码器(其通常还可以提供所述高动态范围视频和/或所述一维函数f_ct)被接收。

通常地,所述创建侧可以确定内容优化的k值,并且让我们非限制性地假定这通过人类颜色分级者(其还可以是自动内容分析算法)来进行。例如,当前hdr场景图像可以包含这样的内容:分级者期望其由某个亮度重新变亮最好地处理,某个亮度重新变亮是恒定亮度色度相关的(即,到所述亮度变换函数中的指数j’应当使得其是亮度,但不是经典亮度,经典亮度是强非恒定亮度(即,并非对于所有颜色而言都是颜色的亮度的准确度量,而是其一部分取决于颜色的特定色度),而是调节的版本j’,其更紧密地与颜色的实际亮度相关)。这样的策略可以通过在分级者例如做出最终sdr分级的情况下由分级者选择,其不需要形成用于计算另外的不同的动态范围图像的数据,并且图像的当前处理的拍摄是例如大教堂,其中,例如钢化玻璃窗口夹或者软夹的颜色是期望或者至少可接受的。

为了获得亮度的这样的更恒定的亮度值作为输入(y’),人们能够选择(传递)k-权重的固定集合,其取决于在其中定义颜色的颜色系统的所选择的原色。即,对于bt.2020颜色空间(以及从bt.1886取得的伽玛值,因为函数的亮度相关性不仅取决于原色的色度,而且强烈地取决于所选择的表示的伽玛系数的值,即,eotf或者代码分配函数,其将例如10位rgb代码链接到实际要渲染的亮度,是否相对于所选择的峰值亮度pb_c绝对地定义,或者相对于1.0的最大亮度相对地定义),我们得到用于该场景的良好最佳值,例如:

kry=0.4208;kgy=0.5357;kby=0.2645。

但是,本发明的新颖性不只是能够确定这样的系数,而是内容的创建侧能够向任何接收侧传递其已经做出该选择(对于整个电影而言,或者当前图像或者n幅图像)而不是另一个。读者应当理解,我们具有解码器,因此在不使这些精确值传递的情况下,人们不能精确地解码,因为人们将使用亮度映射函数中的错误指数,因此计算错误乘法因子g,并且因此将不同的输出颜色与接收到的图像的中间图像版本(im_rldr)中的当前像素的输入颜色相关联。即,总之,人们将得到根据接收到的sdr版本重建的不正确的hdr图像(或者在其他实施例中类似的某些内容,例如,其中,人们需要计算针对接收到的hdr输入图像的sdr等效分级图像,或者针对另一例如更高的显示峰值亮度pb_d的第二hdr图像等)。

人们可以将k-权重选择为零,其将产生y’,但是优选地在我们的实施例中,我们没有这么做而是相反保持这些值高于恒定亮度值(即,对于rec.2020编码的图像而言,kry=0.4208;kgy=0.5357;kby=0.2645)。然而,创建侧可以选择例如kry=1;kgy=1;kby=1,在该情况下,max(r,g,b)行为将为该特定图像得到结果。如果例如分级者不想要裁剪钢化玻璃窗口,但是以使图像总体稍微缓和为代价保持他们丰富多彩,这将是有用的。因此,利用该新索引方法,人们可以选择max(r,g,b)与基于亮度的映射之间的任何行为(或者更确切地说,取决于亮度y’的映射但是以更紧密地跟随颜色的精确亮度的方式,该精确亮度可以试图被精确地计算,但是那对于许多实际ic电路而言将是计算上太复杂的)。人们现在能够在创建侧完成许多事情,这取决于碰巧在hdr图像中的所有对象。例如,如果人们不喜欢蓝天被映射的方式,则人们能够降低蓝色分量的权重,因为场景中的其他颜色将可能具有比天空小得多的蓝色分量,天空作为亮蓝色对象可以通常地具有靠近最大值(即,1023)的b’代码。那意指人们将不严重地改变其他颜色的映射,但是人们能够调谐(并且然后传递实际上所选择的值)kby值以根据期望精确地调节天空的映射行为。注意,我们具有亮度变换函数中的指数j’,其还仍然取决于y’、g’和r’,因此人们不应当误解这仅是使天空变暗的方式。但是在一些情况下,实际上一些对象的颜色可以改变。例如,与人们将期望的相比,站在阴影中的某人的衣服可能是太丰富多彩的。这可能主要地归因于太高的亮度,因为色彩依赖于颜色的色度的饱和度分量和其亮度两者,但是在一些颜色处理电路实施例中有时还可以存在一些饱和度或者甚至色调改变,与人们将在任何次级计算的图像中看到的内容相比(例如,主分级hdr图像能够被完美地重建或者至少合理地近似,因为dct压缩质量还可以产生影响,但是例如实际上传递的图像中的sdr颜色可以在某种程度上与hdr颜色不同,并且然后不仅在无论如何人们将期望sdr渲染中的较暗颜色的意义上)。分级者或者通常创建侧现在具有优化k-权重以调谐所有该行为的自由,直到最好外观的图像出现(即,最好sdr图像连同最好hdr图像,其有时能够是权衡,如果例如人们关于亮度变换函数限制自身,但是k-权重能够处理权衡中的一些,创建更好或者更糟外观的sdr图像)。在这实际上在任何接收侧处发生之前,所述分级者能够测试所述解码,查看hdr参考监视器上的hdr重建和sdr参考监视器上的sdr图像,并且然后编码数据(即,实际上传递的hdr/sdr对的一幅图像,在接收器处允许将对的接收到的一个变换成非接收到的一个的亮度映射函数,以及用于目前编码的至少一幅图像的k-权重的特定值;在分级者未做出针对k-权重的所选择的优化的情况下,人们可以将针对它们的标准值写入元数据中,例如,(1,1,1),或者依赖于接收器以在之后以任何方式使用那些标准值,甚至当未接收到时,其保存待存储或者传递的位的数量)。

对于技术读者而言应当清楚的是,在各种可能的用途中,各种部件能够具有标准常见实施例。例如,如果解码器驻存在stb或者tvic中,则用于k-权重的输入部可以是管脚,该管脚被连接到另一ic,该另一ic从例如bd磁盘读取该数据,或者从某个元数据通信信道(例如hbbtv圆盘传送带或者因特网连接等)检索它们。如果我们说明该方法能够针对通信重新使用任何现有视频解码器,则还应当清楚的是视频解码器是什么。例如,有用的一种是hevc标准,但是人们也可以使用基于mpeg2的机制,或者一些未来待定义的用于三分量像素颜色通信的容器(无论基于dct与否)。优选地,三个分量是至少10位,但是这也不是针对本发明的硬性限制,即,也可以使用12位或更多,或者甚至用于显著地资源受限的系统或者应用的8位。

我们向读者指出他应当注意并理解,虽然实际上传递的图像可以具有各种动态范围,但是解码器可以解码以输出具有能够比接收到的图像的动态范围更高或更低的动态范围的图像(读者能够通过首先简单地假定sdr图像被传递来理解所述系统,该sdr图像被亮度变换为例如在内容侧处创建的主hdr图像的重建,并且然后考虑并且找到利用我们的发明等效地可计算的其他变型,例如根据接收到的1000nitim_cod编码图像计算1500nit输出图像等),实际上总有以该方式传递的是特定场景的高动态范围图像,无论其包含什么内容(或者更精确地,该场景的两个不同地分级的外观被传递,即较低动态范围和较高动态范围的图像对,并且,甚至允许接收器计算又一不同的第三动态范围的重新分级图像的所有信息)。

无需使得所述权重针对整幅图像应当相同,因此对于一些更高级的系统而言,如果所述高动态范围视频解码器(500)还被布置为接收三个权重值的第二集合(kry2,kgy2,kby2),并且包括像素条件测试器(601),所述像素条件测试器被布置为测试以下项中的至少一个:正被处理的所述像素的所述图像中的空间位置(x,y);或者所述像素的颜色是否在指定颜色(u1,v1)的特定范围内,则可以是有利的。其能够在原则上单独地进行测试以得到针对每个像素的不同的k-权重值。当然,k-权重将仍然需要被传递,因此通常地将存在第一三元组和第二三元组,并且可以存在更多另外的三元组,并且可以存在像素测试,其对第一情形中的像素进行分类,在该情况下,权重的第一三元组应当被用于计算适当的亮度指数j’,并且如果所述测试指示第二情形,则使用第二接收到的k-权重。其能够是使得在封闭系统中创建侧知道接收器将总是使用哪种测试算法,因此其能够可靠地确定接收器将做什么,何时使分级者优化k-权重(在一个步骤中,或者迭代地直到它们变好)。更高级的实施例能够甚至传递测试准则(例如,在电影的开始)。技术读者能够理解人们能够如何确定测试准则(例如,基于甚至一种传递颜色(u1,v1))。为了阐明这一点,我们给定图7中的两个范例。例如,在图7b中,所述测试能够是颜色是否存在于以在(u1,v1)周围的delta_色调角为边界的扇区中,是否固定在接收器中,或者被传递作为另外的元数据。并且,所述测试假定可以例如是仅最饱和的颜色应当针对待使用的k-权重的第二集合肯定地进行测试(例如,如果正被处理的像素的饱和度高于(u1,v1)颜色的饱和度的75%)。技术读者能够想象描绘或者传递颜色区域(例如,经由两个delta_色调和饱和度边界或者最小和最大颜色边界等)的其他方式。在图7a中,我们例示了几何测试,即,如果像素位置是(x,y),则由像素条件测试器(601)执行的测试将是肯定的,但是当然更复杂的测试规范是可能的,这允许若干像素位置的识别,并且能够组合各种测试条件。

为了允许以上hdr解码器,人们需要在内容创建或者通常(转换)编码侧处的对应的高动态范围视频编码器,其可以具有各种自动、半自动或者手动实施例,但是其根据本发明原理将通常地包括:

-输入部(502),其用于接收三个权重值(kry,kgy,kby);

-视频解码器(501),其被布置为将所述编码(im_cod)解码为用y’cbcr颜色表示的中间图像(im_rldr);

-亮度指数计算单元(503),其被布置为计算针对所述中间图像(im_rldr)的每个像素的亮度指数(j'),所述亮度指数被定义为j’=y’+max{kry*(r’-y’),kgy*(g’-y’),kby*(b’-y’)},

其中,kry、kgy、kby表示所述三个权重值,y’是所述y’cbcr颜色表示的亮度值,并且r’、g’和b’是能根据所述y’cbcr颜色表示的y’、cb和cr值导出的非线性颜色分量值;

-亮度映射器(505),其被布置为接收至少一个一维函数f_ct的详细说明并利用所述亮度指数(j’)作为输入而应用所述至少一个一维函数f_ct,以获得输出亮度指数(j*);

-乘法因子计算单元(506),其被布置为计算乘法因子(g),所述乘法因子等于所述输出亮度指数(j*)除以所述亮度指数(j’);

-三个乘法器(509、510、511),其用于将所述中间图像(im_rldr)的每个像素的各个颜色分量(y,cr,cb)乘以所述乘法因子(g),以获得具有与所述中间图像不同的动态范围的输出图像(im_rec)的输出颜色(y’h,cb’h,cr’h);

输出部,其用于所述编码(im_cod)、所述函数(f_ct)和所述三个权重值(kry,kgy,kby);以及

-器件(820、821),其用于评价所述中间图像和所述输出图像中的至少一个的颜色质量。

对于手动编码系统而言,所述器件可以是至少一个显示器(821),其将通常地是参考监视器,并且其允许内容创建者在所述hdr图像具有其细节且所有待传递的参数与其当前一样的情况下检查当前设置在接收侧处将得到什么质量。

如果所述质量小于预定最小值,则针对所述三个k-权重值(kry,kgy,kby)的新值的建议可以由创建者完成,例如他可以知道在特定情况中将kby值降低50%可以给出更好的视觉质量结果,特别是颜色的合适度,他可以在用户接口(804)上完成kby的这种改变,该用户接口例如为分级控制台上的转盘,该转盘被链接到编码器的硬件或者在计算机上运行的其软件版本。完全自动系统可以基于预编码的行为规则来工作。例如,所述系统可以提出k-权重的集合,其在给定(一幅或多幅)图像的情况下在推测上是最佳或者足够好的,例如亮度的直方图,而且例如噪声表征度量等。在该情况中所述器件(820)将是计算单元测量特性参数,其指示不同动态范围图像对的两幅图像中的至少一幅(即,通常是hdr,例如1000nitpb_c图像和sdr图像)是否具有足够的质量。该一些自动系统或者分级者检查仅一幅图像,因为一些应用可能仅关心分级之一的质量(例如,仅hdr质量)。但是,读者应当理解,在该系统中将仍然存在两幅不同动态范围图像,或者两个不同的分级(无论人类确定还是自动确定的),因为编码系统可以仍然传递该hdr图像以实际上被消耗为对应的sdr图像。因此,基本上存在两个变型。然而,我们阐明图8中的原理,其中仅sdr图像(im_ldr)被编码,并且然后编码器镜像解码器硬件以允许检查hdr重建的im_rec将可获得什么重建质量,相同电路可以经必要的修改被用于获得hdr图像作为im_cod,并且因此利用电路计算对应的sdr图像作为输出图像。用于评价颜色质量的自动器件(820、821)能够例如计算颜色差异度量(例如,q=a*delta_colorfulness),其中,delta_colorfulness是hdr对比sdr分级(或者通常是第一动态范围图像和第二动态范围图像)中的所选择的颜色的集合上的彩色度的平均差。但是,在其他实施例中,人们还能够测量相同动态范围的原始图像和重建的(即,接收器侧)图像(例如,mast_hdr对比重建的hdr图像)之间的彩色度或者其他颜色差。并且,自动质量评价器件能够基于若干这样的度量来计算最终质量。如果质量太低,则其能够提出不同的kry、kgy和kby值。一些实施例能够盲目地迭代地这样做,直到实现良好的质量,或者迭代的数目超过最大数目。更好的自动系统从人工智能规则知道在哪个方向上以及(对于特定评价情况)其大致应当如何改变k-权重。

最后,在所有参数(并且特别是k-权重)适当的情况下,该数据被输出,例如以特定元数据格式,例如专用sei消息或者另一通信技术中的等效消息,以到达时间存储存储器或者便携式存储器产品或者网络链路等。注意,原则上人们还能够使用超过三个k-权重,例如当存在黄色通道等时,但是可能大多数实施例将与三个典型的颜色通道匹配。

附图说明

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

在附图中:

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

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

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

图4示意性地示出了函数形状如何能够确定针对图像像素的亮度改变,而且对应于像素颜色的各种输入值如何能够导致各种不同的亮度改变,即对应于应用到输入图像的特定亮度变换中的这样的颜色的输出图像的不同的艺术外观;

图5示意性地示出了hdr视频解码器的新发明的颜色变换部分;

图6示意性地示出了新解码器的更复杂的实施例,包括允许权重的至少两个传递的三元组中的一个的适当的选择的条件测试器(601);

图7阐明了能够由条件测试器执行的测试的两个可能范例;并且

图8利用一个范例阐明典型的创建侧系统并且特别是其hdr视频编码器能够看起来如何。

具体实施方式

上文已经解释了图1-4。然而,我们想要指出,它们是这些原理的仅(阐明)实施例,例如代替实际上划分以获得g,这能够在实际变型中被实现为单个lut、已经划分的等。

图5示出了新解码器500的简单的实施例。其具有接收编码图像的输入部,编码图像例如是通常根据传统hevc压缩(即,有损压缩,但是可以存在其他变型,因为这仅是阐明的一个可能的实施例)编码的sdr图像。视频解码器(501)应用hevc解码,并且产生正常图像,其像素颜色用y’c’bc’r表示所表示,即rec.709色度+两个色度(即,无论什么像素颜色,人们都可以将该图像解读为正常sdr)。三个k-权重经由输入部502接收,并且我们将假定它们针对相同hdr场景的n幅图像的当前拍摄保持恒定,即,它们已经在该拍摄的第一幅图像的处理之前被传递和提取。亮度指数计算单元(503)被布置为连续地计算针对例如具有那些y’c’bc’r颜色的中间图像(im_rldr)的之字形扫描中的每个像素的亮度指数(j’),该亮度指数被定义为j’=y’+max{kry*(r’-y’),kgy*(g’-y’),kby*(b’-y’)},具有目前适用的k-权重。由此其将根据标准的y’c’b和c’r计算r’-y’等,因为例如rec.709标准基于那些非线性色差r’-y’等来唯一地定义c’b和c’r。然后,建立乘法因子g,如在我们的现有技术中上文所解释的(其任何实施例再次是可用的),并且最终亮度变换经由三个乘法器(509、510、511)实现,产生也容易地用类似地标准化y’c’bc’r表示的对应的输出颜色。所要求的亮度变换形状f_ct的编码还可以以各种方式输入,这取决于解码器驻存在哪个实际系统中,例如它可以从蓝光光盘上的扇区读取此,或者接收元数据信号等。但是,现在我们具有针对不同动态范围的输出图像的正确颜色,在不丧失一般性的情况下我们将其假定为hdr图像,例如,具有pb_c=1000nit。另一颜色变换单元512可以存在以将颜色直接地变换为例如用于驱动某个连接的显示器520的某个r”g”b”表示。

图6示出了相同的解码器部件,但是现在用于接收两个以被使用备选k-权重三元组的实施例,以及当计算针对当前正被处理的像素的亮度指数j’时应当应用测试那两个中的哪一个的条件测试器601。技术读者可以理解,解码器制造器可以根据该原理建立各种测试器,并且原理是重要而不是细节。

图8仅示出了用于理解创建/编码侧能够看起来如何的一个阐明实施例。我们假定在该实施例中,主hdr分级mast_hdr已经被先前地创建,并且从存储器801读取。我们假定分级者现在将创建针对mast-hdr的sdr等效分级(但是在其他实施例中两者可能已经被先前地做出,并且解码器仅将两者解码为例如sdr图像+元数据的1个连续的集合(针对视频的至少一幅图像,亮度变换函数,以及在适当的情况下k-权重))。sdr图像通过使用颜色分级者802分级,其可以应用各种比色变换,但是我们仅为于理解原理而假定例如幂函数被用于映射亮度(例如,具有1/8的伽玛)。该sdr图像然后利用编码器810编码(例如,完成hevc编码)。在该范例中,我们假定其中内容创建/编码系统包括解码器的镜像的典型的配置,但是其他变型将是可能的。我们已经给定那些镜像部件与在图5中的数目相同,并且我们假定精确地进行相同处理。然而,现在编码器800具有输出部以使所采集的数据被传递到任何接收器。我们假定在该实施例中存在用于编码(例如,sdr)图像im_cod的单独的第一输出部830,以及用于元数据的第二输出部831,其编码(一个或多个)亮度映射函数f_ct和也在(一个或多个)接收侧处需要的k-权重。技术读者可以想象这样的输出部实际上将如何被实现用于各种hdr视频通信系统(例如,基于ott因特网的、卫星tv、生产侧与(例如有线运营商的)例如中间中继站之间的专业链接、等),并且我们将当其不是对于理解本发明需要的核心特性时不对其进一步详细说明。还与解码侧不同的在于,第二动态范围的输出图像(即,例如,1000或者5000nitmast_hdr视频的重建im_rec)现在被输出用于评价而不是用于如在解码器中的最终消耗。分级者可以想要检查第一显示器821和第二显示器820(例如,sdr监视器和5000nit参考hdr监视器)中的至少一个上的图像。在他不满意k-权重的值和随后的解码质量以及特别是其针对各种图像对象颜色的比色行为的情况下,无论k-权重由他先前地确定还是自动确定或者预设,他可能想要经由用户接口804改变他们中的至少一个。如上所述,相同内容可以被实现在各种自动实施例中(例如,在照相机或者ob转播车中),并且然后人类可以仍然观看至少一个显示器上的质量,并且可能甚至在某些时间处通过从其自动值改变k-权重来进行校正,但是在其他实施例中,人类可能不存在。注意,在解码器镜像路径中使用的函数将通常被复制为在hdr到ldr分级中(即,在颜色分级者802中)使用的函数的逆。

当在三个颜色分量乘法重新变亮实施例中工作时本发明是非常有利的情况下,其还可以被使用在更高动态范围视频编码器或解码器的其他亮度改变实施例中。例如,当我们具有对应于输入亮度的合适索引的输出亮度(根据需要)时,人们可以使用本方法(/装置)处理例如仅亮度或者亮度信道,然后利用色度完成其他处理。这可能导致稍微不同的比色行为,例如色调或者饱和度偏移,但是至少一个k-权重的选择能够经必要的修改被使用在这些系统中以获得最合适的hdr和sdr或者第一动态范围外观图像和第二动态范围外观图像。通过输出亮度指数(j*)除以亮度指数(j’)的比(即,亮度与亮度之间的关系)所确定的因子(g1)的乘法通过涉及像素颜色亮度的那两个等效表征的函数来确定。即,g1是g的函数。例如,如果我们考虑亮度y’被定义为亮度的平方根,当比如说l_out=g1*l_in时,我们还可以说y’_out=sqrt(l_out)=sqrt(g1*l_in)=g*y_in,或者g=sqrt(g1)。即,如果sqrt函数是定义与要渲染的亮度相对应的亮度代码的oetf或者代码分配函数,则新乘法常量的函数关系(对于单个幂函数而言)意指:g=oetf(g1)。

本文中公开的算法分量可以(全部或部分地)实际上被实现为硬件(例如,程序特定ic的部分)或者在特殊数字信号处理器或通用处理器等上运行的软件。

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

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

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

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

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

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