像素预处理和编码的方法、装置和计算机可读存储介质转让专利

申请号 : CN202011239024.4

文献号 : CN112492307B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : J.施特雷姆M.彼得森K.安德森J.萨米尔森

申请人 : 瑞典爱立信有限公司

摘要 :

本发明的名称是像素预处理和编码的方法、装置和计算机可读存储介质。像素预处理包括对第一颜色空间中的线性颜色进行二次采样,以获得第一颜色空间中的二次采样的线性颜色。对第一颜色空间中的二次采样的线性颜色应用第一转移函数,以获得第一颜色空间中的二次采样的非线性颜色。对第一颜色空间中的二次采样的非线性颜色应用第一颜色变换,以获得第二颜色空间中的二次采样的第一非线性彩度分量值和/或二次采样的第二非线性彩度分量值。为像素导出第二颜色空间中的非线性亮度分量值,其与二次采样的非线性彩度分量值一起表示像素的颜色。预处理降低了在第一转移函数和第一颜色变换的应用后执行彩度二次采样时以其它方式可发生的彩度伪像。

权利要求 :

1.一种预处理图片的方法,所述方法包括:

(a)接收所述图片的像素的线性RGB颜色值,并且对所接收的线性RGB颜色值进行二次采样(S1),以获得二次采样的线性RGB颜色值;

(b)对来自(a)的所述二次采样的线性RGB颜色值应用(S2)第一非线性转移函数,以获得二次采样的非线性颜色值R'G'B';

(c)对来自(b)的所述二次采样的非线性R'G'B'颜色值应用(S3)第一颜色变换,以获得二次采样的非线性彩度分量值Cb'、Cr';

(d)对来自(c)的所述二次采样的非线性彩度分量值Cb'、Cr'进行升采样,以获得所述图片的所述像素的升采样的非线性彩度分量值Cb'、Cr';

(e)从所接收的线性RGB颜色值来确定(S10)所述图片的所述像素的原始线性光亮度值YO,所述原始线性光亮度值YO表示眼睛对其敏感的光亮度;以及(f)通过以下操作来导出(S11)所述图片的像素的非线性亮度分量值Y':选择Y'的值,使得当Y'的所选值与来自(d)的所述像素的升采样的非线性彩度分量值Cb'、Cr'的组合被变换为所述像素的对应的线性RGB颜色值时,在来自(e)的所述像素的原始线性光亮度值YO与从所述对应的线性RGB颜色值所导出的线性光亮度值Y之间的差被减小。

2.根据权利要求1所述的方法,其中(f)包括通过以下操作来导出(S11)所述非线性亮度分量值Y':(i)对所述像素的候选非线性亮度分量值Y'与来自(d)的所述像素的升采样的非线性彩度分量值Cb'、Cr'的组合应用(S21)第二颜色变换,以获得所述像素的对应的非线性颜色值R'G'B';

(ii)对在(i)所获得的所述对应的非线性颜色值R'G'B'应用(S22)第二转移函数,以确定所述像素的对应的线性RGB颜色值;

(iii)对来自(ii)的所述对应的线性RGB颜色值应用(S23)第三颜色变换,以导出所述像素的线性光亮度值Y;以及(iv)将来自(iii)的所导出的线性光亮度值Y与来自(e)的所述像素的原始线性光亮度值YO进行比较。

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

(v)针对不同的候选非线性亮度分量值Y'执行(L2)(i)到(iv),其中在(f)导出(S11)所述像素的非线性亮度分量值Y'包括:在所述不同的候选非线性亮度分量值Y'之中选择以下候选非线性亮度分量值Y':所述候选非线性亮度分量值Y'在(iv)导致以下所导出的线性光亮度值:所述所导出的线性光亮度值当与所述原始线性光亮度值YO进行比较时提供最小的差。

4.根据权利要求3所述的方法,其中(v)包括:执行(S24)二分法搜索以选择以下候选非线性亮度分量值Y':所述候选非线性亮度分量值Y'减小由在(iv)的所述比较所确定的差。

5.根据权利要求2至4中的任一项所述的方法,包括:从查找表检索(S31)所述非线性亮度分量值Y',所述查找表具有通过(i)到(iv)的一个或多个应用所计算的所述非线性亮度分量值Y'的值。

6.根据权利要求1至4中的任一项所述的方法,包括:精化(S40)像素的二次采样的非线性彩度分量值Cb'、Cr'中的至少一个,以抵消由在(f)所确定的所述像素的非线性亮度分量值Y'的光亮度的校正而引起的色度的偏移。

7.根据权利要求1至4中的任一项所述的方法,包括:

(g)对来自(b)的所述二次采样的线性颜色值R'G'B'应用(S51)第四颜色变换,以获得所述图片的所述像素的色度的二次采样的非线性表示xy(C');

(h)对色度的所述二次采样的非线性表示xy(C')进行升采样(S52),以获得所述图片的所述像素的色度的升采样的非线性表示xy(C');

(j)对所述线性光亮度值Y与相应的色度的升采样的非线性表示xy(C')的每个组合应用(S53)第五颜色变换,以获得所述图片的所述像素的相应的线性参考RGB颜色值;

(k)对来自(j)的所述线性参考RGB颜色值应用(S54)所述第一非线性转移函数,以获得所述像素的非线性参考颜色值R'G'B';

(l)对来自(k)的所述非线性参考颜色值R'G'B'应用(S55)所述第一颜色变换,以获得每个所述像素的相应的至少一个非线性彩度参考分量值Cb'、Cr';

(m)计算(S57)每个所述像素的、在来自(l)的所述相应的至少一个非线性彩度参考分量值Cb'、Cr'与来自(d)的相应的升采样的非线性彩度分量值Cb'、Cr'之间的、相应的彩度差△Cb'、△Cr';

(n)对所述彩度差△Cb'、△Cr'进行二次采样(S58),以获得二次采样的彩度差;以及(o)将来自(n)的所述二次采样的彩度差加到(S59)来自(c)的相应的二次采样的非线性彩度分量值Cb'、Cr',以获得所述图片的所述像素的相应的更新的二次采样的非线性彩度分量值Cb'、Cr'。

8.根据权利要求7所述的方法,其中(f)包括:使用来自(o)的所述相应的更新的二次采样的非线性彩度分量值Cb'、Cr'代替来自(c)的所述二次采样的非线性彩度分量值Cb'、Cr'来导出(S11)所述图片的所述像素的非线性亮度分量值Y'。

9.一种用于预处理图片的装置(100A,100B,110),所述装置(100A,100B,110)配置成:(a)接收所述图片的像素的线性RGB颜色值,并且对所接收的线性RGB颜色值进行二次采样(S1),以获得二次采样的线性RGB颜色值;

(b)对来自(a)的所述二次采样的线性RGB颜色值应用(S2)第一非线性转移函数,以获得二次采样的非线性颜色值R'G'B';

(c)对来自(b)的所述二次采样的非线性R'G'B'颜色值应用(S3)第一颜色变换,以获得二次采样的非线性彩度分量值Cb'、Cr';

(d)对来自(c)的所述二次采样的非线性彩度分量值Cb'、Cr'进行升采样,以获得所述图片的所述像素的升采样的非线性彩度分量值Cb'、Cr';

(e)从所接收的线性RGB颜色值来确定(S10)所述图片的所述像素的原始线性光亮度值YO,所述原始线性光亮度值YO表示眼睛对其敏感的光亮度;以及(f)通过以下操作来导出(S11)所述图片的像素的非线性亮度分量值Y':选择Y'的值,使得当Y'的所选值与来自(d)的所述像素的升采样的非线性彩度分量值Cb'、Cr'的组合被变换为所述像素的对应的线性RGB颜色值时,在来自(e)的所述像素的原始线性光亮度值YO与从所述对应的线性RGB颜色值所导出的线性光亮度值Y之间的差被减小。

10.根据权利要求9所述的装置,其中所述装置(100A,100B,110)配置成通过以下操作来导出所述非线性亮度分量值Y':(i)对所述像素的候选非线性亮度分量值Y'与来自(d)的所述像素的升采样的非线性彩度分量值Cb'、Cr'的组合应用(S21)第二颜色变换,以获得所述像素的对应的非线性颜色值R'G'B';

(ii)对在(i)所获得的所述对应的非线性颜色值R'G'B'应用(S22)第二转移函数,以确定所述像素的对应的线性RGB颜色值;

(iii)对来自(ii)的所述对应的线性RGB颜色值应用(S23)第三颜色变换,以导出所述像素的线性光亮度值Y;以及(iv)将来自(iii)的所导出的线性光亮度值Y与来自(e)的所述像素的原始线性光亮度值YO进行比较。

11.根据权利要求9或权利要求10所述的装置,配置成:

(g)对来自(b)的所述二次采样的线性颜色值R'G'B'应用(S51)第四颜色变换,以获得所述图片的所述像素的色度的二次采样的非线性表示xy(C');

(h)对色度的所述二次采样的非线性表示xy(C')进行升采样(S52),以获得所述图片的所述像素的色度的升采样的非线性表示xy(C');

(j)对所述线性光亮度值Y与相应的色度的升采样的非线性表示xy(C')的每个组合应用(S53)第五颜色变换,以获得所述图片的所述像素的相应的线性参考RGB颜色值;

(k)对来自(j)的所述线性参考RGB颜色值应用(S54)所述第一非线性转移函数,以获得所述像素的非线性参考颜色值R'G'B';

(l)对来自(k)的所述非线性参考颜色值R'G'B'应用(S55)所述第一颜色变换,以获得每个所述像素的相应的至少一个非线性彩度参考分量值Cb'、Cr';

(m)计算(S57)每个所述像素的、在来自(l)的所述相应的至少一个非线性彩度参考分量值Cb'、Cr'与来自(d)的相应的升采样的非线性彩度分量值Cb'、Cr'之间的、相应的彩度差△Cb'、△Cr';

(n)对所述彩度差△Cb'、△Cr'进行二次采样(S58),以获得二次采样的彩度差;以及(o)将来自(n)的所述二次采样的彩度差加到(S59)来自(c)的相应的二次采样的非线性彩度分量值Cb'、Cr',以获得所述图片的所述像素的相应的更新的二次采样的非线性彩度分量值Cb'、Cr'。

12.根据权利要求9所述的装置,配置成对所导出的非线性亮度分量值Y'和所述二次采样的非线性彩度分量值Cb'、Cr'进行编码。

13.一种包括根据权利要求9至12中的任一项所述的装置(100,110,120)的用户设备(5,200),其中所述用户设备(5,200)是配置成接收和处理视频数据的装置或设备。

14.一种计算机可读介质,所述计算机可读介质存储计算机程序(240),所述计算机程序(240)包括指令,所述指令在由处理器(210)执行时使所述处理器(210):(a)接收图片的像素的线性RGB颜色值,并且对所接收的线性RGB颜色值进行二次采样(S1),以获得二次采样的线性RGB颜色值;

(b)对来自(a)的所述二次采样的线性RGB颜色值应用(S2)第一非线性转移函数,以获得二次采样的非线性颜色值R'G'B';

(c)对来自(b)的所述二次采样的非线性R'G'B'颜色值应用(S3)第一颜色变换,以获得二次采样的非线性彩度分量值Cb'、Cr';

(d)对来自(c)的所述二次采样的非线性彩度分量值Cb'、Cr'进行升采样,以获得所述图片的所述像素的升采样的非线性彩度分量值Cb'、Cr';

(e)从所接收的线性RGB颜色值来确定(S10)所述图片的所述像素的原始线性光亮度值YO,所述原始线性光亮度值YO表示眼睛对其敏感的光亮度;以及(f)通过以下操作来导出(S11)所述图片的像素的非线性亮度分量值Y':选择Y'的值,使得当Y'的所选值与来自(d)的所述像素的升采样的非线性彩度分量值Cb'、Cr'的组合被变换为所述像素的对应的线性RGB颜色值时,在来自(e)的所述像素的原始线性光亮度值YO与从所述对应的线性RGB颜色值所导出的线性光亮度值Y之间的差被减小。

15.根据权利要求14所述的计算机可读介质,其中所述计算机程序(240)包括指令,所述指令在由所述处理器(210)执行时使所述处理器(210)对所述二次采样的非线性彩度分量值Cb'、Cr'以及为所述图片的所述像素所导出的所述非线性亮度分量值Y'进行编码。

说明书 :

像素预处理和编码的方法、装置和计算机可读存储介质

[0001] 本申请是申请号为201680042657.1、申请日为2016年5月10日、发明名称为“像素预处理和编码”的发明专利申请的分案申请。

技术领域

[0002] 本实施例一般涉及图片中的像素的预处理和编码,并且具体而言,涉及改进像素的色度值的此类预处理和编码。

背景技术

[0003] 高度非线性转移函数、4:2:0或4:2:2二次采样和非恒定光亮度排序的组合引发了饱和颜色中的严重伪像。示例在[1]中描述,其中在类似光亮度的两个颜色之间的改变能够导致具有非常不同的光亮度的重构图像。在本文档中,处理视频的现有技术方式标示为“锚”方式,因为它用于在[2]中描述的在MPEG求证中创建锚。
[0004] 与使用锚处理链有关的问题是除得到不精确的光亮度外,也可得到不精确的色度。这是由于在Y'Cb'Cr'空间中彩度样本Cb'和Cr'被二次采样的事实。存在与此有关的问题,即Y'Cb'Cr'颜色空间的非线性将有利于深色。这不是期望的结果,并且暗示开始时的彩度样本Cb'和Cr'将不精确。
[0005] 二次采样的第一部分是滤波,并且由于滤波是求平均的一种,因此,足以看到在我们对两个颜色求平均时发生了什么。在R'G'B'颜色空间或域中比在Y'Cb'Cr'中更容易看到在我们求平均时发生了什么,因此,首先我们将证明在这两个域中的求平均实际上是相同的事情。为此,先注意Y'Cb'Cr'只是R'G'B'的线性组合,如例如利用BT.709R'G'B'到Y'Cb'Cr'转换矩阵所说明的:
[0006] Y'=0.212600*R'+0.715200*G'+0.072200*B'
[0007] Cb'=‑0.114572*R'‑0.385428*G'+0.500000*B'(等式1)
[0008] Cr'=0.500000*R'‑0.454153*G'‑0.045847*B'
[0009] 因此,如果向量q保持R'G'B'中的颜色;q=(q1,q2,q3)=(R',G',B'),并且向量p保持(Y',Cb',Cr')中的相同颜色;p=(p1,p2,p3)=(Y',Cb',Cr'),则我们得出p=Mq,其中M是上‑1面的矩阵。同样地,q=M p。假定我们具有Y'Cb'Cr中的、我们想求平均的两个向量p1和p2。现在我们将示出,首先去到R'G'B',然后执行求平均,并且然后退回,与仅直接对p1和p2求平均‑1 ‑1
是相同的。通过使用q1=M p1和q2=M p2,我们去到R'G'B'。
[0010] R'G'B'空间中的平均是qa=1/2(q1+q2),但这等于qa=1/2(q1+q2)=1/2(M‑1p1+M‑1p2)=‑1M  1/2(p1+p2)。
[0011] 通过与M相乘,完成到Y'Cb'Cr'的退回,pa=Mqa=MM‑1 1/2(p1+p2)=1/2(p1+p2),但这与如果你直接在Y'Cb'Cr'中求平均而将会得到的是相同的事物。现在我们只必须示出R'G'B'中的二次采样有利于深色。
[0012] 考虑两种RGB颜色(1000,200,0)和(10,200,0)。第一个颜色非常红,并且第二个颜色非常绿。然而,第一个颜色比第二个颜色亮得多。如果在使得它们模糊成一个颜色的距离被看到,则净效应将是微红像素,因为1/2[(1000,200,0)+(10,200,0)]=(505,200,0),这与它是绿色的相比更红。然而,在R'G'B'中,该两个颜色得到值(0.7518,0.5791,0)和(0.2997,0.5791,0)。它们的平均将是1/2[(0.7518,0.5791,0)+(0.2997,0.5791,0)]=(0.5258,0.5791,0),在转换回RGB时其为(119,200,0)。因此,当在R'G'B'域中求平均时所得到的颜色,绿色几乎是红色的两倍。因此,深色(10,200,0)(其为绿色)对平均值已经具有过大的影响。
[0013] 为看到这在实际中能够看起来如何,考虑只有2×2个像素、含有以下线性RGB颜色的小图像:(3.41,0.49,0.12) (0.05,0.08,0.02)
(0.05,0.08,0.02) (0.05,0.08,0.02)
[0014] 由于这是高动态范围(HDR)图像,因此,难以在诸如本文档的低动态范围介质中示出它。然而,通过应用以下函数,有可能进行若干低动态范围(LDR)或标准动态范围(SDR)曝光:
[0015] LDR_red=clamp(0,255*(HDR_red*2c)gam,255),
[0016] 其中c从‑3去到1,gam=0.45,并且clamp(a,t,b)确保值t在[a,b]之间。这能够称为HDR图像的LDR“曝光”。
[0017] HDR像素相当暗(最高系数是4000分之3.41),因此,最暗曝光此处是最相关的。顶部左像素是微红的,并且周围像素看上去是黑的。只在更亮曝光中有可能看到暗像素实际上有点微绿。
[0018] 然而,在跟随锚处理链以从RGB转换成Y'Cb'Cr' 4:2:0并且再次转回时,所得到的HDR图像将是(1.14,0.79,0.38) (0.12,0.06,0.01)
(0.12,0.06,0.01) (0.12,0.06,0.01)
[0019] 此处的问题是顶部左像素的红色已消失,并且已被替换成灰色/白色像素。原因是在非线性Y'Cb'Cr'域中求平均有利于暗色,这将使所得到的像素过绿。此外,由于存在三个绿像素以及仅存在一个红像素,结果将仍是更绿。结果与原始的不太相似。
[0020] 因此,在使用基于高度非线性转移函数、彩度二次采样和非恒定光亮度排序的组合的现有技术处理链时,存在针对关于色度中的不精确的改进的需要。

