HK1244581B - 像素预处理和编码 - Google Patents
像素预处理和编码Info
- Publication number
- HK1244581B HK1244581B HK18103836.2A HK18103836A HK1244581B HK 1244581 B HK1244581 B HK 1244581B HK 18103836 A HK18103836 A HK 18103836A HK 1244581 B HK1244581 B HK 1244581B
- Authority
- HK
- Hong Kong
- Prior art keywords
- color space
- nonlinear
- component value
- color
- chromaticity
- Prior art date
Links
Description
技术领域
提出的实施例一般涉及在图片中像素的预处理和编码,并且具体而言,涉及改善像素的亮度值的此类预处理和编码。
背景技术
在数字视频信号中,每个样本(即像素分量)由整数或浮点值表示。诸如屏幕、电视或监视器等显现视频的显示器基于视频信号的数字值而忽略可见光。将数字值转换成可见光的函数是电光传递函数(EOTF)。EOTF在传统上一直表述为称为伽玛函数的指数函数,其中,伽玛是指数值。这一般为2.4(但也能够是其它值):。
使用伽玛函数对低亮度信号效果很好,但在亮度超过100尼特(cd/m2)时,伽玛函数未很好地与人类视觉系统的对比度灵敏性一致。因此,定义了更非线性的传递函数,例如:
[1]
此传递函数比伽玛函数更非线性,表现为在超过从0到1的范围上其一阶导数的最大值大于伽玛函数的该最大值。
色度(chroma)二次采样(subsample)一般在压缩前作为减少数据量的初始步骤进行。在4:2:2中,色度信号在垂直方向被降低到一半分辨率。在4:2:0中,色度信号在垂直方向和水平方向均被降低到一半分辨率。这一般通过某一过滤操作来进行,以获得良好质量的信号,但也能够使用最近邻居来进行。
为显示4:2:0或4:2:2视频,解码器执行色度信号的上采样,这能够使用双线性过滤器或更长过滤器来进行。
然而,高度非线性传递函数、4:2:0或4:2:2二次采样和非恒定亮度排序的组合引发了视频数据的严重伪影,特别是对于饱和颜色,即接近色域边缘的颜色。
有几种回避此问题的方式。一种方式是不使用4:2:0或4:2:2二次采样,而是转而使用4:4:4。然而,那是昂贵的,因为4:2:0在压缩前将比特的数量减半,而4:2:2将比特数量减少到三分之二。另一方式是不使用高度非线性传递函数。然而,那意味着难以在暗区域中无条带的情况下表示极高峰值亮度的内容。第三种方式是使用恒定亮度,即,在转换到CIE1931 XYZ颜色空间后应用传递函数。然而,此类解决方案与广播业内的通常实践不一致,并且在一些情形下实现起来可能是困难和成本高昂的。
发明内容
一般目的是提供像素的预处理以防止伪影。
这些和其它目的通过如本文中公开的实施例而得以满足。
实施例的一方面涉及预处理在图片中的像素的方法。方法包括获得基于在第一颜色空间中像素的线性颜色确定的在第三颜色空间中像素的原始线性亮度分量值。方法也包括基于在第二颜色空间中的第一非线性色度分量值、在第二颜色空间中的第二非线性色度分量值和在第三颜色空间中的原始线性亮度分量值,导出用于像素的在第二颜色空间中的非线性luma分量值。
实施例的另一方面涉及用于预处理在图片中的像素的装置。装置配置成获得基于在第一颜色空间中像素的线性颜色确定的在第三颜色空间中像素的原始线性亮度分量值。装置也配置成基于在第二颜色空间中的第一非线性色度分量值、在第二颜色空间中的第二非线性色度分量值和在第三颜色空间中的原始线性亮度分量值,导出用于像素的在第二颜色空间中的非线性luma分量值。
实施例的有关方面定义用于预处理在图片中的像素的装置。装置包括用于获得基于在第一颜色空间中像素的线性颜色确定的在第三颜色空间中像素的原始线性亮度分量值的确定单元。装置也包括用于基于在第二颜色空间中的第一非线性色度分量值、在第二颜色空间中的第二非线性色度分量值和在第三颜色空间中的原始线性亮度分量值,导出用于像素的在第二颜色空间中的非线性luma分量值的导出器。
实施例的又一方面涉及用于编码在图片中的像素的装置。装置包括处理器和存储器,存储器包括由处理器可执行的指令。处理器操作以获得基于在第一颜色空间中像素的线性颜色确定的在第三颜色空间中像素的原始线性亮度分量值。处理器还操作以基于在第二颜色空间中的第一非线性色度分量值、在第二颜色空间中的第二非线性色度分量值和在第三颜色空间中的原始线性亮度分量值,导出用于像素的在第二颜色空间中的非线性luma分量值。处理器还操作以编码非线性luma分量值、第一非线性色度分量值和第二非线性色度分量值。
实施例的有关方面定义用于编码在图片中的像素的装置。装置包括用于获得基于在第一颜色空间中像素的线性颜色确定的在第三颜色空间中像素的原始线性亮度分量值的确定单元。装置也包括用于基于在第二颜色空间中的第一非线性色度分量值、在第二颜色空间中的第二非线性色度分量值和在第三颜色空间中的原始线性亮度分量值,导出用于像素的在第二颜色空间中的非线性luma分量值的导出器。装置还包括用于编码非线性luma分量值、第一非线性色度分量值和第二非线性色度分量值的编码器。
实施例还有的另一方面涉及包括指令的计算机程序,所述指令在由处理器执行时,促使处理器获得基于在第一颜色空间中像素的线性颜色确定的在第三颜色空间中在图片中的像素的原始线性亮度分量值。处理器还被促使成基于在第二颜色空间中的第一非线性色度分量值、在第二颜色空间中的第二非线性色度分量值和在第三颜色空间中的原始线性亮度分量值,导出用于像素的在第二颜色空间中的非线性luma分量值。
实施例的有关方面定义包括根据以上的计算机程序的载体。所述载体是电子信号、光信号、电磁信号、磁信号、电信号、无线电信号、微波信号或计算机可读存储媒体之一。
实施例的又一方面涉及表示在图片中的像素的编码版本的信号。编码版本包括根据以上导出的在第二颜色格式中的二次采样的第一非线性色度分量值的编码版本、在第二颜色空间中的二次采样的第二非线性色度分量值的编码版本和在所述第二颜色格式中的非线性luma分量值的编码版本。
提出的实施例提供像素预处理和编码,其防止否则可由于与色度二次采样组合的非线性传递函数的使用而发生的伪影。主观上,亮度中的质量改善即使对于未压缩视频也是明显可见的。
附图说明
通过参考以下描述并结合附图一起理解,可最好地理解实施例以及连同其进一步的目的和优点,其中:
图1是示出根据一实施例,预处理像素的方法的流程图;
图2是示出根据一实施例,图1中显示的方法的另外可选步骤的流程图;
图3是示出根据另一实施例,图1中显示的方法的另外可选步骤的流程图;
图4是示出根据一实施例,图3中显示的方法的另外可选步骤的流程图;
图5是示出实现图1中的导出步骤的一实施例的流程图;
图6是示出根据一实施例,图5中显示的方法的另外可选步骤的流程图;
图7是示出根据一实施例,用来形成编码像素的方法的在图1中显示的方法的另外步骤的流程图;
图8示出根据一实施例,导出校正的Y'的技术;
图9示出不同线性化能够在不同区域中使用;
图10是示出能够在编码器中或者在到编码器的预处理中执行的方法的流程图;
图11是根据实施例的装置的硬件实现的示意图;
图12是根据实施例的带有处理器和存储器的装置的实现的示意图;
图13是根据一实施例的用户设备的示意图;
图14是带有功能模块,根据实施例的装置的实现的示意图;
图15示意性地示出在多个网络装置之中实施例的分布式实现;
图16是根据一实施例,带有一个或多个基于云的网络装置的无线通信系统的示例的示意图;
图17A-17C示出在只有下采样和上采样而无压缩的情况下,原始4:4:4图片(图17A)、在经传统处理4:2:0后的图片(图17B)和在经提出的处理4:2:0后的图片(图17C);
图18A-18C示出在只有下采样和上采样而无压缩的情况下,原始4:4:4图片(图18A)、在经传统处理4:2:0后的图片(图18B)和在经提出的处理4:2:0后的图片(图18C);
图19示出线性亮度(CIE1931 XYZ空间中的Y)在原始图片(底部)和处理后的图片(顶部)中大不相同;
图20示出如下技术:通过更改在单独像素中的Y'值,可能达到与所期望的线性亮度Y相匹配的线性亮度Ŷ;
图21示出对比度灵敏性的Barten曲线;以及
图22示出在Rec709与BT.2020色域之间的比较。
具体实施方式
在通篇的图中,相同的标号用于类似或对应的元素。
提出的实施例一般涉及在图片中像素的预处理和编码,并且具体而言,涉及改善像素的亮度值的此类预处理和编码。
传统压缩链涉及馈送一般范围在0到10,000 cd/m2的入射线性光的像素到逆传递函数,这产生在0与1之间的新像素值。在此之后,像素经历颜色变换,产生luma分量和两个色度分量。随后,对所述两个色度分量进行二次采样,诸如到4:2:0或4:2:2。在解压缩后,4:2:0或4:2:2序列被上采样到4:4:4,进行逆颜色变换,并且最后,传递函数归还能够在监视器上输出的线性光的像素。
高度非线性传递函数、色度二次采样和非恒定亮度排序的组合引发了视频数据的严重伪影,特别是对于饱和颜色。麻烦来源于色度分量经过内插值,而luma分量不经过内插值的事实。因此,在像素中luma分量中能够存在锐利的移动,但色度分量由于它们经过内插值,因此不能跟随。对于一些颜色,特别是饱和颜色,结果是完全错误强度的像素,其作为伪影是明显可见的。
根据实施例的像素的预处理能够用于防止或至少降低伪影的影响,由此产生更接近像素的入射“真实”颜色的颜色。
颜色空间或颜色格式是颜色(其源于颜色模型的颜色分量的组合)的类型和数量。颜色模型是描述颜色能够被表示为数字的元组(即颜色分量)的方式的抽象配置。颜色分量具有几个截然不同的特征,诸如分量类型(例如色调)、以及其的单位(例如度数或百分比)、或标度类型(例如线性或非线性)、以及称为颜色深度或比特深度的值的其预期数字。
通常用于图片和视频中像素的非限制性但说明性的颜色空间包括红、绿、蓝(RGB)颜色空间、luma、色度蓝和色度红(YCbCr,有时表示为Y’CbCr、Y’Cb’Cr’、YCBCR、Y’CBCR或Y’CB’CR’)颜色空间及亮度和色度(XYZ)颜色空间。
图1是示出预处理在图片中的像素的方法的流程图。方法包括在步骤S1中获得基于在第一颜色空间中像素的线性颜色确定的在第三颜色空间中像素的原始线性亮度分量值。方法随后继续到步骤S2,其包括基于在第二颜色空间中的第一非线性色度分量值、在第二颜色空间中的第二非线性色度分量值和在第三颜色空间中的原始线性亮度分量值,导出用于像素的在第二颜色空间中的非线性luma分量值。
图1中的像素预处理采用在第二颜色空间中的两个非线性色度分量。在第二颜色空间中的两个非线性色度分量能够是在第二颜色空间中二次采样的第一非线性色度分量值和在第二颜色空间中二次采样的第二非线性色度分量值。在一特定实施例中,这两个非线性色度分量是Cb'和Cr'分量。更优选的是,非线性色度分量是在4:2:0或4:2:2格式中的Cb'和Cr'分量。相应地,第二颜色空间在此实施例中是YCbCr颜色空间。撇号“'”用于指示所述两个色度分量是非线性色度分量。
在此类情况下,图1的步骤S2优选包括基于在第二颜色空间中二次采样的第一非线性色度分量值、在第二颜色空间中二次采样的第二非线性色度分量值和在第三颜色空间中的原始线性亮度分量值,导出在第二颜色空间中的非线性luma分量值。
在一备选实施例中,在第二颜色空间中的所述两个非线性色度分量值不一定必须进行二次采样,而是能够采用在第二颜色空间中的非采样的非线性色度分量值或在第二颜色空间中的上采样的非线性色度分量值的形式。在后一情形中,在对第二颜色空间中二次采样的非线性色度分量值进行上采样后,获得上采样的非线性色度分量值。在此备选实施例中,非线性色度分量是在4:4:4格式中的Cb'和Cr'分量。
在一实施例中,基于在第一颜色空间中像素的线性颜色,获得在像素的第二颜色空间中的第一和第二非线性色度分量值。在一特定实施例中,此第一线性颜色空间是RGB颜色空间。相应地,在第一颜色空间中像素的线性颜色在此特定实施例中是像素的RGB颜色。
在一实施例中,上面提及的第三颜色空间是XYZ颜色空间。相应地,在第三颜色空间中像素的线性亮度在此特定实施例中是Y分量。
图1中的处理器因此获得或提供基于在第一颜色空间中像素的线性颜色确定的在第三颜色空间中像素的原始线性亮度分量值。此原始线性亮度分量值优选反映像素的真实亮度,即,在任何颜色变换、传递函数的应用和二次采样前像素的原始亮度。基于第一颜色空间中像素的线性颜色,确定此原始线性亮度分量值。在一实施例中,第一颜色空间中像素的此线性颜色是像素的原始入射颜色。在一特定实施例中,此原始入射颜色在本文中表示为ROGOBO,并且原始线性亮度分量表示为YO。
原始线性亮度因此是能够以许多不同方式计算的目标亮度。此原始线性亮度不一定必须直接对应于在拍摄图片或记录视频的摄像机中或者在显示器的面板中传感器的实际亮度。
第三颜色空间中的原始线性亮度分量值能够被获得到预处理和编码功能性,作为原始线性亮度分量值,优选为YO值(采用预确定或预计算的形式)。这意味着基于在第一颜色空间中的线性颜色的原始线性亮度分量值的确定已经发生,并且仅确定的结果被提供到预处理和编码功能性。
在一备选实施例中,实施例的预处理包括原始线性亮度分量值的确定或计算。在此类一实施例中,图1的步骤S1优选包括基于在第一颜色空间中的线性颜色,确定在第三颜色空间中的原始线性亮度分量值。
随后,基于在第二颜色空间中的第一和第二非线性色度分量值和在第三颜色空间中的原始线性亮度分量值,在步骤S2中导出用于像素的在第二颜色空间中的非线性luma分量值。因此,在一实施例中,在YCbCr颜色空间中的非线性luma分量Y'是YCbCr颜色空间中的Cb’和Cr’分量以及在XYZ颜色空间中的YO分量的函数,即,Y’=f(Cb’,Cr’,YO)。YO分量进而基于RGB颜色空间中像素的ROGOBO颜色被确定,即,YO=g(RO,GO,BO)。相应地,Y’=f(Cb’,Cr’,g(RO,GO,BO))。
预处理的像素随后由在第二颜色空间中的导出的非线性luma分量(Y')和两个二次采样的非线性色度分量(Cb',Cr')来表示,即,Y'Cb'Cr'。因此,元组Y'Cb'Cr'表示像素的预处理的颜色,优选采用4:2:0或4:2:2格式,即,带有二次采样的色度分量但非二次采样的luma分量。
在一实施例中,图1的步骤S2包括导出使第三颜色空间中的原始线性亮度分量值与第三颜色空间中的线性亮度分量值之间的差最小化的在第二颜色空间中的非线性luma分量值,其中在第三颜色空间中的该线性亮度分量值基于第二颜色空间中的非线性luma分量值、第二颜色空间中的第一非线性色度分量值和第二颜色空间中的第二非线性色度分量值被确定。
因此,在此实施例中,步骤S2涉及查找使第三颜色空间(XYZ)中的原始线性亮度分量(YO)值与线性亮度分量(Y)值之间的差最小化的在第二颜色空间(YCbCr)中的非线性luma分量(Y')值。第三颜色空间(XYZ)中的此线性亮度分量(Y)值进而基于第二颜色空间(YCbCr)中的非线性luma分量(Y')值和所述两个非线性色度分量(Cb',Cr')值被获得。
因此,此实施例涉及查找使差|YO – Y|或(YO – Y)2最小化的Y'分量值,其中,Y=h(Y’,Cb’,Cr’),并且h(.)定义Y基于Y'、Cb'和Cr'被确定。
在一备选但有关实施例中,步骤S2涉及导出使第三颜色空间中的原始亮度分量值的函数与第三颜色空间中线性亮度分量值的函数之间的差最小化的在第二颜色空间中的非线性luma分量值。在第三颜色空间中的此线性亮度分量值是基于在第二颜色空间中的非线性luma分量值、在第二颜色空间中的第一非线性色度分量值和在第二颜色空间中的第二非线性色度分量值被确定。
因此,此实施例涉及查找使差|k(YO)–k(Y)|或(k(YO)– k(Y))2最小化的Y'分量值,其中,Y=h(Y’,Cb’,Cr’)。
函数(k(.))优选是逆传递函数,诸如传递函数[1]的逆。
为诸如视频序列的图片中的至少一个像素执行图1的方法步骤S1和S2。在一实施例中,优选为图片中多个(即至少两个)像素执行步骤S1和S2,这通过线L1示意性地指示。在一特定实施例中,为图片中的所有像素执行步骤S1和S2。
在另一特定实施例中,为图片中产生如本文中前面所述的视觉伪影的那些像素执行步骤S1和S2。通过比较在第三颜色空间中用于像素的原始线性亮度分量(YO)值和基于在第二颜色格式中的非线性luma和色度分量(Y',Cb',Cr')值而确定用于像素的在第三颜色空间中的线性亮度分量(Y)值,能够识别这些像素,并且其中这些非线性luma和色度分量值在没有根据本发明的任何预处理的情况下根据典型压缩链被导出。在该后一实施例中,实施例的预处理由此只应用到典型压缩链在其处产生luma分量中的误差的图片中的那些像素。
备选的是,通过比较Cb'和Cb分量值和/或Cr'和Cr分量值,即上采样的Cb’和/或Cr’分量值(其中通过对R’G’B’颜色应用第一颜色变换来获得对应的Cb和/或Cr'分量值),能够识别图片中产生视觉伪影的像素,其中,通过分别对原始ROGOBO颜色的RO、GO和BO应用逆传递函数来获得R’、G’和B’。
另一变化是为具有饱和颜色(即处在或接近域边缘的颜色)的那些像素执行步骤S1和S2。
图2是示出图1中显示的方法的另外可选步骤的流程图。图2的步骤示出用于基于在第一颜色空间中的线性颜色,导出在第二颜色空间中的二次采样的非线性色度分量值的典型处理链。该方法从步骤S10开始,其包括对第一颜色空间中的线性颜色应用第一传递函数,以得到在第一颜色空间中的非线性颜色。下一步骤S11包括对第一颜色空间中的非线性颜色应用第一颜色变换,以得到在第二颜色空间中的非线性颜色。在第二颜色空间中的非线性颜色包括初始第一非线性色度分量值和初始第二非线性色度分量值。随后的步骤S12包括对在第二颜色空间中的该初始第一非线性色度分量值和在第二颜色空间中的该初始第二非线性色度分量值进行二次采样,以得到在第二颜色空间中的二次采样的第一非线性色度分量值和在第二颜色空间中的二次采样的第二非线性色度分量值。该方法随后继续到图1中的步骤S1。
在图2的典型处理链的一实施例中,对像素的ROGOBO颜色,即像素的原始颜色,应用第一传递函数(诸如传递函数[1]的逆),以得到在RGB颜色空间中的非线性颜色R’G’B’。随后,使用诸如以下颜色变换的第一颜色变换,将此R’G’B’颜色从RGB颜色空间颜色变换到YCbCr颜色空间:
在步骤S11中第一颜色变换的应用后所得到的像素的Y’Cb’Cr’颜色是非压缩的Y’Cb’Cr’颜色,即,在4:4:4格式中。随后的步骤S12对所述两个色度分量Cb’和Cr’进行二次采样,以得到在4:2:0或4:2:2格式中的颜色,即,带有二次采样的非线性色度分量Cb’和Cr’。
根据已知二次采样技术,能够执行在步骤S12中的二次采样。例如,能够使用过滤操作或最近邻居操作。在文档[4]中段B.1.5.5 Chroma downsampling from 4:4:4 to 4:2:0中公开了能够根据实施例使用的二次采样技术的示例。
图3是示出图1中显示的方法的另外可选步骤的流程图。这些步骤示出另外的处理,以便导出用于图片中像素的最佳非线性luma分量值。方法从图1中的步骤S1或图2中的步骤S12继续。方法通过在步骤S20中对在第二颜色空间中的二次采样的第一非线性色度分量值和在第二颜色空间中的二次采样的第二非线性色度分量值进行上采样,以得到在第二颜色空间中的上采样的第一非线性色度分量值和在第二颜色空间中的上采样的第二非线性色度分量值而继续。下一步骤S21包括对在第二颜色空间中的候选非线性luma分量值、在第二颜色空间中的该上采样的第一非线性色度分量值和在第二颜色空间中的该上采样的第二非线性色度分量值应用第二颜色变换,以得到在第一颜色空间中的非线性颜色。下一步骤S22包括对在第二颜色空间中的非线性颜色应用第二传递函数,以得到在第一颜色空间中的线性颜色。最后,在步骤S23中对在第一颜色空间中的线性颜色应用第三颜色变换,以得到在第三颜色空间中的线性亮度分量值。方法随后继续到图1中的步骤S2,其包括基于在第三颜色空间的原始线性亮度分量值与在第三颜色空间中的线性亮度分量值的比较,导出非线性luma分量值。
因此,在一实施例中,先将4:2:0或4:2:2格式中的二次采样的Cb'和Cr'分量值上采样到4:4:4格式。在步骤S20中的上采样能够根据已知上采样技术执行。例如,能够通过使用双线性或更长过滤器执行上采样。在文档[4]中段B.1.5.6 Chroma upsampling from 4:2:0 to 4:4:4 (Y’CbCr域)中公开了能够根据实施例使用的上采样技术的示例。
这两个上采样的Cb'和Cr'分量值随后与候选Y'分量值一起被输入诸如以下颜色变换的第二颜色变换,以得到非线性R’G’B’颜色:
对于Rec.709颜色空间,a13 = 1.57480,a22 = 0.18732,a23 = 0.46812,a32 =1.85560,并且对于BT.2020颜色空间,a13 = 1.47460,a22 = 0.16455,a23 = 0.57135,a32= 1.88140。
通常,R’、G’和B’能够采用在间隔[0,1]内的值。相应地,第二颜色变换也可包括箝位或削波操作,诸如对于R'分量的,其中,如果x<a,则clip(x, a, b)等于a,并且如果x>b,则等于b,否则,等于x。
此R’G’B’颜色随后被输入诸如传递函数[1]的第二传递函数,以得到线性RGB颜色。随后,使用诸如以下颜色变换的第三颜色变换,将此RGB颜色从RGB颜色空间变换到XYZ颜色空间:
随后,比较从第三颜色变换输出的线性亮度分量Y值和在步骤S2中像素的原始线性亮度分量YO值。
在一实施例中,图1的步骤S2包括选择使得在第三颜色空间中的原始线性亮度分量值与在第三颜色空间中的线性亮度分量值之间的差减小的在第二颜色空间中的候选非线性luma分量值。
因此,步骤S2优选地包括选择至少导致在原始线性亮度分量值与在步骤S23中获得的线性亮度分量值之间的差减小的在第二颜色空间中的候选非线性luma分量值。在一特定实施例中,步骤S2包括选择使得第三颜色空间中的原始亮度分量值与线性亮度分量值之间的差最小化的在第二颜色空间中的候选非线性luma分量值。
如前面中所提及的,此差能够表示为|YO – Y|或(YO–Y)2,其中,Y是在图3的步骤S23中获得。
在一备选但有关的实施例中,步骤S2涉及选择减小或优选最小化在第三颜色空间中的原始亮度分量值的函数与在第三颜色空间中的线性亮度分量值的函数之间的差的在第二颜色空间中的候选非线性luma分量值,即,选择使差|k(YO)–k(Y)|或(k(YO)– k(Y))2最小化的候选Y'分量值。
在一实施例中,为在第二颜色空间中的不同候选非线性luma分量值执行图3中的步骤S21到S23,这通过线L2示意性地示出。在此类情况下,步骤S2优选包括选择第二颜色空间中不同候选非线性luma分量值中的导致第三颜色空间中原始线性亮度分量值与第三颜色空间中线性亮度分量值之间的最小的差,或者第三颜色空间中原始线性亮度分量值的函数与第三颜色空间中线性亮度分量值的函数之间的最小的差的候选非线性luma分量值。
这意味着多次并且使用步骤S21中的不同候选Y'分量值,执行步骤S21到S23的循环。随后,选择然后导致YO与Y之间或者k(YO)与k(Y)之间最小的差的候选Y'分量值,并且将其与二次采样的Cb’和Cr’分量值一起用作像素的颜色表示。
下面的实施例关于第三颜色空间中的原始线性亮度分量值与第三颜色空间中的线性亮度分量值之间的差进行更详细描述。这些的实施例也涵盖第三颜色空间中原始线性亮度分量值的函数与第三颜色空间中线性亮度分量值的函数之间的差。如本文中前面所提及的,函数优选是传递函数的逆,诸如传递函数[1]的逆。
在多个候选Y'分量值中最佳候选Y'分量值的选择能够根据如本文中进一步描述的各种实施例执行。
第一实施例涉及执行二分法搜索(binary serach)。因此,在此实施例中,方法包括执行二分法搜索以选择使得第三颜色空间中的原始线性亮度分量值与第三颜色空间中的线性亮度分量值之间的差最小化的在第二颜色空间中的候选非线性luma分量值。
二分法搜索是能够用于查找最佳候选非线性luma分量值的有效技术。通常,二分法搜索算法通过对第三颜色空间中的原始亮度分量值和使用在第二颜色空间中可能的候选非线性luma分量值的经排序的阵列的中间元素而获得的第三颜色空间中的线性亮度分量值进行比较来开始。如果第三颜色空间中的线性亮度分量值等于第三颜色空间中的原始亮度分量值,或者与第三颜色空间中的原始亮度分量值不同(未超过定义量),则返回中间元素的位置,并且结束搜索。如果线性亮度分量值大于原始线性亮度分量值,则搜索在阵列的下半部上继续;或者如果线性亮度分量值小于原始线性亮度分量值,则搜索在阵列的上半部上继续。此过程继续进行,排除一半的元素,并且比较所得到的线性亮度分量值和原始线性亮度分量值,直至在其之间的差为零,或者直至已搜索整个阵列,即,直至已排除除一个元素外的所有元素。这被保证只采用log2(N)步,其中,N是阵列中可能的候选非线性luma分量值的数量。例如,假设能够从[0, 1023]的阵列中选择候选非线性luma分量值。因此,N=1024,并且log2(1024)=10。
在一实施例中,通过在搜索间隔的中间为在第二颜色空间中的候选非线性luma分量值执行图3中的步骤S21到S23,执行二分法搜索。该方法随后继续到图4中示出的步骤。随后步骤S25包括如果第三颜色空间中的原始亮度分量值与第三颜色空间中的线性亮度分量值之间的差等于零(优选是如在步骤S24中所计算的),则在搜索间隔的中间选择候选非线性luma分量值。否则,即,如果在步骤S24中计算的差不等于零,则方法继续到步骤S26。此步骤S26包括如果第三颜色空间中的线性亮度分量值大于第三颜色空间中的原始线性亮度分量值,则选择具有与上面使用的搜索间隔相比一半的大小,并且在上面使用的候选非线性luma分量值处结束的搜索间隔,或者如果第三颜色空间中的线性亮度分量值小于第三颜色空间中的原始线性亮度分量值,则选择具有与上面使用的搜索间隔相比一半的大小,并且在上面使用的候选非线性luma分量值处开始的搜索间隔。
随后重复涉及循环L2的步骤(即步骤S21-S23和S24-S26),直至第三颜色空间中的原始线性亮度分量值与第三颜色空间中的线性亮度分量值之间的差等于零,搜索间隔不再能够减半,循环已被重复了所定义的次数,或者搜索间隔已达到预定义的间隔大小,即,搜索间隔小于或等于预定义的间隔大小。
在步骤S26中搜索间隔的选择通常涉及选择与上面使用的搜索间隔相比,具有大约一半大小的搜索间隔。例如,如果搜索间隔包含值100、101、102、103,则人们能够选择101或102作为“中间值”,产生“减半”搜索间隔[100,101](搜索间隔的真正减半)或[101,103](搜索间隔的近似减半),或“减半”搜索间隔[100,102](搜索间隔的近似减半)或[102,103](搜索间隔的真正减半)。
另一实施例是将非线性luma分量值的选择视为优化问题,并且最小化关于Y'的误差E=(YO–Y)2或E=|YO–Y|。能够通过梯度下降来进行此操作:例如通过计算E相对于Y'的梯度,即,dE/dY’,并且在梯度的相反方向上小量更新Y’,即Y’n+1=Y’n-α(dE/dY’),其中α是小的常数。
梯度下降能够是慢的,因此,更快的方式可以是使用计算或近似二阶导数d2E/dY’2的二阶优化算法。高斯-牛顿法(Gauss-Newton)是此类算法的示例。
另一实施例涉及在选择非线性luma分量值时使用查找表(LUT)。此类LUT例如可包括用于Cb’、Cr’和YO分量值的每一个可能组合的最佳Y'分量值。例如,假设Cb'和Cr'分量被量化到10比特,并且YO分量也被量化到10比特。随后,LUT应包含210×210×210个不同Y'分量值。这等效于230个Y’分量值。如果每个此类Y’分量值是2个字节,则LUT将具有231字节或2Gb的大小。
使用更小的LUT也可以是可能的。例如,可能可将YO、Cb’和Cr’分量量化到更小的大小,比如6比特。随后,LUT将是218个Y’分量值或219个字节,这等于512 kb。
YO分量是线性的。相应地,只将其量化可能是效率低的。转而更好的是可使用YO的函数及Cb’和Cr’一起作为到LUT的输入,以得到最佳Y'分量。函数优选输出YO分量的非线性表示,并且例如可以是逆传递函数(TF-1(.)),诸如传递函数[1]的逆。随后,从LUT导出最佳Y'分量值为Y’= LUT(Cb’,Cr’,TF-1(YO))。
图5是示出在使用LUT时图1中步骤S2的一实施例的流程图。该方法从图1中的步骤S1继续。下一步骤S30包括对在第二颜色空间中的二次采样的第一非线性色度分量值和在第二颜色空间中的二次采样的第二非线性色度分量值进行上采样,以得到在第二颜色空间中的上采样的第一非线性色度分量值和在第二颜色空间中的上采样的第二非线性色度分量值。
下一步骤S32包括使用第三颜色空间中的原始线性亮度分量值或其非线性版本、第二颜色空间中的上采样的第一非线性色度分量值和在第二颜色空间中的上采样的第二非线性色度分量值、或其量化版本作为到查找表的输入,来从查找表检索第二颜色空间中的非线性luma分量值。
图6是示出图5中显示的方法的另外可选步骤的流程图。该方法从图5中的步骤S30继续。下一步骤S31包括应用第一逆传递函数到第三颜色空间中的原始线性亮度分量值,以得到第三颜色空间中的原始非线性亮度分量值。该方法随后继续到图5中的步骤S32。在此实施例中,步骤S32包括使用第三颜色空间中的原始非线性亮度分量值、第二颜色空间中的上采样的第一非线性色度分量值和在第二颜色空间中的上采样的第二非线性色度分量值、或其量化版本作为到查找表的输入,来从查找表检索第二颜色空间中的非线性分量值。
在一实施例中,对于第三颜色空间中的原始线性亮度分量值、或其非线性版本、第二颜色空间中的上采样的第一非线性色度分量值和第二颜色空间中的上采样的第二非线性色度分量值、或其量化版本的每个组合,查找表包括第二颜色空间中的最佳非线性luma分量值(其使得第三颜色空间中的原始线性亮度分量值与基于第二颜色空间中的最佳非线性luma亮度值、第二颜色空间中的二次采样的第一非线性色度分量值和第二颜色空间中的二次采样的第二非线性色度分量值确定的在第三颜色空间中的线性亮度分量值之间的差最小化)。
如在图3中步骤S20中和在图5中步骤S5中执行的对第二颜色空间中的非线性色度分量值的上采样优选将非线性色度分量值上采样到与第二空间中的非线性luma分量值相同数量的样本。因此,如在这些步骤中执行的上采样优选产生与在诸如图2中的步骤S12中进行的任何二次采样的应用之前具有相同数量的样本的非线性色度分量值。这意味着在二次采样和随后的上采样前,Y'、Cb'和Cr'分量全部包括相同数量的样本(诸如在4:4:4格式中)。在二次采样后,与优选包括相同数量的样本(诸如在4:2:0或4:2:2格式中)的Cb'和Cr'分量相比,Y'分量包括更多样本。
图片中的像素具有优选如本文中所描述的导出的在第二颜色空间中的非线性luma分量值。取决于上采样技术,与像素关联的并且在上采样后获得的在第二颜色空间中的非线性色度分量值能够基于第二颜色空间中的相应二次采样的第一和第二非线性色度分量值,或者基于第二颜色空间中的多个二次采样的第一和第二非线性色度分量值被生成。例如,如果使用双线性上采样,则四个二次采样的Cb'分量值和四个二次采样的Cr'分量值将影响像素和上采样的Cb'和Cr'分量的值。相应地,如果使用最近邻居上采样,则通常单个二次采样的Cb'分量值和单个二次采样的Cr'分量值被用于导出用于像素的上采样的Cb'和Cr'分量值。
根据实施例的像素的预处理能够在不同应用中使用,特别在包括视频编码的不同视频应用中。
实施例因此涉及对图片中的像素进行编码的方法。方法包括根据如本文中公开的任何实施例的预处理像素,以导出用于像素的在第二颜色空间中的非线性luma分量值。方法也包括在如图7中显示的步骤S3中编码非线性luma分量值、第二颜色空间中的二次采样的第一非线性色度分量值和第二颜色空间中的二次采样的第二非线性色度分量值。
因此,像素的预处理能够用作在对图片的像素进行编码(诸如与对视频序列的图片进行编码有关)期间的另外处理。
预处理的输出,即Y’Cb’Cr’(诸如在4:2:0或4:2:2格式中),随后被输入到视频编码器,诸如H.264视频编码器、高效率视频编码器(HEVC)或H.265视频编码器或另一视频编码器。如由视频编码器执行的编码能够包括传统视频编码步骤,诸如在例如上下文自适应二进制算术编码(CABAC)编码器的熵编码器中进行的诸如帧间预测、帧内预测、模式判定、残差的变换、对变换和量化的残差进行量化和编码。
实施例的预处理的优点在于它能够应用到任何视频或图片编码过程,而无需在视频或图片编码器中执行任何调整或在对应视频或图片解码器中执行任何调整。在明显对比中,预处理能够被视为被应用到输入图片的另外的处理,即预处理,而不是涉及传递函数的应用、颜色变换和色度二次采样的应用,对在图片中要被编码成Y'Cb'Cr'颜色的像素的原始颜色(诸如ROGOBO颜色)的传统转换。
除视频编码外,在其它应用中也可使用在诸如视频序列的图片中像素的预处理。例如,实施例能够用作在通过诸如高清晰多媒体接口(HDMI)、DisplayPort或Thunderbolt等接口传递视频前应用的预处理。例如,在HDMI 2.0a中,以每秒50或60帧(fps)输送4K分辨率的唯一方式是使用4:2:0或4:2:2 YCbCr二次采样。如果视频数据处在完全色度采样格式(4:4:4)中,则在通过HDMI线缆发送视频数据前,必须应用二次采样预处理步骤。随后通过接口传递4:2:0或4:2:2视频数据而无进一步压缩。通过应用实施例的预处理,与无Y'分量的任何校正或最佳Y'分量的查找情况下的常规4:2:0或4:2:2二次采样相比,改善了视频质量。
下面描述典型的压缩链。范围在例如从0到10,000的入射线性光像素(R,G,B)先被馈送到传递函数,这产生在0与1之间的新像素(R’,G’,B’)。在此之后,像素经历颜色变换,从而产生(Y',Cb',Cr')。随后,将Cb’和Cr’分量二次采样到4:2:0。
在解压缩后,再次对4:2:0序列进行上采样到4:4:4,逆颜色空间转换产生(R’,G’,B’),并且最后逆传递函数返还能够在监视器上输出的线性光像素(R,G,B)。
麻烦来源于Cb'和Cr'色度分量是经过内插值的,而Y'分量不经过内插值的事实。因此,在像素中的Y'分量中能够存在锐利的移动,但Cb'和Cr'分量由于它们是经过内插值的,因此不能跟随。对于一些颜色,特别是饱和颜色,结果是完全错误强度的像素,而且其是明显可见的。
提议是在这些情况下更改Y'分量,使得从经内插值的颜色生成的元组(Y',Cb',Cr')与原始颜色不是如此不同。理想的情况是差别将很小,以致它不可被察觉。
基本上,它发散到意识到Cb'和Cr'分量是假的,并且因而也使Y'分量是假的,以致(Y',Cb',Cr')更接近真实颜色。换言之,通过在Y'分量中引入误差,我们能够补偿在Cb'和Cr'分量中已经存在的误差以更接近实际像素。通过比较(Cb’–Cb’444)和(Cr’–Cr’444)与阈值,例如,通过比较你从先对色度进行二次采样(4:2:0),然后进行上采样(到4:4:4)而得到的Cb’和在二次采样前的原始Cb’444和Cr’444值,能够确定Cb'和Cr'分量是假的。
根据如下所述的不同实施例,能够导出校正的Y'分量。因此,随后对校正的Y'分量和Cb'和Cr'分量进行压缩,导致图像或视频以更高质量被感知。
通过更改Y'分量,即,导出校正的Y'分量,我们能够补偿所得到的亮度值。眼睛对亮度更改比对色度更改更加敏感得多,因此,第一规则应是确保亮度与原始值偏差不会太大。
如上所述,在压缩前调整非线性亮度Y',使得像素的线性亮度Y更接近其正确值。这在下面进一步被描述。
假设有一张图片,其中屏幕的左侧部分(例如像素0到96)具有值(2142,0,138),并且右侧部分(例如像素97到1920)具有值(2142,4,138)。使用常规处理链时,我们将得到表1中的结果。
表1 – 对于4:2:0二次采样针对“最坏”颜色的数据
* 这指示通过对在4:2:0格式中的二次采样的颜色进行上采样而获得的值。
因此,Y值是线性亮度。也就是说,原始的Y值是在你采用原始线性光RGB(2142,4,138)并且将它转换到XYZ时你得到的值。例如,如果RGB是在BT.2020颜色空间中,则你能够使用以下等式转换到XYZ:
X = 0.636958 × R + 0.144617 × G + 0.168881 × B
Y = 0.262700 × R + 0.677998 × G + 0.059302 × B
Z = 0.000000 × R + 0.028073 × G + 1.060985 × B
此Y分量是眼睛敏感的亮度。它不应与上面提及的非线性地取决于RGB的Y'分量相混淆。
如在表1中能够看到的,在使用RGB 4:2:0二次采样和上采样时,Y值对于像素97是显著错误的。注意在此示例中,没有进行压缩,只量化到10比特,并且Y值还具有85 %的相对误差。使用对眼睛能够看到多大差别进行预测的Barten模型,我们看到此误差为195个Barten步,或者比所将恰可察觉的误差大195倍。
如果我们查看表2,我们能够看到发生了什么。
表2 - 像素97在颜色二次采样之前和之后大不相同
如果我们查看Cb'分量,它具有值607,其大约处在间断前的650,即像素94,与间断后的575之间的中途,但正确值是575。麻烦的是误差不但影响像素的色度,而且影响像素的亮度,其变得太亮了。我们的想法是通过更改像素的Y'分量来补偿此情况。根据实施例,我们不让针对该像素的Y'分量为422,而是转而选择值363。在表3中,我们显示结果。
表3 - 像素97在颜色二次采样之前和之后类似的多
我们现在能看到,新颜色更类似于其正确值。绿色分量已位于错误方向上,但只有1.72 cd/m2,但同时红色分量已几乎为其正确值的一半,移动1849 cd/m2,以及蓝色分量已按照类似方式更改。在表4中,我们示出对于亮度发生的情况。
表4 – 在校正后对于4:2:0二次采样针对“最坏”颜色的数据
* 这指示通过对在4:2:0格式中的二次采样的颜色进行上采样而获得的值。
如在表4中所看到的,我们得到在亮度Y中小得多的误差。相对误差为0.2465 %,这等效于0.5602 Barten步,即不可能看到。
误差现在转而在色度中,但在给定事实是人类视觉系统对色度中的误差比在亮度中的误差更不敏感的情况下,这不是大的问题。另外,由于色度被二次采样,因此,无论如何在色度中将存在误差。此外,人们可更改Y'分量,以得到在亮度中的误差与在色度中的误差之间的良好折中。
此外,色度中的更改可能甚至是不可察觉的 - 唯一的不同在于绿色分量是0.7008 cd/m2而不是3.9750 cd/m2,但由于红色分量为2145,几乎大1000倍,因此,它极可能还被红色分量所变小。查看它的另一方式是在绿色与红色分量之间的比率变成0.7008/2145.11 = 0.000327,而不是正确的3.9750/2142.6617 = 0.001855。不清楚的是,对于人眼可能看到色调中的此轻微变动。因此,我们已将比恰可察觉的误差大200倍的在亮度中的误差交换成在色度中的误差,在色度方面误差如此小,它可能不可能被看到。
好的事情是更改的Y'值只影响单独的像素。因此,通过更改Y'分量,不牺牲其它像素。
在一实施例中,值Y'未被优化用于Cb'和Cr'的特定值。相反,Y'值经选择,使得它最小化对于Cb'和Cr'的一些不同值或对于某个范围的Cb'和Cr'值的亮度误差。这能够在其中色度上采样方法未知的情形中进行。
一种变化是要执行特定数量的色度上采样方法,并且随后选择使对于不同上采样方法的平均平方误差最小化的Y'值。在另一版本中,Y'值经选择,使得最小化最坏情况(即最大误差)。
另一变化是使用Cb'和Cr'的两个或更多相邻值,并且直接使用它们计算可能的Cb'和Cr'值的范围。
存在几种方式用来查找对于Y'的最佳值,我们将讨论它们中的多个方式。一种方式在图8中示出。
首先,我们需要查找要朝向其优化的值YO。如上所提及的,原始像素RO、GO、BO从RGB被变换到XYZ。这产生了XO、YO、ZO,其中我们只关注YO。实际上,我们不需要计算XO和ZO。此YO是线性光中的原始亮度,并且它正是眼睛所敏感的。在我们的测试情况中,YO等于573.5991,参见表1。
其次,我们采用我们现有的Y'值连同一起还有Cb'和Cr'值。在上述情况下,我们将馈入(422,607,812),参见表2。现在,我们将进行从Y'Cb'Cr'到R'G'B'的颜色变换。这通过使用以下等式进行:
R = Y’ + 1.47460 × Cr’
G = Y’ - 0.16455 × Cb’ - 0.57135 × Cr’
B = Y’ + 1.88140 × Cb’.
接着,我们调用传递函数。在此情况下,我们使用PQ-EOTF,其能够使用以下Matlab码实现,例如:
function L = pq_eotf(c)
%%%
%%% c goes from 0.0 to 1.0
%%% L是以尼特为单位的输出亮度
%%%
c1 = 0.8359375;
c2 = 18.8515625;
c3 = 18.6875;
n = 0.1593017578125;
m = 78.84375;
c = max(c,0);
c = min(c,1);
L = 10000*((max(c.^(1/m)-c1, 0)./(c2 - c3*c.^(1/m))) .^ (1/n));
结果是线性光中的颜色(R,G,B)。如上所提及的,现在我们将此转换到XYZ,或者真正地,我们只需要计算Y。此Y是像素的线性亮度,并且我们想使其尽可能接近YO的正是此亮度。在我们的测试情况中,Y开始是1066.4311,参见表1。
现在我们比较Y和YO。如果Y大于YO,则我们将我们的Y'值从422减小到某个更小值。例如,我们能够采用一步并且尝试421。随后,再次执行整个计算,生成新Y值。再次地,将此值与YO进行比较,并且如果它仍太大,则我们进一步减小Y'。最后,我们将到达363和得到的Y值,即572.1852现在小于YO,即573.5991。该过程现在停止。
在上述实施例中,采用422-363=59个迭代以到达最佳值。这可以是高成本的。
因此,实施例将进行二分法搜索以查找最佳Y'值。可选的是,先尝试最大Y'值,例如1023。可选的是,随后尝试最小Y'值,例如0。随后,尝试在中间的值,例如512。如果由Y’=512产生的Y值大于YO,则我们应在间隔[0, 512]中搜索。如果Y值小于YO,则我们应转而搜索间隔[512, 1023]。随后,我们通过计算在选择的间隔的中间中的新值来继续,并且继续直至间隔只包含单个数字,如[363, 363]或[363, 364]。这被保证只采用log2(N)步,其中,N是可能值的数量,在此情况中它是1024。因此,仅log2(1024)=10步便足够。
计算最佳值还有的另一方式是将图8视为优化问题,并且最小化相对于Y'的误差E=(Y-YO)2。能够通过梯度下降来进行此操作:通过计算E相对于Y'的梯度,即,dE/dY’,并且在梯度的相反方向上小量更新Y’,即Y’n+1=Y’n-α× dE/dY’,其中,α是小的常数。
梯度下降能够是慢的,因此,更快的方式可以是使用计算或近似二阶导数d2E/dY’2的二阶优化算法。高斯-牛顿法(Gauss-Newton)是此类算法的示例。
在另一实施例中,应用以下过程以便计算Y':
- 通过XYZ到RGB转换,转换X、YO和Z以产生新值R1、G1和B1
- 通过逆传递函数,转换R1、G1和B1以产生R1’、G1’和B1’。
- 通过逆颜色变换,转换R1’、G1’和B1’以产生Y'
在一实施例中,校正图像或图片中所有像素的Y'值。在一备选实施例中,仅校正处于具有可见亮度误差风险的像素。这可包括靠近色域边缘的像素,但排除更靠近色域三角形的中间的像素。
查看图9中的底行,处理的第一步是
R’=Y’+1.47460×Cr’
G’=Y’-0.16455×Cb’-0.57135×Cr’
B’=Y’+1.88140×Cb’。
但由于Cr’和Cb'是固定的,它们被内插值而不是被发送,因此,我们能够将Y'右侧的任何内容替换为常数:
R’=Y’+c1
G’=Y’+c2
B’=Y’+c3
下一步是采用颜色分量的传递函数:
R = TF(R’)
G = TF(G’)
B = TF(B’)
其随后变成
R=TF(Y’+ c1)
G=TF(Y’+c2)
B=TF(Y’+c3)
处理的最后步骤是从RGB转到XYZ。这通过使用以下等式进行:
X=0.636958×R+0.144617×G+0.168881×B
Y=0.262700×R+0.677998×G+0.059302×B
Z=0.000000×R+0.028073×G+1.060985×B
这个中我们只关注Y分量,因此我们使用
Y=0.262700 × R+0.677998 × G + 0.059302 × B.
将前面的等式插入此中产生了
Y=0.262700×TF(Y’+c1)+0.677998×TF(Y’+c2)+0.059302×TF(Y’+c3),
或缩短成
Y = f(Y’)
我们想要此等式的输出值Y匹配原始YO。由于Y以非线性方式在三个不同位置中取决于Y’,似乎没有简单的方式倒置该函数,使得我们能够得到Y’=f-1(Y)。
然而,可能使非线性TF(x) ~ kx+m线性化。在三个不同位置中进行此操作产生了
Y ~ k1×Y’+m1+k2×Y’+m2+k3×Y’+m3
这等效于
Y ~(k1+k2+k3)×Y’+(m1+m2+m3)。
这能够被倒置成
Y’~Y’k=(YO–(m1+m2+m3))/(k1+k2+k3)。
因此,可能Y’k将产生比以前更接近YO的值Yk。该函数能够在此新点Y’k再次被线性化,产生新值Y’k+1等等。
应注意的是,对于所有这些迭代技术,查找生成最接近YO值的Y值的绝对最佳10比特值不是必需的。可能只使用几次迭代或甚至一次迭代便足够。由单个迭代产生的校正的Y值将极可能比根本不校正要好得多。
一些线性化也可事先进行。如上所提出的,最坏的问题发生在域边缘上。因此,人们能够具有用于连接红基色到绿基色的线的一个线性化,用于连接红基色到蓝基色的线的一个线性化及用于连接绿基色到蓝基色的线的一个线性化。另一方式可以是要具有将接近红基色使用的线性化,接近绿基色的另一线性化和接近蓝基色使用的第三线性化。此外,如图9中所示,可能沿域的线具有几个线性化。
因此,在不同区域中能够有不同线性化。如果颜色是在实线圆内,则我们接近绿基色,并且我们能够使用一个线性化。如果我们进一步沿线移向红基色,即,在虚线框内,则我们能够使用第二线性化。如果我们接近域的边缘,并且大致在红基色与绿基色之间的中途,即,在虚点框内,则能够使用第三线性化。如果我们甚至更接近红基色,即,在实线框内,则能够使用第四线性化。如果我们在虚点圆内,即接近红基色,则能够使用第五线性化。也能够使用三角形中其它两条线的相同划分。最后,在三角形内但不在框或圆中的区域能够被划分成一个或多个区域,每个区域具有不同线性化。
另一方式是要创建查找表(LUT)。如从上面的公式所能够看到的,如果我们具有Cb'、Cr'和想要的Y值,则可能使用上面提及的任何迭代技术,查找最佳Y'。因此,我们能够为Cb'、Cr'和Y的每个可能组合创建查找表。例如,假设Cb'和Cr'被量化到10比特。还假设我们也将Y量化到10比特。随后,我们在我们的查找表中需要210×210×210个不同值。这等效于230个值。如果每个值是两个字节,这意味着231个字节或2 Gb。这是大的但也许不是不可行的,特别是在将来。
在量化Y时需要小心。由于Y是完全线性,因此,只将其量化可能是不足的。可能转而更好的是创建Ynonlinear=TF(Y),并且转而使用Cb'、Cr'和Ynonlinear作为输入变量,为Y创建LUT。给定Cb’、Cr’和Y,我们随后将先计算Ynonlinear=TF(Y),且然后查找Y’=LUT(Cb’,Cr’,Ynonlinear)。
也可能可使用更小的LUT。例如,可能可将Y(或Ynonlinear)、Cb’和Cr’量化到比如6比特。随后,表大小将是2(6+6+6) = 218个值或219个字节,这等于512 kbytes。即使使用今天的硬件,这也是个合理的大小。
可能可采用最接近真正值的量化的值Cb'、Cr'和Y,并且对它们进行内插值。例如,如果Cb'的实际值大于被量化到6比特的Cb',但小于被量化到6比特+1的Cb',则以下可以是很好的近似:
Y’=(LUT(Cb’6比特,Cr’6比特,Y6比特)+(LUT(Cb’6比特+1,Cr’6比特,Y6比特))/2
在不止两个值之间的内插值也是可能的。
在一实施例中,查找表用于导出Y'的值。在一个版本中,查找表包含YO、Cb’和Cr’的每个可能值。对于10比特视频,那将产生1024×1024×1024个条目,且在一些应用中,此大小是可接受的。在另一版本中,查找表(LUT)被删减,例如,通过将YO、Cb’和Cr’的一项或更多项舍入到例如8比特。如果使用被删减的查找表,则能够通过从检索于LUT的Y'开始来查找最佳Y'的精炼步骤,扩展算法。在一版本中,仅在Cb’值和/或Cr'值使得Y'能够变得与YO大不相同时,即在初始计算的Y'给出与YO大不相同的线性Y值时才使用LUT,并且由此LUT的大小能够实质减小,因为Cb’和Cr’的许多值将不造成任何问题。
在一实施例中,YO、Cb’和Cr’的函数(例如线性组合、多项式函数、指数函数、对数函数、三角函数)被用于导出Y'。函数能够经定义,使得对于YO、Cb’和Cr’的任何值,在Y与YO之间的差低于某个阈值,或者在导出的Y'与最佳Y'之间的差低于某个阈值。
在一实施例中,为导出Y',定义了YO、Cb’和Cr’的几个不同函数。要使用哪个函数的选择基于YO、Cb’和Cr’的值。
对于本文中描述的每个实施例,情况能够是仅在Y'与TF(YO)之间的差高于用来开始的某个阈值时,才调用用于导出Y'的方法。
根据一方面,提供了如图10中所示的方法。方法能够在编码器中或者在到编码器的预处理中执行。在方法中,在确定Cb'和/或Cr'分量包括误差时,导出校正的Y'分量以补偿在Cb'和/或Cr'分量中的误差。方法可选地也包括通过校正的Y'分量编码视频。
实施例的另一方面涉及用于预处理在图片中的像素的装置。装置配置成获得基于在第一颜色空间中像素的线性颜色确定的在第三颜色空间中像素的原始线性亮度分量值。装置也配置成基于第二颜色空间中的第一非线性色度分量值、第二颜色空间中的第二非线性色度分量值和第三颜色空间中的原始线性亮度分量值,导出用于像素的在第二颜色空间中的非线性luma分量值。
在一实施例中,装置配置成基于在第一颜色空间中的线性颜色,确定在第三颜色空间中的原始线性亮度分量值。
在一实施例中,装置配置成导出使得在第三颜色空间中的原始线性亮度分量值与在第三颜色空间中的线性亮度分量值之间的差最小化的在第二颜色空间中的非线性luma分量值,在第三颜色空间中的该线性亮度分量值基于在第二颜色空间中的非线性luma分量值、在第二颜色空间中的第一非线性色度分量值和在第二颜色空间中的第二非线性色度分量值被确定。
在一实施例中,装置配置成基于在第二颜色空间中的二次采样的第一非线性色度分量值、在第二颜色空间中的二次采样的第二非线性色度分量值和在第三颜色空间中的原始线性亮度分量值,导出在第二颜色空间中的非线性luma分量值。
在一实施例中,装置配置成应用第一传递函数到在第一颜色空间中的原始线性颜色,以得到在第一颜色空间中的非线性颜色。装置也配置成对第一颜色空间中的非线性颜色应用第一颜色变换,以得到在第二颜色空间中的非线性颜色。在第二颜色空间中的非线性颜色包括初始第一非线性色度分量值和初始第二非线性色度分量值。装置还配置成对在第二颜色空间中的初始第一非线性色度分量值和在第二颜色空间中的初始第二非线性色度分量值进行二次采样,以得到在第二颜色空间中的二次采样的第一非线性色度分量值和在第二颜色空间中的二次采样的第二非线性色度分量值。
在一实施例中,装置配置成对在第二颜色空间中的二次采样的第一非线性色度分量值和在第二颜色空间中的二次采样的第二非线性色度分量值进行上采样,以得到在第二颜色空间中的上采样的第一非线性色度分量值和在第二颜色空间中的上采样的第二非线性色度分量值。装置也配置成对在第二颜色空间中的候选非线性luma分量值、在第二颜色空间中的上采样的第一非线性色度分量值和在第二颜色空间中的上采样的第二非线性色度分量值应用第二颜色变换,以得到在第一颜色空间中的非线性颜色。装置还配置成应用第二传递函数到在第一颜色空间中的非线性颜色,以得到在第一颜色空间中的线性颜色。装置另外配置成对在第一颜色空间中的线性颜色应用第三颜色变换,以得到在第三颜色空间中的线性亮度分量值。装置也配置成基于在第三颜色空间的原始线性亮度分量值与在第三颜色空间中的线性亮度分量值的比较,导出非线性luma分量值。
在一实施例中,装置配置成选择使得第三颜色空间中的原始线性亮度分量与第三颜色空间中的线性亮度分量之间的差减小(诸如最小化)的在第二颜色空间中的候选非线性luma分量。
在一实施例中,装置配置成对于第二颜色空间中的不同候选非线性luma分量值执行对第二颜色空间中的候选非线性luma分量值、第二颜色空间中的上采样的第一非线性色度分量值和第二颜色空间中的上采样的第二非线性色度分量值的第二颜色变换应用,执行对第一颜色空间中的非线性颜色的第二传递函数应用和执行对第一颜色空间中的线性颜色的第三颜色变换应用。装置也配置成选择产生第三颜色空间中的原始线性亮度分量值与第三颜色空间中的线性亮度分量值之间最小的差的在第二颜色空间中的不同候选非线性luma分量值中的候选非线性luma分量值。
在一实施例中,装置配置成执行二分法搜索以选择使得第三颜色空间中的原始线性亮度分量值与第三颜色空间中的线性亮度分量值之间的差最小化的在第二颜色空间中的候选非线性luma分量值。
在一实施例中,装置配置成在搜索间隔的中间为第二颜色空间中的候选非线性luma分量值执行对第二颜色空间中的候选非线性luma分量值、第二颜色空间中的上采样的第一非线性色度分量值和第二颜色空间中的上采样的第二非线性色度分量值的第二颜色变换应用,执行对第一颜色空间中的非线性颜色的第二传递函数应用和执行对第一颜色空间中的线性颜色的第三颜色变换应用。装置也配置成如果第三颜色空间中的原始线性亮度分量值与第三颜色空间中的线性亮度分量值之间的差等于零,则在搜索间隔的中间选择候选非线性luma分量值。装置也配置成如果在第三颜色空间中的线性亮度分量值大于在第三颜色空间中的原始线性亮度分量值,则另选择具有与在执行应用时由装置使用的搜索间隔相比一半的大小,并且结束在执行应用时由装置使用的候选非线性luma分量值处的搜索间隔,或者如果第三颜色空间中的线性亮度分量值小于第三颜色空间中的原始线性亮度分量值,则选择具有与在执行应用时由装置使用的搜索间隔相比一半的大小,并且开始在执行应用时由装置使用的候选非线性luma分量值处的搜索间隔。装置还配置成重复执行应用和搜索间隔的选择,直至在第三颜色空间中的原始线性亮度分量值与在第三颜色空间中的线性亮度分量值之间的差等于零,或者搜索间隔包括在第二颜色空间中的单个候选非线性luma分量值。
在一实施例中,装置配置成对在第二颜色空间中的二次采样的第一非线性色度分量值和在第二颜色空间中的二次采样的第二非线性色度分量值进行上采样,以得到在第二颜色空间中的上采样的第一非线性色度分量值和在第二颜色空间中的上采样的第二非线性色度分量值。装置也配置成使用在第三颜色空间中的原始线性亮度分量值、或其非线性版本、在第二颜色空间中的上采样的第一非线性色度分量值和在第二颜色空间中的上采样的第二非线性色度分量值、或其量化版本作为到查找表的输入,从查找表检索在第二颜色空间中的非线性luma分量值。
在一实施例中,装置配置成对在第三颜色空间中的原始线性亮度分量值应用第一传递函数,以得到在第三颜色空间中的原始非线性亮度分量值。装置配置成使用在第三颜色空间中的原始非线性亮度分量值、在第二颜色空间中的上采样的第一非线性色度分量值和在第二颜色空间中的上采样的第二非线性色度分量值、或其量化版本作为到查找表的输入,从查找表检索在第二颜色空间中的非线性luma分量值。
图11示出根据一实施例,用于预处理图片的装置100的特定硬件实现。在一实施例中,装置100包括配置成获得在第三颜色空间中的像素的原始线性亮度分量值的确定单元101。装置100也包括配置成导出用于像素的在第二颜色空间中的非线性luma分量值的导出器102。
在另一实施例中,装置100包括配置成确定Cb'和/或Cr'包括误差的确定单元101。装置100也包括配置成导出校正的Y'的导出器102。装置100还包括配置成采用校正的Y'编码图片的视频编码器103。
在一实施例中,装置100也包括配置成接收要编码的视频的输入单元104和配置成输出编码的比特流的输出单元105。
输入单元104能够采用通用输入单元的形式,特别是在有到外部装置的有线连接的情况下。备选的是,输入单元104能够采用接收器或收发器的形式,特别是在有到外部装置的无线连接的情况下。相应地,输出单元105能够采用通用输出单元的形式,特别是在有到外部装置的有线连接的情况下。备选的是,输出单元105能够采用传送器或收发器的形式,特别是在有到外部装置的无线连接的情况下。
输入单元104优选连接到确定单元101、导出器102和视频编码器103以将要编码的视频转发到其处。确定单元101优选连接到导出器102和视频编码器103。视频编码器103优选连接到输出单元105以将编码的比特流转发到例如解码器。
适合的硬件电路的特定示例包括例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)等一个或多个适当配置或可能可重新配置的电子电路,或诸如基于离散逻辑门和/或互连的触发器的电路的任何其它硬件逻辑用以结合适合的寄存器(REG)和/或存储器单元(MEM)来执行专门功能。
备选的是,至少一些本文中描述的步骤、功能、规程、模块和/或框可在用于由适合的处理电路(诸如一个或多个处理器或处理单元)执行的软件(诸如计算机程序)中实现。
处理电路的示例包括但不限于一个或多个微处理器、一个或多个数字信号处理器(DSP)、一个或多个中央处理单元(CPU)、视频加速硬件和/或任何适合的可编程逻辑电路(诸如一个或多个FPGA或一个或多个可编程逻辑控制器(PLC))。
也应理解的是,再使用所提议的技术在其中被实现的任何常规装置或单元的通用处理能力可以是可能的。例如通过对现有软件的再编程或通过添加新软件组件来再使用现有软件也可以是可能的。
在特定示例中,参见图12,装置110包括处理器111和包括由处理器111可执行的指令的存储器112。在一实施例中,处理器111操作以获得在第三颜色空间中的像素的原始线性亮度分量值。处理器111也可操作以导出用于像素的在第二颜色空间中的非线性luma分量值。
在另一实施例中,处理器111操作以确定Cb'和/或Cr'分量包括误差,并且在何时确定Cb'和/或Cr'分量包括误差。处理器111还操作以导出校正的Y'分量,以补偿在Cb'和/或Cr'分量中的误差。
在一实施例中,装置110也包括配置成接收要编码的视频的输入单元113。在此类情况下,处理器111操作以接收来自输入单元113的要编码的视频。
在一实施例中,装置110也包括配置成输出如从处理器111接收的编码的比特流的输出单元114。
在一特定实施例中,处理器111在执行存储器112中存储的指令时操作以执行上述操作。处理器111由此互连到存储器112以实现正常软件执行。
图13是示意框图,其示出包括处理器210、关联存储器220和通信电路230的用户设备(UE)200的示例。
在此特定示例中,至少一些本文中描述的步骤、功能、规程、模块和/或框在被加载到存储器220中以便由包括一个或多个处理器210的处理电路执行的计算机程序240中被实现。处理器210和存储器220彼此互连以实现正常软件执行。通信电路230也互连到处理器210和/或存储器220以实现视频数据的输入和/或输出。
用户设备200能够是任何装置或设备,其能够接收和处理视频数据。例如,用户设备200能够是固定或便携式计算机,诸如膝上型计算机、智能电话、平板、机顶盒、视频摄像机等。
术语“处理器”应从一般意义上理解为能够执行程序代码或计算机程序指令以执行特定处理、确定或计算任务的任何系统或装置。
包括一个或多个处理器的处理电路因此配置成在执行计算机程序时,执行明确的处理任务,诸如本文中描述的那些任务。
处理电路不必专用于只执行上述步骤、功能、规程和/或框,而是也可执行其它任务。
在一实施例中,计算机程序240包括指令,指令在由处理器210执行时,促使处理器210获得基于在第一颜色空间中像素的线性颜色确定的在第三颜色空间中在图片中的像素的原始线性亮度分量值。处理器210也被促使成基于在第二颜色空间中的第一非线性色度分量值、在第二颜色空间中的第二非线性色度分量值和在第三颜色空间中的原始线性亮度分量值,导出用于像素的在第二颜色空间中的非线性luma分量值。
在一实施例中,计算机程序240还包括在由处理器210执行时,促使处理器210编码非线性luma分量值、第一非线性色度分量值和第二非线性色度分量值的指令。
在另一实施例中,计算机程序240包括指令,指令在由处理器210执行时,促使处理器210确定Cb'和/或Cr'分量包括误差,并且在已确定Cb'和/或Cr'分量包括误差时,它们促使处理器210导出校正的Y'分量以补偿在Cb'和Cr'分量中的误差。
提议的技术也提供包括计算机程序240的载体250。载体250是电子信号、光学信号、电磁信号、磁信号、电信号、无线电信号、微波信号或计算机可读存储媒体250之一。
例如,软件或计算机程序240可实现为计算机程序产品,其通常被携带或存储在计算机可读媒体240,优选为非易失性计算机可读存储媒体250上。计算机可读媒体250可包括一个或多个可移除或不可移除存储器装置,包括但不限于只读存储器(ROM)、随机存取存储器(RAM)、紧致盘(CD)、数字多功能盘(DVD)、蓝光(Blue-ray)盘、通用串行总线(USB)存储器、硬盘驱动(HDD)存储装置、闪速存储器、磁带或任何其它常规存储器装置。计算机程序240可因此被加载到由图19中的用户设备200所表示的计算机或等效处理装置的操作存储器中以便由其处理器210执行。
实施例的又一方面也涉及表示图片中的像素的编码版本的信号。编码版本包括依据任何实施例导出的在第二颜色格式中的二次采样的第一非线性色度分量值的编码版本、在第二颜色格式中的二次采样的第二非线性色度分量值的编码版本和在所述第二颜色格式中的非线性luma分量值的编码版本。
在一实施例中,信号是电子信号、光信号、电磁信号、磁信号、电信号、无线电信号及微波信号之一。
本文中呈现的流程图或多个流程图可因此在由一个或多个处理器执行时被视为计算机流程图或多个流程图。对应装置可被定义为功能模块组,其中,处理器执行的每个步骤对应于一功能模块。在此情况下,功能模块被实现为在处理器上运行的计算机程序。因此,装置可备选被定义为功能模块组,其中功能模块被实现为在至少一个处理器上运行的计算机程序。
驻留在存储器中的计算机程序可因此被组织为适当的功能模块,其配置成在由处理器执行时,执行至少部分本文中描述的步骤和/或任务。图14中示出此类功能模块的示例。
图14是用于通过功能模块预处理图片中的像素的装置120的示意框图。在一实施例中,装置120包括用于获得基于在第一颜色空间中像素的线性颜色确定的在第三颜色空间中像素的原始线性亮度分量值的确定单元121。装置120也包括用于基于在第二颜色空间中的第一非线性色度分量值、在第二颜色空间中的第二非线性色度分量值和在第三颜色空间中的原始线性亮度分量值,导出用于像素的在第二颜色空间中的非线性luma分量值的导出器122。
在另一实施例中,装置120包括用于确定Cb'和/或Cr'包括误差的确定单元121。装置120也包括用于导出校正的Y'的导出器102。装置120还可选地包括用于使用校正的Y'来编码比特流的视频编码器123。
参见图12,实施例的又一方面涉及用于编码在图片中的像素的装置110。装置110包括处理器111和存储器112,存储器包括由处理器111可执行的指令。处理器111操作以获得基于在第一颜色空间中像素的线性颜色确定的在第三颜色空间中像素的原始线性亮度分量值。处理器111也操作以基于在第二颜色空间中的第一非线性色度分量值、在第二颜色空间中的第二非线性色度分量值和在第三颜色空间中的原始线性亮度分量值,导出用于像素的在第二颜色空间中的非线性luma分量值。处理器111还操作以编码非线性luma分量值、第一非线性色度分量值和第二非线性色度分量值。
参见图14,实施例的另外的又一方面涉及用于编码在图片中的像素的装置120。装置120包括用于获得基于在第一颜色空间中像素的线性颜色确定的在第三颜色空间中像素的原始线性亮度分量值的确定单元121。装置120也包括用于基于在第二颜色空间中的第一非线性色度分量值、在第二颜色空间中的第二非线性色度分量值和在第三颜色空间中的原始线性亮度分量值,导出用于像素的在第二颜色空间中的非线性luma分量值的导出器122。装置120还包括用于编码非线性luma分量值、第一非线性色度分量值和第二非线性色度分量值的编码器123。
根据一方面,提供了诸如预处理器或编码器的单元。单元配置成确定Cb'和/或Cr'分量包括误差,并且在已确定Cb'和/或Cr'分量包括误差时,它配置成导出校正的Y'分量以补偿在Cb'和Cr'分量中的误差。
所述实施例也涉及包括根据实施例的用于预处理像素的装置或用于编码像素的装置的用户设备。用户设备优选是配置成接收和处理视频数据的装置或设备。用户设备例如能够是配置成通过诸如HDMI的接口转发视频数据的装置或设备。
另一实施例涉及包括根据实施例的用于预处理像素的装置或用于编码像素的装置的用户设备。在此实施例中,用户设备优选从由计算机、膝上型计算机、智能电话、平板和机顶盒组成的群组中选择。
在诸如网络节点和/或服务器的网络装置中提供诸如硬件和/或软件的计算服务正变得日益普遍,其中资源作为服务通过网络被输送到远程位置。例如,这意味着如本文中所述,功能性能够被分布或重新安置到一个或多个单独的物理节点或服务器。功能性可被重新安置或分布到能够定位在单独的物理节点中的一个或多个联合行动的物理和/或虚拟机,即在所谓的云中。这有时也称为云计算,其是用于实现对诸如网络、服务器、存储装置、应用及通用或定制服务等可配置计算资源池的普遍存在的按需网络接入的模型。
图15是示出在一般情况下能够如何在不同网络装置300、301、302之间分布或划分功能性的示例的示意图。在此示例中,有至少两个单独但互连的网络装置300、301,其可具有在网络装置300、301之间被划分的不同功能性,或者相同功能性的不同部分。可存在作为此类分布式实现的部分的另外网络装置302。网络装置300、301、302可以是相同无线通信系统的部分,或者一个或多个网络装置可以是位于无线通信系统外的所谓基于云的网络装置。
图16是示出无线通信系统的示例的示意图,无线通信系统包括与一个或多个基于云的网络装置300协作的接入网络1和/或核心网络2和/或操作和支持系统(OSS)3。图也示出根据实施例的接入网络1的网络节点4和用户设备5。
示例
近来,通过增大分辨率已在数字视频中实现了质量的巨大提升,从标准清晰度经由高清晰度达到4k。高动态范围(HDR)视频使用另一方式来增大感知的图像质量,即,通过增大对比度。常规TV系统是为在每平方米0.1坎德拉(candela)(cd/m2)与100 cd/m2或大约10翻的亮度之间的亮度建立的,这通常称为标准动态范围(SDR)视频。作为比较,一些HDR监视器能够显示从0.01到4000 cd/m2的范围,即超过18翻。
常规SDR处理
诸如TV或计算机监视器的典型SDR系统经常使用8比特表示,其中0表示暗,并且255表示亮。只是将代码值范围[0;255]线性缩放到上面提及的亮度范围[0.1;100] cd/m2将不是理想的:第一两个码字0和1将被分别映射到0.1 cd/m2和0.49 cd/m2,相对差为390%。另一方面,最后两个码字254和255将被分别映射到99.61 cd/m2和100 cd/m2,相对差仅0.3 %。为避免在相对步长中此大的差异,SDR系统包括以非线性方式将代码值映射到亮度的电光传递函数(EOTF)。作为示例,红色分量先被除以255以得到值R01 [0;1]并且随后被馈送通过幂函数R’=(R01)γ。
最后,将R'缩放到范围[0.1;100],以得到以cd/m2为单位的光表示。以相同的方式处理绿色和蓝色分量。通过选择γ=2.4,第一两个码字之间的相对差变成0:16 %,并且对于最后两个码字的ditto变成0.95 %,这要平衡得多。
SDR采集过程
假设摄像机传感器以cd/m2为单位测量线性光(R,G,B),第一步是要除以峰值亮度以得到归一化线性光(R01,G01,B01)。随后应用EOTF的逆R’=(R01)1/γ,并且同样地对绿色和蓝色进行操作。为将颜色分量解相关,应用从RGB颜色空间到YCbCr的颜色变换。下一步是要量化数据。在此示例中,我们量化到10比特,产生从0到1023变化的分量(Y’444,Cb’444,Cr’444)。最后,对两个色度分量进行二次采样,以得到(Y’420,Cb’420,Cr’420)。数据现在能够被发送到诸如HEVC编码器的视频编码器。
SDR数据的显示
在接收器侧,解码HEVC比特流以恢复(Y’420,Cb’420,Cr’420),或者由于事实是HEVC是有损解码器而恢复这些值的解码版本。随后以与上面所述相反的方式处理信号。最终结果是显示的线性光表示(R,G,B)。
HDR处理
对于可包括高达10 000 cd/m2的亮度的HDR数据,简单的幂函数不是很适合在亮度的整个范围上人眼的对比度敏感性。γ的任何固定值将导致在暗色调、亮色调或中间色调中的量化均太粗糙。为解决此问题,使用了定义如下的EOTF:
峰值亮度也从100更改到10 000。
问题
如果应用上面概述的常规SDR处理,但带有上面定义的新EOTF,并且峰值亮度等于10000,则一些意外会发生。如通过比较图17A和17B与图18A和18B所示,出现了伪影。注意,对于图17A、17B、18A、18B,除二次采样和量化到10比特外,尚未进行压缩。然而,出现了干扰伪影。
分析
假设以下两个像素在图片中彼此相邻:
RGB1=(1000;0;100);以及
RGB2=(1000;4;100)
注意,这些颜色很相似。然而,第一处理步骤产生
Y’444Cb’444Cr’4441=(263;646;831)以及
Y’444Cb’444Cr’4442=(401;571;735)
它们彼此大不相同。这两个值的平均值是Y’Cb’Cr’=(332;608.5;783)。现在,如果我们将回溯至处理链中以查看这表示的是什么线性RGB值,我们得到RGB=(1001;0.48;100.5),这相当接近于RGB1和RGB2二者。因此,只平均所有三个分量不是问题。在只有Cb'和Cr'被内插值时引发了更大的问题,并且我们使用来自像素的没有内插值的Y'值。这是在常规色度二次采样中进行的操作,其被执行以便创建4:2:0表示。例如,采用来自上面第一像素的Y',即Y’Cb’Cr’=(263;608.5;783)表示(484;0.03;45)的线性RGB颜色(其太暗了)。类似地,采用来自第二像素的Y',即Y’Cb’Cr’=(401;608.5;783)给出(2061;2.2;216)的RGB颜色(其太亮了)。
可能的变通方案
考虑添加第三像素到示例,
RGB3=(1000;8;100)
如果我们将这些线性输入转换成R'G'B',我们得到
R’G’B’1=(0.7518;0.0000;0.5081)
R’G’B’2=(0.7518;0.2324;0.5081)
R’G’B’3=(0.7518;0.2824;0.5081)。
很明显,G'的跳跃在第一与第二像素之间更大,尽管线性G以4的相等步更改。同样地,Y'Cb'Cr'坐标之间的差在第一两个像素之间将比在最后两个像素之间更大。因此,在线性光中一个或两个分量接近于零时,即,在颜色接近色域的边缘时,效应将最大。因此,避免伪影的一种方式能够是只避免饱和颜色。然而,BT.2020的更大颜色空间专门为允许更多饱和颜色而引入,因此,解决方案不是合乎期望的。
这突出了另一问题。很多测试内容以Rec.709摄制,并且在转换到BT.2020后,没有颜色将是完全饱和的,并且因此伪影将是小的。例如,以Rec.709采集的像素(例如RGB709=(0;500;0))将在转换到BT.2020后不再具有任何零分量,RGB2020=(165;460;44)。稍后,在摄像机能够以BT.2020录制时,更强得多的伪影将出现。为仿真在BT.2020容器中BT.2020内容的效应,我们因此在此示例中已使用了在Rec.709容器中的Rec.709材料以便对图进行处理。然而,在数学上,不存在差别,因为坐标R01G01B01将在两种情况下跨[0;1]的完全范围。
另一变通方案是使用恒定亮度处理(CL)。在CL中,所有亮度被携带在Y'中,而不同于在称为非恒定亮度处理(NCL)的上面呈现的处理中仅大部分亮度在luma Y'中被携带。然而,与CL有关的一个问题是它影响整个链;在4:2:0/4:2:2 CL表示与4:2:0/4:2:2 NCL表示之间来回转换带来了在每个转换步骤中引入伪影的危险。在实践中,因此一直难以将整个行业从常规NCL转换到CL。
提议的解决方案:Luma调整
基本的想法是要确保得到的亮度匹配所期望的亮度。关于亮度,我们指(线性)CIE1931 XYZ颜色空间的Y分量。此Y不同于上面提及的luma Y’,因为Y是从线性RGB值计算得出,Y=wRR+wGG+wBB (1),其中,wR=0.2627,wG=0.6780,并且wB=0.0593。亮度Y很好地对应于人类视觉系统如何理解亮度,因此,令人感兴趣的是将它保持好。这在图19中示出,图中处理后的信号(顶部)和原始信号(底部)被转换成线性XYZ。随后,如在图中能够看到的,Y分量大不相同。关键的洞察是luma值Y'能够在每个像素中独立更改,并且因此通过更改Y',直至Ŷ等于YO,可能到达正确的所期望或原始线性亮度YO,如图20中所示。同样是这种情况,Ŷ随Y’单调增大,这意味着可能知道其中Y'应当被更改的方向。因此,诸如间隔减半的简单方法在对于10比特量化能够用于在最多10步中查找出最佳Y'。如果优选的是一步解,则可能使用3D查找表,其吸收Cb、Cr和所期望的线性亮度YO,并且输送Y'。
实现方面
技术能够通过以下方式有效地实现:首先,通过应用等式1到每个像素的原始(R,G,B)值,获得用于每个像素的所期望或原始亮度YO。其次,执行整个链:(R,G,B)→(归一化)→(R01,G01,B01)→(EOTF-1)→(R’,G’,B’)→(颜色变换)→(Y’01,Cb’0.5,Cr’0.5)→(10比特量化)→(Y’444,Cb’444,Cr’444)→(色度二次采样)→(Y’420,Cb’420,Cr’420)→(色度上采样)→(Ŷ’444,Ĉb’444,Ĉr’444)→(逆量化)→(Ŷ’01,Ĉb’0.5,Ĉr’0.5)。随后,对于每个像素,设置[0;1023]的开始间隔。接着,尝试候选值Ŷ’444=512。从候选值计算Ŷ’01,并且通过使用以前计算的Ĉb’0.5、Ĉr’0.5,可能完成最后的处理步骤,通过以下链产生():(Ŷ’01, Ĉb’0.5, Ĉr’0.5)→(逆颜色变换)→()→(EOTF)→()→(去归一化)→()。这现在被馈送到等式1中,以得到候选亮度Ŷ。对于给定像素,如果Ŷ<YO,则这意味着候选值Ŷ’444太小,并且正确的luma值必须处在间隔[512;1023]中。同样地,如果Ŷ>YO,则正确的luma值必须处在间隔[0;512]中。过程现在被重复进行,并且在十个迭代后,间隔包含两个相邻值。在此阶段,对两个值均进行尝试,并且选择产生最小误差(Ŷ–YO)2的那一个。
结果
我们实现了常规处理链,并且将此常规处理链与包括luma调整步骤但保持解码器相同的我们的链相比较。图17A-17C和18A-18C示出无压缩的结果。此处,常规处理链(图17B和18B)和我们的处理链(图17C和18C)均被转换到Y'Cb'Cr' 4:2:0,并且随后转换回线性RGB。图17A和18A示出原始图片。与传统处理相比,总编码时间(颜色转换加上HM压缩)增大大约3 %。
对于HDR材料,无单个度量具有类似于用于SDR内容的PSNR的作用。代替的是,我们报告两个度量,用于亮度的tPSNR-Y和用于色度的deltaE。在表5中,示出了用于BT.709容器中BT.709材料的未压缩结果。此处,我们看到作为tPSNR-Y被测量的亮度质量中的大幅增大,平均上超过17 dB且在一个序列上超过20 dB。此外,deltaE结果正在改善。表6示出用于BT.2020容器中BT.709材料或P3材料的未压缩结果。此处,增益不那么显著,因为无直接在域边缘上的颜色可用,但tPSNR-Y改善仍为平均8 dB,并且在一些序列上超过11 dB。deltaE测量有轻微改善。注意,采用真BT.2020材料,我们预期增益更类似于在表5中的增益。
表5 – 用于Rec.709容器的tPSNR-Y和deltaE增大(dB)
表6 – 用于BT.2020容器的tPSNR-Y和deltaE增大(dB)
附件
此附件调查由于4:2:0二次采样造成的颜色伪影。首先,进行交叉检查的尝试,但可能由于已经固定的HDRTools中的错误(bug),不能再现最坏的值。接着,执行对由4:2:0二次采样引发的亮度中最坏相对误差的搜索。被发现的是,即使在限于4000尼特的屏幕上显示,也能够发生86 %的相对误差(195个Barten步)。即使数据被限制到Rec709并且保留在BT.2020容器中,30个Barten步的误差是可能的。对于在BT.2020容器中的P3内容,40个Barten步的误差是可能的。
1 简介
已被注意到的是,使用4:2:0二次采样时,即使未进行压缩,颜色中小的更改能够引入惊人的大伪影。
1.1 交叉检查差异
此调查作为m35255[1]的交叉检查开始,尝试复制在下面表A1中再印的在幻灯片13上的结果。结果来自测试图像,其中直至像素95的图像的左侧部分具有颜色(3000,0,100),并且右侧部分、像素96和前面具有颜色(3000,4,100)。
表A1 – m35255的值
在使用与用于锚(n14548,[2])相同的规程进行交叉检查时,我们得到表A2中示出的结果。对于下采样,采用在[2]的段2.4.7中描述的滤波器(2和3个抽头),并且对于上采样,采用[2]的段2.4.8(4抽头滤波器)。
表A2 - 在尝试交叉检查时的值
如所能看到的,这匹配确实地差,并且仅像素号94和98匹配,而未发现对于像素号95-97或99的匹配。然而,将间断移到像素97转而给出了要好得多的匹配,如表A3中所示。
表A3 - 在移动间断时的值
在表3中,仅像素号96不匹配。那也是有着最奇怪值(10000,1.57,402.25)的像素,取决于你放置间断的位置,正确的答案是(3000,0,100)或(3000,4,100)。
看起来好像交叉检查中的不匹配是由于在HDRtools中已经校正的误差。如果回到版本492,我们能够产生与在m35255 [1]中相同的值。为确认HDRtools的更新版本(修订版573)是正确的,我们已在Matlab中独立实现处理链,并且我们得到与在表A3中相同的结果。我们必须移动间断以得到匹配的原因可能是由于在当前版本中已解决的在修订版492中的有错过滤。
1.2 舍入问题
在实现Matlab交叉检查时,我们认识到在HDRtools中浮点型到EXR的转换缺乏舍入。尾数的23比特不是舍入到10比特,它们只是被向右移位,基本是将round( )替代为floor( )。这影响最终结果。例如,即便3008.0是更接近得多的值,但浮点型的3007.9将被转换到3006.0。为得到匹配,我们在HDRtools的当前修订版([3]的修订版587)中使Matlab代码仿真floor( )-型转换。
1.3 颜色异常点
注意,即使像素96不再是极度异常点,但像素97仍离正确值差很远,正确值是(5860,2.58,199)而不是(300,4,100)。这引起了问题;4:2:0二次采样能够生成多差的异常点,并且这发生在何处为回答此问题,我们先必须定义我们对“差”的解释。我们集中在亮度上,因为人类视觉系统对亮度中的更改比对色度中的更改更敏感。因此,我们将输入EXR图像和输出EXR图像均从线性光变换到XYZ,并且形成在Y中的差。为得到相对误差,我们随后除以原始的Y分量。随后,我们编写一个小程序,最大化用于在该类型的所有可能图像上的像素97的此相对误差,其中左侧部分具有一个颜色,并且右侧部分是相同颜色加长度为4的小delta,恰如在m35255 [1]中进行的一样。
运行此程序给出的答案是,具有在左侧部分中的颜色(2142,0,138)和在右侧部分中的颜色(2142,4,138)给出最大可见误差,如表A4中所示。不保证寻找“最坏”误差的优化软件找到全局最大值,因此,在色域中可存在甚至更坏的位置。
表A4 – 对于4:2:0二次采样用于“最坏”颜色的数据
应注意的是,具有比2142更高的红色分量将生成甚至更高的相对误差。然而,我们假设高于4000的RGB值将被监视器削减到4000,因此,我们相信如果使用更高值,则实际屏上差别将开始缩小。
如在表A4中能够看到的,用于RGB 4:4:4的相对误差是0.0304%。确切地说,我们比较了该误差和Barten曲线,参见示出用于对比度敏感性的Barten曲线的图21。曲线之下的对比度不可察觉。表A5示出用于绘制图21中的曲线的值。
表A5 - 用于绘制Barten曲线的值
如在图21中能看到的,用于相对误差的容限随着亮度的增大而减小。在100尼特,0.44 %的误差能够是恰可察觉的,而在1000尼特,0.40 %的误差能够是恰可察觉的。由于455尼特正好在这些值之间,因此,我们使用0.44 %的更高值。这给出0.069的Barten步,这意味着它是不可察觉。
另一方面,对于4:2:0二次采样,相对误差是85.92 %。这等效于超过195个Barten步,这应是明显可见的。因此,断定4:2:0二次采样能够形成明显可见伪影似乎是合理的,如在锚生成中的情况一样至少伴随带有非恒定亮度和高度非线性传递函数。
注意,最坏误差正好在色域的边界上;因为绿颜色为零,颜色(2142,0,138)是在红基色与绿基色之间的线上。这与在也指出域边缘上的颜色有问题的m35255 [1]中报告的内容一致。
1.4 在输入是709数据时
表A1中呈现的数据是用于BT.2020基色。如果输入数据与Rec709基色有关,但容器是BT.2020,则将不可能到达色域边界。这是由于事实是Rec709域三角形是在BT.2020三角形内,未接触域边界(如在图22中所能看到的)。因此,假设相对误差将更小是合理的。
我们已运行优化软件以查找在转换到BT.2020后将产生最大相对误差的Rec709颜色。所得到的两个颜色是用于屏幕的左侧部分的(0,0,50)和右侧部分中的(2,3,49)。这呈现在表A6中。
表A6 - 如果输入是Rec709,并且容器格式是BT.2020,则针对4:2:0二次采样用于“最坏”颜色的数据
此处,我们已使用了在10尼特的Barten曲线,其等于0.54 %。对于RGB 4:4:4,我们随后得到在1.2305个Barten步恰可察觉的误差,而在RGB 4:2:0中的误差等于33个Barten步,其应是明显可见的。由于以Rec709数据开始排除了颜色到达BT.2020的域边缘的所有部分,因此,误差更小(33个Barten步对195个Barten步)也是合理的。
同样注意,优化结果是如何已发现最坏误差在蓝基色附近可用。这可能是因为蓝Rec709基色最接近BT.2020域边缘(如在图22中所能看到的)。
1.5 在输入是P3数据时
相同测试能够为在BT.2020容器中包含的P3源数据执行。最坏颜色然后是(2.48,3.32,4.63)和(3.29,0,6.71),如表A7中所示。
表A7 - 如果输入是P3,并且容器格式是BT.2020,则针对4:2:0二次采样用于“最坏”颜色的数据
我们将假设误差将在Rec709与BT.2020之间某处,并且情况也是如此,我们现在得到等效于40.38个Barten步的误差。注意,由于Barten值更改,因此,重要的是在搜索最坏值时在循环中包括它。我们已使用了用于1 cd/m2的Barten值,其等于0.85 %。
1.6. 结论
此附件调查了由于4:2:0二次采样造成的在亮度中的误差。虽然我们尚不能匹配来自m35255 [1]的最坏异常点,但最坏情况误差仍是显著的,对于一般数据达到几乎200个Barten步。即使源数据受限于Rec709,并且被放置在BT.2020容器中,误差仍是显著的,超过30个Barten步,并且对于在BT.2020容器中的P3数据,超过40个Baren步。
上述实施例要理解为本发明的几个说明性示例。本领域的技术人员将理解,在不脱离本发明范围的情况下,可对实施例进行各种修改、组合和更改。具体地说,不同实施例中的不同部分解决方案可在技术上可能的情况下被组合在其它配置中。然而,本发明的范围由随附权利要求定义。
参考文献
[1] International Organization for Standardization, ISO/IEC JTC1/SC29/WG11, Coding of moving pictures and audio, MPEG2013/M35255, October2014, Strasbourg, France, Francois et al., About using a BT.2020 containerfor BT.709 content
[2] International Organization for Standardization, ISO/IEC JTC1/SC29/WG11, Coding of moving pictures and audio, MPEG2014/N14548, July 2014,Sapporo, Japan, Luthra et al., Test sequences and anchor generation for HDRand Wide Gamut Content Distribution
[3] https://wg11.sc29.org/svn/repos/Explorations/XYZ/HDRTools/branches/0.9-dev
[4] International Organization for Standardization, ISO/IEC JTC1/SC29/WG11, Coding of moving pictures and audio, MPEG2014/N15083, February2015, Geneva, Switzerland, Luthra et al., Call for Evidence (CfE) for HDR andWCG Video Coding
Claims (30)
1.一种预处理在图片中的像素的方法,所述方法包括:
获得(S1)基于在第一颜色空间中所述像素的线性颜色确定的在第三颜色空间中所述像素的原始线性亮度分量值;以及
基于在第二颜色空间中的第一非线性色度分量值、在所述第二颜色空间中的第二非线性色度分量值和在所述第三颜色空间中的所述原始线性亮度分量值,导出(S2)用于所述像素的在所述第二颜色空间中的非线性luma分量值。
2.根据权利要求1所述的方法,其中获得(S1)所述原始线性亮度分量值包括基于在所述第一颜色空间中的所述线性颜色,确定(S1)在所述第三颜色空间中的所述原始线性亮度分量值。
3.根据权利要求1或2所述的方法,其中导出(S2)所述非线性luma分量值包括导出(S2)使得所述第三颜色空间中的所述原始线性亮度分量值与所述第三颜色空间中的线性亮度分量值之间的差最小化的在所述第二颜色空间中的非线性luma分量值,在所述第三颜色空间中的所述线性亮度分量值基于在所述第二颜色空间中的所述非线性luma分量值、在所述第二颜色空间中的所述第一非线性色度分量值和在所述第二颜色空间中的所述第二非线性色度分量值来被确定。
4.根据权利要求1或2所述的方法,其中导出(S2)所述非线性luma分量值包括基于在所述第二颜色空间中的二次采样的第一非线性色度分量值、在所述第二颜色空间中的二次采样的第二非线性色度分量值和在所述第三颜色空间中的所述原始线性亮度分量值,导出(S2)在所述第二颜色空间中的所述非线性luma分量值。
5.根据权利要求4所述的方法,还包括:
对在所述第一颜色空间中的所述线性颜色应用(S10)第一传递函数,以得到在所述第一颜色空间中的非线性颜色;
应用(S11)第一颜色变换到在所述第一颜色空间中的所述非线性颜色,以得到在所述第二颜色空间中的非线性颜色,其中在所述第二颜色空间中的所述非线性颜色包括初始第一非线性色度分量值和初始第二非线性色度分量值;以及
对在所述第二颜色空间中的所述初始第一非线性色度分量值和在所述第二颜色空间中的所述初始第二非线性色度分量值进行二次采样(S12),以得到在所述第二颜色空间中的所述二次采样的第一非线性色度分量值和在所述第二颜色空间中的所述二次采样的第二非线性色度分量值。
6.根据权利要求4所述的方法,还包括:
(i)对在所述第二颜色空间中的所述二次采样的第一非线性色度分量值和在所述第二颜色空间中的所述二次采样的第二非线性色度分量值进行上采样(S20),以得到在所述第二颜色空间中的上采样的第一非线性色度分量值和在所述第二颜色空间中的上采样的第二非线性色度分量值;
(ii)应用(S21)第二颜色变换到在所述第二颜色空间中的候选非线性luma分量值、在所述第二颜色空间中的所述上采样的第一非线性色度分量值和在所述第二颜色空间中的所述上采样的第二非线性色度分量值,以得到在所述第一颜色空间中的非线性颜色;
(iii)对在所述第一颜色空间中的所述非线性颜色应用(S22)第二传递函数,以得到在所述第一颜色空间中的线性颜色;以及
(iv)应用(S23)第三颜色变换到在所述第一颜色空间中的所述线性颜色,以得到在所述第三颜色空间中的线性亮度分量值,其中导出(S2)所述非线性luma分量值包括基于所述第三颜色空间中的所述原始线性亮度分量值和所述第三颜色空间中的所述线性亮度分量值的比较,导出(S2)所述非线性luma分量值。
7.根据权利要求6所述的方法,其中导出(S2)所述非线性luma分量值包括选择减小在所述第三颜色空间中的所述原始线性亮度分量值与在所述第三颜色空间中的所述线性亮度分量值之间的差的在所述第二颜色空间中的候选非线性luma分量值。
8.根据权利要求7所述的方法,还包括为在所述第二颜色空间中的不同候选非线性luma分量值执行(L2)步骤(ii)到(iv)(S21-S23),其中选择所述候选非线性luma分量值包括在所述第二颜色空间中的所述不同候选非线性luma分量值之中选择产生在所述第三颜色空间中的所述原始线性亮度分量值与在所述第三颜色空间中的所述线性亮度分量值之间最小的差的候选非线性luma分量值。
9.根据权利要求6所述的方法,还包括执行二分法搜索以选择使得在所述第三颜色空间中的所述原始线性亮度分量值与在所述第三颜色空间中的所述线性亮度分量值之间的差最小化的在所述第二颜色空间中的候选非线性luma分量值。
10.根据权利要求5所述的方法,还包括对在所述第二颜色空间中的所述二次采样的第一非线性色度分量值和在所述第二颜色空间中的所述二次采样的第二非线性色度分量值进行上采样(S30),以得到在所述第二颜色空间中的上采样的第一非线性色度分量值和在所述第二颜色空间中的上采样的第二非线性色度分量值,其中导出(S2)所述非线性luma分量值包括使用在所述第三颜色空间中的所述原始线性亮度分量值、或其非线性版本、在所述第二颜色空间中的所述上采样的第一非线性色度分量值和在所述第二颜色空间中的所述上采样的第二非线性色度分量值、或这些用于检索的值的量化版本作为到查找表的输入,从所述查找表检索(S32)在所述第二颜色空间中的所述非线性luma分量值。
11.根据权利要求10所述的方法,还包括对在所述第三颜色空间中的所述原始线性亮度分量值应用(S31)所述第一传递函数,以得到在所述第三颜色空间中的原始非线性亮度分量值,其中导出(S2)所述非线性luma分量值包括使用在所述第三颜色空间中的所述原始非线性亮度分量值、在所述第二颜色空间中的所述上采样的第一非线性色度分量值和在所述第二颜色空间中的所述上采样的第二非线性色度分量值、或这些用于检索的值的所述量化版本作为到所述查找表的输入,从所述查找表检索(S32)在所述第二颜色空间中的所述非线性luma分量值。
12.根据权利要求10所述的方法,其中对于在所述第三颜色空间中的所述原始线性亮度分量值、或其所述非线性版本、在所述第二颜色空间中的所述上采样的第一非线性色度分量值和在所述第二颜色空间中的所述上采样的第二非线性色度分量值、或这些值的所述量化版本的每个组合,所述查找表包括在所述第二颜色空间中的最佳非线性luma分量值,所述最佳非线性luma分量值使得在所述第三颜色空间中的所述原始线性亮度分量值与基于在所述第二颜色空间中的所述最佳非线性luma分量值、在所述第二颜色空间中的所述二次采样的第一非线性色度分量值和在所述第二颜色空间中的所述二次采样的第二非线性色度分量值确定的在所述第三颜色空间中的线性亮度分量值之间的差最小化。
13.一种对图片中的像素进行编码的方法,所述方法包括:
根据权利要求1到12中任一项所述的方法来预处理所述像素,以导出用于所述像素的在第二颜色空间中的非线性luma分量值;以及
编码(S3)所述非线性luma分量值、在所述第二颜色空间中的二次采样的第一非线性色度分量值和在所述第二颜色空间中的二次采样的第二非线性色度分量值。
14.一种用于预处理图片中的像素的装置(100,110),所述装置(100,110)包括:
确定单元(101),用于获得基于在第一颜色空间中所述像素的线性颜色确定的在第三颜色空间中所述像素的原始线性亮度分量值;以及
导出器(102),用于基于在第二颜色空间中的第一非线性色度分量值、在所述第二颜色空间中的第二非线性色度分量值和在所述第三颜色空间中的所述原始线性亮度分量值,导出用于所述像素的在所述第二颜色空间中的非线性luma分量值。
15.根据权利要求14所述的装置,其中所述装置(100,110)配置成基于在所述第一颜色空间中的所述线性颜色,确定在所述第三颜色空间中的所述原始线性亮度分量值。
16.根据权利要求14或15所述的装置,其中所述装置(100,110)配置成导出使得在所述第三颜色空间中的所述原始线性亮度分量值与在所述第三颜色空间中的线性亮度分量值之间的差最小化的在所述第二颜色空间中的非线性luma分量值,在所述第三颜色空间中的所述线性亮度分量值基于在所述第二颜色空间中的所述非线性luma分量值、在所述第二颜色空间中的所述第一非线性色度分量值和在所述第二颜色空间中的所述第二非线性色度分量值来被确定。
17.根据权利要求14或15所述的装置,其中所述装置(100,110)配置成基于在所述第二颜色空间中的二次采样的第一非线性色度分量值、在所述第二颜色空间中的二次采样的第二非线性色度分量值和在所述第三颜色空间中的所述原始线性亮度分量值,导出在所述第二颜色空间中的所述非线性luma分量值。
18.根据权利要求17所述的装置,其中
所述装置(100,110)配置成对在所述第一颜色空间中的所述原始线性颜色应用第一传递函数,以得到在所述第一颜色空间中的非线性颜色;
所述装置(100,110)配置成应用第一颜色变换到在所述第一颜色空间中的所述非线性颜色,以得到在所述第二颜色空间中的非线性颜色,其中在所述第二颜色空间中的所述非线性颜色包括初始第一非线性色度分量值和初始第二非线性色度分量值;以及
所述装置(100,110)配置成对在所述第二颜色空间中的所述初始第一非线性色度分量值和在所述第二颜色空间中的所述初始第二非线性色度分量值进行二次采样,以得到在所述第二颜色空间中的所述二次采样的第一非线性色度分量值和在所述第二颜色空间中的所述二次采样的第二非线性色度分量值。
19.根据权利要求17所述的装置,其中
所述装置(100,110)配置成对在所述第二颜色空间中的所述二次采样的第一非线性色度分量值和在所述第二颜色空间中的所述二次采样的第二非线性色度分量值进行上采样,以得到在所述第二颜色空间中的上采样的第一非线性色度分量值和在所述第二颜色空间中的上采样的第二非线性色度分量值;
所述装置(100,110)配置成应用第二颜色变换到在所述第二颜色空间中的候选非线性luma分量值、在所述第二颜色空间中的所述上采样的第一非线性色度分量值和在所述第二颜色空间中的所述上采样的第二非线性色度分量值,以得到在所述第一颜色空间中的非线性颜色;
所述装置(100,110)配置成对在所述第一颜色空间中的所述非线性颜色应用第二传递函数,以得到在所述第一颜色空间中的线性颜色;
所述装置(100,110)配置成应用第三颜色变换到在所述第一颜色空间中的所述线性颜色,以得到在所述第三颜色空间中的线性亮度分量值;以及
所述装置(100,110)配置成基于在所述第三颜色空间的所述原始线性亮度分量值与在所述第三颜色空间中的所述线性亮度分量值的比较,导出所述非线性luma分量值。
20.根据权利要求19所述的装置,其中所述装置(100,110)配置成选择减小在所述第三颜色空间中的所述原始线性亮度分量值与在所述第三颜色空间中的所述线性亮度分量值之间的差的在所述第二颜色空间中的候选非线性luma分量值。
21.根据权利要求20所述的装置,其中
所述装置(100,110)配置成针对在所述第二颜色空间中的不同候选非线性luma分量值执行所述第二颜色变换到在所述第二颜色空间中的候选非线性luma分量值、在所述第二颜色空间中的所述上采样的第一非线性色度分量值和在所述第二颜色空间中的所述上采样的第二非线性色度分量值的应用,所述第二传递函数到在所述第一颜色空间中的所述非线性颜色的应用和所述第三颜色变换到在所述第一颜色空间中的所述线性颜色的应用;以及
所述装置(100,110)配置成在所述第二颜色空间中的所述不同候选非线性luma分量值中选择产生在所述第三颜色空间中的所述原始线性亮度分量值与在所述第三颜色空间中的所述线性亮度分量值之间的最小的差的候选非线性luma分量值。
22.根据权利要求19所述的装置,其中所述装置(100,110)配置成执行二分法搜索以选择使得在所述第三颜色空间中的所述原始线性亮度分量值与在所述第三颜色空间中的所述线性亮度分量值之间的差最小化的在所述第二颜色空间中的候选非线性luma分量值。
23.根据权利要求18所述的装置,其中
所述装置(100,110)配置成对在所述第二颜色空间中的所述二次采样的第一非线性色度分量值和在所述第二颜色空间中的所述二次采样的第二非线性色度分量值进行上采样,以得到在所述第二颜色空间中的上采样的第一非线性色度分量值和在所述第二颜色空间中的上采样的第二非线性色度分量值;以及
所述装置(100,110)配置成使用在所述第三颜色空间中的所述原始线性亮度分量值、或其非线性版本、在所述第二颜色空间中的所述上采样的第一非线性色度分量值和在所述第二颜色空间中的所述上采样的第二非线性色度分量值、或这些用于检索的值的量化版本作为到查找表的输入,从所述查找表检索在所述第二颜色空间中的所述非线性luma分量值。
24.根据权利要求23所述的装置,其中
所述装置(100,110)配置成对在所述第三颜色空间中的所述原始线性亮度分量值应用所述第一传递函数,以得到在所述第三颜色空间中的原始非线性亮度分量值;以及
所述装置(100,110)配置成使用在所述第三颜色空间中的所述原始非线性亮度分量值、在所述第二颜色空间中的所述上采样的第一非线性色度分量值和在所述第二颜色空间中的所述上采样的第二非线性色度分量值、或这些用于检索的值的所述量化版本作为到所述查找表的输入,从所述查找表检索在所述第二颜色空间中的所述非线性luma分量值。
25.一种用于编码图片中的像素的装置(120),所述装置(120)包括:
确定单元(121),用于获得基于在第一颜色空间中所述像素的线性颜色确定的在第三颜色空间中所述像素的原始线性亮度分量值;
导出器(122),用于基于在第二颜色空间中的第一非线性色度分量值、在所述第二颜色空间中的第二非线性色度分量值和在所述第三颜色空间中的所述原始线性亮度分量值,导出用于所述像素的在所述第二颜色空间中的非线性luma分量值;以及
编码器(123),用于编码所述非线性luma分量值、所述第一非线性色度分量值和所述第二非线性色度分量值。
26.一种包括根据权利要求14到25任一项的装置(100,110,120)的用户设备(5,200),其中所述用户设备(5,200)是配置成接收和处理视频数据的装置或设备。
27.一种包括根据权利要求14到25任一项的装置(100,110,120)的用户设备(5,200),其中所述用户设备(5,200)是从由计算机、智能电话及机顶盒组成的群组中选择。
28.根据权利要求27所述的用户设备(5,200),其中所述计算机是膝上型计算机或平板。
29.一种包括指令的计算机程序(240),所述指令在由处理器(210)执行时促使所述处理器(210)执行以下操作:
获得基于在第一颜色空间中像素的线性颜色确定的在第三颜色空间中在图片中的所述像素的原始线性亮度分量值;以及
基于在第二颜色空间中的第一非线性色度分量值、在所述第二颜色空间中的第二非线性色度分量值和在所述第三颜色空间中的所述原始线性亮度分量值,导出用于所述像素的在所述第二颜色空间中的非线性luma分量值。
30.根据权利要求29所述的计算机程序,其中所述计算机程序(240)还包括在由所述处理器(210)执行时,促使所述处理器(210)编码所述非线性luma分量值、所述第一非线性色度分量值和所述第二非线性色度分量值的指令。
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US62/115679 | 2015-02-13 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1244581A1 HK1244581A1 (zh) | 2018-08-10 |
| HK1244581B true HK1244581B (zh) | 2021-02-11 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN107210026B (zh) | 像素预处理和编码 | |
| CN107836118B (zh) | 像素预处理和编码的方法、装置和计算机可读存储介质 | |
| CN107852513B (zh) | 对输入视频序列的像素进行编码 | |
| CN107615761B (zh) | 用于像素处理和编码的方法、设备和计算机可读介质 | |
| EP3459256B1 (en) | Pixel processing with color component | |
| CN107925778B (zh) | 像素预处理和编码 | |
| EP3320675B1 (en) | Pixel pre-processing and encoding | |
| HK1244581B (zh) | 像素预处理和编码 | |
| HK1244581A1 (zh) | 像素预处理和编码 | |
| HK1254146B (zh) | 像素预处理和编码 | |
| HK1254146A1 (zh) | 像素预处理和编码 |