发明内容

[0021] 一般目的是提供像素的预处理以防止视觉伪像。
[0022] 这些和其它目的通过如本文中公开的实施例而得以满足。
[0023] 实施例的方面涉及预处理图片中的像素的方法。方法包括对第一颜色空间中的线性颜色进行二次采样,以获得第一颜色空间中的二次采样的线性颜色。方法还包括对第一颜色空间中的二次采样的线性颜色应用第一转移函数,以获得第一颜色空间中的二次采样的非线性颜色。方法进一步包括对第一颜色空间中的二次采样的非线性颜色应用第一颜色变换,以获得第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值中的至少一个。方法另外包括为像素导出第二颜色空间中的非线性亮度分量值。然后,像素的颜色由第二颜色空间中的非线性亮度分量值、二次采样的第一非线性彩度分量值和二次采样的第二非线性彩度分量值来表示。
[0024] 实施例的另一方面涉及用于预处理图片中的像素的装置。装置配置成对第一颜色空间中的线性颜色进行二次采样,以获得第一颜色空间中的二次采样的线性颜色。装置还配置成对第一颜色空间中的二次采样的线性颜色应用第一转移函数,以获得第一颜色空间中的二次采样的非线性颜色。装置进一步配置成对第一颜色空间中的二次采样的非线性颜色应用第一颜色变换,以获得第二颜色空间中的二次采样的第一非线性彩度分量值和在第二颜色空间中的二次采样的第二非线性彩度分量值中的至少一个。装置另外配置成为像素导出第二颜色空间中的非线性亮度分量值。像素的颜色由第二颜色空间中的非线性亮度分量值、二次采样的第一非线性彩度分量值和二次采样的第二非线性彩度分量值来表示。
[0025] 另外的方面涉及用于预处理图片中的像素的装置。装置包括用于对第一颜色空间中的线性颜色进行二次采样,以获得第一颜色空间中的二次采样的线性颜色的确定单元。装置还包括像素处理器,其用于对第一颜色空间中的二次采样的线性颜色应用第一转移函数,以获得第一颜色空间中的二次采样的非线性颜色,并且用于对第一颜色空间中的二次采样的非线性颜色应用第一颜色变换,以获得第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值中的至少一个。装置进一步包括用于为像素导出第二颜色空间中的非线性亮度分量值的转换器。像素的颜色由第二颜色空间中的非线性亮度分量值、二次采样的第一非线性彩度分量值和二次采样的第二非线性彩度分量值来表示。
[0026] 实施例的又一方面涉及用于对图片中的像素进行编码的装置。装置包括处理器和包括可由处理器执行的指令的存储器。处理器可操作用来对第一颜色空间中的线性颜色进行二次采样,以获得第一颜色空间中的二次采样的线性颜色。处理器还可操作用来对第一颜色空间中的二次采样的线性颜色应用第一转移函数,以获得第一颜色空间中的二次采样的非线性颜色。处理器进一步可操作用来对第一颜色空间中的二次采样的非线性颜色应用第一颜色变换,以获得第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值。处理器另外可操作用来基于第二颜色空间中的二次采样的第一非线性彩度分量值、第二颜色空间中的二次采样的第二非线性彩度分量和第三颜色空间中的原始线性光亮度分量值,为像素导出第二颜色空间中的非线性亮度分量值。处理器还可操作用来对非线性亮度分量值、二次采样的第一非线性彩度分量值和二次采样的第二非线性彩度分量值进行编码。
[0027] 实施例的又一方面涉及用于对图片中的像素进行编码的装置。装置包括用于对第一颜色空间中的线性颜色进行二次采样,以获得第一颜色空间中的二次采样的线性颜色的确定单元。装置还包括像素处理器,其用于对第一颜色空间中的二次采样的线性颜色应用第一转移函数,以获得第一颜色空间中的二次采样的非线性颜色,以及对第一颜色空间中的二次采样的非线性颜色应用第一颜色变换,以获得第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值。装置进一步包括转换器,其用于基于第二颜色空间中的二次采样的第一非线性彩度分量值、第二颜色空间中的二次采样的第二非线性彩度分量值和第三颜色空间中的原始线性光亮度分量值,为像素导出第二颜色空间中的非线性亮度分量值。装置另外包括用于对非线性亮度分量值、二次采样的第一非线性彩度分量值和二次采样的第二非线性彩度分量值进行编码的编码器。
[0028] 实施例的又一方面涉及包括指令的计算机程序,所述指令在由处理器执行时,促使处理器对第一颜色空间中的线性颜色进行二次采样,以获得第一颜色空间中的二次采样的线性颜色。处理器还被促使以对第一颜色空间中的二次采样的线性颜色应用第一转移函数,以获得第一颜色空间中的二次采样的非线性颜色。处理器进一步被促使以对第一颜色空间中的二次采样的非线性颜色应用第一颜色变换,以获得第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值。处理器另外被促使来为像素导出第二颜色空间中的非线性亮度分量值。像素的颜色由第二颜色空间中的非线性亮度分量值、二次采样的第一非线性彩度分量值和二次采样的第二非线性彩度分量值来表示。
[0029] 有关方面定义包括根据以上的计算机程序的载体。载体是电子信号、光信号、电磁信号、磁信号、电信号、无线电信号、微波信号或计算机可读存储介质之一。
[0030] 实施例的另外的方面涉及表示图片中的像素的编码的版本的信号。编码的版本包括根据以上所导出的采用第二颜色格式的二次采样的第一非线性彩度分量值的编码的版本、第二颜色空间中的二次采样的第二非线性彩度分量值的编码的版本和采用第二颜色格式的非线性亮度分量值的编码的版本。
[0031] 实施例的又一方面涉及一种预处理图片的方法,方法包括:(a)接收图片的像素的线性RGB颜色值,并且对所接收的线性RGB颜色值进行二次采样,以获得二次采样的线性RGB颜色值;(b)对来自(a)的二次采样的线性RGB颜色值应用第一非线性转移函数,以获得二次采样的非线性颜色值R'G'B';(c)对来自(b)的二次采样的非线性R'G'B'颜色值应用第一颜色变换,以获得二次采样的非线性彩度分量值Cb'、Cr';(d)对来自(c)的二次采样的非线性彩度分量值Cb'、Cr'进行升采样,以获得图片的像素的升采样的非线性彩度分量值Cb'、Cr';(e)从所接收的线性RGB颜色值来确定图片的像素的原始线性光亮度值YO,原始光亮度值YO表示眼睛对其敏感的光亮度;以及(f)通过以下操作来导出图片的像素的非线性亮度分量值Y':选择Y'的值,使得当Y'的所选值与来自(d)的像素的升采样的非线性彩度分量值Cb'、Cr'的组合被变换为像素的对应的线性RGB颜色值时,在来自(e)的像素的原始线性光亮度值YO与从对应的线性RGB颜色值所导出的线性光亮度值Y之间的差被减小。
[0032] 实施例的又一方面涉及一种用于预处理图片的装置,装置配置成:(a)接收图片的像素的线性RGB颜色值,并且对所接收的线性RGB颜色值进行二次采样,以获得二次采样的线性RGB颜色值;(b)对来自(a)的二次采样的线性RGB颜色值应用第一非线性转移函数,以获得二次采样的非线性颜色值R'G'B';(c)对来自(b)的二次采样的非线性R'G'B'颜色值应用第一颜色变换,以获得二次采样的非线性彩度分量值Cb'、Cr';(d)对来自(c)的二次采样的非线性彩度分量值Cb'、Cr'进行升采样,以获得图片的像素的升采样的非线性彩度分量值Cb'、Cr';(e)从所接收的线性RGB颜色值来确定图片的像素的原始线性光亮度值YO,原始线性光亮度值YO表示眼睛对其敏感的光亮度;以及(f)通过以下操作来导出图片的像素的非线性亮度分量值Y':选择Y'的值,使得当Y'的所选值与来自(d)的像素的升采样的非线性彩度分量值Cb'、Cr'的组合被变换为像素的对应的线性RGB颜色值时,在来自(e)的像素的原始线性光亮度值YO与从对应的线性RGB颜色值所导出的线性光亮度值Y之间的差被减小。
[0033] 实施例的又一方面涉及一种包括上述装置的用户设备,其中用户设备是配置成接收和处理视频数据的装置或设备。
[0034] 实施例的又一方面涉及一种包括指令的计算机程序,指令在由处理器执行时使处理器:(a)接收图片的像素的线性RGB颜色值,并且对所接收的线性RGB颜色值进行二次采样,以获得二次采样的线性RGB颜色值;(b)对来自(a)的二次采样的线性RGB颜色值应用第一非线性转移函数,以获得二次采样的非线性颜色值R'G'B';(c)对来自(b)的二次采样的非线性R'G'B'颜色值应用第一颜色变换,以获得二次采样的非线性彩度分量值Cb'、Cr';(d)对来自(c)的二次采样的非线性彩度分量值Cb'、Cr'进行升采样,以获得图片的像素的升采样的非线性彩度分量值Cb'、Cr';(e)从所接收的线性RGB颜色值来确定图片的像素的原始线性光亮度值YO,原始光亮度值YO表示眼睛对其敏感的光亮度;以及(f)通过以下操作来导出图片的像素的非线性亮度分量值Y':选择Y'的值,使得当Y'的所选值与来自(d)的像素的升采样的非线性彩度分量值Cb'、Cr'的组合被变换为像素的对应的线性RGB颜色值时,在来自(e)的像素的原始线性光亮度值YO与从对应的线性RGB颜色值所导出的线性光亮度值Y之间的差被减小。
[0035] 本实施例提供像素预处理和编码,其防止了否则可由于协同彩度二次采样的非线性转移函数的使用而发生的伪像。主观上,色度中的质量改进即使对于未压缩的视频也是明显可见的。

附图说明

[0036] 通过结合附图参考以下描述,可最好地理解实施例连同其另外的目的和优点,其中:
[0037] 图1是说明根据实施例的预处理像素的方法的流程图;
[0038] 图2是说明根据实施例的图1中所示的方法的附加可选步骤的流程图;
[0039] 图3是说明根据实施例的图2中所示的方法的附加可选步骤的流程图;
[0040] 图4是说明实现图2中的导出步骤的实施例的流程图;
[0041] 图5是说明实现图2中的导出步骤的另一实施例的流程图;
[0042] 图6是说明根据实施例的图1中所示的方法的附加可选步骤的流程图;
[0043] 图7是说明根据实施例的图1中所示的方法的附加可选步骤的流程图;
[0044] 图8是说明根据实施例的用来形成编码像素的方法的在图1中所示的方法的附加步骤的流程图;
[0045] 图9说明了根据一个实施例的方法的流程图;
[0046] 图10说明了通过在线性RGB中的二次采样获得Cb'和Cr'和通过使用Ajusty获得Y'的实施例;
[0047] 图11说明了利用以强度不变的表示的彩度升采样来创建参考的实施例;
[0048] 图12说明了Cb'和Cr'的迭代精化的实施例;
[0049] 图13A和13B是根据实施例的装置和转换器的硬件实现的示意性说明;
[0050] 图14是根据实施例的带有处理器和存储器的装置的实现的示意性说明;
[0051] 图15是根据实施例的用户设备的示意性说明;
[0052] 图16是根据实施例的带有功能模块的装置的实现的示意性说明;
[0053] 图17示意性地说明了在多个网络装置之中的实施例的分布式实现;
[0054] 图18是根据实施例的带有一个或多个基于云的网络装置的无线通信系统的示例的示意性说明;
[0055] 图19说明了导出校正的Y'的实施例;
[0056] 图20是说明了在不同颜色区域中能够存在不同线性化的图示;
[0057] 图21说明了用于对比敏感度的Barten曲线;以及
[0058] 图22说明了在Rec709与BT.2020颜色范围之间的比较。

具体实施方式

[0059] 遍及附图,相同的附图标记用于类似或对应的元素。
[0060] 本实施例一般涉及图片中的像素的预处理和编码,并且具体而言,涉及改进像素的色度值的此类预处理和编码。
[0061] 传统压缩链涉及馈送典型地范围从0到10,000 cd/m2的引入的线性RGB光的像素到逆转移函数,这导致在0与1之间的新像素值。在此之后,像素经历颜色变换,导致亮度分量(Y')和两个彩度分量(Cb',Cr')。然后,对所述两个彩度分量进行二次采样,诸如到4:2:0或4:2:2。在解压缩后,4:2:0或4:2:2序列被升采样到4:4:4,进行逆颜色变换,并且最后,转移函数给回能够在监视器上输出的线性光的像素。
[0062] 高度非线性转移函数、彩度二次采样和非恒定光亮度排序的组合引发了对视频数据、特别是对于饱和颜色的严重伪像。
[0063] 根据实施例的像素的预处理能够用于防止或至少降低伪像的影响,由此导致更接近像素的引入的“真实”颜色的颜色。
[0064] 颜色空间或颜色域是颜色(其源于颜色模型的颜色分量的组合)的类型和数量。颜色模型是描述颜色能够被表示为数字的元组(即颜色分量)的方式的抽象配置。颜色分量具有若干截然不同的特征,诸如分量类型(例如色调)、以及它的单位(例如度或百分比)、或标度的类型(例如线性或非线性)、以及称为颜色深度或比特深度的它的值的预期数字。
[0065] 通常用于图片和视频中的像素的非限制性但说明性的颜色空间包括红、绿、蓝(RGB)颜色空间、亮度、彩度蓝和彩度红(YCbCr,有时标示为Y'CbCr、Y'Cb'Cr'、YCBCR、Y'CBCR或Y'CB'CR')颜色空间以及光亮度和色度(XYZ)颜色空间。
[0066] 在本文档中,将使用以下术语。
[0067] RGB:线性RGB值,其中每个值与cd/m2(“光子数量”)成比例。
[0068] XYZ:线性XYZ值,其中每个值是RGB的线性组合。Y称作“光亮度”,并且不严格地说,非常好地反映了眼睛感知为“视亮度”的事物。
[0069] pq(Y):一种非线性表示,其中非线性函数pq(Y)已被应用到线性光亮度Y。pq(Y)将不与Y'混淆。由于pq(.)类似Barten曲线,因此,在pq(Y)中的一小步等效于在所感知的光亮度中的一小步。
[0070] R'G'B':非线性RGB值。R'=pq(R),G'=pq(G),B'=pq(B),pq(.)是非线性函数。非线性函数的示例是感知量化器(PQ)转移函数。
[0071] Y'Cb'Cr':一种非线性表示,其中每个值是R'、G'和B'的线性组合。Y'称作“亮度”,并且Cb'和Cr'共同地称作“彩度”。这是为了将Y'与光亮度区分,因为Y'也含有某些色度,并且Cb'和Cr'也含有某些光亮度。
[0072] ICtCp:设计用于HDR和宽颜色范围(WCG)图像的颜色的表示,并且预期作为Y'Cb'Cr'的备选。I表示强度,并且是亮度信息的表示,而CtCp携带彩度信息。
[0073] xy:色度的一种非线性表示,因为它已通过x=X/(X+Y+Z),y=Y/(X+Y+Z)对于“视亮度”规格化。无论它具有什么强度,单色激光将始终在xy中具有相同坐标。这意味着xy是色度的良好量度。
[0074] u'v':色度的一种非线性表示,其是xy的非线性函数。它被认为在感知上更均匀,意味着在u'v'中的一小步将是相等地可感知的,而无论我们所处在哪个色度。正如对于xy,无论它具有什么强度,单色激光将始终具有相同的u'v'坐标。
[0075] pq(Y)xy:颜色的一种表示,其中pq(Y)含有所有光亮度,并且xy含有所有色度。从pq(Y)中,有可能提取Y,并且从Y、x和y中,有可能提取能够被变换到RGB的XYZ。
[0076] 图1是说明预处理图片中的像素的方法的流程图。方法包括在步骤S1中对第一颜色空间中的线性颜色进行二次采样,以获得第一颜色空间中的二次采样的线性颜色。下一步骤S2包括对第一颜色空间中的二次采样的线性颜色应用第一转移函数(TF),以获得第一颜色空间中的二次采样的非线性颜色。方法继续到步骤S3,其包括对第一颜色空间中的二次采样的非线性颜色应用第一颜色变换(CT),以获得第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值中的至少一个。方法进一步包括在步骤S4中为像素导出第二颜色空间中的非线性亮度分量值。像素的颜色由第二颜色空间中的非线性亮度分量值、二次采样的第一非线性彩度分量值和二次采样的第二非线性彩度分量值来表示。
[0077] 图1的预处理被应用到图片中的至少一个像素,诸如包括多个图片的视频序列(包括HDR或WCG视频序列)的图片。在实施例中,预处理能够被应用到图片中的多个(即至少两个)像素,诸如图片中的所有像素,其在图1中通过线L1示意性地说明。
[0078] 如图1中所示的预处理由此导致了从第一颜色空间中的线性颜色开始的、第二颜色空间中的至少一个二次采样的非线性彩度分量值。与现有技术预处理形成鲜明对比的是,本实施例涉及线性颜色的二次采样,即在线性颜色域中被执行。然后,在二次采样后进行非线性颜色的生成,即对二次采样的线性颜色应用第一转移函数。
[0079] 现有技术转而先对线性颜色应用转移函数以获得非线性颜色。然后,对非线性颜色应用颜色变换,后面是二次采样。
[0080] 在实施例中,第一颜色空间是RGB颜色空间,并且线性颜色由此是本文中标示为ROGOBO的RGB颜色。初始颜色采用未二次采样的格式或原始格式,即4:4:4格式。然后,在步骤S1中优选地对此ROGOBO 4:4:4颜色进行二次采样,以得到二次采样的RGB颜色,即RGB 2:2:2颜色。步骤S2包括对RGB 2:2:2颜色应用第一转移函数,以获得二次采样的非线性颜色R'G'B' 2:2:2。“'”用于指示红、绿和蓝颜色分量是非线性颜色分量。在实施例中,第一转移函数是在附录A中所示的等式A1中的转移函数的逆。此外,能够使用传统上被采用来将线性颜色值转换成非线性颜色值的其它转移函数。然后,使用第一颜色变换,将所得到的二次采样的非线性颜色R'G'B' 2:2:2从R'G'B'颜色空间颜色变换到第二颜色空间。此第二颜色空间优选地是Y'Cb'Cr'颜色空间,并且第一颜色变换能够是在等式1中指定并且如在主要用于高清晰度电视(HDTV)的ITU‑R BT.709中定义的颜色变换。能够使用的另一颜色变换在下面等式2中示出并且如在主要用于标准清晰度电视(SDTV)的ITU‑R BT.601中定义。
[0081] Y'=0.299000R'+0.587000G'+0.114000B'
[0082] Cb'=‑0.168736R'‑0.331264G'+0.500000B'(等式2)
[0083] Cr'=0.500000R'‑0.418688G'‑0.081312B'
[0084] 在考虑BT.709中的RGB时,一般使用等式2。在RGB源于BT.2020时,对应等式呈现如下:
[0085] Y'=0.262700R'+0.678000G'+0.059300B'
[0086] Cb'=‑0.139630R'‑0.360370G'+0.500000B'(等式3)
[0087] Cr'=0.500000R'‑0.459786G'‑0.040214B'
[0088] 第一颜色变换导致了Y'Cb'Cr' 2:2:2颜色。在实施例中,在步骤S3中获得二次采样的非线性亮度分量值Y'、二次采样的第一非线性彩度分量值Cb'和二次采样的第二非线性彩度分量值Cr',其全部在YCbCr颜色空间中。在备选实施例中,在步骤S3中只计算二次采样的非线性彩度分量值Cb'、Cr',由此基本上忽略在上面等式1到3中与亮度分量Y有关的第一行。在此类途径中,步骤S3包括对第一颜色空间中的二次采样的非线性颜色应用第一颜色变换,以获得第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值。另外的实施例包括只计算非线性彩度分量值之一,即Cb'或Cr'。在此类实施例中,在步骤S3中只执行等式1到3中的颜色变换中的、第二行或第三行中的计算。
[0089] 在步骤S3中预处理的结果是第二颜色空间中的至少一个二次采样的非线性彩度分量值,诸如Cb'值、Cr'值或者Cb'值和Cr'值。
[0090] 实施例由此提议在处理图片的(诸如视频序列的)像素时得出二次采样的彩度值或样本Cb'和Cr'的新颖方式。
[0091] 本文中标示为锚链的现有技术预处理使用以下过程来导出Cb'和Cr'值:
[0092] RGB 4:4:4  (第一转移函数)  R'G'B' 4:4:4  (第一颜色变换)  Y'Cb'Cr' 4:4:4  (Cb'和Cr'的二次采样)  Y'Cb'Cr' 4:2:0
[0093] 其中从用于所有颜色分量的完全分辨率4:4:4的二次采样到在垂直方向和水平方向两者上的彩度分量的二次采样4:2:0在预处理链的最后步骤中完成。
[0094] 根据实施例,提议以下预处理链:
[0095] RGB 4:4:4  (RGB的二次采样)  RGB 2:2:2  (第一转移函数)  R'G'B' 2:2:2  (第一颜色变换)  Y'Cb'Cr' 2:2:2
[0096] 其中二次采样转而是预处理链的第一部分,并且在线性域中被执行。此处,我们已使用项2:2:2来指示所有三个样本在垂直方向和水平方向两者上,即在x维和y维中具有一半分辨率。这样,我们不得到完全分辨率非线性亮度Y'分量,因为最后步骤中的Y'分量采用2:2:2格式,即在两个方向上为一半分辨率。
[0097] 在实施例中,步骤S1包括在垂直方向和水平方向两者上对第一颜色空间中的线性颜色进行二次采样,以获得第一颜色空间中的二次采样的线性颜色。此类途径利用采用第二颜色格式的完全分辨率非线性亮度分量,导致了采用4:2:0格式的Y'Cb'Cr'颜色。在另一实施例中,步骤S1包括仅在诸如水平方向或垂直方向的一个方向上对第一颜色空间中的线性颜色进行二次采样,以获得第一颜色空间中的二次采样的线性颜色。此实施例利用采用第二颜色格式的完全分辨率非线性亮度分量,转而导致了采用4:2:2格式的Y'Cb'Cr'颜色。
[0098] 在步骤S1中的二次采样能够根据已知二次采样技术被执行。例如,能够使用滤波操作或最近邻居操作。在文档[1]中的章节B.1.5.5彩度降采样从4:4:4到4:2:0中公开了能够根据实施例使用的二次采样技术的示例。
[0099] 在图1中的步骤S4中,根据各种实施例,能够导出完全分辨率非线性亮度分量值Y'。在第一实施例中,通过对第一颜色空间中的线性颜色应用第一转移函数,以获得第一颜色空间中的非线性颜色的附加步骤,导出非线性亮度分量值Y'。然后,对第一颜色空间中的非线性颜色应用第一颜色变换,以获得第二颜色空间中的非线性亮度分量值。
[0100] 此实施例由此涉及以下步骤:
[0101] RGB 4:4:4  (第一转移函数)  R'G'B' 4:4:4  (第一颜色变换)  Y'Cb'Cr' 4:4:4
[0102] 第一颜色变换不但能够被应用以计算非线性亮度分量值Y',而且能够被应用以计算非线性彩度分量值Cb'、Cr',所有分量值采用4:4:4格式。然而,由于根据图1中的方法步骤S1到S3获得了二次采样的非线性彩度分量值Cb'、Cr',因此,只需要非线性亮度分量值Y'。这对应于只执行计算,即等式1‑3中的第一行:
[0103] Y'=0.212600R'+0.715200G'+0.072200B'
[0104] 或者
[0105] Y'=0.299000R'+0.587000G'+0.114000B'
[0106] 或者
[0107] Y'=0.262700R'+0.678000G'+0.059300B'
[0108] 然后,能够将在此实施例中根据以上获得的(完全分辨率)非线性亮度分量值Y'与根据步骤S1到S3的二次采样的非线性彩度分量值Cb'、Cr'组合,以得到采用4:2:0或4:2:2格式的表示Y'Cb'Cr',这是像素的颜色的表示。
[0109] 在实施例中,如图1中所示的预处理方法用于导出二次采样的非线性彩度分量值Cb'、Cr'之一。在此类情况下,两个二次采样的非线性彩度分量值的另一个值能够从现有技术锚处理中获得。
[0110] 在另一实施例中,根据本文中标示为Ajusty、并且在下面和在附录A中进一步描述的方法,导出完全分辨率非线性亮度分量值Y'。
[0111] 简要地说,Ajusty方法包括参见图2中的步骤S11的基于第二颜色空间中的二次采样的第一非线性彩度分量值、第二颜色空间中的二次采样的第二非线性彩度分量值和第三颜色空间中的原始线性光亮度分量值,为像素导出第二颜色空间中的非线性亮度分量值。
[0112] 在实施例中,上面提及的第三颜色空间是XYZ颜色空间。相应地,第三颜色空间中的像素的线性光亮度在此实施例中是Y分量。
[0113] 在实施例中,方法包括如图2中所示的附加步骤S10。此步骤S10包括基于第一颜色空间中像素的线性颜色,确定第三颜色空间中的像素的原始线性光亮度分量值。
[0114] 因此,导出非线性亮度分量值涉及基于第一颜色空间中的像素的线性颜色,确定第三颜色空间中的像素的原始线性光亮度分量值。此原始线性光亮度分量值优选地反映像素的真实光亮度,即在任何二次采样、转移函数和颜色变换的应用之前的像素的原始光亮度。基于第一颜色空间中的像素的线性颜色,确定此原始线性光亮度分量值。在实施例中,第一颜色空间中的像素的此线性颜色是像素的原始传入的颜色。在特定实施例中,此原始传入的颜色是前面提及的ROGOBO,并且原始线性光亮度分量标示为YO。
[0115] 因此,原始线性光亮度是能够以许多不同方式计算的目标光亮度。此原始线性光亮度不一定必须直接对应于在拍摄图片或记录视频的摄像机中的传感器或者在显示器的面板中的传感器的实际光亮度。
[0116] 第三颜色空间中的原始线性光亮度分量值能够作为原始线性光亮度分量值(优选地为YO值)被获得以预处理和编码功能性,采用预确定的或预计算的形式。这意味着基于第一颜色空间中的线性颜色的原始线性光亮度分量值的确定已经发生,并且仅提供确定的结果到预处理和编码功能性。
[0117] 在备选实施例中,实施例的预处理包括使用第三颜色变换(优选地RGB到XYZ颜色变换,诸如在RGB源于BT.2020时的等式4中的颜色变换或在RGB源于BT.709时的等式5中的颜色变换),在步骤S10中的原始线性光亮度分量值的确定或计算。
[0118] X=0.636958R+0.144617G+0.168881B
[0119] Y=0.262700R+0.677998G+0.059302B(等式4)
[0120] Z=0.000000R+0.028073G+1.060985B
[0121] X=0.412391R+0.357584G+0.180481B
[0122] Y=0.212639R+0.715169G+0.072192B(等式5)
[0123] Z=0.019331R+0.119195G+0.950532B
[0124] 实际上,仅需要计算等式4或等式5中的第二行以从第一颜色空间中的线性颜色(ROGOBO)获得原始线性光亮度值(YO);YO=0.262700RO+0.677998GO+0.059302BO或者YO=0.212639RO+0.715169GO+0.072192BO。
[0125] 然后,基于第二颜色空间中的二次采样的第一非线性彩度分量值和第二非线性彩度分量值以及第三颜色空间中的原始线性光亮度分量值,在步骤S11中为像素导出第二颜色空间中的非线性亮度分量值。因此,在实施例中,YCbCr颜色空间中的非线性亮度分量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))。
[0126] 预处理的像素然后由第二颜色空间中的导出的非线性亮度分量(Y')和两个二次采样的非线性彩度分量(Cb',Cr')来表示,即Y'Cb'Cr'。因此,元组Y'Cb'Cr'表示像素的预处理的颜色,优选地采用4:2:0或4:2:2格式,即带有二次采样的彩度分量但非二次采样的亮度分量。
[0127] 在实施例中,图2的步骤S11包括导出使第三颜色空间中的原始线性光亮度分量值与第三颜色空间中的线性光亮度分量值之间的差最小化的、第二颜色空间中的非线性亮度分量值,所述第三颜色空间中的线性光亮度分量值基于第二颜色空间中的非线性亮度分量值、第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值被确定。
[0128] 因此,在此实施例中,步骤S11涉及查找使在第三颜色空间(XYZ)中的原始线性光亮度分量值(YO)与线性光亮度分量值(Y)之间的差最小化的、第二颜色空间(YCbCr)中的非线性亮度分量值(Y')。第三颜色空间(XYZ)中的此线性光亮度分量值(Y)又基于第二颜色空间(YCbCr)中的非线性亮度分量值(Y')和两个二次采样的非线性彩度分量值(Cb'、Cr')被获得。
[0129] 因此,此实施例涉及查找使差|YO–Y|或(YO–Y)2最小化的Y'分量值,其中Y=h(Y',Cb',Cr'),并且h(.)定义Y基于Y'、Cb'和Cr'被确定。
[0130] 在备选但有关的实施例中,步骤S11涉及导出使第三颜色空间中的原始光亮度分量值的函数与第三颜色空间中的线性光亮度分量值的函数之间的差最小化的、第二颜色空间中的非线性亮度分量值。第三颜色空间中的此线性光亮度分量值是基于第二颜色空间中的非线性亮度分量值、第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值被确定。
[0131] 因此,此实施例涉及查找使差|k(YO)–k(Y)|或者(k(YO)–k(Y))2最小化的Y'分量值,其中Y=h(Y',Cb',Cr')。
[0132] 函数(k(.))优选地是逆转移函数,诸如如在如附录A中所示的等式A1中的转移函数的逆。
[0133] 图3是说明在图2中所示的方法的附加可选步骤的流程图。这些步骤说明了附加的处理,以便为图片中的像素导出最优非线性亮度分量值。方法从图1中的步骤S3继续。方法通过在步骤S20中对第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值进行升采样,以得到第二颜色空间中的升采样的第一非线性彩度分量值和第二颜色空间中的升采样的第二非线性彩度分量值而继续。下一步骤S21包括对第二颜色空间中的候选非线性亮度分量值、第二颜色空间中的升采样的第一非线性彩度分量值和第二颜色空间中的升采样的第二非线性彩度分量值应用第二颜色变换,以得到第一颜色空间中的非线性颜色。下一步骤S22包括对第二颜色空间中的非线性颜色应用第二转移函数,以得到第一颜色空间中的线性颜色。最后,在步骤S23中对第一颜色空间中的线性颜色应用第三颜色变换,以得到第三颜色空间中的线性光亮度分量值。方法然后继续到图2中的步骤S11,其包括基于第三颜色空间中的原始线性光亮度分量值与第三颜色空间中的线性光亮度分量值的比较,导出非线性亮度分量值。
[0134] 因此,在实施例中,首先将采用4:2:0或4:2:2格式的二次采样的Cb'分量值和Cr'分量值升采样到4:4:4格式。在步骤S20中的升采样能够根据已知升采样技术执行。例如,能够通过使用双线性或更长滤波器来执行升采样。在文档[1]中的章节B.1.5.6彩度升采样从4:2:0到4:4:4(Y'CbCr域)中公开了能够根据实施例使用的升采样技术的示例。
[0135] 这两个升采样的Cb'分量值和Cr'分量值然后连同候选Y'分量值被输入进诸如以下颜色变换的第二颜色变换,以得到非线性R'G'B'颜色:
[0136] R'=Y'+a13Cr'
[0137] G'=Y'‑a22b'‑a23Cr'
[0138] B'=Y'+a32Cb'
[0139] 对于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。
[0140] 一般地,R'、G'和B'能够采取在间隔[0,1]内的值。相应地,第二颜色变换还可包括钳位或削波操作,诸如用于R'分量的R'=clip(Y'+a13Cr',0,1),其中如果xb,则clip(x,a,b)等于b,并且否则clip(x,a,b)等于x。
[0141] 此R'G'B'颜色然后被输入进诸如附录A中的转移函数[1]的第二转移函数,以得到线性RGB颜色。然后,使用诸如等式4或等式5中的颜色变换的第三颜色变换,将此RGB颜色从RGB颜色空间变换到XYZ颜色空间。
[0142] 然后,在步骤S11中,比较从第三颜色变换输出的线性光亮度分量Y值与像素的原始线性光亮度分量YO值。
[0143] 在实施例中,图2的步骤S11包括选择使得第三颜色空间中的原始线性光亮度分量值与第三颜色空间中的线性光亮度分量值之间的差减小的、第二颜色空间中的候选非线性亮度分量值。
[0144] 因此,步骤S11优选地包括选择引起原始线性光亮度分量值与在步骤S23中获得的线性光亮度分量值之间的差至少减小的、第二颜色空间中的候选非线性亮度分量值。在特定实施例中,步骤S11包括选择使得第三颜色空间中的原始光亮度分量值与线性光亮度分量值之间的差最小化的、第二颜色空间中的候选非线性亮度分量值。
[0145] 如前面中所提及的,此差能够表示为|YO–Y|或者(YO–Y)2,其中,Y在图3的步骤S23中获得。
[0146] 在备选但有关的实施例中,步骤S11涉及选择使得第三颜色空间中的原始光亮度分量值的函数与第三颜色空间中的线性光亮度分量值的函数之间的差减小或优选地最小化的、第二颜色空间中的候选非线性亮度分量值,即选择使得差|k(YO)–k(Y)|或者(k(YO)–k2
(Y))最小化的候选Y'分量值。
[0147] 在实施例中,为第二颜色空间中的不同候选非线性亮度分量值执行图3中的步骤S21到S23,这通过线L2示意性地说明。在此类情况下,步骤S11优选地包括选择第二颜色空间中不同候选非线性亮度分量值之中的候选非线性亮度分量值,所述候选非线性亮度分量值导致第三颜色空间中的原始线性光亮度分量值与第三颜色空间中的线性光亮度分量值之间的最小的差,或者导致第三颜色空间中的原始线性光亮度分量值的函数与第三颜色空间中的线性光亮度分量值的函数之间的最小的差。
[0148] 这意味着使用步骤S21中的不同候选Y'分量值并且多次执行步骤S21到S23的循环。然后,选择引起Y0与Y之间或者k(YO)与k(Y)之间的最小的差的候选Y'分量值,并且将其连同二次采样的Cb'分量值和Cr'分量值一起使用,作为像素的颜色表示。
[0149] 下面的实施例对于第三颜色空间中的原始线性光亮度分量值(YO)与第三颜色空间中的线性光亮度分量值(Y)之间的差进行更详细描述。这些实施例还涵盖第三颜色空间中的原始线性光亮度分量值(k(YO))的函数与第三颜色空间中的线性光亮度分量值(k(Y))的函数之间的差。如本文中前面所提及的,函数优选地是转移函数的逆,诸如附录A中的等式A1中的转移函数的逆。
[0150] 在多个候选Y'分量值之中选择最优候选Y'分量值能够根据如本文中进一步描述的各种实施例来执行。
[0151] 第一实施例涉及执行二分法搜索。因此,在此实施例中,参见图4中的步骤S24,方法包括执行二分法搜索以选择使得第三颜色空间中的原始线性光亮度分量值与第三颜色空间中的线性光亮度分量值之间的差最小化的、第二颜色空间中的候选非线性亮度分量值。
[0152] 二分法搜索是能够用于查找最优候选非线性亮度分量值的有效技术。一般地,二分法搜索算法通过对第三颜色空间中的原始光亮度分量值和第三颜色空间中的线性光亮度分量值进行比较来开始,使用第二颜色空间中的可能的候选非线性亮度分量值的经排列的阵列的中间元素来获得所述第三颜色空间中的线性光亮度分量值。如果第三颜色空间中的线性光亮度分量值等于第三颜色空间中的原始光亮度分量值,或者与第三颜色空间中的原始光亮度分量值以未超过定义的量而不同,则返回中间元素的位置,并且结束搜索。如果线性光亮度分量值大于原始线性光亮度分量值,则搜索在阵列的下半部上继续;或者如果线性光亮度分量值小于原始线性光亮度分量值,则搜索在阵列的上半部上继续。此过程继续进行,排除一半的元素,并且比较所得到的线性光亮度分量值和原始线性光亮度分量值,直至它们之间的差为零,或者直至已搜索整个阵列,即直至已排除了除一个元素外的所有元素。这保证只采用log(2 N)步,其中N是阵列中可能的候选非线性亮度分量值的数量。例如,假定能够从[0,1023]的阵列中选择候选非线性亮度分量值。则N=1024,并且log(2 1024)=10。
[0153] 在实施例中,通过为搜索间隔的中间的、第二颜色空间中的候选非线性亮度分量值执行图3中的步骤S21到S23,来执行二分法搜索。其后,如果第三颜色空间中的原始线性光亮度分量值与第三颜色空间中的线性光亮度分量值之间的差等于零,则选择搜索间隔的中间的候选非线性亮度分量值。否则,即如果差不等于零,则方法通过以下方式而继续:如果第三颜色空间中的线性光亮度分量值大于第三颜色空间中的原始线性光亮度分量值,则选择具有与上面使用的搜索间隔相比一半的大小、并且在上面使用的候选非线性亮度分量值处结束的搜索间隔;或者如果第三颜色空间中的线性光亮度分量值小于第三颜色空间中的原始线性光亮度分量值,则选择具有与上面使用的搜索间隔相比一半的大小、并且在上面使用的候选非线性亮度分量值处开始的搜索间隔。
[0154] 然后重复涉及循环L2的步骤,直至第三颜色空间中的原始线性光亮度分量值与第三颜色空间中的线性光亮度分量值之间的差等于零或至少小于定义的阈值、搜索间隔无法减半、循环已被重复了所定义的次数或者搜索间隔已达到预定义的间隔大小(即搜索间隔小于或等于预定义的间隔大小)。
[0155] 搜索间隔的选择一般涉及选择与上面使用的搜索间隔相比,具有近似一半大小的搜索间隔。例如,如果搜索间隔含有值100、101、102、103,则能够选择或101或102作为“中间值”,导致“减半的”搜索间隔[100,101](搜索间隔的真实减半)或[101,103](搜索间隔的近似减半),或“减半的”搜索间隔[100,102](搜索间隔的近似减半)或[102,103](搜索间隔的真实减半)。
[0156] 另一实施例是将非线性亮度分量值的选择视为优化问题,并且最小化对于Y'的误2
差E=(YO–Y)或E=|YO–Y|。这能够例如通过梯度下降来完成:通过计算E相对于Y'的梯度,即dE/dY',并且在梯度的相反方向上小量更新Y',即Y'n+1=Y'n‑α(dE/dY'),其中α是小的常数。
[0157] 梯度下降能够是慢的,因此,更快的方式可以是使用计算或近似二阶导数d2E/dY'2的二阶优化算法。高斯‑牛顿法(Gauss‑Newton)是此类算法的示例。
[0158] 另外的实施例涉及在选择非线性亮度分量值时使用查找表(LUT)。此类LUT例如可包括对于Cb'分量值、Cr'分量值和YO分量值的每一个可能组合的最佳Y'分量值。例如,假定10 10 10
Cb'和Cr'分量被量化到10比特,并且YO分量也被量化到10比特。则LUT应含有2 ×2 ×2
30
个不同Y'分量值。这等效于2 个Y'分量值。如果每个此类Y'分量值是2个字节,则LUT将具有
31
2 字节或2Gb的大小。
[0159] 使用更小的LUT也可以是可能的。例如,有可能可以将YO、Cb'和Cr'分量量化到更18 19
小的大小,比如6比特。然后,LUT将是2 个Y'分量值或2 个字节,这等于512 kb。
[0160] YO分量是线性的。相应地,只将它量化可能是效率低的。相反可更好的是使用YO的函数连同Cb'和Cr'一起作为到LUT的输入,以得到最优Y'分量。函数优选地输出YO分量的非线性表示,并且例如可以是逆转移函数(TF‑1(.)),诸如附录A中的转移函数[1]的逆。然后,‑1最优Y'分量值从LUT被导出为Y'=LUT(Cb',Cr',TF(YO))。
[0161] 图5是说明在使用LUT时图2中的步骤S11的实施例的流程图。方法从图1中的步骤S3继续。下一步骤S30包括对第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值进行升采样,以得到第二颜色空间中的升采样的第一非线性彩度分量值和第二颜色空间中的升采样的第二非线性彩度分量值。
[0162] 下一步骤S31包括使用第三颜色空间中的原始线性光亮度分量值(或其非线性版本)、第二颜色空间中的升采样的第一非线性彩度分量值和第二颜色空间中的升采样的第二非线性彩度分量值,或它们的量化版本作为到查找表的输入,来从查找表检索第二颜色空间中的非线性亮度分量值。
[0163] 在实施例中,方法还包括对第三颜色空间中的原始线性光亮度分量值应用第一逆转移函数,以得到第三颜色空间中的原始非线性光亮度分量值。方法然后继续到图5中的步骤S31。在此实施例中,步骤S31包括使用第三颜色空间中的原始非线性光亮度分量值、第二颜色空间中的升采样的第一非线性彩度分量值和第二颜色空间中的升采样的第二非线性彩度分量值,或它们的量化版本作为到查找表的输入,来从查找表检索第二颜色空间中的非线性分量值。
[0164] 在实施例中,对于第三颜色空间中的原始线性光亮度分量值(或其非线性版本)、第二颜色空间中的升采样的第一非线性彩度分量值和第二颜色空间中的升采样的第二非线性彩度分量值,或它们的量化版本的每个组合,查找表包括第二颜色空间中的最优非线性亮度分量值,所述第二颜色空间中的最优非线性亮度分量值使得第三颜色空间中的原始线性光亮度分量值与第三颜色空间中的线性光亮度分量值之间的差最小化,所述第三颜色空间中的线性光亮度分量值基于第二颜色空间中的最优非线性亮度分量值、第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值被确定。
[0165] 如在图3中的步骤S20中和在图5中的步骤S30中执行的对第二颜色空间中的非线性彩度分量值的升采样优选地将非线性彩度分量值升采样到与第二空间中的非线性亮度分量值相同数量的样本。
[0166] 导出非线性亮度分量值Y'的Ajusty方法在实施例中涉及以下预处理步骤:
[0167] RGB 4:4:4  (第三颜色变换)  XYZ 4:4:4   Y 4:4:4 ‑‑‑‑‑+‑‑‑  Y' = Ajusty(Y 4:4:4,Cb'Cr' 4:4:4)
[0168] Y'Cb'Cr' 2:2:2   Cb'Cr' 2:2:2  (升采样)  Cb'Cr' 4:4:4‑‑/
[0169] 其中Y 4:4:4是XYZ 4:4:4的光亮度分量,并且Cb'Cr' 4:4:4是Y'Cb'Cr'的升采样的彩度分量。简而言之,通过首先将RGB 4:4:4转换到XYZ 4:4:4,并且然后使用Y 4:4:4来找到目标光亮度Y 4:4:4。然后通过将Y'Cb'Cr' 2:2:2升采样到4:4:4格式,并且使用Cb'Cr' 4:4:4,我们得到Cb'Cr' 4:4:4。最后,上面描述的并且在附录A中进一步示出的Ajusty方法被用在Y 4:4:4和Cb'Cr' 4:4:4上以查找最佳Y' 4:4:4。
[0170] 图10说明了通过在线性RGB中的二次采样获得Cb'和Cr'和通过使用Ajusty获得Y'的实施例。预处理的输入是线性RGB(4:4:4格式)中的图像或图片,诸如高清晰度图像或图片,即HDR或WCG图片。在图10中,并且也在图11和12中,为说明的目的,我们已使用2×2个像素或样本的图像或图片,但实际图像或图片当然更大得多。图10到12中所示的实施例能够被组合或单独使用。
[0171] 图10中所示的第一实施例说明了为查找对于Y'和Cb'Cr'的良好值而使用的预处理。第一步骤是对RGB图像(A)进行二次采样以获得二次采样的RGB图像(B)。在此示例中,二次采样是在x和y两者的维度上。接着,通过首先应用非线性转移函数TF(.)以获得R'G'B'(C),并且然后将此转换成Y'Cb'Cr'、维持Cb'Cr'(D),我们创建Cb'Cr'系数的第一版本。现在我们具有采用正确的低分辨率,即采用2:2:2格式的Cb'Cr'。
[0172] 为了也得到采用正确的高分辨率,即采用4:4:4格式的Y',对于每个像素我们需要参考线性光亮度Y。通过将完全分辨率RGB输入(A)转换成XYZ,并且维持Y(E),我们得到那个结果。我们还对Cb'Cr'(F)进行升采样。我们现在能够在Y(E)和Cb'Cr'(F)上使用Ajusty以得到Y'(G)。输出现在是Cb'Cr'(D)和Y'(G)。
[0173] 请注意,在利用带有2×2个像素的图像的说明性示例中,每个像素具有采用4:4:4格式的它自己的导出的非线性亮度分量值Y1到Y4,但采用2:2:2格式的二次采样的非线性彩度分量值Cb'Cr'由于在x和y两者的维度上的二次采样而被导出用于2×2个像素。
[0174] 一旦已到达Y'Cb'Cr' 4:2:0或4:2:2表示,便有可能进一步改进它。原因为不是完全分辨率的每个Cb'和/或Cr'值将用于若干个Y'值。然而,由于Y'Cb'Cr'空间的非线性性质,改变Y'分量将不但影响像素的光亮度,而且也影响色度。一旦一个Y'值将给出正确的色度,即来自Y'Cb'Cr' 2:2:2中的Y',并且如果我们偏离此Y'值,则色度将稍微偏移。某些像素将比Y' 2:2:2值更大,并且在那些像素中,色度将在一个方向上被偏移。某些其它像素将比Y' 2:2:2值更小,并且它们的色度将在相反的方向上被偏移。由于涉及到非线性,这些偏移不可抵偿。因此,以聚合色度已偏移的方向的相反的方向来校正Cb'和Cr'可以是有优势的。
[0175] 图6是说明涉及此类精化的附加步骤的流程图。方法从图1中的步骤S3继续。下一步骤S40包括精化第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值中的至少一个,以抵消对于像素的第二颜色空间中的低分辨率非线性亮度分量值由高分辨率非线性亮度分量值的替换。方法然后继续到图1中的步骤S4。
[0176] 二次采样的Cb'和/或Cr'值的精化能够根据本文中进一步描述的各种实施例被执行。
[0177] 图7是说明此类精化的示例的流程图。方法从图1中的步骤S3继续到步骤S50。此步骤S50包括对第一颜色空间中的线性颜色应用第三颜色变换,以获得第三颜色空间中的线性光亮度分量值。在步骤S51中对第一颜色空间中的二次采样的线性颜色应用第四颜色变换,以获得第四颜色空间中的色度的二次采样的非线性表示。在步骤S52中对第四颜色空间中的色度的二次采样的非线性表示进行升采样,以获得第四颜色空间中的色度的升采样的非线性表示。下面的步骤S53包括对第三颜色空间中的线性光亮度分量值和第四颜色空间中的色度的升采样的非线性表示应用第五颜色变换,以获得第一颜色空间中的线性参考颜色。下一步骤S54包括对第一颜色空间中的线性参考颜色应用第一转移函数,以获得第一颜色空间中的非线性参考颜色。在步骤S55中对第一颜色空间中的非线性参考颜色应用第一颜色变换,以获得第二颜色空间中的第一非线性彩度参考分量值和第二颜色空间中的第二非线性彩度参考分量值。下一步骤S56包括对第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值进行升采样,以获得第二颜色空间中的升采样的第一非线性彩度分量值和第二颜色空间中的升采样的第二非线性彩度分量值。在步骤S57中计算第二颜色空间中的第一非线性彩度参考分量值与第二空间中的升采样的第一非线性彩度分量值之间的第一彩度差。步骤S57还包括计算第二颜色空间中的第二非线性彩度参考分量值与第二颜色空间中的升采样的第二非线性彩度分量值之间的第二彩度差。然后,对第一彩度差和第二彩度差进行二次采样,以获得二次采样的第一彩度差和二次采样的第二彩度差。在步骤S59中将二次采样的第一彩度差加到第二颜色空间中的二次采样的第一非线性彩度分量值,以获得第二颜色空间中的更新的二次采样的第一非线性彩度分量值。对应地,将二次采样的第二彩度差加到第二颜色空间中的二次采样的第二非线性彩度分量值,以获得第二颜色空间中的更新的二次采样的第二非线性彩度分量值。
[0178] 在上述精化中,Cb'值和Cr'值两者已根据步骤S50到S59被精化。在备选实施例中,仅Cb'值或仅Cr'值被精化。在此类情况下,诸如在步骤S55到S59中,只需要使用第一和第二非线性彩度分量值之一。
[0179] 在实施例中,方法继续到图2中的步骤S11。在此实施例中,步骤S11包括基于第二颜色空间中的二次采样的更新的第一非线性彩度分量值、第二颜色空间中的二次采样的更新的第二非线性彩度分量值和第三颜色空间中的原始线性光亮度分量值,为像素导出第二颜色空间中的非线性亮度分量值。
[0180] 因此,在此实施例中,更新的Cb'Cr'值是Ajusty方法中的输入,从而由此不但改进了非线性彩度分量值,而且改进了非线性亮度分量值。
[0181] 此途径在图11和图12中进一步被公开。
[0182] 在此实施例中,通过以强度不变的表示的升采样导出的Cb'Cr'值与来自第一实施例的升采样的Cb'Cr'值之间的差,更新来自第一实施例的Cb'Cr'值,参见图10。更新的Cb'Cr'值然后连同线性光亮度Y一起用于使用Ajusty方法来导出新Y'值。
[0183] 图11说明了利用以强度不变的表示的彩度升采样来创建参考的实施例。
[0184] 为改进Cb'Cr'值,我们首先需要创建某些参考。我们以与图10中的(A)相同的线性RGB输入(A')开始。第一参考仅仅是完全分辨率线性光亮度Y,其通过将RGB(A')转换到XYZ,并且丢弃XZ并且维持Y(F')被获得。这与图10中的(E)相同。这给出了第一参考或Y参考。
[0185] 然后,我们将RGB 4:4:4(A')二次采样到RGB 2:2:2(B'),其与图10中的(B)相同。下一步骤是从RGB(B')转换到XYZ,并且然后转换到xyz,丢弃z并且维持xy(C')。xy值然后被升采样,并且与Y(F')组合以形成Yxy(D')。然后,优选地通过转换回XYZ、然后到RGB、然后到R'G'B'并且最后到Y'Cb'Cr'(E'),将每个Yxy值(D')转换成Y'Cb'Cr'。这是第二参考或Y'Cb'Cr'参考。
[0186] 图12然后说明了使用来自图11的参考的Cb'和Cr'的迭代精化的实施例。
[0187] 我们采用Cb'Cr'数据(H)。如果我们在第一次迭代中,则这与图10中的(D)相同。如果我们在第k次迭代中,则这与对于第k‑1次迭代的(M)相同。我们对(H)进行升采样以得到(I)。
[0188] 我们得到Y'Cb'Cr'参考(J),其与图11中的(E')相同,并且对于每个像素,丢弃Y',维持Cb'和Cr'。然后,从(I)中减去Cb'和Cr',获得(K),其是每个像素中的差ΔCb'Cr'。在(K)中的差信号然后被二次采样(L),并且然后加到(H)中的Cb'Cr'信号,导致Cb'Cr'(M)的更新的版本。
[0189] 我们现在只需要在正确分辨率中的Y'。我们通过将Cb'Cr'(M)升采样到更高分辨率(N)来进行此操作。连同来自图11的Y参考(F')一起,升采样的Cb'Cr'(N)由Ajusty方法用于产生Y'(O)。输出现在是Cb'Cr'(M)和Y'(O)。
[0190] 应注意,在我们说“将RGB转换到XYZ,并且维持Y”时,经常不必需转换所有三个分量,并且然后只维持一个分量。典型地在这些情况下,有可能只计算我们想维持的一个分量。我们已使用撰写的此方式强调,我们指的是来自XYZ的Y,而不是来自Y'Cb'Cr'的Y'。
[0191] 在实施例中,图7中的步骤S50由此包括对RGB 4:4:4颜色应用第三颜色变换,以获得XYZ颜色空间中的Y 4:4:4分量值。步骤S51包括对RGB 2:2:2颜色应用第四颜色变换,以从RGB 2:2:2去到XYZ 2:2:2,并且然后到xyz 2:2:2,将xy 2:2:2维持为xyz颜色空间中的色度的二次采样的非线性表示。在步骤S52中,xy 2:2:2表示被升采样以得到xy 4:4:4。在步骤S53中,对来自F'的Y 4:4:4分量值和来自D'的xy 4:4:4应用第五颜色变换,以经由Yxy到XYZ颜色变换和XYZ到RGB颜色变换,获得RGB 4:4:4参考颜色。因此,第五颜色变换能够被视为由Yxy到XYZ和XYZ到RGB颜色变换组成。然后,在步骤S54中对RGB 4:4:4参考颜色应用第一转移函数,以获得R'G'B' 4:4:4参考颜色。然后,在步骤S55中对R'G'B' 4:4:4参考颜色应用第一颜色变换(RGB到YCbCr颜色变换),以得到Y'Cb'Cr'参考颜色4:4:4。
[0192] 在步骤S56中,二次采样的Cb'Cr' 2:2:2值被升采样成升采样的Cb'Cr' 4:4:4值,并且在步骤S57中连同来自步骤S55的Cb'Cr' 4:4:4参考值一起用于计算ΔCb'Cr' 4:4:4差。ΔCb'Cr' 4:4:4差被升采样成ΔCb'Cr' 2:2:2,并且加到二次采样的Cb'Cr' 2:2:2值,以得到更新的Cb'Cr' 2:2:2值。这些然后可被升采样,并且连同Y 4:4:4参考一起用作到Ajusty方法的输入。
[0193] 在备选实施例中,“查找用于Y'和Cb' Cr'的良好值”被替代成锚处理链:RGB 4:4:4   R'G'B' 4:4:4   Y'Cb'Cr' 4:4:4  (二次采样)  Y'Cb'Cr' 4:2:0。然后,每次迭代必须通过利用Y'Cb'Cr' 4:2:0 (对Cb'和Cr'进行升采样)  Y'Cb'Cr' 4:4:4 
 R'G'B' 4:4:4   RGB 4:4:4   XYZ 4:4:4   Y 4:4:4来创建新参考Y。然后在
图11的(D')中而不是(F')中使用此Y。这将不创建良好的光亮度,但在当你想在开始就维持锚处理链完整时(例如出于复杂性原因)的某些情况下,能够是良好的。
[0194] 应明白,任何目标图像或图片能够被使用。在上述内容中,我们使用具有某个色度的目标图像或图片,其首先在RGB中被二次采样,并且然后被转换到xy,连同来自非二次采样的RGB的光亮度Y一起被转换到XYZ。然而,使用另一目标图像或图片将同样简单。作为示例,我们可想要首先将图像或图片从RGB转换到XYZ,并且然后转换到xy,并且然后对此进行二次采样以得到二次采样的xy。这能够与相同光亮度Y组合。如果你想要不考虑视亮度而保留色度,此特定实施例将是良好的。也能够使用其它目标图像。
[0195] 在另一实施例中,在以上实施例中的二次采样由被优化以减小根据人类视觉在表示空间中的误差的自适应滤波器组成。
[0196] 在另一实施例中,修改Cb'和Cr'之一或两者,以得到原始表示或颜色空间中或根据人类视觉的表示空间中的更好表示。修改能够通过迭代以下操作而被执行,测试以将Cb'值或Cr'值修改+1或‑1,并且然后升采样Cb'的修改的值和未修改的值以及Cr'的修改的值和未修改的值,转换到R'G'B',应用非线性转移函数,并且转换到根据人类视觉的表示或颜色空间。如果在对于Cb'类似于Z并且对于Cr'类似于X的色度彩度特定颜色分量表示空间(不是光亮度)中的修改的Cb'/Cr'值给出对于空间区域的更小绝对或均方误差,则选择该修改。空间区域与(一个或多个)升采样滤波器的大小有关。如果双线性滤波器用于4:2:0 Cb'精化或Cr'精化到4:4:4的升采样,则区域的大小是在水平上的3和在垂直上的4。如果4抽头滤波器用于升采样,则区域的大小是在水平上的7和在垂直上的8。根据修改的值能够如何影响4:4:4中的3×4或7×8个相邻样本中的每个或者只是简单地包括区域的中心部分(3×2),也能够对误差进行加权。
[0197] 在另一实施例中,Cb'精化或Cr'精化的量被初始化成要修改的样本或像素周围的中心3×2区域中Ajusty方法的平均值的量。通过在对于Cb'类似于Z并且对于Cr'类似于X的彩度特定颜色分量表示空间(不是光亮度)中的精化之前采用来自误差的平均的符号,导出Cb'或Cr'精化的符号。因此,Cb'精化的初始值是Cb'+sign(error)*abs(average(在Ajusty前的Y'‑在Ajusty后的Y')/N),其中N大约为2。如果在对于Cb'类似于Z的彩度特定颜色分量表示空间(不是光亮度)中,修改的Cb'给出了对于空间区域的更小绝对或均方误差,则选择该修改。如果为Cr'应用该方法,则类似适用。在另一实施例中,Cb'或Cr'精化的量被初始化成要修改的样本周围的在中心3×2区域中的4:4:4中的Cb'或Cr'的平均值。因此,Cb'精化的初始值是average(4:4:4中的Cb')。如果在对于Cb'类似于Z的彩度特定颜色分量表示空间(不是光亮度)中,修改的Cb'给出了对于空间区域的更小绝对或均方误差,则选择该修改。如果为Cr'应用该方法,则类似适用。
[0198] 在另一实施例中,通过Ajusty方法的Y'到Ymod'的调整通过向Y'的一个步骤来修改,如果这减小在类似于XYZ中的Z(除光亮度外的度量)的彩度特定颜色分量表示空间中的误差,同时不造成光亮度Y中的任何视觉降级。除在彩度特定颜色表示空间中改进性能外,这在某些情况下能够使编码Y'更容易。
[0199] 本文中描述的实施例公开从RGB 4:4:4到Y'Cb'Cr' 4:2:0的转换,其中彩度分量在垂直方向和水平方向两者上被二次采样。实施例的方法当然将在从RGB 4:4:4转换到例如Y'Cb'Cr' 4:4:2的另一二次采样的Y'Cb'Cr'格式时同样适用,其中仅在水平方向上已对彩度分量二次采样。此外,也将有可能仅对彩度分量之一进行二次采样。
[0200] 图9说明了根据一个实施例的方法的流程图。方法包括接收表示第一颜色表示或第一颜色空间中的至少第一像素的比特流。下一步骤调查像素是否以人眼难以看到、能够在第二颜色表示或第二颜色空间中产生相当大的变化的方式变化。如果调查断定能够产生此类相当大的变化,则处理像素以去除此类可变性。方法可选地包括将至少第一像素转换成第二颜色表示。
[0201] 根据实施例的像素的预处理能够在不同应用中使用,特别在包括视频编码的不同视频应用中。
[0202] 实施例因此涉及对图片中的像素进行编码的方法。方法包括根据如本文中公开的实施例中的任何实施例预处理像素,以导出第二颜色空间中的二次采样的第一非线性彩度分量值、第二颜色空间中的二次采样的第二非线性彩度分量值和第二颜色空间中的非线性亮度分量值。方法还包括在如图8中所示的步骤S12中对非线性亮度分量值、二次采样的第一非线性彩度分量值和二次采样的第二非线性彩度分量值进行编码。
[0203] 因此,像素的预处理能够用作在对图片的像素进行编码(诸如与对视频序列的图片进行编码有关)期间的附加处理。
[0204] 预处理的输出,即Y'Cb'Cr'(诸如采用4:2:0或4:2:2格式),然后被输入到视频编码器,诸如H.264视频编码器、高效率视频编码器(HEVC)或H.265视频编码器或者另一视频编码器。如由视频编码器执行的编码能够包括传统视频编码步骤,诸如帧间预测(inter prediction)、帧内预测(intra prediction)、模式判定、残差的变换、量化以及变换和量化的残差的编码,诸如在例如上下文自适应二进制算术译码(CABAC)编码器的熵编码器中进行。
[0205] 实施例的预处理的优势在于它能够应用到任何视频或图片编码过程,而无需在视频或图片编码器中执行任何调整或在对应视频或图片解码器中执行任何调整。在明显对比中,预处理能够被视为被应用到输入图片的附加的处理,即预处理,而不是涉及转移函数的应用、颜色变换和彩度二次采样的应用的,要被编码成Y'Cb'Cr'颜色的图片中的像素的原始颜色(诸如ROGOBO颜色)的传统转换。
[0206] 除视频编码外,在其它应用中也可使用(诸如视频序列的)图片中的像素的预处理。例如,实施例能够用作在通过接口(诸如高清晰度多媒体接口(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视频数据而不进一步压缩。通过应用实施例的预处理,与非线性域中的常规4:2:0或4:2:2二次采样(即Cb'Cr'值的二次采样)相比,改进了视频质量。
[0207] 在前面中,关于以下操作已描述了实施例:作为线性颜色的优选示例,将RGB 4:4:4颜色二次采样成RGB 2:2:2颜色,后面是作为二次采样的非线性颜色的优选示例,应用转移函数以获得R'G'B' 2:2:2颜色。然后应用颜色变换以获得(一个或多个)Cb'值和/或Cr'值,并且导出Y值,分别作为二次采样的非线性彩度分量值和非线性亮度分量值的优选示例。
[0208] 然而,实施例并不限于此。ICtCp是备选颜色空间,其中I值携带亮度信息,并且CtCp值携带彩度信息。在实施例中,根据等式6,能够从RGB值和颜色变换中获得LMS颜色空间中的LMS值:
[0209] L=(1688*R+2146*G+262*B)/4096
[0210] M=(683*R+2951*G+462*B)/4096(等式6)
[0211] S=(99*R+309*G+3688*B)/4096
[0212] 然后能够对LMS值应用诸如EOTFPQ的逆的转移函数,以便获得非线性L'M'S'值。最后,对这些L'M'S'值应用颜色变换,以获得ICtCp值:
[0213] I=0.5*L'+0.5*M'
[0214] Ct=(6610*L'–13613*M'+7003*S')/4096(等式7)
[0215] Cp=(17933*L'–17390*M'–543*S')/4096
[0216] 根据以下,实施例然后能够被应用到此情况。在第一途径中,对像素的线性RGB 4:4:4颜色进行二次采样,以获得图1的步骤S1中的二次采样的线性RGB 2:2:2。方法还包括诸如根据上面的等式6,对二次采样的线性RGB 2:2:2颜色应用颜色变换,以获得二次采样的线性LMS 2:2:2颜色。在步骤S2中,对线性LMS 2:2:2颜色应用诸如EOTFPQ的逆的转移函数,以获得非线性L'M'S' 2:2:2颜色。在步骤S3中对非线性L'M'S' 2:2:2颜色应用诸如上面的等式7的颜色变换,以获得(一个或多个)二次采样的非线性彩度分量值Ct和/或Cp。然后,在步骤S4中导出非线性亮度分量值I,类似于使用Y'作为非线性亮度分量值的前面描述的实施例。
[0217] 在备选途径中,图1的方法通过在步骤S1中将像素的线性LMS 4:4:4颜色二次采样成线性LMS 2:2:2颜色开始。因此,在此实施例中,第一颜色空间中的像素的线性颜色是LMS颜色空间中的LMS 4:4:4颜色。后面的步骤S2‑S4如上面所提及的而被执行。
[0218] 根据实施例,通过在转换到Y'Cb'Cr'前在线性空间中的二次采样,我们能够得到与锚过程相比,更好地反映场景中的真实色度的彩度样本。然而,在链中早期的二次采样意味着我们需要以某个其它方式提出Y'分量。在实施例中,给定Cb'和Cr',这通过使用Ajusty方法以使用Y'来匹配给定光亮度Y而被解决。
[0219] 在另一方面中,Cb'和Cr'样本被进一步精化以抵消在低分辨率Y'分量被高分辨率Y'分量替换时的偏移。这进一步改进了颜色保真度。
[0220] 在又另一方面中,在Ajusty方法后的Y'样本被向在Ajusty方法前的Y'值修改,如果这减小了在除光亮度的另一度量中的误差而不造成光亮度的任何视觉降级的话。
[0221] 根据第一方面,提供了用于将第一分辨率中的像素RGB表示转换到二次采样的彩度样本Cb'和Cr'的方法。这通过在x和y两者的维度上对RGB表示进行二次采样,并且通过首先应用非线性转移函数tf(.)以获得R'G'B'和然后将此转换到Y'Cb'Cr'来创建Cb'Cr'样本的第一版本而被实现。
[0222] 相应地,提供了装置和其方法,其中装置配置成对线性域中的像素的RGB表示进行二次采样以得到二次采样的Cb'Cr'分量,并且装置进一步配置成使用AJUSTY方法以得到Y'分量。
[0223] 可选步骤是然后校正Cb'Cr'值以更好地适合新Y'值。
[0224] 实施例的另一方面涉及用于预处理图片中的像素的装置。装置配置成对第一颜色空间中的线性颜色进行二次采样,以获得第一颜色空间中的二次采样的线性颜色。装置还配置成对第一颜色空间中的二次采样的线性颜色应用第一转移函数,以获得第一颜色空间中的二次采样的非线性颜色。装置进一步配置成对第一颜色空间中的二次采样的非线性颜色应用第一颜色变换,以获得第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值中的至少一个。装置另外配置成为像素导出第二颜色空间中的非线性亮度分量值。像素的颜色由第二颜色空间中的非线性亮度分量值、二次采样的第一非线性彩度分量值和二次采样的第二非线性彩度分量值来表示。
[0225] 在实施例中,装置配置成通过对第一颜色空间中的线性颜色空间应用第一转移函数,以获得第一颜色空间中的非线性颜色,并且对第一颜色空间中的非线性颜色空间应用第一颜色变换,以获得非线性亮度分量值,来为像素导出第二颜色空间中的非线性亮度分量值。
[0226] 在另一实施例中,装置配置成基于第二颜色空间中的二次采样的第一非线性彩度分量值、第二颜色空间中的二次采样的第二非线性彩度分量值和第三颜色空间中的原始线性光亮度分量值,为像素导出第二颜色空间中的非线性亮度分量值。
[0227] 在实施例中,装置配置成基于第一颜色空间中的像素的线性颜色,确定第三颜色空间中的像素的原始线性光亮度分量值。
[0228] 在实施例中,装置配置成导出使得第三颜色空间中的原始线性光亮度分量值与第三颜色空间中的线性光亮度分量值之间的差最小化的、第二颜色空间中的非线性亮度分量值,所述第三颜色空间中的线性光亮度分量值基于第二颜色空间中的非线性亮度分量值、第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值被确定。
[0229] 在实施例中,装置配置成对第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值进行升采样,以获得第二颜色空间中的升采样的第一非线性彩度分量值和第二颜色空间中的升采样的第二非线性彩度分量值。装置还配置成对第二颜色空间中的候选非线性亮度分量值、第二颜色空间中的升采样的第一非线性彩度分量值和第二颜色空间中的升采样的第二非线性彩度分量值应用第二颜色变换,以获得第一颜色空间中的非线性颜色。装置进一步配置成对第一颜色空间中的非线性颜色应用第二转移函数,以获得第一颜色空间中的线性颜色。装置另外配置成对第一颜色空间中的线性颜色应用第三颜色变换,以获得第三颜色空间中的线性光亮度分量值。装置还配置成基于第三颜色空间的原始线性光亮度分量值与第三颜色空间中的线性光亮度分量值的比较,导出非线性亮度分量值。
[0230] 在实施例中,装置配置成选择使得第三颜色空间中的原始线性光亮度分量值与第三颜色空间中的线性光亮度分量值之间的差减小的、第二颜色空间中的候选非线性亮度分量值。
[0231] 在实施例中,装置配置成对于第二颜色空间中的不同候选非线性亮度分量值,执行第二颜色变换对第二颜色空间中的候选非线性亮度分量值、第二颜色空间中的升采样的第一非线性彩度分量值和第二颜色空间中的升采样的第二非线性彩度分量值的应用,执行第二转移函数对第一颜色空间中的非线性颜色的应用,以及执行第三颜色变换对第一颜色空间中的线性颜色的应用。在此实施例中,装置还配置成在第二颜色空间中的不同候选非线性亮度分量值之中选择候选非线性亮度分量值,所述候选非线性亮度分量值导致第三颜色空间中的原始线性光亮度分量值与第三颜色空间中的线性光亮度分量值之间的最小的差。
[0232] 在实施例中,装置配置成执行二分法搜索以选择使得第三颜色空间中的原始线性光亮度分量值与第三颜色空间中的线性光亮度分量值之间的差最小化的、第二颜色空间中的候选非线性亮度分量值。
[0233] 在实施例中,装置配置成对第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值进行升采样,以获得第二颜色空间中的升采样的第一非线性彩度分量值和第二颜色空间中的升采样的第二非线性彩度分量值。装置还配置成基于第三颜色空间中的原始线性光亮度分量值(或其非线性版本)、第二颜色空间中的升采样的第一非线性彩度分量值和第二颜色空间中的升采样的第二非线性彩度分量值,或它们的量化版本,从查找表检索第二颜色空间中的非线性亮度分量值。
[0234] 在实施例中,装置配置成精化第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值中的至少一个,以抵消对于像素的第二颜色空间中的低分辨率非线性亮度分量值由高分辨率非线性亮度分量值的替换。
[0235] 在实施例中,装置配置成对第一颜色空间中的线性颜色应用第三颜色变换,以获得第三颜色空间中的线性光亮度分量值。装置还配置成对第一颜色空间中的二次采样的线性颜色应用第四颜色变换,以获得第四颜色空间中的色度的二次采样的非线性表示。装置进一步配置成对第四颜色空间中的色度的二次采样的非线性表示进行升采样,以获得第四颜色空间中的色度的升采样的非线性表示。装置另外配置成对第三颜色空间中的线性光亮度分量值和第四颜色空间中的色度的升采样的非线性表示应用第五颜色变换,以获得第一颜色空间中的线性参考颜色。装置还配置成对第一颜色空间中的线性参考颜色应用第一转移函数,以获得第一颜色空间中的非线性参考颜色。装置进一步配置成对第一颜色空间中的非线性参考颜色应用第一颜色变换,以获得第二颜色空间中的第一非线性彩度参考分量值和第二颜色空间中的第二非线性参考彩度分量值。装置另外配置成对第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值进行升采样,以获得第二颜色空间中的升采样的第一非线性彩度分量值和第二颜色空间中的升采样的第二非线性彩度分量值。装置还配置成计算第二颜色空间中的第一非线性彩度参考分量值与第二颜色空间中的升采样的第一非线性彩度分量值之间的第一彩度差,以及第二颜色空间中的第二非线性彩度参考分量值与第二颜色空间中的升采样的第二非线性彩度分量值之间的第二彩度差。装置进一步配置成对第一彩度差和第二彩度差进行二次采样,以获得二次采样的第一彩度差和二次采样的第二彩度差。装置另外配置成将二次采样的第一彩度差加到第二颜色空间中的二次采样的第一非线性彩度分量值,以获得第二颜色空间中的更新的二次采样的第一非线性彩度分量值,并且将二次采样的第二彩度差加到第二颜色空间中的二次采样的第二非线性彩度分量值,以获得第二颜色空间中的更新的二次采样的第二非线性彩度分量值。
[0236] 在实施例中,装置配置成基于第二颜色空间中的二次采样的更新的第一非线性彩度分量值、第二颜色空间中的二次采样的更新的第二非线性彩度分量值和第三颜色空间中的原始线性光亮度分量值,为像素导出第二颜色空间中的非线性亮度分量值。
[0237] 图13A和13B分别说明了根据实施例的装置100A和转换器100B的特定硬件实现。在实施例中,参见图13A,装置100A包括配置成对线性域中的像素的RGB表示进行二次采样,以得到二次采样的Cb'Cr'分量的二次采样单元106。装置100A还包括配置成使用Ajusty方法以得到Y'分量的像素处理器102。
[0238] 在实施例中,装置100A还包括配置成接收要编码的视频的输入单元104和配置成输出Y'Cb'Cr'数据的输出单元105。
[0239] 输入单元104能够采用通用输入单元的形式,特别是在到外部装置的有线连接的情况下。备选地,输入单元104能够采用接收器或收发器的形式,特别是在到外部装置的无线连接的情况下。对应地,输出单元105能够采用通用输出单元的形式,特别是在到外部装置的有线连接的情况下。备选地,输出单元105能够采用传送器或收发器的形式,特别是在到外部装置的无线连接的情况下。
[0240] 输入单元104优选地连接到二次采样单元106,所述二次采样单元连接到像素处理器102,所述像素处理器连接到输出单元105。输出单元可向编码器转发Y'Cb'Cr'表示。应注意,装置100A还能够是编码器的部分,或者能够包括编码器107。
[0241] 在图13B中,说明为装置的实现示例的转换器100B包括确定单元101,其配置成将RGB颜色4:4:4二次采样到二次采样的RGB颜色2:2:2并且对二次采样的RGB颜色2:2:2应用第一转移函数,以得到二次采样的非线性R'G'B'颜色2:2:2。转换器100B还包括转换器103,其配置成应用第一颜色变换以将R'G'B'颜色2:2:2转换成二次采样的非线性彩度分量值Cb'Cr' 2:2:2。转换器100B的像素处理器102配置成使用Ajusty方法,基于二次采样的非线性彩度分量值,使用导出非线性亮度分量值Y' 4:4:4。转换器10B0可还可选地包括前面提及的输入单元104和输出单元105。
[0242] 在实施例中,装置100A或转换器100B包括确定单元101或二次采样单元106、像素处理器102和转换器103,并且可选地包括输入单元104和输出单元105。在此类情况下,确定单元101或二次采样单元106配置成对第一颜色空间中的线性颜色进行二次采样,以获得第一颜色空间中的二次采样的线性颜色。像素处理器102配置成对第一颜色空间中的二次采样的线性颜色应用第一转移函数,以获得第一颜色空间中的二次采样的非线性颜色。转换器103或像素处理器102于是配置成对第一颜色空间中的二次采样的非线性颜色应用第一颜色变换,以获得第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值中的至少一个。
[0243] 适合的硬件电路的特定示例包括一个或多个适合配置或可能可重新配置的电子电路,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA),或任何其它硬件逻辑,诸如基于互连的触发器和/或离散逻辑门以结合适合的寄存器(REG)和/或存储器单元(MEM)来执行专门功能的电路。
[0244] 备选地,本文中描述的步骤、功能、规程、模块和/或框中的至少某些可在用于由适合的处理电路(诸如一个或多个处理器或处理单元)的执行的软件(诸如计算机程序)中实现。
[0245] 处理电路的示例包括但不限于一个或多个微处理器、一个或多个数字信号处理器(DSP)、一个或多个中央处理单元(CPU)、视频加速硬件和/或任何适合的可编程逻辑电路,诸如一个或多个FPGA或一个或多个可编程逻辑控制器(PLC)。
[0246] 还应理解,再使用所提出的技术在其中被实现的任何常规装置或单元的通用处理能力可以是可能的。例如通过对现有软件的再编程或通过添加新软件组件来再使用现有软件也可以是可能的。
[0247] 在特定示例中,参见图14,装置110包括处理器111和包括可由处理器111执行的指令的存储器112。处理器111可操作用来对线性域中的像素的RGB表示进行二次采样以得到二次采样的Cb'Cr'分量,并且优选地使用Ajusty方法以得到Y'分量。
[0248] 在实施例中,装置110还包括配置成接收表示要处理的像素的比特流的输入单元113。在此类情况下,处理器111可操作用来接收来自输入单元113的比特流。
[0249] 在实施例中,装置110还包括配置成输出如从处理器111接收的Y'Cb'Cr'比特流的输出单元114。
[0250] 在特定实施例中,处理器111在执行存储器112中存储的指令时可操作用来执行上述操作。处理器111由此互连到存储器112以使能正常软件执行。
[0251] 因此,在实施例中,用于预处理图片中的像素的装置110由图14中的转换器来表示,包括处理器111和包括可由处理器111执行的指令的存储器112。处理器111可操作用来对第一颜色空间中的线性颜色进行二次采样。处理器111还可操作用来对第一颜色空间中的二次采样的线性颜色应用第一转移函数。处理器111另外可操作用来对第一颜色空间中的二次采样的非线性颜色应用第一颜色变换。处理器111进一步可操作用来导出第二颜色空间中的非线性亮度分量值。
[0252] 图15是说明包括处理器210、关联的存储器220和通信电路230的用户设备或装置200的示例的示意性框图。
[0253] 在此特定示例中,本文中描述的步骤、功能、规程、模块和/或框中的至少某些在被加载到存储器220中以用于由包括一个或多个处理器210的处理电路的执行的计算机程序240中被实现。处理器210和存储器220彼此互连以使能正常软件执行。通信电路230还互连到处理器210和/或存储器220以使能包括要预处理的图片的视频数据的输入和/或输出。
[0254] 用户设备200能够是能够接收和处理视频数据的任何装置或设备。例如,用户设备200能够是或固定或便携式计算机,诸如膝上型计算机、智能电话、平板电脑、机顶盒等。
[0255] 术语“处理器”应以一般意义理解为能够执行程序代码或计算机程序指令以执行特定处理、确定或计算任务的任何系统或装置。
[0256] 包括一个或多个处理器的处理电路因此配置成在执行计算机程序时,执行明确定义的处理任务,诸如本文中描述的那些任务。
[0257] 处理电路不必须专用于只执行上述步骤、功能、规程和/或框,但是也可执行其它任务。
[0258] 在实施例中,计算机程序240包括指令,所述指令在由处理器210执行时,促使处理器210对线性域中的像素的RGB表示进行二次采样以得到二次采样的Cb'Cr'分量,并且用户设备200进一步配置成使用Ajusty方法得到Y'分量。
[0259] 因此,在实施例中,计算机程序240包括指令,所述指令在由处理器210执行时,促使处理器对第一颜色空间中的线性颜色进行二次采样,以获得第一颜色空间中的二次采样的线性颜色。处理器210还被促使以对第一颜色空间中的二次采样的线性颜色应用第一转移函数,以获得第一颜色空间中的二次采样的非线性颜色。处理器210进一步被促使以对第一颜色空间中的二次采样的非线性颜色应用第一颜色变换,以获得第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值。处理器210另外被促使来为像素导出第二颜色空间中的非线性亮度分量值。像素的颜色由第二颜色空间中的非线性亮度分量值、二次采样的第一非线性彩度分量值和二次采样的第二非线性彩度分量值来表示。
[0260] 在实施例中,计算机程序进一步包括指令,所述指令在由处理器210执行时,促使处理器210对基于第二颜色空间中的二次采样的第一非线性彩度分量值、第二颜色空间中的二次采样的第二非线性彩度分量值和第三颜色空间中的原始线性光亮度分量值来为像素优选导出的、第二颜色空间中的非线性亮度分量值、二次采样的第一非线性彩度分量值和二次采样的第二非线性彩度分量值进行编码。
[0261] 提出的技术还提供包括计算机程序240的载体250。载体250是电子信号、光信号、电磁信号、磁信号、电信号、无线电信号、微波信号或计算机可读存储介质250之一。
[0262] 作为示例,软件或计算机程序240可实现为计算机程序产品,其通常被携带或存储在计算机可读介质240上,优选地为非易失性计算机可读存储介质250上。计算机可读介质250可包括一个或多个可移除或非可移除存储器装置,包括但不限于只读存储器(ROM)、随机存取存储器(RAM)、紧致盘(CD)、数字多功能盘(DVD)、蓝光(Blue‑ray)盘、通用串行总线(USB)存储器、硬盘驱动(HDD)存储装置、闪速存储器、磁带或任何其它常规存储器装置。计算机程序240可因此被加载进由图15中的装置200所表示的计算机或等效处理装置的操作存储器中以用于由其处理器210的执行。
[0263] 实施例的另外方面还涉及表示图片中的像素的编码的版本的信号。编码的版本包括根据实施例中的任何实施例导出的采用第二颜色格式的二次采样的第一非线性彩度分量值的编码的版本、第二颜色空间中的二次采样的第二非线性彩度分量值的编码的版本和采用第二颜色格式的非线性亮度分量值的编码的版本。
[0264] 在实施例中,信号是电子信号、光信号、电磁信号、磁信号、电信号、无线电信号及微波信号之一。
[0265] 本文中呈现的一个或多个流程图可因此在由一个或多个处理器执行时被视为一个或多个计算机流程图。对应装置可被定义为功能模块的组,其中由处理器执行的每个步骤对应于功能模块。在此情况下,功能模块被实现为在处理器上运行的计算机程序。因此,装置可备选地被定义为功能模块的组,其中功能模块被实现为在至少一个处理器上运行的计算机程序。
[0266] 驻留在存储器中的计算机程序可因此被组织为适当的功能模块,其配置成在由处理器执行时,执行本文中描述的步骤和/或任务的至少一部分。图16中说明了此类功能模块的示例。
[0267] 图16是带有功能模块的布置或装置120的示意性框图。布置120包括用于对线性域中的像素的RGB表示进行二次采样,以得到二次采样的Cb'Cr'分量的确定单元或二次采样单元121。装置120还包括用于使用Ajusty方法以得到Y'分量的像素处理器122。
[0268] 装置120进一步包括用于对表示Y'Cb'Cr'的比特流进行编码的视频编码器123。装置120还可包括转换器124。
[0269] 在实施例中,确定单元或二次采样单元121用于对第一颜色空间中的线性颜色进行二次采样,以获得第一颜色空间中的二次采样的线性颜色。像素处理器122用于对第一颜色空间中的二次采样的线性颜色应用第一转移函数,以获得第一颜色空间中的二次采样的非线性颜色。转换器124用于对第一颜色空间中的二次采样的非线性颜色应用第一颜色变换,以获得第二颜色空间中的二次采样的第一非线性彩度分量和第二颜色空间中的二次采样的第二非线性彩度分量值中的至少一个。可选的编码器123于是用于对第二颜色空间中的二次采样的第一和第二非线性彩度分量值和非线性亮度分量值进行编码。
[0270] 另外的方面涉及用于预处理图片中的像素的装置120。装置120包括用于对第一颜色空间中的线性颜色进行二次采样,以获得第一颜色空间中的二次采样的线性颜色的确定单元121。装置120还包括像素处理器122,其用于对第一颜色空间中的二次采样的线性颜色应用第一转移函数,以获得第一颜色空间中的二次采样的非线性颜色,以及用于对第一颜色空间中的二次采样的非线性颜色应用第一颜色变换,以获得第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值中的至少一个。装置进一步包括用于为像素导出第二颜色空间中的非线性亮度分量值的转换器124。像素的颜色由第二颜色空间中的非线性亮度分量值、二次采样的第一非线性彩度分量值和二次采样的第二非线性彩度分量值来表示。
[0271] 实施例的又一方面涉及用于对图片中的像素进行编码的装置110,参见图14。装置110包括处理器111和包括可由处理器111执行的指令的存储器112。处理器111可操作用来对第一颜色空间中的线性颜色进行二次采样,以获得第一颜色空间中的二次采样的线性颜色。处理器111还可操作用来对第一颜色空间中的二次采样的线性颜色应用第一转移函数,以获得第一颜色空间中的二次采样的非线性颜色。处理器111进一步可操作用来对第一颜色空间中的二次采样的非线性颜色应用第一颜色变换,以获得第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值。处理器
111另外可操作用来基于第二颜色空间中的二次采样的第一非线性彩度分量值、第二颜色空间中的二次采样的第二非线性彩度分量和第三颜色空间中的原始线性光亮度分量值,为像素导出第二颜色空间中的非线性亮度分量值。处理器111还可操作用来对非线性亮度分量值、二次采样的第一非线性彩度分量值和二次采样的第二非线性彩度分量值进行编码。
[0272] 实施例的又一方面涉及用于对图片中的像素进行编码的装置120,参见图16。装置120包括用于对第一颜色空间中的线性颜色进行二次采样,以获得第一颜色空间中的二次采样的线性颜色的确定单元121。装置120还包括像素处理器122,其用于对第一颜色空间中的二次采样的线性颜色应用第一转移函数,以获得第一颜色空间中的二次采样的非线性颜色,以及对第一颜色空间中的二次采样的非线性颜色应用第一颜色变换,以获得第二颜色空间中的二次采样的第一非线性彩度分量值和第二颜色空间中的二次采样的第二非线性彩度分量值。装置120进一步包括转换器124,其用于基于第二颜色空间中的二次采样的第一非线性彩度分量值、第二颜色空间中的二次采样的第二非线性彩度分量值和第三颜色空间中的原始线性光亮度分量值,为像素导出第二颜色空间中的非线性亮度分量值。装置120另外包括用于对非线性亮度分量值、二次采样的第一非线性彩度分量值和二次采样的第二非线性彩度分量值进行编码的编码器123。
[0273] 本实施例还涉及包括根据实施例的用于预处理像素的装置或用于编码像素的装置的用户设备。用户设备优选地是配置成接收并处理视频数据的装置或设备。用户设备例如能够是配置成通过诸如HDMI的接口转发视频数据的装置或设备。
[0274] 另一实施例涉及包括根据实施例的用于预处理像素的装置或用于编码像素的装置的用户设备。在此实施例中,用户设备优选地从由计算机、膝上型计算机、智能电话、平板电脑和机顶盒组成的群组中选择。
[0275] 在诸如网络节点和/或服务器的网络装置中提供诸如硬件和/或软件的计算服务正变得日益流行,其中资源作为服务通过网络被输送到远程位置。作为示例,这意味着如本文中所描述的,功能性能够被分布或重新安置到一个或多个分开的物理节点或服务器。功能性可被重新安置或分布到能够位于(一个或多)分开的物理节点的一个或多个联合行动的物理和/或虚拟机,即在所谓的云中。这有时也称为云计算,其是用于使能对诸如网络、服务器、存储装置、应用及通用或定制服务的可配置计算资源池的普遍存在的按需网络接入的模型。
[0276] 图17是说明了在一般情况下能够如何在不同网络装置300、301、302之间分布或划分功能性的示例的示意性图示。在此示例中,存在至少两个单独但互连的网络装置300、301,其可具有在网络装置300、301之间被划分的不同功能性,或者相同功能性的不同部分。
可存在作为此类分布式实现的部分的附加网络装置302。网络装置300、301、302可以是相同无线通信系统的部分,或者网络装置中的一个或多个可以是位于无线通信系统外的所谓基于云的网络装置。
[0277] 图18是说明无线通信系统的示例的示意性示图,所述无线通信系统包括与一个或多个基于云的网络装置300协作的接入网络1和/或核心网络2和/或操作和支持系统(OSS)3。该图还说明了根据实施例的接入网络1的网络节点4和用户设备5。
[0278] 附录A
[0279] 本附录A包括能够根据实施例使用以便导出第二颜色空间中的非线性亮度分量值的Ajusty方法的描述。
[0280] 高度非线性转移函数、4:2:0或4:2:2二次采样和非恒定光亮度排序的组合引发了饱和颜色中的严重伪像。示例在附录B中描述,其中类似光亮度的两个颜色之间的改变能够导致具有非常不同的光亮度的重构图像。
[0281] 在数字视频信号中,样本(即像素)的每个分量由整数或浮点值来表示。显现视频的显示器(诸如屏幕、电视或监视器)基于视频信号的数字值而忽略可见光。将数字值V转化成可见光Y的函数是电光转移函数(EOTF)。EOTF在传统上一直表述为称为伽玛函数的指数γ函数,其中,伽玛γ是指数值。这典型地为2.4(但也能够是其它值):Y= V 。
[0282] 使用伽玛函数对低光亮度信号效果非常好,但在光亮度超过100尼特(cd/m2)时,伽玛函数未非常好地与人类视觉系统的对比度灵敏性一致。因此,定义了更非线性的转移函数,例如:
[0283] (等式A1)
[0284]
[0285] 在此转移函数的一阶导数的最大值在从0到1的范围上大于伽玛函数一阶导数的最大值的意义上,此转移函数比伽玛函数更非线性。
[0286] 彩度二次采样典型地在压缩前作为减少数据量的初始步骤被完成。在4:2:2中,彩度信号在垂直方向上被降低到一半分辨率。在4:2:0中,彩度信号在垂直方向和水平方向两者上均被降低到一半分辨率。这典型地利用某个滤波操作来完成,以得到良好质量的信号,但也能够使用最近邻居来完成。
[0287] 为了显示4:2:0或4:2:2视频,解码器执行彩度信号的升采样,这能够使用双线性滤波器或更长滤波器来完成。
[0288] 然而,高度非线性转移函数、4:2:0或4:2:2二次采样和非恒定光亮度排序的组合引发了视频数据的严重伪像,特别是对于饱和颜色,即接近颜色范围边缘的颜色。
[0289] 存在若干规避此问题的方式。一种方式是不使用4:2:0或4:2:2二次采样,而是转而使用4:4:4二次采样。然而,那是昂贵的,因为4:2:0在压缩前将比特的数量减半,而4:2:2将比特数量减少到三分之二。另一方式是不使用高度非线性转移函数。然而,那意味着难以在暗区域中在不具有条带的情况下表示非常高的峰光亮度的内容。第三种方式是使用恒定光亮度,即在转换到CIE1931 XYZ颜色空间后应用转移函数。然而,此类解决方案与广播行业的通常实践不一致,并且在某些情形下实现起来可能是困难和昂贵的。
[0290] 下面描述典型的压缩链。范围在从0到10,000的传入的线性光像素(R,G,B)先被馈送到转移函数,这导致在0与1之间的新像素(R',G',B')。在此之后,像素经历颜色变换,导致Y'Cb'Cr'。然后,将Cb'和Cr'分量二次采样到4:2:0。
[0291] 在解压缩后,再次对4:2:0序列进行升采样到4:4:4,逆颜色空间转换给出(R',G',B'),并且最后逆转移函数给回能够在监视器上输出的线性光像素(R,G,B)。
[0292] 问题来源于Cb'和Cr'彩度分量是经过内插,而Y'分量没有的事实。因此,在像素中的Y'分量中能够存在急剧的偏移,但Cb'和Cr'分量无法跟随,因为它们是经过内插的。对于某些颜色,特别是饱和颜色,结果是完全错误强度的像素,而且它是明显可见的。
[0293] 提议了在这些情况下改变Y'分量,使得从经内插的颜色生成的元组(Y' Cb' Cr')与原始颜色不那么不同。理想地,差别将非常小,以致它是不可察觉的。
[0294] 基本上,它发散以意识到Cb'和Cr'分量是假的(false),并且因而也使Y'分量是假的,以致(Y' Cb' Cr')更接近真实颜色。换言之,通过在Y'中引入误差,我们能够补偿在Cb'和Cr'中已经存在的误差以更接近实际像素。通过比较Cb'–Cb和Cr–Cr与阈值,例如,通过比较你从首先对彩度进行二次采样(4:2:0),然后进行升采样(到4:4:4)而得到的Cb',能够确定Cb'和Cr'分量是假的。
[0295] 根据第一方面,提供了Ajusty方法。方法能够在编码器中或者在到编码器的预处理中执行。在方法中,在确定Cb'和/或Cr'分量包括误差时,导出校正的Y'分量以补偿Cb'和/或Cr'分量中的误差。
[0296] 根据第二方面,提供了诸如预处理器或编码器的单元。单元配置成确定Cb'和/或Cr'分量包括误差,并且在已经确定Cb'和/或Cr'分量包括误差时,它配置成导出校正的Y'分量以补偿Cb'和Cr'分量中的误差。
[0297] 根据如下所描述的不同实施例,能够导出校正的Y'分量。因此,然后对校正的Y'分量、Cb'和Cr'进行压缩,导致图像或视频以更高质量被感知。
[0298] 通过改变Y'分量,即导出校正的Y'分量,我们能够补偿所得到的光亮度值。眼睛对光亮度改变比对色度改变敏感得多,因此,第一规则必须始终是确保光亮度与原始值不偏差太大。
[0299] 如上所描述的,在压缩前调整非线性光亮度Y',使得像素的线性光亮度Y更接近它的正确值。这在下面进一步被描述。
[0300] 假定其中屏幕的左侧部分(例如像素0到96)具有值(2142,0,138),并且右侧部分(例如像素97到1920)具有值(2142,4,138)的图片。利用常规处理链,我们将得到表A1中的结果。
[0301] 表A1 –对于4:2:0二次采样的对于“最坏”颜色的数据
[0302]
[0303] *这指示通过对采用4:2:0格式的二次采样的颜色进行升采样而获得的值。
[0304] 此处,Y值是线性光亮度。即,原始的Y值是在你采用原始线性光RGB(2142,4,138)并且将它转换到XYZ时你得到的值。例如,如果RGB在BT.2020颜色空间中,则你能够使用以下等式转换到XYZ:
[0305] X=0.636958×R+0.144617×G+0.168881×B
[0306] Y=0.262700×R+0.677998×G+0.059302×B(等式4)
[0307] Z=0.000000×R+0.028073×G+1.060985×B
[0308] 此Y分量是眼睛最敏感的光亮度。它不应与上面提及的、非线性地取决于R、G和B的Y'分量相混淆。
[0309] 如在表A1中能够看到的,在使用RGB 4:2:0二次采样和升采样时,Y值对于像素97是明显错误的。注意在此示例中,还没有压缩发生,只量化到10比特,并且Y值还具有85 %的相对误差。使用对眼睛能够看到多大差别进行预测的Barten模型,我们看到此误差为195个Barten步,或者是将恰可察觉的误差的195倍。
[0310] 如果我们查看表A2,我们能够看到发生了什么。
[0311] 表A2 ‑ 像素97在颜色二次采样之前和之后非常不同
[0312]
[0313] 如果我们查看Cb'分量,它具有值607,其大约处在间断前的650(即像素94)与间断后的575之间的中途,但正确值是575。问题是误差不但影响像素的色度,而且影响像素的光亮度,其变得太大了。我们的想法是通过改变像素的Y'分量来补偿此情况。根据实施例,对于像素我们不让Y'分量为422,而是转而选择值363。在表A3中,我们示出结果。
[0314] 表A3 ‑ 像素97在颜色二次采样之前和之后类似的多
[0315]
[0316] 我们现在能看到,新颜色更类似于它的正确值。绿色分量已在错误方向上行动,但2 2
只有1.72 cd/m ,但同时红色分量已几乎为它的正确值的一半,移动1849 cd/m ,以及蓝色分量已按照类似方式改变。在表A4中,我们示出对于光亮度发生了什么。
[0317] 表A4 –在校正后对于4:2:0二次采样的对于“最坏”颜色的数据
[0318]
[0319] *这指示通过对采用4:2:0格式的二次采样的颜色进行升采样而获得的值。
[0320] 如在表A4中所看到的,我们在光亮度Y中得到小得多的误差。相对误差为0.2465 %,这等效于0.5602 Barten步,即不可能看到。
[0321] 误差现在转而在色度中,但给定事实是人类视觉系统对色度中的误差比在光亮度中的误差更不敏感,这不是大的问题。另外,由于色度被二次采样,因此,无论如何在色度中将存在误差。同样,我们可改变Y'分量,以得到光亮度中的误差与在色度中的误差之间的良好折衷。
[0322] 此外,色度中的改变可能甚至是不可察觉的—唯一的不同在于绿色分量是0.7008 2 2
cd/m而不是3.9750 cd/m ,但由于红色分量为2145(几乎是1000倍)因此,它极可能无论如何被红色分量矮化。查看它的另一方式是绿色与红色分量之间的比率变成0.7008/2145.11=0.000327,而不是正确的3.9750/2142.6617=0.001855。不清楚的是,对于人眼可能看到色调中的此轻微偏移。因此,我们已经将是恰可察觉的误差200倍的光亮度中的误差交换成在色度中的误差,色度中的误差如此小,以致于它可以不可能被看到。
[0323] 好的事情是改变的Y'值只影响单独的像素。因此,通过改变Y'分量,不牺牲其它像素。
[0324] 在实施例中,值Y'未被优化用于Cb'和Cr'的特定值。相反,Y'值被经选择,使得它最小化对于Cb'和Cr'的某些不同值或对于Cb'和Cr'值的范围的光亮度误差。这能够在其中彩度升采样方法未知的情形中完成。
[0325] 一种变体是执行特定数量的彩度升采样方法,并且然后选择使对于不同升采样方法的平均均方误差最小化的Y'值。在另一版本中,Y'值被选择,使得最小化最坏情况(即最大误差)。
[0326] 另一变体是使用Cb'和Cr'的两个或更多相邻值,并且直接使用它们计算可能的Cb'和Cr'值的范围。
[0327] 存在若干方式用来查找对于Y'的最佳值,我们将审阅它们中的多个。一种方式在图19中示出。
[0328] 首先,我们需要查找要朝向其优化的值YO。如上所提及的,原始像素RO、GO、BO从RGB被变换到XYZ。这导致了XO、YO、ZO,其中我们只对YO感兴趣。实际上,我们不需要计算XO和ZO。此YO是线性光中的原始光亮度,并且它正是眼睛所敏感的。在我们的测试情况下,YO等于
573.5991,参见表A1。
[0329] 其次,我们采用我们现有的Y'值,连同Cb'和Cr'值。在上面情况下,我们将馈入(422,607,812),参见表A2。现在,我们将进行从Y'Cb'Cr'到R'G'B'的颜色变换。这使用以下等式来完成:
[0330] R'=Y'+1.47460×Cr'
[0331] G'=Y'‑0.16455×Cb'‑0.57135×Cr'(等式A2)
[0332] B'=Y'+1.88140×Cb'。
[0333] 接着,我们调用转移函数。在此情况下,我们使用PQ‑EOTF,其能够使用以下Matlab代码来实现,例如:
[0334] function L = pq_eotf(c)
[0335] %%%
[0336] %%% c从0.0去到1.0
[0337] %%% L是以尼特的输出光亮度
[0338] %%%
[0339] c1 = 0.8359375;
[0340] c2 = 18.8515625;
[0341] c3 = 18.6875;
[0342] n = 0.1593017578125;
[0343] m = 78.84375;
[0344] c = max(c,0);
[0345] c = min(c,1);
[0346] L = 10000*((max(c.^(1/m)‑c1, 0)./(c2 ‑ c3*c.^(1/m))) .^ (1/n));
[0347] 结果是线性光中的颜色(R,G,B)。如上所提及的,现在我们将此转换到XYZ,或者实际上,我们只需要计算Y。此Y是像素的线性光亮度,并且我们想使此光亮度尽可能接近YO。在我们的测试情况下,Y开始是1066.4311,参见表A1。
[0348] 现在我们比较Y和YO。如果Y大于YO,则我们将Y'值从422减小到某个更小值。例如,我们能够采用一步并且尝试421。然后,再次执行整个计算,生成新Y值。再次地,将此与YO进行比较,并且如果它仍太大,则我们进一步减小Y'。最后,我们将到达363并且所得到的Y值(即572.1852)现在小于Y(O 即573.5991)。过程现在停止。
[0349] 在上面实施例中,采用422‑363=59个迭代以到达最佳值。这可以是高成本的。
[0350] 因此,实施例将进行二分法搜索以查找最佳Y'值。可选的是,首先尝试最大Y'值,例如1023。可选的是,然后尝试最小Y'值,例如0。然后,尝试中间的值,例如512。如果由Y'=512产生的Y值大于YO,则我们应在间隔[0,512]中搜索。如果Y值小于YO,则我们应转而搜索间隔[512,1023]。然后,我们通过计算选择的间隔的中间中的新值来继续,并且继续直至间隔只含有单个数字,如[363,363]或[363,364]。这保证只采用log(2 N)步,其中,N是可能值的数量,在此情况中其是1024。因此,仅log(2 1024)=10步就足够。
[0351] 计算最佳值的又一方式是将图8视为优化问题,并且最小化相对于Y'的误差E=(Y‑2
YO)。这能够通过梯度下降来完成:通过计算E相对于Y'的梯度,即dE/dY',并且在梯度的相反方向上小量更新Y',即Y'n+1=Y'n‑α×dE/dY',其中α是小的常数。
[0352] 梯度下降能够是慢的,因此,更快的方式可以是使用计算或近似二阶导数d2E/dY'2的二阶优化算法。高斯‑牛顿法(Gauss‑Newton)是此类算法的示例。
[0353] 在另一实施例中,应用以下过程以便计算Y':
[0354] ‑利用XYZ到RGB转换,转换X、YO和Z以产生新值R1、G1和B1
[0355] ‑利用逆转移函数,转换R1、G1和B1以产生R1'、G1'和B1'。
[0356] ‑利用逆颜色变换,转换R1'、G1'和B1'以产生Y'
[0357] 在实施例中,校正图像或图片中所有像素的Y'值。在备选实施例中,仅校正处于具有可见光亮度误差风险的像素。这可包括靠近颜色范围边缘的像素,但排除更靠近颜色范围三角形的中间的像素。
[0358] 查看图19中的底行,处理的第一步是
[0359] R'=Y'+1.47460×Cr'
[0360] G'=Y'‑0.16455×Cb'‑0.57135×Cr'(等式A2)
[0361] B'=Y'+1.88140×Cb'。
[0362] 但由于Cr'和Cb'是固定的,它们被内插而不是被发送,因此,我们能够将Y'右侧的任何内容替换为常数:
[0363] R'=Y'+c1
[0364] G'=Y'+c2
[0365] B'=Y'+c3
[0366] 下一步是采用颜色分量的转移函数:
[0367] R=TF(R')
[0368] G=TF(G')
[0369] B=TF(B')
[0370] 其然后变成
[0371] R=TF(Y'+c1)
[0372] G=TF(Y'+c2)
[0373] B=TF(Y'+c3)
[0374] 处理的最后步骤是从RGB去到XYZ。这使用以下等式来完成:
[0375] X=0.636958×R+0.144617×G+0.168881×B
[0376] Y=0.262700×R+0.677998×G+0.059302×B(等式4)
[0377] Z=0.000000×R+0.028073×G+1.060985×B
[0378] 其中我们只对Y分量感兴趣,所以我们使用
[0379] Y=0.262700×R+0.677998×G+0.059302×B。
[0380] 将前面的等式插入此中给出了
[0381] Y=0.262700×TF(Y'+c1)+0.677998×TF(Y'+c2)+0.059302×TF(Y'+c3),[0382] 或缩短成
[0383] Y=f(Y')
[0384] 我们想要此等式的输出值Y匹配原始YO。由于Y以非线性方式在三个不同位置中取‑1决于Y',似乎不存在简单的方式逆变该函数,使得我们能够得到Y'=f(Y)。
[0385] 然而,有可能使非线性TF(x)   kx+m线性化。在三个不同位置中进行此操作给出~了
[0386] Y   k1×Y'+m1+k2×Y'+m2+k3×Y'+m3~
[0387] 其等效于
[0388] Y  (k1+k2+k3)×Y'+(m1+m2+m3)。~
[0389] 这能够被逆变成
[0390] Y' ~ Y'k=(YO‑(m1+m2+m3))/(k1+k2+k3)。
[0391] 因此,可能Y'k将产生比以前更接近YO的值Yk。函数能够在此新点Y'k再次被线性化,导致新值Y'k+1等。
[0392] 应注意,对于所有这些迭代技术,查找生成最接近YO值的Y值的绝对最佳10比特值不是必需的。可能只使用几个迭代乃至一个迭代就足够。由单个迭代产生的校正的Y值将极可能比根本不校正要好得多。
[0393] 某些线性化还可事先完成。如上所提出的,最坏的问题发生在范围边缘上。因此,我们能够具有用于连接红基色到绿基色的线的一个线性化、用于连接红基色到蓝基色的线的一个线性化及用于连接绿基色到蓝基色的线的一个线性化。另一方式可以是要具有将接近红基色使用的线性化,接近绿基色的另一线性化和接近蓝基色使用的第三线性化。此外,如图20中所示,沿范围的线具有若干线性化是可能的。
[0394] 因此,在不同区域中能够存在不同线性化。如果颜色是在利用实线的圆内,则我们接近绿基色,并且我们能够使用一个线性化。如果我们进一步沿线移向红基色(即在虚线框内),则我们能够使用第二线性化。如果我们接近范围的边缘,并且大致在红基色与绿基色之间的中途(即在虚点框内),则能够使用第三线性化。如果我们甚至更接近红基色(即在利用实线的框内),则能够使用第四线性化。如果我们在虚点圆内(即接近红基色),则能够使用第五线性化。还能够使用三角形中其它两条线的相同划分。最后,在三角形内但不在框或圆中的区域能够被划分成一个或多个区域,每个区域具有不同线性化。
[0395] 另一方式是创建查找表(LUT)。如从上面的公式所能够看到的,如果我们具有Cb'、Cr'和想要的Y值,则可能使用上面提及的任何迭代技术,查找最佳Y'。因此,我们能够为Cb'、Cr'和Y的每个可能组合创建查找表。例如,假定Cb'和Cr'被量化到10比特。进一步假定10 10 10
我们还将Y量化到10比特。然后,我们在我们的查找表中需要2 ×2 ×2 个不同值。那等效
30 31
于2 个值。如果每个值是两个字节,这意味着2 个字节或2 Gb。这是大的但也许不是不可行的,特别是在将来。
[0396] 在量化Y时需要小心。由于Y是完全线性的,因此,只将它量化可能是不足的。相反可能更好的是创建Ynonlinear=TF(Y),并且转而使用Cb'、Cr'和Ynonlinear作为输入变量,为Y创建LUT。给定Cb'、Cr'和Y,我们然后将首先计算Ynonlinear=TF(Y),并且然后查找Y'=LUT(Cb',Cr',Ynonlinear)。
[0397] 还可能可使用更小的LUT。例如,可能可将Y(或Ynonlinear)、Cb'和Cr'量化到比如(6+6+6) 18 196比特。然后,表大小将是2 =2 个值或2 个字节,这等于512 kbytes。即使使用今天的硬件,那也是合理的大小。
[0398] 可能可采用最接近真实值的量化的值Cb'、Cr'和Y,并且对它们进行内插。作为示例,如果Cb'的实际值大于被量化到6比特的Cb',但小于被量化到6比特的Cb'+1,则以下可以是良好的近似:
[0399] Y'=(LUT(Cb'6bit,Cr'6bit,Y6bit)+(LUT(Cb'6bit+1,Cr'6bit,Y6bit))/2[0400] 在大于两个值之间的内插也是可能的。
[0401] 在实施例中,查找表用于导出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'的许多值将不造成任何问题。
[0402] 在实施例中,YO、Cb'和Cr'的函数(例如线性组合、多项式函数、指数函数、对数函数、三角函数等)被用于导出Y'。函数能够被定义,使得对于YO、Cb'和Cr'的任何值,Y与YO之间的差低于某个阈值,或者导出的Y'与最优Y'之间的差低于某个阈值。
[0403] 在实施例中,为导出Y',定义了YO、Cb'和Cr'的若干不同函数。要使用哪个函数的选择基于YO、Cb'和Cr'的值。
[0404] 对于本文中描述的每个实施例,情况能够是仅在Y'与YO之间的差开始高于某个阈值的情况下,才调用用于导出Y'的方法。
[0405] 附录B
[0406] 此附录B调查由于4:2:0二次采样的颜色伪像。首先,进行交叉检查的尝试,但可能由于已经修好的HDRTools中的错误,无法再现最坏的值。接着,对于由4:2:0二次采样引发的光亮度中最坏相对误差执行搜索。发现即使在限于4000尼特的屏幕上显示,也能够发生86 %的相对误差(195个Barten步)。即使数据被限制到Rec709并且保持在BT.2020容器(container)中,30个Barten步的误差是可能的。对于BT.2020容器中的P3内容,40个Barten步的误差是有可能的。
[0407] 1 介绍
[0408] 已注意到,在使用4:2:0二次采样时,即使未发生压缩,颜色中小的改变能够引入惊人的大伪像。
[0409] 1.1 交叉检查差异
[0410] 此调查作为m35255[1]的交叉检查开始,尝试复制在下面表B1中再印的在幻灯片(slide)13上的结果。结果来自测试图像,其中直至像素95的图像的左侧部分具有颜色(3000,0,100),并且右侧部分(像素96和向前的)具有颜色(3000,4,100)。
[0411] 表B1 – m35255的值
[0412]
[0413] 在使用与用于锚(n14548,[2])相同的规程进行交叉检查时,我们得到表B2中所示的结果。对于降采样,遵循在[2]的章节2.4.7中描述的滤波器(2和3个抽头),并且对于升采样,遵循[2]的章节2.4.8(4抽头滤波器)。
[0414] 表B2 ‑ 在尝试交叉检查时的值
[0415]
[0416] 如能够看到的,此匹配确实差,并且仅像素号94和98匹配,而对于像素号95‑97或99未发现匹配。然而,将间断移动到像素97转而给出了好得多的匹配,如表B3中所示。
[0417] 表B3 ‑ 在移动间断时的值
[0418]
[0419] 在表B3中,仅像素号96不匹配。那也是具有最奇怪值(10000,1.57,402.25)的像素,取决于你将间断放置在哪里,正确的答案是(3000,0,100)或(3000,4,100)。
[0420] 看起来好像交叉检查中的不匹配是由于在HDRtools中已经校正的误差。如果恢复到版本492,我们能够产生与在m35255 [1]中相同的值。为确认HDRtools的较新版本(修订版573)是正确的,我们已在Matlab中独立实现处理链,并且我们得到与表B3中相同的结果。我们必须移动间断以得到匹配的原因可能是由于在当前版本中已解决的、修订版492中的有错滤波。
[0421] 1.2 舍入问题
[0422] 在实现Matlab交叉检查时,我们认识到HDRtools中浮点型到EXR的转换缺乏舍入。尾数的23比特不舍入到10比特,而它们只是被向右偏移,基本是用floor( )替代round( )。
这影响最终结果。作为示例,即使3008.0是接近得多的值,但浮点型的3007.9将被转换到
3006.0。为得到匹配,我们在HDRtools的当前修订版([3]的修订版587)中使Matlab代码仿真floor( )型转换。
[0423] 1.3 颜色异常点
[0424] 注意,即使像素96不再是极度异常点,但像素97仍离正确值相当远:(5860,2.58,199)而不是(3000,4,100)。这引起了问题;4:2:0二次采样能够生成多坏的异常点,并且这发生在何处 为回答此问题,我们首先必须定义对于我们来说“坏”的意思。我们集中在光亮度上,因为人类视觉系统对光亮度中的改变比对色度中的改变更敏感。因此,我们将输入EXR图像和输出EXR图像两者从线性光变换到XYZ,并且形成Y中的差。为得到相对误差,我们然后除以原始的Y分量。然后,我们编写一个小程序,最大化用于在该类型的所有可能图像上的像素97的此相对误差,其中左侧部分具有一个颜色,并且右侧部分是相同颜色加长度为4的小delta,正如在m35255 [1]中完成的一样。
[0425] 运行给出具有左侧部分中的颜色(2142,0,138)和右侧部分中的颜色(2142,4,138)的答案的此程序给出最大可见误差,如表B4中所示。不保证寻找“最坏”误差的优化软件找到全局最大值,因此,在颜色范围中可存在甚至更坏的位置。
[0426] 表B4 –对于4:2:0二次采样的对于“最坏”颜色的数据
[0427]
[0428] 应注意,具有比2142更高的红色分量将生成甚至更高的相对误差。然而,我们假定高于4000的RGB值将被监视器削减到4000,因此,我们相信如果使用更高值,则实际屏上差将开始缩小。
[0429] 如在表B4中能够看到的,对于RGB 4:4:4的相对误差是0.0304 %。为了说明这点,我们将其和Barten曲线比较,参见示出用于对比度敏感性的Barten曲线的图21。曲线之下的对比度是不可察觉的。表B5示出用于绘制图21中的曲线的值。
[0430] 表B5 ‑ 用于绘制Barten曲线的值
[0431]
[0432] 如在图21中能够看到的,对于相对误差的容限随着光亮度的增大而减小。在100尼特,0.44 %的误差能够是恰可察觉的,而在1000尼特,0.40 %的误差能够是恰可察觉的。由于455尼特正好在这些值之间,因此,我们使用0.44 %的更高值。这给出0.069的Barten步,这意味着它是不可察觉的。
[0433] 另一方面,对于4:2:0二次采样,相对误差是85.92 %。这等效于超过195个Barten步,这应是明显可见的。因此,断定4:2:0二次采样能够产生明显可见伪像,至少连同非恒定光亮度和高度非线性转移函数,如在锚生成中的情况一样,看起来是合理的。
[0434] 注意,最坏误差正好在颜色范围的边界上;因为绿颜色为零,颜色(2142,0,138)在红基色与绿基色之间的线上。这与在也指出范围边缘上的颜色有问题的m35255 [1]中报告的内容一致。
[0435] 1.4 在输入是709数据时
[0436] 表B1中呈现的数据用于BT.2020基色。如果输入数据支持Rec709基色,但容器是BT.2020,则将不可能到达颜色范围边界。这是由于Rec709范围三角形在BT.2020三角形内,未接触范围边界(如在图22中能够看到的)的事实。因此,假定相对误差将更小是合理的。
[0437] 我们已运行优化软件以查找在转换到BT.2020后将导致最大相对误差的Rec709颜色。所得到的两个颜色是对于屏幕的左侧部分的(0,0,50)和右侧部分中的(2,3,49)。这在表B6中呈现。
[0438] 表B6 ‑ 如果输入是Rec709,并且容器格式是BT.2020,则对于4:2:0二次采样的对于“最坏”颜色的数据
[0439]
[0440] 此处,我们已使用了在10尼特的Barten曲线,其等于0.54 %。对于RGB 4:4:4,我们然后得到在1.2305个Barten步恰可察觉的误差,而在RGB 4:2:0中的误差等于33个Barten步,其应是明显可见的。由于以Rec709数据开始排除了颜色到达BT.2020的范围边缘的所有部分,因此,误差更小(33个Barten步对195个Barten步)也是合理的。
[0441] 同样注意,优化结果是如何已发现最坏误差在蓝基色附近可用。这可能是因为蓝Rec709基色最接近BT.2020范围边缘(如在图22中能够看到的)。
[0442] 1.5 在输入是P3数据时
[0443] 相同测试能够为在BT.2020容器中含有的P3源数据被执行。最坏颜色然后是(2.48,3.32,4.63)和(3.29,0,6.71),如表B7中所示。
[0444] 表B7 ‑ 如果输入是P3,并且容器格式是BT.2020,则对于4:2:0二次采样的对于“最坏”颜色的数据
[0445]
[0446] 我们将假定误差将在Rec709与BT.2020的误差之间某处,并且情况也是如此,我们现在得到等效于40.38个Barten步的误差。注意,由于Barten值改变,因此,重要的是在搜索2
最坏值时在循环中包括它。我们已使用了对于1 cd/m的Barten值,其等于0.85 %。
[0447] 1.6 结论
[0448] 此附录已调查由于4:2:0二次采样的光亮度中的误差。虽然我们尚不能匹配来自m35255 [1]的最坏异常点,但最坏情况误差仍是显著的,对于一般数据达到几乎200个Barten步。即使源数据受限于Rec709,并且被放置在BT.2020容器中,误差仍是显著的,超过30个Barten步,并且对于BT.2020容器中的P3数据,超过40个Baren步。
[0449] 上述实施例要理解为本发明的几个说明性示例。本领域的技术人员将理解,在不背离本发明范围的情况下,可对实施例进行各种修改、组合和改变。具体地说,在技术上可能的情况下,不同实施例中的不同部分解决方案能够被组合在其它配置中。然而,本发明的范围由随附权利要求限定。
[0450] 参考文献
[0451] 。