CN109479151B - 采用颜色分量的像素处理 - Google Patents

采用颜色分量的像素处理 Download PDF

Info

Publication number
CN109479151B
CN109479151B CN201680087767.XA CN201680087767A CN109479151B CN 109479151 B CN109479151 B CN 109479151B CN 201680087767 A CN201680087767 A CN 201680087767A CN 109479151 B CN109479151 B CN 109479151B
Authority
CN
China
Prior art keywords
pixel
color
color space
value
component value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680087767.XA
Other languages
English (en)
Other versions
CN109479151A (zh
Inventor
J.斯特朗姆
J.塞缪尔森
R.斯约伯格
K.安德森
K.多维斯坦姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN109479151A publication Critical patent/CN109479151A/zh
Application granted granted Critical
Publication of CN109479151B publication Critical patent/CN109479151B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/06Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed using colour palettes, e.g. look-up tables
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • H04N1/642Adapting to different types of images, e.g. characters, graphs, black and white image portions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/06Colour space transformation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Color Image Communication Systems (AREA)
  • Processing Of Color Television Signals (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

像素的处理包括检查引起基于颜色分量所确定的另一个颜色空间中的至少一个颜色分量与另一个颜色空间中的像素的至少一个原始颜色分量之间的最小误差的颜色空间中的像素的颜色分量是否使像素的任何颜色通道落在容许范围外。如果引起最小误差的颜色分量没有使像素的任何颜色通道落在所述容许范围外,则使用第一函数/LUT来得到颜色分量的值。但是,如果引起最小误差的颜色分量使像素的任何颜色通道落在容许范围外,则使用第二不同函数/LUT来得到颜色分量的值。

Description

采用颜色分量的像素处理
技术领域
本实施例一般涉及图片中的像素的处理,以及具体来说涉及改进像素的照度(luminance)值的这种处理。
背景技术
在视频编码领域内,非线性转换函数将线性样本转换成非线性样本,目的在于模仿人类视觉。在高动态范围(HDR)视频的编码中,使用高非线性转换函数能够是有利的。高非线性转换函数使得有可能将许多码字分配给暗区域并且将更少码字分配给亮区域,其中明暗度 (brightness)的相对差无论如何是很小的。
HDR视频的传统处理的示例在图1中示出。在这个传统处理中,例如光电转换函数(OETF)的转换函数的逆(TF-1)(其通常是光电转换函数(EOTF)的逆)应用于原始线性光信号的红、绿和蓝颜色分量(RoGoBo),以形成非线性R'G'B'颜色。第一颜色变换(colortransform或color transformation)(CT1)应用于这个非线性R'G'B'颜色,以获得Y'CbCr4:4:4颜色,其包含亮度(luma)分量Y和两个色度(chroma)分量Cb、Cr。色度分量Cb、Cr经二次取样到例如产生 Y'CbCr 4:2:0的四分之一分辨率或者产生Y'CbCr 4:2:2的半分辨率。这个Y'CbCr 4:2:0或4:2:2颜色然后输入到编码器,以获得HDR视频序列的编码表示,在本领域通常表示为比特流。比特流然后由解码器来解码,以获得重构Y'CbCr 4:2:0或4:2:2颜色。上述处理的逆发生,以便将色度分量Cb、Cr上取样到全分辨率,从而给出Y'CbCr 4:4:4。通过将第二颜色变换(CT2)应用到重构Y'CbCr 4:4:4颜色,来获得重构R'G'B'颜色。这个重构R'G'B'颜色输入到转换函数(TF)(例如 EOTF),以获得重构线性RGB颜色。
不幸地,如果使用图1所示的传统处理,则高非线性转换函数、 4:2:0二次取样和非恒定照度排序的组合产生饱和颜色中的严重伪像。
解决这个问题的一种方式是查找亮度值(Y'),其将给出正确照度 (Yo),其中照度Yo通过将颜色变换应用于原始线性RoGoBo颜色来确定。查找这个亮度值的一种方式是执行二分搜索,又称作对分搜索或区间分半,如公开AJUSTY技术的本附录A所述。例如,开始于亮度分量Y'的值的区间[0,1023],如果候选值(例如Y'=512)将生成过高照度值Y(即,Y>Yo),则该方法继续进行区间[0,512]的下部,依此类推。采用二分搜索的缺点在于,迭代次数能够改变。作为示例,如果使用10位,则需要总共十次迭代,以减小二分搜索中的区间。
用于减小区间的技术是可用的,例如[1]中所公开。[1]中的区间减小方法通过查找对Y'的数学边界进行工作。作为示例,如果Y'的下边界为324以及Y'的上边界为455,则区间[321,448]能够在二分搜索中用来代替全区间[0,1023]。由于这个区间仅为127步宽,所以它在七 (127<27)次迭代而不是十次迭代中将准备就绪。使用这类技术,有可能获得低至少于二次迭代的平均迭代次数。这意味着,当平均处理时间为关键时,它能够有效地用于离线或者非实时应用。但是,对于实时应用,预先了解多少迭代将发生通常是必需的。
本附录A还描述了使用转换函数的线性化以便近似地计算Y'而无需借助于二分搜索的实施例。计算Y'的近似值的线性化解决方案也已经在[2]中描述。
但是,存在关于线性化策略的问题,例如[2]中所公开。线性化有时能够导致失败,从而引起产生严重伪像的亮度值。实际上,在一些情况下,采用线性化策略所得到的结果比通过使用图1中的传统处理 (其更廉价)原本所得到的要差。
发明内容
一般目的是提供图片中的像素的改进处理。
这个以及其他目的通过如本文所公开的实施例来满足。
实施例的方面涉及一种处理图片中的像素的方法。该方法包括检查引起基于颜色空间中的颜色分量所确定的另一个颜色空间中的至少一个颜色分量与另一个颜色空间中的像素的至少一个原始颜色分量之间的最小误差的颜色空间中的像素的颜色分量是否使像素的任何颜色通道落在容许范围外。该方法还包括如果引起最小误差的颜色空间中的颜色分量没有使像素的任何颜色通道落在所述容许范围外,则使用第一函数或第一查找表来得到颜色空间中的颜色分量的值。该方法还包括如果引起最小误差的所述颜色空间中的颜色分量使像素的任何颜色通道落在容许范围外,则使用第二不同函数或第二不同查找表来得到颜色空间中的颜色分量的值。
实施例的另一方面涉及一种处理图片中的像素的装置。该装置配置成检查引起基于颜色空间中的颜色分量所确定的另一个颜色空间中的至少一个颜色分量与另一个颜色空间中的像素的至少一个原始颜色分量之间的最小误差的颜色空间中的像素的颜色分量是否使像素的任何颜色通道落在容许范围外。该装置还配置成如果引起最小误差的颜色空间中的颜色分量没有使像素的任何颜色通道落在容许范围外,则使用第一函数或第一查找表来得到颜色空间中的颜色分量的值。该装置还配置成如果引起最小误差的颜色空间中的颜色分量使像素的任何颜色通道落在容许范围外,则使用第二不同函数或第二不同查找表来得到颜色空间中的颜色分量的值。
实施例的另外的方面涉及一种用于处理像素的装置。该装置包括确定单元,以用于确定引起基于颜色空间中的颜色分量所确定的另一个颜色空间中的至少一个颜色分量与另一个颜色空间中的像素的至少一个原始颜色分量之间的最小误差的颜色空间中的像素的颜色分量是否使像素的任何颜色通道落在容许范围外。该装置还包括值推导器,以用于i)如果引起最小误差的颜色空间中的颜色分量没有使像素的任何颜色通道落在容许范围外,则使用第一函数或第一查找表来推导颜色空间中的颜色分量的值以及ii)如果引起最小误差的颜色空间中的颜色分量使像素的任何颜色通道落在容许范围外,则使用第二不同函数或第二不同查找表来推导颜色空间中的颜色分量的值。
实施例的又一方面涉及一种包括指令的计算机程序,指令在由至少一个处理器运行时使至少一个处理器检查引起基于颜色空间中的颜色分量所确定的另一个颜色空间中的至少一个颜色分量与另一个颜色空间中的像素的至少一个原始颜色分量之间的最小误差的颜色空间中的像素的颜色分量是否使像素的任何颜色通道落在容许范围外。还使至少一个处理器进行:如果引起最小误差的颜色空间中的颜色分量没有使像素的任何颜色通道落在容许范围外,则使用第一函数或第一查找表来得到颜色空间中的颜色分量的值。还使至少一个处理器进行:如果引起最小误差的颜色空间中的颜色分量使像素的任何颜色通道落在容许范围外,则使用第二不同函数或第二不同查找表来得到颜色空间中的颜色分量的值。
所提出技术还提供一种包括计算机程序的载体。该载体是电子信号、光信号、电磁信号、磁信号、电信号、无线电信号、微波信号或计算机可读存储介质其中之一。
本实施例降低了因在像素的处理期间将线性化策略用于近似计算转换函数引起的图片中的严重伪像的风险。
附图说明
通过参照以下结合附图的描述,可透彻地了解实施例连同其另外的目的和优点,其中:
图1示意示出结合视频序列的编码和解码的像素的传统处理;
图2是示出不同输入值的感知量化器(PQ)光电转换函数(EOTF) 的图表;
图3是示出按照实施例的、处理像素的方法的流程图;
图4是示出按照实施例的、图3所示方法的附加可选步骤的流程图;
图5是示出按照实施例的、图3所示方法的附加可选步骤的流程图;
图6是示出按照实施例的、图5所示方法的附加可选步骤的流程图;
图7是示出按照实施例的、图6所示方法的附加可选步骤的流程图;
图8是示出按照另一个实施例的、图3所示方法的附加可选步骤的流程图;
图9是示出按照另一个实施例的、图3所示方法的附加可选步骤的流程图;
图10是绘制作为Y'×1023(Yp×1023)的函数的errRGB的图表;
图11是示出按照另一个实施例的、处理像素的方法的流程图;
图12是示出按照实施例的、形成对图片中的像素进行编码的方法的图3所示方法的附加步骤的流程图;
图13是示出按照另一个实施例的、处理像素的方法的流程图;
图14是按照实施例的、用于处理像素的装置的示意框图;
图15是按照另一个实施例的、用于处理像素的装置的示意框图;
图16是按照另外的实施例的、用于处理像素的装置的示意框图;
图17是示出按照实施例的用户设备的示例的示意框图。
图18是按照又一个实施例的、用于处理像素的装置的示意框图;
图19是按照另外的实施例的、用于处理像素的装置的示意框图;
图20示意示出多个网络装置之间的分布式实现;
图21是按照实施例的、与一个或多个基于云的网络装置的无线通信系统的示例的示意说明;
图22是示出按照AJUSTY的、预先处理像素的方法的流程图;
图23是示出图22所示方法的附加可选步骤的流程图;
图24是示出图22所示方法的附加可选步骤的流程图;
图25是示出图24所示方法的附加可选步骤的流程图;
图26是示出实现图22中的推导步骤的实施例的流程图;
图27是示出图26所示方法的附加可选步骤的流程图;
图28是示出形成对像素进行编码的方法的图22所示方法的附加步骤的流程图;
图29示出推导校正Y'的技术;
图30示出不同线性化能够用于不同区域中;
图31是示出能够在编码器或者在编码器的预处理中执行的方法的流程图;
图32是按照AJUSTY的装置的硬件实现的示意说明;
图33是按照AJUSTY的、具有处理器和存储器的装置的实现的示意说明;
图34是按照AJUSTY的用户设备的示意说明;
图35是按照AJUSTY的、具有功能模块的装置的实现的示意说明;
图36示意示出多个网络装置之间的AJUSTY的分布式实现;
图37是按照AJUSTY的、具有一个或多个基于云的网络装置的无线通信系统的示例的示意说明;
图38A-38C示出原始4:4:4图片(图38A)、传统处理4:2:0之后的图片(图38B)以及在没有压缩而只是下取样和上取样的情况下的 AJUSTY处理4:2:0之后的图片(图38C);
图39A-39C示出原始4:4:4图片(图39A)、传统处理4:2:0之后的图片(图39B)以及在没有压缩而只是下取样和上取样的情况下的 AJUSTY处理4:2:0之后的图片(图39C);
图40示出线性照度(CIE1931 XYZ空间中的Y)在原始图片(底部)和经处理图片(顶部)中是相当不同的;
图41示出一种技术,该技术通过改变单独像素中的Y'值,有可能达到匹配预期线性照度Y的线性照度
Figure GDA0003236113480000061
图42示出对比灵敏度的Barten曲线;以及
图43示出Rec709与BT.2020色域之间的比较。
具体实施方式
本实施例一般涉及图片中的像素的处理,以及具体来说涉及改进像素的照度值的这种处理。
高非线性转换函数、色度二次取样和非恒定照度排序的组合对视频数据(具体来说对HDR视频和饱和颜色)产生严重伪像。问题来自如下事实:色度分量被内插,而亮度分量没有。因此,能够存在像素中的亮度分量的急剧偏移,但是色度分量不能跟随,因为它们被内插。对于一些颜色(特别是饱和颜色),结果是完全错误强度的像素,其作为伪像是清楚可见的。
对这个问题的解决方案涉及查找将给出像素的正确照度(Yo)的亮度值(Y')。计算有效解决方案是线性化转换函数以查找最佳亮度值,而不是借助于更为计算费用高并且费时的解决方案。但是如背景小节所述,这类线性化策略能够导致失败,从而引起产生HDR视频序列中的严重伪像的亮度值。实际上,在一些情况下,采用线性化策略所得到的结果比在完全没有任何亮度优化的情况下原本所得到的要差。下面示出例如[2]中公开的现有技术线性化策略的这个问题。
在AJUSTY和附录A中注意到,二次取样之前的原始像素具有颜色(Ro、Go、Bo),并且获得原始照度Yo=wR×Ro+wG×Go+wB×Bo,其中Ro是原始像素的(线性)红色通道,Go是绿色通道,以及Bo 是蓝色通道。wR、wG和wB是常数,例如照度Y的CIE1931 XYZ 常数或者BT.2020的(相似)常数,例如wR=0.2627,wG=0.6780, wB=0.0593。
在二次取样和上取样之后,也许不可能得到红色、绿色和蓝色的确切相同值。表示所产生颜色值R、G和B以及所产生照度Y=wR×R +wG×G+wB×B,其中R是(线性)红色通道,G是绿色通道,以及 B是蓝色通道。R通过应用转换函数tf()(其能够是如通过SMPTE ST2084所定义的PQ-EOTF转换函数或者另一个转换函数(例如 BT.1886或混合对数伽马(HLG)))从非线性值R'来得到。因此获得Y=wR×tf(R')+wG×tf(G')+wB×tf(B')。
值R'、G'和B'又按照下式取决于Y'、Cb和Cr
R'=Y'+a13×Cr
G'=Y'–a22×Cb–a23×Cr
B'=Y'+a32×Cb
其中,a13、a22、a23和a32为正常数,其取决于使用哪一个颜色格式或空间。例如,对于BT.2020,具有a13=1.4746,a22=0.1646, a23=0.5714,以及a32=1.8814。将此插入上式给出Y=wR×tf(Y'+ a13×Cr)+wG×tf(Y'–a22×Cb–a23×Cr)+wB×tf(Y'+a32×Cb)。
要注意,由于Cr和Cb经二次取样,所以不能在每个像素中改变它们。因此能够假定它们是固定的。但是,能够改变亮度值Y',使得所产生照度值Y匹配原始照度值Yo。还要注意,由于tf()是非线性的,并且存在于三个位置,所以一般不可能以代数方式逆化函数Y=f(Y')以获得Y'=f-1(Y')。但是,如AJUSTY(附录A)所述,有可能将tf()线性化三次。例如,第一项wR×tf(Y'+a13×Cr)能够通过线性化tf(x)~tf(a)+tf'(a)×(x-a)来近似计算为线k1 ×Y'+m1。
例如,点Ro'中的线性化给出tf(x)~tf(Ro')+tf'(Ro')×(x-Ro')。因此tf(Y'+a13×Cr)~tf(Ro')+tf'(Ro')×(Y'+a13×Cr–Ro') 并且因此wR×tf(Y'+a13×Cr)~wR×tf(Ro')+wR×tf'(Ro')× (Y'+a13×Cr–Ro'),其等于wR×tf(Y'+a13×Cr)~wR×tf'(Ro') ×Y'+(wR×tf(Ro')+wR×tf'(Ro')×(a13×Cr–Ro'))=k1 Y'+ m1,其中k1=wR×tf'(Ro'),并且m1=wR×tf(Ro')+wR×tf'(Ro') ×(a13×Cr–Ro')。
通过分别在Go'和Bo'中的线性化来进行对wG×tf(Y'–a22×Cb– a23×Cr)和wB×tf(Y'+a32×Cb)的相似线性化意味着能够将Y近似为Y~k1×Y'+m1+k2×Y'+m2+k3×Y'+m3,其在AJUSTY(附录A)中描述。这相当于Y~(k1+k2+k3)×Y'+(m1+m2+m3)。这能够逆化成Y'~Y'k=(Yo–(m1+m2+m3))/(k1+k2+k3)。
更详细来说,开始于Yo=wR×tf(Y'+a13×Cr)+wG×tf(Y'– a22×Cb–a23×Cr)+wB×tf(Y'+a32×Cb),线性化tf(x)~tf (a)+tf'(a)(x-a),其中线性化点对函数的第一实例为a=Ro',对第二实例为a=Go',对函数的第三实例为a=Bo'。这给出Yo=wR×[tf(Ro')+tf'(Ro')(Y'+a13×Cr–Ro')]+wG×[tf(Go')+tf'(Go') (Y'–a22×Cb–a23×Cr–Go')]+wB×[tf(Bo')+tf'(Go')(Y'+a32 ×Cb–Bo')]。
收集Y'项给出Yo={wR×tf'(Ro')+wG×tf'(Go')+wB×tf' (Bo')}×Y'+{wR×tf(Ro')+wR×tf'(Ro')(a13×Cr–Ro')+wG×tf (Go')+wG×tf'(Go')(-a22×Cb–a23×Cr–Go')+wB×tf(Bo') +wB×tf'(Bo')(a32×Cb–Bo')}。现在能够写出Y'=t/n,其中t=Yo –{wR×tf(Ro')+wR×tf'(Ro')(a13×Cr–Ro')+wG×tf(Go')+ wG×tf'(Go')(-a22×Cb–a23×Cr–Go')+wB×tf(Bo')+wB×tf' (Bo')(a32×Cb–Bo')}以及n=wR×tf'(Ro')+wG×tf'(Go')+wB×tf' (Bo')。
由于Yo=wR×tf(Ro')+wG×tf(Go')+wB×tf(Bo'),所以能够将t简化为t=-{wR×tf'(Ro')(a13×Cr–Ro')+wG×tf'(Go')(-a22 ×Cb–a23×Cr–Go')+wB×tf'(Bo')(a32×Cb–Bo')},并且因此获得等式1:
Y'=-(wR×tf'(Ro')(a13×Cr–Ro')+wG×tf'(Go')(-a22×Cb -a23×Cr–Go')+wB×tf'(Bo')(a32×Cb–Bo'))/(wR×tf'(Ro') +wG×tf'(Go')+wB×tf'(Bo'))
这相当于文献[2]中的“算法2”。这通常相当适用。但是,当接近饱和点时,线性化失效。图2示出如SMPTE ST 2084所定义的PQ EOTF的行为。输出在0与1.0之间增加,但是在1.0之后,输出被定上限在10000。
要注意,就在输入值一(1)之前,斜率很陡,这里的导数超过90000。在输入值一上,导数正好为零。因此,如果在输入刚好低于一但是最佳颜色将具有刚好高于一的输入的点进行线性化,则情况能够出错。
在这里具有那种情况发生时的详细示例:
假定具有相互毗连的两个像素(表示为“1”和“2”):
RGB1=[1000 1000 9995]
RGB2=[0 0 10000]
二次取样过程将首先转换成非线性域,
R'G'B'1=[0.7518 0.7518 0.9999]
R'G'B'2=[0.0000 0.0000 1.0000]
以及然后转换成Y'CbCr(使用BT.2020转换矩阵):
Y'CbCr1=[0.7665 0.1241 -0.0100]
Y'CbCr2=[0.0593 0.5000 -0.0402]
二次取样现在采用内插值来替代这两个值:
Y'CbCr=[0.4129 0.3120 -0.0251]
使用来自这个内插值的Cb和Cr,现在能够使用等式1来获得Y' 值。对于像素1,使用Ro'=0.7518,Go'=0.7518,Bo'=0.9999。这使用等式1给出Y'=0.639883。但是,将太低,因为它产生照度值Y= wR×tf(Y'+a13×Cr)+wG×tf(Y'-a22×Cb–a23×Cr)+wB×tf(Y'+a32×Cb)=828.89。但是,最佳亮度值应当为Y'=0.7889,其将生成Yo=wR×1000+wG×1000+wB×9995=1533.4的照度值。存在照度值828.89与1533.4之间的相当大的误差。
在这个具体示例中,线性近似失败,因为蓝色通道饱和。详细来说,最佳亮度值Y'(即,将创建最接近原始照度值Yo的照度值Y的 Y'值)将使蓝色通道饱和。
如果以某种方式了解这将要发生(即,颜色通道饱和),则可确保不在Bo'中进行线性化(其在0.9999处于饱和点的错误侧),而是在例如点1.25进行线性化。
在Bo'(即,本示例中的0.9999)进行线性化将意味着采用k3×Y' +m3来近似计算wB×tf(Y'+a32×Cb),其中k3超过90000。在比如1.25进行线性化意味着k3=0。
不是在1.25中进行线性化,而是能够采用等式Y=wR×tf(Y'+a13 ×Cr)+wG×tf(Y'–a22×Cb–a23×Cr)+wB×10000来替代等式 Y=wR×tf(Y'+a13×Cr)+wG×tf(Y'–a22×Cb–a23×Cr)+wB×tf (Y'+a32×Cb),因为tf(1)=10000,并且仅在Ro'和Go'进行线性化。这发散到相同情况。
本实施例提供像素的改进处理,其解决上述线性化问题。这基本上通过取决于引起最小误差值的颜色分量是否使像素的任何颜色通道落在容许范围外(例如使它饱和)使用第一函数或查找表(LUT) 或者第二不同函数或LUT以得到颜色空间中的颜色分量的值来实现。
颜色空间或颜色格式是源自颜色模型的颜色分量的组合的颜色的类型和数量。颜色模型是描述颜色能够表示为数量的元组(即,颜色分量)的方式的抽象配置。颜色分量具有若干区别特征,例如分量类型(例如色调)及其单位(例如程度或百分比)或者标量的类型(例如线性或者非线性)以及其值的预计数量(称作颜色深度或者位深度)。
非限制性而是说明性的,颜色空间(其常用于图片和视频中的像素)包括红色、绿色、蓝色(RGB)颜色空间、亮度、色度蓝和色度红(Y'CbCr,有时表示为YCbCr、Y'Cb'Cr'、YCBCR、Y'CBCR或 Y'CB'CR')颜色空间以及照度和彩度(chrominance)(XYZ)颜色空间。
图3是示出处理图片中的像素的方法的流程图。该方法包括在步骤S1检查引起基于颜色空间中的颜色分量所确定的另一个颜色空间中的至少一个颜色分量与另一个颜色空间中的像素的至少一个原始颜色分量之间的最小误差的颜色空间中的像素的颜色分量是否使像素的任何颜色通道落在容许范围外。如果引起最小误差的颜色空间中的颜色分量没有使像素的任何颜色通道落在容许范围外,则该方法继续进行到步骤S2。这个步骤S2包括使用第一函数或第一LUT来得到颜色空间中的颜色分量的值。但是,如果引起最小误差的颜色空间中的颜色分量使像素的任何颜色通道落在容许范围外,则该方法改为继续进行到步骤S3。这个步骤S3包括使用第二不同函数或第二不同 LUT来得到颜色空间中的颜色分量的值。
图3中,该方法示为在步骤S1首先检查颜色空间中的颜色分量是否使任何颜色通道落在容许范围外。然后并且取决于检查结果,这个颜色分量的值如基于检查结果所选的在步骤S2或者S3使用第一函数或LUT或者第二不同函数或LUT来得到。但是,实施例并不局限于此。在另一个实施例中,颜色分量的值可首先使用第一函数来计算或者从第一LUT来检索。然后执行步骤S1的检查。如果检查推断颜色分量没有使任何颜色通道落在容许范围外,则颜色分量的所计算或检索值用于当前像素。但是,如果检查而是推断颜色分量使任何颜色通道落在容许范围外,则颜色分量的值使用第二不同函数来计算或者从第二不同LUT来检索。另外的变体要使用第一函数或第一LUT来计算或检索颜色分量的值,并且使用第二不同函数或第二不同LUT 来计算或检索颜色分量的值,以得到颜色分量的两个值。此后,执行步骤S1的检查,以便取决于颜色分量是否使任何颜色通道落在容许范围外来选择这两个值的哪一个用于当前像素。
本实施例由此取决于颜色分量的最佳值(即,引起另一个颜色空间中的至少一个颜色分量与另一个颜色空间中的像素的至少一个原始颜色分量之间的最小误差的值)是否使像素的任何颜色通道落在容许范围外而使用不同函数或LUT来得到颜色分量的值。
像素的每个颜色通道(例如红颜色通道、绿颜色通道和蓝颜色通道)具有所定义容许范围。这个容许范围可定义上限U(即,≤U或 <U)、下限L(即≥L或>L)或者上限和下限(即,L≤颜色通道≤U或者L<颜色通道<U)。
如果颜色分量的最佳值没有使颜色通道的任一个落在容许范围外(即,颜色通道≤U或颜色通道<U,颜色通道≥L或颜色通道>L,或者L≤颜色通道≤U或L<颜色通道<U),则第一函数或LUT用来得到颜色分量的值。但是,如果颜色分量的最佳值使颜色通道落在容许范围外(即,颜色通道>U或颜色通道≥U,或者颜色通道<L或颜色通道≤L),则改为第二函数或LUT用来得到颜色分量的值。
像素的处理优选地对图片中的多个(即,至少两个)像素来执行,如通过图3中的线条L1示意所示。例如,图3的处理可对图片中的每个像素或者至少对其一部分来执行。图片优选地是视频序列(具体来说是HDR视频序列)的图片。在这种情况下,处理方法可对(HDR)视频序列的多个图片中的像素来执行。
在实施例中,步骤S1包括检查引起i)基于第二颜色空间中的颜色分量所确定的第三颜色空间中的颜色分量与基于第一颜色空间中的像素的原始颜色分量所确定的第三颜色空间中的原始颜色分量之间的或者ii)基于第二颜色空间中的颜色分量所确定的第一颜色空间中的颜色分量与第一颜色空间中的原始颜色分量之间的最小误差的第二颜色空间中的像素的颜色分量是否使像素的任何颜色通道落在容许范围外。在这个实施例中,步骤S2包括如果引起最小误差的第二颜色空间中的颜色分量没有使像素的任何颜色通道落在容许范围外,则使用第一函数或第一LUT来得到第二颜色空间中的颜色分量的值。对应地,步骤S3包括如果引起最小误差颜色误差的第二颜色空间中的颜色分量使像素的任何颜色通道落在容许范围外,则使用第二不同函数或第二不同LUT来得到第二颜色空间中的颜色分量的值。
在具体实施例中,第一颜色空间是RGB颜色空间。第一颜色空间的颜色分量由此是红(R)、绿(G)和蓝(B)颜色分量。对应地,第二颜色空间优选地是Y'CbCr颜色空间。在这种具体实施例中,第二颜色空间的颜色分量优选地是像素的亮度分量(Y')。第三颜色空间优选地是XYZ颜色空间,以及第三颜色空间中的颜色分量优选地是照度分量(Y)。
在这种具体实施例中,图3的方法包括在步骤S1检查引起i)基于亮度分量(Y')所确定的照度(Y)与基于像素的原始红、绿和蓝颜色分量(Ro、Go、Bo)所确定的原始照度(Yo)之间的或者ii) 基于亮度分量(Y')所确定的红、绿和蓝颜色分量(R、G、B)与像素的原始红、绿和蓝颜色分量(Ro、Go、Bo)之间的最小误差的像素的亮度分量(Y')是否使像素的任何颜色通道落在容许范围外。
在这个具体实施例中,步骤S2包括如果引起最小误差的亮度分量(Y')没有使像素的任何颜色通道落在容许范围外,则使用第一函数或第一LUT来得到亮度分量(Y')的值。步骤S3对应地包括如果引起最小误差的亮度分量(Y')使像素的任何颜色通道落在容许范围外,则使用第二不同函数或第二不同LUT来得到亮度分量(Y')的值。
第一函数或LUT可被看作是得到亮度分量(Y')的最佳值的缺省函数或LUT。此第一函数或LUT由此用于图片中的像素的大部分,以推导最佳亮度分量值。但是,对于一些像素,第一函数或LUT将引起亮度分量(Y')的不正确值,潜在地引起视觉伪像。因此,第一函数或LUT将不适合得到亮度分量的值,因为第一函数或LUT被选择或适合仅在没有颜色通道超过容许范围时使用。这意味着,如果例如使用第一函数或LUT所得到的像素的最佳亮度分量(Y')引起在容许范围外的颜色通道,则更适合使用第二不同函数或LUT来得到亮度分量的最佳值。
这在上文例示,其中如果没有颜色通道在容许范围外,则第一函数Y'=-(wR×tf'(Ro')(a13×Cr–Ro')+wG×tf'(Go')(-a22×Cb -a23×Cr–Go')+wB×tf'(Bo')(a32×Cb–Bo'))/(wR×tf'(Ro') +wG×tf'(Go')+wB×tf'(Bo'))可用来计算像素的亮度分量(Y')的值。但是,例如,如果蓝颜色通道在使用这个第一函数时将超过最大容许值,则而是第二函数Y'=(Yo-wB×10000-wR×tf(Ro')- wR×tf'(Ro')(a13×Cr–Ro')-wG×tf(Go')-wG×tf'(Go')(-a22 ×Cb-a23×Cr–Go'))/(wR×tf'(Ro')+wG×tf'(Go'))应当用来计算亮度分量(Y')的值。
照度值或者红、绿和蓝色分量之间的误差可按照各种方式来定义。例如,基于亮度分量Y'所确定的照度Y与基于原始红、绿和蓝色分量 Ro、Go、Bo所确定的原始照度Yo之间的误差可定义为|Y-Yo|或者 (Y-Yo)2。对应地,基于亮度分量Y'所确定的红、绿和蓝色分量R、G、B与原始红、绿和蓝色分量Ro、Go、Bo之间的误差可定义为 |R-Ro|+|G-Go|+|B-Bo|或者(R-Ro)2+(G-Go)2+(B-Bo)2或者 wR|R-Ro|+wG|G-Go|+wB|B-Bo|或者wR(R-Ro)2+wG(G-Go)2+wB (B-Bo)2
在实施例中,步骤S1包括检查引起最小误差的颜色空间中的颜色分量是否使像素的任何颜色通道引起像素的任何颜色通道的削减 (clipping)。
削减是计算机科学内众所周知的函数,并且涉及采用最大值来替代超过最大值的参数的值或者采用最小值来替代下降到低于最小值的参数的值。例如,削减函数可定义为clip(a,L,U),其在a<L时输出L,在a>U时输出U,否则输出a。
引起削减的颜色分量暗示颜色分量的值在容许范围外,并且通过容许范围的最大或最小值来替代。
在具体实施例中,步骤S1包括检查引起最小误差的颜色空间中的颜色分量(优选地为Y'CbCr颜色空间中的亮度分量Y')是否引起像素的任何颜色通道(优选地为红、绿和蓝颜色通道的任一个)相对零或一的削减。在这个具体实施例中,容许范围由此为(0,1)。因此,在这个具体实施例中,零为最小容许值,以及一为最大容许值。
在另一个实施例中,步骤S1包括检查引起最小误差的颜色空间中的颜色分量是否使像素的任何颜色通道大于一或者小于零或者等于或大于一或者等于或小于零。这意味着,如果颜色分量为≤0或者≥1 或者<0或者>1,则该方法从图3的步骤S1继续进行到步骤S3。否则,该方法从步骤S1继续进行到步骤S2。
在上述实施例中,容许范围具有上限U或1和下限L或0。在另一个实施例中,只有极限之一是感兴趣的,例如上限。在这种实施例中,步骤S1包括检查引起最小误差的颜色空间中的颜色分量是否使像素的任何颜色通道饱和。
颜色通道在它超过上限或最大值(对于其,第一函数或LUT是有效的)时饱和。
在实施例中,图3的步骤S2包括如果颜色空间中的颜色分量没有使像素的任何颜色通道落在容许范围外,则使用第一线性化函数来计算颜色空间中的颜色分量的值。对应地,在这个实施例中,步骤S3 包括如果颜色空间中的颜色分量使像素的任何颜色通道落在容许范围外,则使用第二不同线性化函数或者反函数来计算颜色空间中的颜色分量的值。
因此,不同线性化函数或者线性化函数或者反函数用来计算颜色空间中的颜色分量的值。这些函数则是有效的,并且适合于不同状况,即,像素的任何颜色通道是否落在容许范围外。如在图2中清楚地看到,PQ EOTF函数取决于对PQ EOTF的输入是低于还是高于1以极为不同方式运转。这意味着,如本文所示,不可能采用覆盖低于和高于一的输入值的单个线性化函数准确地表示PQ EOTF。因此,按照实施例,PQ EOTF的第一线性化函数或者另一个转换函数用于低于一的函数输入值,以及PQ EOTF的另一个线性化函数或者反函数或者另一转换函数用于高于一的函数输入值。
图4是示出图3的步骤S3的具体实施例的流程图。该方法从图3 的步骤S1继续进行到步骤S10。步骤S10包括取决于像素的哪一个或哪些颜色通道落在容许范围外来选择第二不同线性化函数或者反函数。后一步骤S11则包括使用所选第二不同线性化函数或者所选反函数来计算颜色空间中的颜色分量的值。
步骤S10和S11在图4中示为两个步骤。但是,线性化函数或者反函数的选择以及颜色分量的值的计算可在单个步骤来执行。在这种实施例(其在本文中进一步公开)中,公共线性化函数采用不同项(其取决于颜色通道是否落在容许范围外来设置为零)来定义,由此基本上产生不同线性化函数。
这个具体实施例由此取决于哪个(哪些)颜色通道落在容许范围外来区分线性化或者反函数。例如,如果红颜色通道落在容许范围外则可使用给定线性化函数,以及如果绿或蓝颜色通道落在容许范围外则使用另一个线性化函数。
在优选实施例中,在步骤S11中取决于红、绿或蓝颜色通道是否落在容许范围外来使用不同线性化函数。在另一个优选实施例中,在步骤S11中取决于两个颜色通道的哪一个组合落在容许范围外来使用不同反函数。
因此,在这个具体实施例中,存在三个不同线性化函数LFR(.)、 LFG(.)和LFB(.),其在颜色通道之一落在容许范围外时被选择。在这种情况下,如果红颜色通道落在容许范围外则选择LFR(.),如果绿颜色通道落在容许范围外则选择LFG(.),以及如果蓝颜色通道落在容许范围外则选择LFB(.)。对应地,取决于红和绿颜色通道是否落在容许范围外、红和蓝颜色通道是否落在容许范围外或者绿和蓝颜色通道是否落在容许范围外,存在三个不同反函数IFRG(.)、IFRB (.)和IFGB(.)。
出现的一个问题是如何预先了解任何颜色通道是否将饱和。毕竟,在先前所述示例中,如果最佳Y'略微更低,则可以仍然具有蓝色通道对最佳Y'不饱和的情况,并且其中k3=90000的线性化将是正确的。
当研究从Y'CbCr到R'G'B'的转换时,能够看到那个问题的答案:
R'=Y'+a13×Cr
G'=Y'–a22×Cb–a23×Cr
B'=Y'+a32×Cb
要注意,Cr和Cb是固定的,并且a13、a22、a23和a32也是。这意味着,存在值Y'redclip,对于其,红色通道在Y'>Y'redclip时始终削减。这个值能够易于计算为Y'redclip=1–a13×Cr,因为这意味着R'=Y'+a13×Cr>Y'redclip+a13×Cr=1–a13×Cr+a13×Cr=1。同样具有Y'greenclip=1+a22×Cb+a23×Cr和Y'blueclip=1–a32× Cb。
现在能够计算最低值,其中这些值的任一个削减,Y'firstclip=min (Y'redclip,Y'greenclip,Y'blueclip)。
现在能够计算这个值的照度Yfirstclip=wR×tf(Y'firstclip+a13× Cr)+wG×tf(Y'firstclip-a22×Cb–a23×Cr)+wB×tf(Y'firstclip+ a32×Cb)。
现在,如果Yo<Yfirstclip,则知道最佳Y'将不会引起饱和的任何颜色通道,并且因此使用等式1作为在图3的步骤S2的线性化函数是安全的。
但是,假定Yo>Yfirstclip。例如假定Y'firstclip=Y'blueclip。这意味着蓝色通道将饱和,并且必须在高于1.0(例如1.25)的点进行线性化。但是,情况仍然可能是,绿色或红色通道也将饱和。因此将必须测试Y'secondclip=median(Y'redclip,Y'greenclip,Y'blueclip),其中median给出中间值。
现在对这个第二情况计算照度Ysecondclip=wR×tf(Y'secondclip +a13×Cr)+wG×tf(Y'secondclip-a22×Cb–a23×Cr)+wB×tf (Y'secondclip+a32×Cb)。
现在,如果Yo<Ysecondclip,则知道只有蓝色分量饱和,并且能够在Ro'、Go'和1.25中进行线性化。否则,如果Yo>Ysecondclip,并且假定Y'secondclip=Y'redclip,则能够在1.25、Go'和1.25中进行线性化。
要注意,全部三个颜色通道不能对[0,1]中的输入Y'同时饱和,因此能够在此停止。
总之,计算两个额外照度值。这是不合宜的,因为那是高费用的。但是,如果这样做,则确保正使用正确公式。另外,与必须执行十次迭代的最坏情况(正如AJUSTY中的最坏情况,参见附录A)相比,它仍然是更低费用的。
这是按照安全方式近似计算Y'的伪代码:
Figure GDA0003236113480000191
Figure GDA0003236113480000201
实施例背后的一个思路是找出单独颜色通道(即,红、绿或蓝色) 是否在线性化之前饱和到最大容许值。作为示例,如果能够确定产生最佳Y(即,接近Yo)的Y'表示红色通道将饱和,则重要的是那个通道的转换函数的线性化将为常数而不是斜线。这将避免大误差。
因此,本发明的实施例的核心是找出等式(r)的解:Yo=wR×tf (Y'+a13×Cr)+wG×tf(Y'–a22×Cb–a23×Cr)+wB×tf(Y'+ a32×Cb)是否将使括号中的值对不同颜色通道超过1。由于全部值 Yo、Cr、Cb、wR、wG、wB、a13、a22、a23和a32为已知,所以方程的解将是Y'的值,将这个数值称作Y'*。
因此,本发明的实施例的思路在于,甚至在知道Y'*的准确值之前,也研究它是否将使颜色通道的任一个饱和,即,是否
Y'*+a13×Cr>1 等式(a)
Y'*-a22×Cb–a23×Cr>1 等式(b)
Y'*+a32×Cb>1 等式(c)
如果全部这些问题的答案为“否”,即,知道Y'*将不会使上式(a) 至(c)的任一个超过1,则能够安全地使用第一方式来计算或得到 Y'*。如果问题的任一个的答案为“是”,则使用不同方式来计算或得到 Y'*。
在上述实施例中,查找将使等式(a)至(c)的至少一个饱和的 Y'的最低值,并且将那个值称作Y'firstchip。然后能够通过将它插入等式(r)以得到Yfirstclip=wR×tf(Y'firstclip+a13×Cr)+wG×tf (Y'firstclip–a22×Cb–a23×Cr)+wB×tf(Y'firstclip+a32×Cb),来计算什么照度Y是使用Y'=Y'firstclip的结果。
这时,如果预期Yo小于Yfirstclip,则能够确保Y'*的最佳值将小于Y'firstclip。因此,在不知道Y'*的准确值的情况下,知道它将在等式(a)至(c)的任一个中将不会超过1,并且能够安全地使用第一近似计算来计算Y'*的近似值,例如Y'=-(wR×tf'(Ro')(a13×Cr– Ro')+wG×tf'(Go')(-a22×Cb-a23×Cr–Go')+wB×tf'(Bo')(a32 ×Cb–Bo'))/(wR×tf'(Ro')+wG×tf'(Go')+wB×tf'(Bo'))。
另一方面,如果Yo大于Yfirstclip,则不能将以上公式用于计算 Y'*,但是必须使用考虑通道的一个或多个被削减的公式。
在实施例中,图3的步骤S1包括检查引起基于亮度分量Y'所确定的照度Y与基于像素的原始红、绿和蓝颜色分量RoGoBo所确定的原始照度Yo之间的最小误差的像素的亮度分量Y'是否使像素的红、绿和蓝颜色通道的任一个相对一削减,即,饱和或者等于或超过一。在这个实施例中,步骤S2包括将亮度分量Y'的值计算为
Figure GDA0003236113480000221
如果亮度分量Y'没有使像素的红、绿、蓝颜色通道的任一个相对一削减的话。在这个实施例中,wR,wG,wB表示颜色权重,a13,a22,a23,a32表示从Y'CbCr颜色到R'G'B'颜色的颜色变换的正常数,Cb、Cr表示像素的色度分量P=tf(P'),其中P=红(R)、绿(G)或蓝(B),tf(.)是转换函数,以及tf'(Po')表示转换函数在Po'的导数。在这个实施例中,图4的步骤S10包括选择第二不同线性化函数
Figure GDA0003236113480000222
如果红颜色通道削减的话,选择第二不同线性化函数
Figure GDA0003236113480000223
如果绿颜色通道削减的话,以及选择第二不同线性化函数
Figure GDA0003236113480000224
如果蓝颜色通道削减的话。步骤S10还包括选择反函数
Figure GDA0003236113480000225
如果红颜色通道和绿颜色通道削减的话,其中tf-1(.)表示转换函数tf(.)的逆,选择反函数
Figure GDA0003236113480000231
如果红颜色通道和蓝颜色通道削减的话,以及选择反函数
Figure GDA0003236113480000232
如果绿颜色通道和蓝颜色通道削减的话。
在实施例中,该方法还包括如图5所示的附加步骤S20。这个步骤S20包括计算Y′redclip=1-a13Cr、Y′greenclip=1+a22Cb+ a23Cr和Y′blueclip=1-a32Cb。该方法然后继续进行到图3的步骤 S1。在这个实施例中,步骤S1包括基于Y'redclip、Y'greenclip和 Y'blueclip中的最小值来检查引起最小误差的亮度分量Y'是否使像素的红、绿和蓝颜色通道的任一个相对一削减。
图6是示出图5所示方法的附加步骤的流程图。该方法从图5的步骤S20继续进行到图6的步骤S21。这个步骤S21包括选择最小值 Y'firstclip=min(Y'redclip,Y'greenclip,Y'blueclip)。该方法然后继续进行到步骤S22,其包括计算Yfirstclip=wRtf(Y′firstclip+ a13Cr)+wGtf(Y′firstclip-a22Cb-a23Cr)+wBtf(Y′firstclip+ a32Cb)。该方法然后继续进行到图3的步骤S1。在这个实施例中,这个步骤S1包括检查是否Yo<Yfirstclip。如果Yo小于Yfirstclip,则该方法继续进行到步骤S2,其中亮度分量的值使用如上所述的第一线性化函数来计算。如果Yo不小于Yfirstclip,则应当使用另一个线性化函数或者反函数,并且该方法继续进行到图3的步骤S3或者图4的步骤S10。
图7是示出图6所示方法的附加步骤的流程图。该方法从图6的步骤S22继续进行。下一个可选步骤S23包括检查是否Yo<Yfirstclip。如果Yo<Yfirstclip,则该方法继续进行到步骤S27,其包括确定引起最小误差的亮度分量Y'没有使像素的红、绿或蓝颜色通道的任一个削减,例如相对一的削减、饱和或者(等于或)超过一。该方法然后继续进行到图3的步骤S2,其包括使用线性化函数来计算亮度分量Y′的值
Figure GDA0003236113480000241
但是,如果Yo在步骤S23不小于Yfirstclip,则该方法继续进行到步骤S24。这个步骤S24包括选择中值Y′secondclip=median(Y′redclip, Y′greenclip,Y′blueclip)。该方法还包括在步骤S25计算Ysecondclip= wRtf(Y′secondclip+a13Cr)+wGtf(Y′secondclip-a22Cb- a23Cr)+wBtf(Y′secondclip+a32Cb)。该方法继续进行到可选步骤 S26,其包括检查是否Yo<Ysecondclip。如果Yo<Ysecondclip,则该方法继续进行到步骤S28,其包括确定引起最小误差的亮度分量Y′使像素的红、绿和蓝颜色通道其中之一削减。该方法然后继续进行到图3 的步骤S3或图10的步骤S10,其中亮度分量Y′的值取决于哪一个颜色通道削减使用下列线性化函数之一来计算,
Figure GDA0003236113480000242
Figure GDA0003236113480000243
Figure GDA0003236113480000244
对应地,如果Yo不小于Ysecondclip,则该方法继续进行到步骤 S29。这个步骤S29包括确定引起最小误差的亮度分量Y′使像素的红、绿和蓝颜色通道中的两个削减。该方法然后继续进行到图3的步骤S3 或图10的步骤S10,其中亮度分量Y′的值取决于哪些颜色通道削减使用下列反函数之一来计算,
Figure GDA0003236113480000251
Figure GDA0003236113480000252
Figure GDA0003236113480000253
前面对没有颜色通道削减的情况所述的线性化函数、对一个颜色通道削减的情况的线性化函数以及对两个颜色通道相对一削减的情况的反函数应当只被看作是线性化和反函数的说明性而不是限制性示例。这些示例函数基于通过tf(a)+tf'(a)×(x-a)来线性化转换函数tf(x)。线性化的其他变体是可能的并且处于实施例的范围之内。例如,可使用tf(a)+tf'(a)×(x-a)+tf”(a)×(x-a)2/2,即,使用二次多项式而不是一次多项式来近似计算转换函数。
在另一个实施例中,不计算Yfirstclip或Ysecondclip。而是具有预定查找表(LUT)。对查找表的输入是Yo、Cr和Cb。常数wR、wG、 wB、a13、a22a23和a32没有逐个像素改变,并且因此无需是对LUT 的输入。在实施例中,查找表的输出是三个位ba、bb、bc。如果ba= 0,则这意味着最佳Y'*没有使等式(a)饱和,即,它没有使等式(a) 超过1。但是,如果ba=1,则这意味着最佳Y'*实际上使等式(a) 饱和,即,Y'*+a13×Cr>1。同样,bb告知最佳Y'*是否将使等式(b) 饱和,以及bc告知最佳Y'*是否将使等式(c)饱和。在这个实施例中,第一步骤是从LUT(ba,bb,bc)=LUT(Yo,Cr,Cb)来获得ba、 bb和bc。
这时,如果ba==bb==bc==0,则使用第一近似计算来计算Y'*的近似值,例如可使用Y'=-(wR×tf'(Ro')(a13×Cr–Ro')+wG×tf' (Go')(-a22×Cb-a23×Cr–Go')+wB×tf'(Bo')(a32×Cb–Bo')) /(wR×tf'(Ro')+wG×tf'(Go')+wB×tf'(Bo'))。但是,如果ba、 bb、bc的一个或多个等于1,则使用另一个近似计算来计算Y'*的值。
作为示例,如果ba=0,bb=0,bc=1,则可使用Y'=(Yo-wB×10000 -wR×tf(Ro')-wR×tf'(Ro')(a13×Cr–Ro')-wG×tf(Go')-wG×tf' (Go')(-a22×Cb-a23×Cr–Go'))/(wR×tf'(Ro')+wG×tf'(Go'))。作为另一个示例,如果ba=1,bb=0,bc=1,则可使用Y'=tf-1((Yo- 10000wR-10000wB)/wG)+a22×Cb+a23×Cr来计算Y'的近似值。
应当注意,在上述情况的每个中,使用线性化来获得计算Y'的公式。但是要注意,这个公式是近似的,并且能够使用其他近似计算来获得Y'。作为示例,能够对情况的每个来训练神经网络。因此,在一个实施例中,首先使用LUT来得到ba、bb、bc:(ba,bb,bc)=LUT(Yo,Cb,Cr)。
然后使用下列七个神经网络之一来计算Y'*:
Figure GDA0003236113480000261
这七个神经网络先前已经使用仅来自相关情况的数据来训练,例如,neural_network_011仅已经对其中绿和蓝色通道两者饱和的数据来训练。
还要注意,在上述方法中,LUT可能不给出正确答案。为了使用 LUT,实际上需要首先量化输入变量Yo->Yoq,Cb->Cbq,Cr->Crq。因此,获得的输出(ba,bb,bc)=LUT(Yoq,Cbq,Crq)实际上是对于满足Yo=wR×tf(Y'q+a13×Crq)+wG×tf(Y'q–a22×Cbq–a23 ×Crq)+wB×tf(Y'q+a32×Cbq)的解Y'*是否将使任何颜色通道饱和而不是满足Yo=wR×tf(Y'+a13×Cr)+wG×tf(Y'–a22×Cb –a23×Cr)+wB×tf(Y'+a32×Cb)的Y'*是否将使任何颜色通道饱和的答案。但是,有希望地,差足够小以使其正确。量化意味着Yo、 Cb和Cr的值通过相应预定数量的位来表示。
不是使用LUT来获得ba、bb和bc,而是当然有可能使用下列方式来计算它们
Figure GDA0003236113480000272
其中,Yredclip=wR×tf(Y'redclip+a13×Cr)+wG×tf(Y'redclip –a22×Cb–a23×Cr)+wB×tf(Y'redclip+a32×Cb),其能够简化成Yredclip=wR×10000+wG×tf(Y'redclip–a22×Cb–a23×Cr)+ wB×tf(Y'redclip+a32×Cb),并且其中Y'redclip=Y'redclip=1–a13 ×Cr。bb和bc能够类似地计算。在这种情况下,它们将是准确的。
因此,在实施例中,LUT用于图3的方法中。在这个实施例中,图3的步骤S1包括从LUT中并且对于像素的红、绿和蓝颜色通道的每个颜色通道使用像素的原始照度Yo和色度分量Cb、Cr或者其量化版本作为输入来检索指示引起最小误差的亮度分量Y'是否使颜色通道削减(例如相对一削减)、饱和或者(等于或)超过一的位。
在另一个实施例中,还研究相对零的削减。在那种情况下,使用
Figure GDA0003236113480000271
Figure GDA0003236113480000281
其中,Yredclip如上所述来计算,但是YredclipZero等于wR×tf (Y'redclipZero+a13×Cr)+wG×tf(Y'redclipZero–a22×Cb–a23× Cr)+wB×tf(Y'redclipZero+a32×Cb)并且Y'redclipZero=–a13×Cr。bb和bc同样地计算。因此能够使用
Figure GDA0003236113480000282
Figure GDA0003236113480000291
图8是示出图3所示方法的附加步骤的流程图。这个步骤S30包括计算Y′redclipZero=-a13Cr、Y′greenclipZero=a22Cb+a23Cr 和Y′blueclipZero=1-a23Cr。a13,a22,a23,a32表示从Y'CbCr颜色到R'G'B'颜色的颜色变换的正常数,Y'表示像素的亮度分量,Cb、Cr 表示像素的色度分量。该方法然后继续进行到图3的步骤S1。在这个实施例中,步骤S1包括基于Y′redclipZero=-a13Cr、 Y′greenclipZero=a22Cb+a23Cr和Y′blueclipZero=1-a13Cr中的至少一个来检查引起i)基于亮度分量Y'所确定的照度Y与基于像素的原始红、绿和蓝颜色分量RoGoBo所确定的原始照度Yo之间的或者ii)基于亮度分量Y'所确定的红、绿和蓝颜色分量RGB与像素的原始红、绿和蓝颜色分量RoGoBo之间的最小误差的像素的亮度分量Y'是否使像素的红、绿和蓝颜色通道的任一个相对零削减,即(等于或)小于零。
这个实施例由此研究像素的任何颜色通道是否相对零削减。这个实施例可单独使用,即,而不是研究像素的任何颜色通道是否相对一削减。备选地,这两个变体组合地使用。在这种情况下,该方法包括研究像素的任何颜色通道是否相对一削减以及研究像素的任何颜色通道是否相对零削减两者。这在下面进一步例示。
当使(Y-Yo)2为最小时,即使相对1削减将造成最坏误差,也已经发现相对0的削减也将造成误差,但是没那么严重。因此,本发明的实施例的一个方面是研究最佳Y'在颜色通道的任一个中是相对0 还是1削减。
有可能编写一般公式,其自动适合零或一分量相对0或相对1削减时的情况。
要这样做,引入例如两个辅助变量n和l。将它们定义为:
n[0]=0,如果最佳可能Y'*将使红色分量相对0或1削减的话,
否则n[0]=1。
类似地,n[1]告知绿色分量是否削减,以及n[2]告知蓝色分量是否削减。此外,l[0]=1,如果最佳可能Y'*将使红色分量相对1削减,否则l[0]=0。类似地,l[1]和l[2]适用于绿和蓝色分量。
解码器将获得三个值Y'、Cb和Cr,并且使用下式从它们来计算 R'、G'、B'
R'=clip(Y'+a13×Cr)
G'=clip(Y'–a22×Cb–a23×Cr)
B'=clip(Y'+a32×Cb)
其中clip(x)削减区间[0,1]的值。通过使用
Rt=a13×Cr
Gt=-a22×Cb–a23×Cr
Bt=a32×Cb
这能够简化成
R'=clip(Y'+Rt)
G'=clip(Y'+Gt)
B'=clip(Y'+Bt).
为了简化标记,能够使用归一化值,其中照度Y从零去到一,以及转换函数tf(.)的输出从零去到一。
为了获得线性值,解码器则将应用转换函数R=tf(R'),并且对绿和蓝色分量类似地进行。但是要注意,R=tf(R')=tf(clip(Y'+ Rt))能够写作R=l[0]+n[0]×tf(R'),并且对绿色和蓝色是同样的。这时,如果想要使照度Y的误差为最小,则需要在解码器中计算照度 Y=wR×tf(R')+wG×tf(G')+wB×tf(B')。使用上述替代,因而能够写作Y=wR×l[0]+wR×n[0]×tf(Y'+Rt)+wG×l[1]+wG×n[1]×tf (Y'+Gt)+wB×l[2]+wB×n[2]×tf(Y'+Bt),其能够写作Y-wR×l[0] -wG×l[1]-wB×l[2]=wR×n[0]×tf(Y'+Rt)+wG×n[1]×tf(Y'+Gt)+ wB×n[2]×tf(Y'+Bt)。
现在能够围绕Ro'、Go'和Bo'来线性化tf()。对于红色通道,使用tf(x)~tf(Ro')+(x-Ro')×tf'(Ro'),其中Ro'=tf(Ro),以及Ro是原始像素中的线性红色分量。对绿和蓝色通道同样进行,并且获得Y-wR×l[0]-wG×l[1]-wB×l[2]=wR×n[0]×[tf(Ro')+(Y'+Rt-Ro')×tf'(Ro')]+wG×n[1]×[tf(Go')+(Y'+Gt-Go')×tf' (Go')]+wB×n[2]×[tf(Bo')+(Y'+Bt-Bo')×tf'(Bo')]。
这等于Y-wR×l[0]-wG×l[1]-wB×l[2]-wR×n[0]×[tf(Ro')+(Rt -Ro')×tf'(Ro']-wG×n[1]×[tf(Go')+(Gt-Go')×tf'(Go']-wB×n[2]×[tf (Bo')+(Bt-Bo')×tf'(Bo']=wR×n[0]×Y'×tf'(Ro')+wG×n[1]×Y'×tf' (Go')+wB×n[2]×Y'×tf'(Bo')。
等式的右边能够简化成(wR×n[0]×tf'(Ro')+wG×n[1]×tf'(Go') +wB×n[2]×tf'(Bo'))×Y',并且因此能够发现Y'作为Y'=(Y-wR×l[0] -wG×l[1]-wB×l[2]-wR×n[0]×[tf(Ro')+(Rt-Ro')×tf'(Ro']- wG×n[1]×[tf(Go')+(Gt-Go')×tf'(Go']-wB×n[2]×[tf(Bo')+(Bt -Bo')×tf'(Bo'])/(wR×n[0]×tf'(Ro')+wG×n[1]×tf'(Go')+wB×n[2]×tf'(Bo'))。
要注意,这个线性化进行工作,而不管最佳Y'是否将使R'、G' 或B'相对0或1削减。因此,如果完全没有任何削减或者如果一个分量对最佳Y'相对0或1削减,则它能够被使用。
但是,如果最佳Y'将使两个颜色分量削减(其通过n[0]+n[1]+n[2] =1所指示),则如以上所看到,无需使用通过线性化的近似计算。而是能够直接逆化公式。现在也将为此呈现一般公式。开始于Y-wR×l[0] -wG×l[1]-wB×l[2]=wR×n[0]×tf(Y'+Rt)+wG×n[1]×tf(Y'+Gt) +wB×n[2]×tf(Y'+Bt),我们认识到,由于两个分量将削减,所以n[]-因子将使右边的因子的两个归零。如果知道最佳Y'使两个分量削减,则下式将生成完全相同结果Y-wR×l[0]-wG×l[1]-wB×l[2]= (wR×n[0]+wG×n[1]+wB×n[2])×tf(Y'+n[0]×Rt+n[1]×Gt+ n[2]×Bt)。与(wR×n[0]+wG×n[1]+wB×n[2])相除并且取两边的tf-1()给出tf-1(Y-wR×l[0]-wG×l[1]-wB×l[2])/(wR×n[0]+wG×n[1] +wB×n[2])=Y'+n[0]×Rt+n[1]×Gt+n[2]×Bt,其等于Y'=tf-1(Y- wR×l[0]-wG×l[1]-wB×l[2])/(wR×n[0]+wG×n[1]+wB×n[2])- n[0]×Rt-n[1]×Gt-n[2]×Bt。
因此,如果知道最佳Y'将使正好两个分量削减,则能够使用上式准确地计算Y'。
这时需要计算n[0]、n[1]、n[2]和l[0]、l[1]、l[2]的简单方式。它能够使用下列代码进行。在代码中,“Yp”用来表示“Y'”,“Rpo、Gpo、Bpo”用来表示“Ro'、Go'、Bo'”。
Figure GDA0003236113480000321
Figure GDA0003236113480000331
Figure GDA0003236113480000341
对于Rterm=0或Gterm=0或者Bterm=0的特殊情况,可使用上述代码的少许修改版本。
最后,应当选择最佳公式以用于计算Y'。如果全部变量削减,则选择哪一个Y'无关紧要,只要选择其全部变量按照相同方式削减的一个。因此能够使用YpMid。如果正好两个变量削减,则使用逆公式 (inverse formula),以及如果多于一个变量没有削减,则如果想要在单个步骤的解,那么需要使用线性化公式。这使用下列代码进行。
Figure GDA0003236113480000342
Figure GDA0003236113480000351
要注意,上述代码与其他实施例(其只进行线性化(上述7.3))相比要多相当多的工作。特别是下列代码片段是费用高的:
//步骤3:评估列表中的每一个Y'的Ylinear
for(int q=0;q<3;q++)
YLinAtClipBoundary[1+q]=conventToYlinear(YpThatClip[1+q],Rterm,Gterm,Brerm);
因为它计算照度三次。对于每个这种计算,将需要运行转换函数 tf()三次。这总共意味着转换函数tf()的九次执行。因此,可能很想略过步骤1-6而只运行7.3。但是如已经看到,如果一些分量实际削减,则遭遇大问题。
一个解决方案是仅针对高于1的削减进行测试,而略过相对0的削减。这意味着,仅生成相对1的削减的值需要被测试。这最多能够是两个值,因为全部三个值不能削减成1,并且平均起来可以是例如 1.5的值。这节省计算。
另一个实施例甚至更进一步。在这个实施例中,直接计算步骤7.3,而无需任何测试,以及仅当结果将引起分量的任一个中的削减时,才运行其他步骤以正确工作。因此进行:
Figure GDA0003236113480000361
Figure GDA0003236113480000371
因此,如果测试“候选测试”通过,则只使用那一个,并且尽快只进行线性化。但是,当这个测试失败时,它指示也许不应当使用 Yp_Candidate值,因为一些值可能对最佳Y'削减。然后如前面所述运行步骤1至7。希望地,这将仅对像素的极少数发生,并且平均起来将具有快速计算。
但是要注意,最坏情况行为不受影响。有可能每一个像素将削减。在这种情况下,执行时间实际上将较长,因为需要计算Yp_Candidate 和Yp_Branch两者,而之前仅需要计算Yp_Branch。因此,对于需要确保能够操控最坏情况的硬件应用,只计算步骤1至7而无需计算 Yp_Candidate可以更好。
如以上所述,颜色分量能够对0和1两者削减。但是,如上面已经看到,正是相对1的削减给出最严重伪像。因此可希望使用 Yp_Candidate,即使分量的一个或多个相对0削减。这能够通过采用下列方式替代候选测试进行:
Figure GDA0003236113480000372
这将产生更快计算,其具有对于相对0削减的像素的质量的潜在损失。
要注意,“候选测试”或“备选候选测试”是对适当处理的保证。情况可以是,最佳Y'将使一个或多个分量相对1削减,但是用来确定Yp_Candidate的公式将产生没有引起相对1的削减的值。那是风险,但是与对于每一个像素运行步骤1至7的计算相比对这个特殊情况看到质量的某个损失可能是良好折衷。
要注意,许多上述高费用计算(步骤3)仅用来计算n[0]、n[1]、n[2]和l[0]、l[1]、l[2]。如果改为对Yp_Candidate如何削减近似计算这个计算,则可进一步降低复杂度。因而代替
Figure GDA0003236113480000381
这避免高费用步骤3,从而甚至在具有削减的情况下也产生更快计算。但是要注意,n[0]、n[1]、n[2]和l[0]、l[1]、l[2]将只是其正确值的近似,因此再次不能确保将获得最佳近似计算。这有时仍然可以是适当折衷。
在又一个实施例中,步骤1-6用来计算削减参数n[0]、n[1]、n[2]、 l[0]、l[1]和l[2]。但是,不是使用在步骤7的线性化近似计算,而是削减参数被用来选择若干查找表之一。查找表包含预先计算值,其能够在没有任何近似计算的情况下进行。如果没有变量削减,即,如果n[0]+n[1]+n[2]=3,则能够使用全尺寸3D查找表。如果一个变量削减,即,如果n[0]+n[1]+n[2]=2,则仅需要简化查找表,其极大地降低大小约束。如果两个变量削减,则仅需要1D查找表,其再次极大地降低大小要求并且还降低高速缓存未命中。
理想地,不同LUT将用于不同削减情况。作为示例,如果红色相对0削减以及绿色和蓝色没有削减,则能够使用一个LUT。如果红色而是相对1削减以及绿色和蓝色没有削减,则能够改为使用另一个 LUT。
由于每一个通道能够相对0削减、相对1削减或者是“自由的”(即,没有削减),所以大体上应当存在27个可能的不同组合,并且因此存在27个不同的LUT。但是,这些中的8个将覆盖全部三个分量削减 (例如000)、全部分量削减到零(或101)、红色和蓝色削减到1、绿色削减到0的情况。在这些情况下,有可能使用来自步骤7.1的近似 Yp_Branch=YpMid。因此,实际上仅需要19个不同的LUT。
能够使用下列代码:
Figure GDA0003236113480000401
Figure GDA0003236113480000411
请注意,仅具有单个“f”的上述查找表(即LUT_abf(.)、LUT_afb (.)和LUT_fab(.),其中a、b为0或1)可通过反函数来替代。因此,这适用于(n[0]==1&&n[1]==0&&n[2]==0)、(n[0]==0&& n[1]==1&&n[2]==0)和(n[0]==0&&n[1]==0&&n[2]==1)时的情况。
还应当注意,这些查找表的每个可实现为若干LUT。原因在于,有时在LUT的某个区域中需要更大精度,并且使整个LUT为更高分辨率不是有效的,因为它变得过大。作为示例,当制作转换函数的传递逆tf-1()的LUT时,需要接近0的更大分辨率,因为值接近零要快得多地发生变化。由于那个原因,使用若干查找表并且然后使用适当一个查找表可以是良好思路。作为示例,逆可使用下列代码来估计:
Figure GDA0003236113480000421
LUT LUT_0_to_1至LUT_0_to_0_00000001的每个可能具有相同大小,例如1024个值。比进行全部嵌套if要快的方式可能是将值转换成定点数,并且然后对零的前导数量进行计数:
Figure GDA0003236113480000431
在这里,首先对前导零的数量进行计数并且除以二。这与相对0.1、 0.01、0.001等的比较相似,但不是每一个步骤为10,每个步骤而是为4。函数CLZ对整数中的前导零的数量进行计数,并且能够采用每一个现代CPU(例如Intel CPU和ARM CPU)中的单个汇编指令来实现。这里的大LUT是LUT LUT_0_to_1、LUT_0_to_0_1、 LUT_0_to_0_01等的级联。
正如反TF“LUT”实际上由若干LUT来组成,同样的情况对上述 LUT(例如LUT_f00(Yo,Cb,Cr))也成立。
因此,图3的步骤S2和S3能够按照各个实施例来得到。如前面所述,颜色空间中的颜色分量的值可根据使用线性化函数或者反函数计算值来得到。在其他实施例中,值而是如上所述从LUT来检索。
在这种基于LUT的实施例中,图3的步骤S2优选地包括如果颜色空间中的颜色分量没有使像素的任何颜色通道落在容许范围外,则从第一LUT来检索颜色空间中的颜色分量的值。在这个实施例中,步骤S3对应地包括如果颜色空间中的颜色分量使像素的任何颜色通道落在容许范围外,则从第二不同LUT来检索颜色空间中的颜色分量的值。
图9是示出在基于LUT的实现的情况下的步骤S3的具体实施例的流程图。该方法从图3的步骤S1继续进行。下一个步骤S40包括取决于像素的哪一个或哪些颜色通道落在容许范围外来选择第二不同LUT。该方法然后继续进行到步骤S41,其包括从所选第二不同LUT来检索颜色空间中的颜色分量的值。
因此,如同公开取决于哪一个(哪些)颜色通道落在容许范围外在不同线性化函数和反函数之间的选择的先前实施例中一样,这个实施例取决于哪一个(哪些)颜色通道落在容许范围外来选择要使用的特定LUT以检索颜色分量的值。在上述实施例中,照度中的误差为最小,即,产生使误差|Y-Yo|或(Y-Yo)2为最小的照度Y=function(Y') 的亮度分量Y'的值使用线性化或者反函数或LUT来得到。
在备选实施例中,不设法使照度中的误差为最小,而是希望使线性RGB分量中的(平方)误差为最小。因此,不是使(Y-Yo)2(其相当于|Y-Yo|)为最小,其中Yo=wR×tf(Y'+a13×Cr)+wG×tf(Y' –a22×Cb–a23×Cr)+wB×tf(Y'+a32×Cb),而是使wR×(R-Ro) 2+wG×(G-Go)2+wB×(B-Bo)2(本文中表示为等式(p))为最小,这相当于使wR×|R-Ro|+wG×|G-Go|+wB×|B-Bo|为最小,其中
R=tf(Y'+a13×Cr)
G=tf(Y'–a22×Cb–a23×Cr)
B=tf(Y'+a32×Cb)
通过线性化Ro'、Go'和Bo'中的tf(),能够开始近似计算解Y'= -[wR×tf'(Ro')2(a13×Cr+Ro')+wG×tf'(Go')2(-a22×Cb-a23 ×Cr-Go')+wB×tf'(Bo')2(a32×Cb–Bo')]/[wR×tf'(Ro')2+wG×tf' (Go')2+wB×tf'(Bo')2]。
按照与以上所述相同的方式,将在分量之一削减时遇到问题。因此进行相同操作,其中找出最佳Y'是否将使任何分量削减。作为示例,能够使用LUT技术(ba,bb,bc)=LUT(Yo,Cb,Cr),其中LUT已经通过使等式(p)为最小来计算。
如果ba==bb==bc==0,则能够使用近似Y'=-[wR×tf'(Ro')2(a13 ×Cr+Ro')+wG×tf'(Go')2(-a22×Cb-a23×Cr-Go')+wB×tf' (Bo')2(a32×Cb–Bo')]/[wR×tf'(Ro')2+wG×tf'(Go')2+wB×tf' (Bo')2]。例如,如果蓝色分量削减,则使wR×(R-Ro)2+wG×(G-Go) 2+wB×(B-Bo)2为最小相当于使wR×(R-Ro)2+wG×(G-Go)2+ wB×(10000-Bo)2为最小,因为tf(1)=10000。这时要注意,Y' 将不影响最后一项,因此而是能够使D=wR×(R-Ro)2+wG×(G-Go) 2为最小,其等于D=wR×(tf(R')-tf(Ro'))2+wG×(tf(G')-tf (Go'))2。线性化Ro'和Go'中的tf()给出D~d=wR×(tf(Ro') +tf'(Ro')(R'-Ro')-tf(Ro'))2+wG×(tf(Go')+tf'(Go')(G'-Go') -tf(Go'))2,其等于d=wR×(tf'(Ro')(R'-Ro'))2+wG×(tf'(Go') (G'-Go'))2。插入R=tf(Y'+a13×Cr)和G=tf(Y'–a22×Cb–a23 ×Cr)给出d=wR×(tf'(Ro')(Y'+a13×Cr-Ro'))2+wG×(tf'(Go') (Y'–a22×Cb–a23×Cr-Go'))2。相对Y'进行区分并且将导数设置为零给出wR×tf'(Ro')2×2×(Y'+a13×Cr-Ro')+wG×tf'(Go')2×2× (Y'–a22×Cb–a23×Cr-Go')=0。收集Y'的项并且对Y'求解给出 Y'=-[wR×tf'(Ro')2(a13×Cr-Ro')+wG×tf'(Go')2×(-a22×Cb –a23×Cr-Go')]/[wR×tf'(Ro')2+wG×tf'(Go')2]。因此,这在ba=0、 bb=0和bc=1时使用。
在使(Y-Yo)2(其中Y=wR×tf(Y'+a13×Cr)+wG×tf(Y'– a22×Cb–a23×Cr)+wB×tf(Y'+a32×Cb))为最小的情况下,能够看到,由于tf()是单调递增函数,所以Y将随Y'单调递增。这意味着,如果特定值Y'1给出过大的值Y1,则知道理想Y'值(即,将产生Y=Yo的值)将小于Y'1。原因在于,任何其他Y'>Y'1将生成 Y>Y1,但是Y1已经过大,使得不能是良好的。同样,如果另一个值Y'2将生成过小的值Y2,则知道理想Y'值必须大于Y'2。小于Y'2 的任何值将创建比Y2甚至要差的Y。这意味着,误差函数(Y(Y') -Yo)2将仅具有一个局部最小数,并且这个值也将是位于理想Y'-值的全局最小数(能够将其称作Y'*),以及误差将在离开Y'*时单调递增。
但是,当而是使wR×(R-Ro)2+wG×(G-Go)2+wB×(B-Bo) 2(其等于wR×(tf(Y'+a13×Cr)-Ro)2+wG×(tf(Y'-a22×Cb -a23×Cr)-Go)2+wB×(tf(Y'+a32×Cr)-Bo)2)为最小时,不能确保只具有一个局部最小数。作为示例,假定具有下面两个线性 RGB-值RGB1=(113,3900,33)和RGB2=(3.11,0.17,3950)。应用逆EOTF给出R'G'B'1=(0.5204,0.8998,0.4015)和R'G'B'2= (0.2157,0.0776,0.9012)。转换成Y'CbCr给出Y'CbCr1=(0.7706, -0.1962,-0.1697)和Y'CbCr2=(0.1627,0.3925,0.0359),以及对这两个值求平均给出Y'CbCr=(0.4667 0.0982 -0.0669)。这时,如果希望对第一像素(RGB1)选择Y',则设置Ro'=0.5204、Go'= 0.8998和Bo'=0.4015。具有Cb=0.0982和Cr=-0.0669。这时能够绘制RGB-误差=wR×(tf(Y'+a13×Cr)-Ro)2+wG×(tf(Y'-a22 ×Cb-a23×Cr)-Go)2+wB×(tf(Y'+a32×Cr)-Bo)2。这在图10中绘制。
图10中,Y'与1023相乘。要注意,曲线如何具有两个局部最小数,一个为大约900以及另一个为大约780。因此,不存在了解要使用哪一个近似计算的简单方式。蓝色分量对1023×Y'=835(采用全箭头所示交叉所标记)削减。对于低于835的1023×Y'的值,必须使用具有全部三个分量的线性化Y'rgb。对于835与1005之间的值(采用阴影箭头所标记,其中绿色分量削减),而是应当使用不包括蓝色分量的线性化Y'rg。要注意,由于存在多个局部最小数,所以不存在告知要使用哪一个线性化的方式。
当使用误差函数(Y-Yo)2时,检查第一削减点Y'firstclip是否将生成比Yo要大的Y-值是充分的。在那种情况下,不需要继续进行其他线性化。但是,在这种情况下,不能从削减点的errRGB的值告知任何情况。作为示例,第一削减点在835发生,并且这高于在783的左边的局部最小数,但是真实全局最小数处于895的第一削减点的右边。
对此求解的方式是计算全部三个区域中的线性化。对于从零一直到第一削减点Y'firstclip=835/1023的Y'的值,使用线性化Y'rgb=- [wR×tf'(Ro')2(a13×Cr+Ro')+wG×tf'(Go')2(-a22×Cb-a23× Cr-Go')+wB×tf'(Bo')2(a32×Cb–Bo']/[wR×tf'(Ro')2+wG×tf' (Go')2+wB×tf'(Bo')2]。
由于在这种情况下,蓝色被第一个削减,所以将线性化Y'rg用于从835/1023到绿色在1005/1023削减的位置的值:Y'rg=-[wR×tf'(Ro') 2(a13×Cr-Ro')+wG×tf'(Go')2(-a22×Cb–a23×Cr-Go')]/[wR×tf' (Ro')2+wG×tf'(Go')2]。对于从1005/1023到1023/1023的最后值,能够逆化函数,并且无需进行线性化,但是能够使用Y'r=tf-1((Yo- 10000×wG-10000×wB)/wR)-a13×Cr。
因此,该方法的这个实施例能够概括如下:
Figure GDA0003236113480000471
Figure GDA0003236113480000481
Figure GDA0003236113480000491
现在找到最佳近似Y'best。它将具有误差errBest。
在实施例中,图3的步骤S1由此包括检查引起基于亮度分量Y' 所确定的红、绿和蓝颜色分量RGB与像素的原始红、绿和蓝颜色分量RoGoBo之间的最小误差的像素的亮度分量Y'是否使像素的红、绿和蓝颜色通道的任一个相对一削减,即,饱和或者等于或超过一。
图11是示出处理图片中的像素的方法的另一个实施例的流程图。这个实施例包括在步骤S30计算Y′redclip=1-a13Cr、 Y′greenclip=1+a22Cb+a23Cr和Y′blueclip=1-a32Cb,其中 a13,a22,a23,a32表示从Y'CbCr颜色到R'G'B'颜色的颜色变换的正常数, Cb、Cr表示像素的色度分量。该方法还包括步骤S31,其包括将亮度分量Y'的第一值Y'rgb计算为
Figure GDA0003236113480000492
,其中wR,wG,wB表示颜色权重,a13,a22,a23,a32表示从Y'CbCr颜色到R'G'B'颜色的颜色变换的正常数,P=tf(P'),其中P=红(R)、绿 (G)或蓝(B),tf(.)是转换函数,以及tf'(Po')表示转换函数在 Po'的的导数。该方法还包括在步骤S32将亮度分量Y'的第二值Y'one 计算为
Figure GDA0003236113480000501
如果 Y′redclip=min(Y′redclip,Y′greenclip,Y′blueclip)的话,计算为
Figure GDA0003236113480000502
如果Y′greenclip=min (Y′redclip,Y′greenclip,Y′blueclip)的话,以及计算为
Figure GDA0003236113480000503
Figure GDA0003236113480000504
如果Y′blueclip= min(Y′redclip,Y′greenclip,Y′blueclip)的话。该方法还包括在步骤S33 将亮度分量Y′的第三值Y′two计算为
Figure GDA0003236113480000505
如果Y′redc1ip= max(Y′redclip,Y′greenclip,Y′blueclip)的话,计算为
Figure GDA0003236113480000506
Figure GDA0003236113480000507
如果Y′greenclip=max (Y′redclip,Y′greenclip,Y′blueclip),以及计算为
Figure GDA0003236113480000508
如果Y′blueclip=max (Y′redclip,Y′greenclip,Y′blueclip)的话。步骤S30至S33能够按照任何顺序串行执行或者至少部分并行执行。
该方法还包括计算三个相应误差值。第一这种误差值在步骤S34 计算为 errRGB(Y′rgb)=wR(tf(Y′rgb+a13Cr)-Ro)2+wG(tf(Y′rgb- a22Cb-a23Cr)-Go)2+wB(tf(Y′rgb+a32Cb)-Bo)2。步骤S35包括将第二误差值计算为 errRGBone=wR(10000-Ro)2+wG(tf(Y′gb-a22Cb-a23Cr)- Go)2+wB(tf(Y′gb+a32Cb)-Bo)2,如果Y′redclip=min(Y′redclip,Y′greenclip,Y′blueclip)的话,计算为errRGBone=wR(tf(Y′rb+ a13Cr)-Ro)2+wG(10000-Go)2+wB(tf(Y′rb+a32Cb)-Bo)2,如果Y′greenclip=min(Y′redclip,Y′greenclip,Y′blueclip)的话,以及计算为errRGBone=wR(tf(Y′rg+a13Cr)-Ro)2+wG(tf(Y′rg- a22Cb-a23Cr)-Go)2+wB(10000-Bo)2,如果Y′blueclip=min (Y′redclip,Y′greenclip,Y′blueclip)的话。对应地,步骤S36包括将第三误差值计算为errRGBtwo=wR(tf(Y′r+a13Cr)-Ro)2+ wG(10000-Go)2+wB(10000-Bo)2,如果Y′redclip=max(Y′redclip, Y′greenclip,Y′blueclip)的话,计算为errRGBtwo=wR(10000- Ro)2+wG(tf(Y′g-a22Cb-a23Cr)-Go)2+wB(10000-Bo)2,如果Y′greenclip=max(Y′redclip,Y′greenclip,Y′blueclip)的话,以及计算为errRGBtwo=wR(10000-Ro)2+wG(1000-Go)2+ wB(tf(Y′b+a32Cb)-Bo)2,如果Y′blueclip=max(Y′redclip,Y′greenclip,Y′blueclip)。步骤S34至S36能够按照任何顺序串行执行或者至少部分并行执行。但是步骤S34优选地在步骤S31之后执行,步骤S35优选地在步骤S32之后执行,以及步骤S36优选地在步骤 S33之后执行。
该方法还包括步骤S37,其中Y′rgb选择作为亮度分量Y′的值,如果errRGB(Y′rgb)=min(errRGB(Y′rgb),errRGBone,errRGBtwo) 的话,Y′one选择作为亮度分量Y′的值,如果errRGBone=min(errRGB (Y′rgb),errRGBone,errRGBtwo),以及Y′two选择作为亮度分量Y′的值,如果errRGBtwo=min(errRGB(Y′rgb),errRGBone,errRGBtwo) 的话。
按照实施例的像素的处理能够用于不同应用中,具体来说是不同视频应用中,包括视频编码以及具体来说是HDR视频序列的编码。
因此,实施例涉及一种对图片中的像素进行编码的方法。该方法包括按照如本文所公开实施例的任一个来处理像素,以推导像素的亮度分量的值。该方法还包括在如图12所示的步骤S4对亮度分量的值以及二次取样色度分量的值进行编码。
因此,像素的处理能够在如对图片的像素进行编码期间例如与对视频序列(例如HDR视频序列)的图片进行编码结合使用。
例如按照4:2:0或4:2:2格式的处理的输出(即,Y'Cb'Cr')则输入到视频编码器,例如H.264视频编码器、高效视频编码器(HEVC) 或H.265视频编码器或者另一个视频编码器。如由视频编码器所执行的编码能够包括例如在熵编码器(例如上下文自适应二进制算术编码 (CABAC)编码器)中的传统视频编码步骤,例如帧间预测、帧内预测、模式判定、残差的变换、经变换和量化残差的量化和编码。
实施例的处理的优点在于,它能够应用于任何视频或图片编码过程,而无需执行视频或图片编码器中的任何调整或者对应视频或图片解码器中的任何调整。
(例如视频序列的)图片中的像素的处理除了视频编码之外还可用于其他应用中。例如,实施例能够用作在通过接口(例如高清晰度多媒体接口(HDMI)、DisplayPort或Thunderbolt)传递视频之前所应用的处理。例如,在HDMI 2.0a中,以每秒50或60帧(fps)传送 4K分辨率的唯一方式是使用4:2:0或4:2:2YCbCr二次取样。如果视频数据按照全色度取样格式(4:4:4),则二次取样处理步骤必须在通过HDMI线缆发送视频数据之前应用。4:2:0或4:2:2视频数据然后通过接口未经进一步压缩来传递。通过应用实施例的处理,与没有Y'分量的任何校正或者最佳Y'分量的查找的常规4:2:0或4:2:2二次取样相比,改进视频质量。
在实施例中,处理的核心是找出将提供最接近Yo的像素的照度值的亮度值Y'是否将使颜色分量的任一个饱和或者下降到低于零。如果答案为“否”,则使用第一方式来计算或得到亮度值。如果答案为“是”,则使用不同方式来计算或得到亮度值。
图13是示出按照另一实施例、处理图片中的像素的方法的流程图。像素能够通过第一颜色空间中的颜色分量(例如R'、G'、B')、第二颜色空间中的颜色分量(例如Y'、Cb、Cr)和第三颜色空间中的颜色分量(Y'、Cb、Cr或者X、Y、Z)来表示,并且其中不同颜色空间的颜色分量能够通过变换函数在彼此之间转换,如前面所例示。该方法包括使用第一函数来确定第二颜色空间中的修改颜色Y'分量。该方法还包括检查这个Y'分量是否将生成削减。如果Y'分量将生成削减,则该方法还包括使用第二函数来确定第二颜色空间中的修改颜色Y'分量。
第一函数优选地是第一线性化函数,即,根据采用线性化版本表示转换函数的转换函数的近似计算。第二函数优选地是第二不同线性化函数或者反函数。在后一种情况下,它是转换函数的逆或逆化版本。
实施例的另一方面涉及一种处理图片中的像素的装置。该装置配置成检查引起基于颜色空间中的颜色分量所确定的另一个颜色空间中的至少一个颜色分量与另一个颜色空间中的像素的至少一个原始颜色分量之间的最小误差的颜色空间中的像素的颜色分量是否使像素的任何颜色通道落在容许范围外。该装置还配置成如果引起最小误差的颜色空间中的颜色分量没有使像素的任何颜色通道落在容许范围外,则使用第一函数或第一查找表来得到颜色空间中的颜色分量的值。该装置还配置成如果引起最小误差的颜色空间中的颜色分量使像素的任何颜色通道落在容许范围外,则使用第二不同函数或第二不同查找表来得到颜色空间中的颜色分量的值。
在实施例中,该装置配置成检查引起i)基于第二颜色空间中的颜色分量所确定的第三颜色空间中的颜色分量与基于第一颜色空间中的像素的原始颜色分量所确定的第三颜色空间中的原始颜色分量之间的或者ii)基于第二颜色空间中的颜色分量所确定的第一颜色空间中的颜色分量与第一颜色空间中的原始颜色分量之间的最小误差的第二颜色空间中的像素的颜色分量是否使像素的任何颜色通道落在容许范围外。该装置还配置成如果引起最小误差的第二颜色空间中的颜色分量没有使像素的任何颜色通道落在容许范围外,则使用第一函数或第一查找表来得到第二颜色空间中的颜色分量的值。该装置还配置成如果引起最小误差的第二颜色空间中的颜色分量使像素的任何颜色通道落在容许范围外,则使用第二不同函数或第二不同查找表来得到第二颜色空间中的颜色分量的值。
在实施例中,该装置配置成检查引起i)基于亮度分量所确定的照度与基于像素的原始红、绿和蓝颜色分量所确定的原始照度之间的或者ii)基于亮度分量所确定的红、绿和蓝颜色分量与像素的原始红、绿和蓝颜色分量之间的最小误差的像素的亮度分量是否使像素的任何颜色通道落在容许范围外。该装置还配置成如果引起最小误差的亮度分量没有使像素的任何颜色通道落在容许范围外,则使用第一函数或第一查找表来得到亮度分量的值。该装置还配置成如果引起最小误差的亮度分量使像素的任何颜色通道落在容许范围外,则使用第二不同函数或第二不同查找表来得到亮度分量的值。
在实施例中,该装置配置成检查引起最小误差的颜色空间中的颜色分量是否使像素的任何颜色通道可选地相对零或一的削减。
在具体实施例中,该装置配置成检查引起最小误差的颜色空间中的颜色分量是否使像素的任何颜色通道大于一或者小于零或者等于或大于一或者等于或小于零。
在另一个具体实施例中,该装置配置成检查引起最小误差的颜色空间中的颜色分量是否使像素的任何颜色通道饱和。
在实施例中,该装置配置成如果颜色空间中的颜色分量没有使像素的任何颜色通道落在容许范围外,则使用第一线性化函数来计算颜色空间中的颜色分量的值。该装置还配置成如果颜色空间中的颜色分量使像素的任何颜色通道落在容许范围外,则使用第二不同线性化函数或者反函数来计算颜色空间中的颜色分量的值。
在实施例中,该装置配置成取决于像素的哪一个或哪些颜色通道落在容许范围外来选择第二不同线性化函数或者反函数。该装置还配置成使用所选第二不同线性化函数或者所选反函数来计算颜色空间中的颜色分量的值。
例如,在实施例中,该装置配置成检查引起基于亮度分量Y'所确定的照度Y与基于像素的原始红、绿和蓝颜色分量RoGoBo所确定的原始照度Yo之间的最小误差的像素的亮度分量Y'是否使像素的红、绿和蓝颜色通道的任一个削减,例如相对一削减、饱和或者(等于或) 超过一。该装置还配置成将亮度分量Y'的值计算为
Figure GDA0003236113480000551
如果亮度分量Y'没有使像素的红、绿、蓝颜色通道的任一个削减/相对一削减/饱和/等于或超过一的话,其中wR,wG,wB表示颜色权重, a13,a22,a23,a32表示从Y'CbCr颜色到R'G'B'颜色的颜色变换的正常数, Cb、Cr表示像素的色度分量P=tf(P'),其中P=红(R)、绿(G)或蓝(B),tf(.)是转换函数,以及tf'(Po')表示转换函数在Po'的导数。该装置还配置成选择第二不同线性化函数
Figure GDA0003236113480000552
如果红颜色通道削减的话。该装置配置成选择第二不同线性化函数
Figure GDA0003236113480000553
如果绿颜色通道削减的话,并且该装置配置成选择第二不同线性化函数
Figure GDA0003236113480000554
如果蓝颜色通道削减的话。该装置还配置成选择反函数
Figure GDA0003236113480000555
如果红颜色通道和绿颜色通道削减的话,其中tf-1(.)表示转换函数tf(.)的逆。该装置还配置成选择反函数
Figure GDA0003236113480000556
如果红颜色通道和蓝颜色通道削减的话,以及选择反函数
Figure GDA0003236113480000561
如果绿颜色通道和蓝颜色通道削减的话。
在具体实施例中,该装置配置成计算Y′redclip=1-a13Cr、 Y′greenvlip=1+a22Cb+a23Cr和Y′blueclip=1-a32Cb。该装置还配置成基于Y′redclip、Y′greenclip和Y′blueclip中的最小值来检查引起最小误差的亮度分量Y′是否使像素的红、绿和蓝颜色通道的任一个削减,例如相对一削减、饱和或者(等于或)超过一。
在实施例中,该装置还配置成选择最小值Y′firstclip=min (Y′redclip,Y′greenclip,Y′blueclip)。该装置还配置成计算Yfirstclip= wRtf(Y′firstclip+a13Cr)+wGtf(Y′firstclip-a22Cb-a23Cr)+ wBtf(Y′firstclip+a32Cb),并且检查是否Yo<Yfirstclip。
在另一个具体实施例中,该装置还配置成选择中值Y′secondclip= median(Y′redclip,Y′greenclip,Y′blueclip)。该装置还配置成计算 Ysecondclip=wRtf(Y′secondclip+a13Cr)+wGtf(Y′secondclip- a22Cb-a23Cr)+wBtf(Y′secondclip+a32Cb)。该装置配置成如果 Yo<Yfirstclip,则确定引起最小误差的亮度分量Y′没有使像素的红、绿和蓝颜色通道的任一个削减。该装置还配置成如果 Yfirstclip≤Yo<Ysecondclip,则确定引起最小误差的亮度分量Y′使像素的红、绿和蓝颜色通道其中之一削减,以及如果Yo≥Ysecondclip,则确定引起最小误差的亮度值Y′使像素的红、绿和蓝颜色通道中的两个削减。
在实施例中,该装置配置成检查引起基于亮度分量Y′所确定的红、绿和蓝颜色分量RGB与像素的原始红、绿和蓝颜色分量RoGoBo之间的最小误差的像素的亮度分量Y′是否使像素的红、绿和蓝颜色通道的任一个削减,例如相对一削减、饱和或者(等于或)超过一。
在具体实施例中,该装置配置成计算Y′redclip=1-a13Cr、 Y′greenclip=1+a22Cb+a23Cr和Y′blueclip=1-a32Cb,其中a13,a22,a23,a32表示从Y′CbCr颜色到R′G′B′颜色的颜色变换的正常数, Cb、Cr表示像素的色度分量。该装置还配置成将亮度分量Y′的第一值Y′rgb计算为
Figure GDA0003236113480000571
,其中wR,wG,wB表示颜色权重,a13,a22,a23,a32表示从Y′CbCr颜色到R′G′B′颜色的颜色变换的正常数,P=tf(P′),其中P=红(R)、绿 (G)或蓝(B),tf(.)是转换函数,以及tf′(Po′)表示转换函数在 Po′的导数。该装置还配置成将亮度分量Y′的第二值Y′one计算为
Figure GDA0003236113480000572
如果Y′redclip =min(Y′redclip,Y′greenclip,Y′blueclip)的话,计算为
Figure GDA0003236113480000573
如果Y′greenclip=min (Y′redclip,Y′greenclip,Y′blueclip),以及计算为
Figure GDA0003236113480000574
如果 Y′blueclip=min(Y′redclip,Y′greenclip,Y′blueclip)的话。该装置还配置成将亮度分量Y′的第三值Y′two计算为
Figure GDA0003236113480000575
如果Y′redclip=max(Y′redclip,Y′greenclip,Y′blueclip)的话,计算为
Figure GDA0003236113480000576
如果Y′greenclip=max (Y′redclip,Y′greenclip,Y′blueclip)的话,以及计算为
Figure GDA0003236113480000577
如果Y′blueclip=max(Y′redclip, Y′greenclip,Y′blueclip)的话。该装置还配置成将第一误差值计算为 errRGB(Y′rgb)=wR(tf(Y′rgb+a13Cr)-Ro)2+wG(tf(Y′rgb- a22Cb-a23Cr)-Go)2+wB(tf(Y′rgb+a32Cb)-Bo)2。该装置还配置成将第二误差值计算为errRGBone=wR(10000-Ro)2+ wG(tf(Y′gb-a22Cb-a23Cr)-Go)2+wB(tf(Y′gb+a32Cb)- Bo)2,如果Y′redclip=min(Y′redclip,Y′greenclip,Y′blueclip)的话,计算为errRGBone=wR(tf(Y′rb+a13Cr)-Ro)2+wG(10000- Go)2+wB(tf(Y′rb+a32Cb)-Bo)2,如果Y′greenclip=min(Y′redclip, Y′greenclip,Y′blueclip)的话,以及计算为errRGBone=wR(tf(Y′rg+ a13Cr)-Ro)2+wG(tf(Y′rg-a22Cb-a23Cr)-Go)2+ wB(10000-Bo)2,如果Y′blueclip=min(Y′redclip,Y′greenclip,Y′blueclip)的话。该装置还配置成将第三误差值计算为errRGBtwo= wR(tf(Y′r+a13Cr)-Ro)2+wG(10000-Go)2+wB(10000-Bo)2,如果Y′redclip=max(Y′redclip,Y′greenclip,Y′blueclip)的话,计算为 errRGBtwo=wR(10000-Ro)2+wG(tf(Y′g-a22Cb-a23Cr)- Go)2+wB(10000-Bo)2,如果Y′greenclip=max(Y′redclip, Y′greenclip,Y′blueclip)的话,以及计算为errRGBtwo=wR(10000- Ro)2+wG(1000-Go)2+wB(tf(Y′b+a32Cb)-Bo)2,如果 Y′blueclip=max(Y′redclip,Y′greenclip,Y′blueclip)的话。该装置还配置成将Y′rgb选择作为亮度分量Y′的值,如果errRGB(Y′rgb)=min (errRGB(Y′rgb),errRGBone,errRGBtwo)的话,将Y′one选择作为亮度分量Y′的值,如果errRGBone=min(errRGB(Y′rgb),errRGBone, errRGBtwo)的话,以及将Y′two选择作为亮度分量Y′的值,如果 errRGBtwo=min(errRGB(Y′rgb),errRGBone,errRGBtwo)的话。
在实施例中,该装置配置成从查找表中并且对于像素的红、绿和蓝颜色通道的每个颜色通道使用像素的原始照度Yo和色度分量Cb、 Cr或者其量化版本作为输入来检索指示引起最小误差的亮度分量Y′是否使颜色通道削减(例如相对一削减、饱和或者(等于或)超过一) 的位。
在实施例中,该装置配置成计算Y′redclipZero=-a13Cr、 Y′greenclipZero=a22Cb+a23Cr和Y′blueclipZero=1-a32Cb,其中a13,a22,a23,a32表示从Y′CbCr颜色到R′G′B′颜色的颜色变换的正常数,Y′表示像素的亮度分量,Cb、Cr表示像素的色度分量。该装置还配置成基于Y′redclipZero=-a13Cr、Y′greenclipZero=a22Cb+ a23Cr和Y′blueclipZero=1-a32Cb中的至少一个来检查引起i)基于亮度分量Y′所确定的照度Y与基于像素的原始红、绿和蓝颜色分量 RoGoBo所确定的原始照度Yo之间的或者ii)基于亮度分量Y′所确定的红、绿和蓝颜色分量RGB与像素的原始红、绿和蓝颜色分量 RoGoBo之间的最小误差的像素的亮度分量Y′是否使像素的红、绿和蓝颜色通道的任一个相对零削减,例如(等于或)小于零。
在另一个实施例中,该装置配置成如果颜色空间中的颜色分量没有使像素的任何颜色通道落在容许范围外,则从第一查找表来检索颜色空间中的颜色分量的值。该装置还配置成如果颜色空间中的颜色分量使像素的任何颜色通道落在容许范围外,则从第二不同查找表来检索颜色空间中的颜色分量的值。
在具体实施例中,该装置还配置成取决于像素的哪一个或哪些颜色通道落在容许范围外来选择第二不同查找表。该装置还配置成从所选第二不同查找表来检索颜色空间中的颜色分量的值。
将会理解,本文所述的方法、方法步骤和装置、装置功能能够按照多种方式来实现、组合和重新布置。
例如,实施例可通过硬件、或者通过供适当处理电路执行的软件、或者其组合来实现。
本文所述的步骤、功能、过程、模块和/或块可使用任何常规技术通过硬件来实现,例如分立电路或集成电路技术,包括通用电子电路和专用电路两者。
备选地,或作为补充,本文所述的步骤、功能、过程、模块和/ 或块的至少一些可通过供适当处理电路(例如一个或多个处理器或处理单元)执行的软件(例如计算机程序)来实现。
处理电路的示例包括但不限于一个或多个微处理器、一个或多个数字信号处理器(DSP)、一个或多个中央处理单元(CPU)、视频加速硬件和/或任何适当可编程逻辑电路,例如一个或多个现场可编程门阵列(FPGA)或者一个或多个可编程逻辑控制器(PLC)。
还应当理解,也许有可能再使用其中实现所提出技术的任何常规装置或单元的通用处理能力。还也许有可能例如通过现有软件的重新编程或者通过添加新软件组件来再使用现有软件。
图14是示出按照实施例、基于处理器-存储器实现的用于处理像素的装置130的示例的示意框图。在这个具体示例中,装置130包括处理器131和存储器132。存储器132包括由处理器131可执行的指令。
处理器131由此可操作以检查引起最小误差的颜色空间中的颜色分量是否使像素的任何颜色通道落在容许范围外。处理器131还可操作以:如果引起最小误差的颜色空间中的颜色分量没有使像素的任何颜色通道落在容许范围外,则使用第一函数或第一查找表来得到颜色空间中的颜色分量的值。处理器131还可操作以:如果引起最小误差的颜色空间中的颜色分量使像素的任何颜色通道落在容许范围外,则使用第二不同函数或第二不同查找表来得到颜色空间中的颜色分量的值。
可选地,装置130还可包括例如采取输入单元133和输出单元134 的形式所实现的通信电路。输入和输出单元133、134可包括与有线或无线通信网络中的其他装置和/或网络节点的有线和/或无线通信的功能。在具体示例中,输入和输出单元133、134可基于用于与一个或多个其他节点的通信(包括传送和/或接收信息)的无线电电路。在另一个实施例中,输入和输出单元133、134可基于用于与一个或多个其他装置或节点的有线通信的电路。输入和输出单元133、134可互连到处理器131和/或存储器132。作为示例,输入和输出单元133、 134可包括下列任一个:接收器、发射器、收发器、输入/输出(I/O) 电路、(一个或多个)输入端口和/或(一个或多个)输出端口。
在具体示例中,装置130包括处理器131和存储器132,其包含由处理器131可执行的指令。在实施例中,处理器131可操作以使用第一函数来确定第二颜色空间中的修改颜色Y'分量,检查这个Y'分量是否将生成削减,以及如果Y'分量将生成削减,则处理器131可操作以使用第二函数来确定第二颜色空间中的修改颜色Y'分量。
在实施例中,装置130还包括输入单元133,其配置成接收待编码视频。在这种情况下,处理器131可操作以从输入单元133接收待编码视频。
在实施例中,装置130还包括输出单元134,其配置成输出如从处理器131所接收的编码比特流。
在具体实施例中,处理器131在运行存储器132中存储的指令时可操作以执行上述操作。处理器131由此互连到存储器132,以使能正常软件执行。
图15是示出按照实施例、基于硬件电路实现的用于处理像素的装置110的另一个示例的示意框图。适当硬件电路的具体示例包括一个或多个适当配置或者可能可重新配置的电子电路(例如专用集成电路(ASIC)、FPGA)或者任何其他硬件逻辑(例如基于分立逻辑门和 /或触发器的电路,其被互连以结合适当寄存器(REG)和/或存储器单元来执行专用功能)。
图16是示出基于(一个或多个)处理器122、123和硬件电路124、 125与(一个或多个)适当存储器单元121相结合的组合的用于处理像素的装置120的又一个示例的示意框图。装置120包括一个或多个处理器122和123、存储器121(包括用于软件(SW)和数据的存储装置)以及硬件电路124和125的一个或多个单元。因此,总体功能性在供一个或多个处理器122、123上执行的编程的软件与一个或多个预先配置或可能可重新配置的硬件电路124、125之间划分。实际硬件-软件划分能够由系统设计人员基于多个因素(包括处理速度、实现成本和其他要求)来决定。
图17是示出按照实施例的计算机实现200的示例的示意图。在这个具体示例中,本文所述的步骤、功能、过程、模块和/或块的至少一些通过计算机程序240(其被加载到存储器220中供包括一个或多个处理器210的处理电路执行)来实现。(一个或多个)处理器210和存储器220彼此互连,以使能正常软件执行。可选通信电路230还可互连到(一个或多个)处理器210和/或存储器220,以使能诸如相关数据(例如视频序列和编码的视频序列)的输入和/或输出。
在实施例中,图17表示用户设备200。用户设备200能够是能够接收和处理视频数据的任何装置或设备。例如,用户设备200可以是固定或便携的计算机,例如膝上型电脑、智能电话、平板电脑、机顶盒、摄像机等。
术语‘处理器’应当按照一般意义来理解为能够运行程序代码或计算机程序指令以执行特定处理、确定或计算任务的任何系统或装置。
因此,包括一个或多个处理器210的处理电路配置成在运行计算机程序240时执行明确定义的处理任务(例如本文所述的那些任务)。
处理电路无需专用于仅运行上述步骤、功能、过程和/或块,而是还可运行其他任务。
在具体实施例中,计算机程序240包括指令,其在由至少一个处理器210运行时使至少一个处理器210检查引起基于颜色空间中的颜色分量所确定的另一个颜色空间中的至少一个颜色分量与另一个颜色空间中的像素的至少一个原始颜色分量之间的最小误差的颜色空间中的像素的颜色分量是否使像素的任何颜色通道落在容许范围外。还使至少一个处理器210进行:如果引起最小误差的颜色空间中的颜色分量没有使像素的任何颜色通道落在容许范围外,则使用第一函数或第一查找表来得到颜色空间中的颜色分量的值。还使至少一个处理器210进行:如果引起最小误差的颜色空间中的颜色分量使像素的任何颜色通道落在容许范围外,则使用第二不同函数或第二不同查找表来得到颜色空间中的颜色分量的值。
所提出技术还提供一种包含计算机程序240的载体250。载体250 是电子信号、光信号、电磁信号、磁信号、电信号、无线电信号、微波信号或计算机可读存储介质其中之一。
作为示例,软件或计算机程序240可实现为计算机程序产品,其通常在计算机可读介质250(具体来说是非易失性介质)上携带或存储。计算机可读介质可包括一个或多个可移除或者不可移除存储器装置,包括但不限于只读存储器(ROM)、随机存取存储器(RAM)、致密盘(CD)、数字多功能盘(DVD)、蓝光盘、通用串行总线(USB) 存储器、硬盘驱动器(HDD)存储装置、闪速存储器、磁带或者任何其他常规存储器装置。因此,计算机程序240可加载到计算机或等同的处理装置200的操作存储器220中,以供其处理电路210执行。
本文所呈现的(一个或多个)流程图在由一个或多个处理器执行时可被看作是(一个或多个)计算机流程图。用于处理像素的对应装置可定义为一组功能模块,其中由处理器所执行的每个步骤对应于功能模块。在这种情况下,功能模块实现为处理器上运行的计算机程序。
因此,驻留在存储器中的计算机程序可组织为适当功能模块,其配置成在由处理器运行时执行本文所述步骤和/或任务的至少一部分。
图18是示出用于处理像素的装置140的示例的示意图。装置140 包括确定单元141,以用于确定引起基于颜色空间中的颜色分量所确定的另一个颜色空间中的至少一个颜色分量与另一个颜色空间中的像素的至少一个原始颜色分量之间的最小误差的颜色空间中的像素的颜色分量是否使像素的任何颜色通道落在容许范围外。装置140还包括值推导器142,以用于i)如果引起最小误差的颜色空间中的颜色分量没有使像素的任何颜色通道落在容许范围外则使用第一函数或第一查找表以及ii)如果引起最小误差的颜色空间中的颜色分量使像素的任何颜色通道落在容许范围外则使用第二不同函数或第二不同查找表,来推导颜色空间中的颜色分量的值。
在可选实施例中,装置140还包括编码器143,以用于对作为颜色空间中的像素的颜色分量的优选示例的亮度分量的值进行编码以及用于对二次取样的色度分量的值进行编码。
按照第二方面,提供一种用于处理图片中的像素的处理器,其中像素能够通过第一颜色空间中的颜色分量(例如R'、G'、B')、第二颜色空间中的颜色分量(例如Y'、Cb、Cr)和第三颜色空间中的颜色分量(例如Y'、Cb、Cr或者X、Y、Z)来表示,并且其中不同颜色空间的颜色分量能够通过颜色变换函数在彼此之间转换。处理器可操作以使用第一函数来确定第二颜色空间中的修改颜色Y'分量。处理器还可操作以检查这个Y'分量是否将生成削减。处理器还可操作以:如果Y'分量将生成削减,则使用第二函数来确定第二颜色空间中的修改颜色Y'分量。
处理器还可包括模块,例如,配置成使用第一函数来确定第二颜色空间中的修改颜色Y'分量的模块,配置成检查这个Y'分量是否将生成削减的模块,以及配置成如果Y'分量将生成削减则使用第二函数来确定第二颜色空间中的修改颜色Y'分量的模块。
图19示出提供一种包括处理图片中的像素的处理器101的装置 100的具体硬件实现,其中像素能够通过第一颜色空间中的颜色分量 (例如R'、G'、B')、第二颜色空间中的颜色分量(例如Y'、Cb、Cr) 和第三颜色空间中的颜色分量(例如Y、Cb、Cr或者X、Y、Z)来表示,并且其中不同颜色空间的颜色分量能够通过变换函数在彼此之间转换。处理器101可操作以使用第一函数来确定第二颜色空间中的修改颜色Y'分量。处理器101还可操作以检查这个Y'分量是否将生成削减。处理器101还可操作以:如果Y'分量将生成削减,则使用第二函数来确定第二颜色空间中的修改颜色Y'分量。
因此,装置100包括处理器101和一个或多个单元(图中通过选择器102所表示),以用于使用第一函数来确定第二颜色空间中的修改颜色Y'分量,检查这个Y'分量是否将生成削减,以及如果Y'分量将生成削减,则一个或多个单元使用第二函数来确定第二颜色空间中的修改颜色Y'分量。
在可选实施例中,装置100还包括视频编码器103,以用于对修改颜色Y'分量进行编码并且用于对二次取样色度分量的值进行编码。
在实施例中,装置100还包括:输入单元104,配置成接收待编码视频;以及输出单元105,配置成输出编码的比特流。
输入单元104可采取通用输入单元的形式,例如输入接口电路或者到外部装置的其他有线连接。备选地,输入单元104可采取接收器或收发器的形式,特别是在到外部装置的无线连接的情况下。对应地,输出单元105可采取通用输出单元的形式,例如输出接口电路或者到外部装置的其他有线连接。备选地,输出单元105可采取发射器或收发器的形式,特别是在到外部装置的无线连接的情况下。
输入单元104优选地连接到处理器101和/或选择器102。处理器 101优选地连接到选择器102和视频编码器103。视频编码器103优选地连接到输出单元105,以便例如向解码器转发编码的比特流。
变得越来越普遍的是在网络装置(例如网络节点和/或服务器)中提供计算服务(硬件和/或软件),其中资源作为服务通过网络来传递到远程位置。作为示例,这意味着,如本文所述的功能性能够分布或者再定位到一个或多个独立物理节点或服务器。功能性可再定位或分布到一个或多个联合起作用物理和/或虚拟机,其能够定位在(一个或多个)独立物理节点中(即,所谓的云中)。这有时又称作云计算,其是用于使能对可配置计算资源(例如网络、服务器、存储装置、应用和通用或定制服务)池的普遍存在按需网络访问的模型。
图20是示出功能性能够在一般情况下如何在不同网络装置之间分布或划分的示例的示意图。在这个示例中,存在至少两个单独但互连的网络装置300、301,其可具有在网络装置300、301之间划分的不同功能性或者相同功能性的部分。可存在作为这种分布式实现的部分的附加网络装置302。网络装置300、301、302可以是相同无线通信系统的部分,或者网络装置的一个或多个可以是位于无线通信系统外部的所谓基于云的网络装置。
图21是示出无线通信网络或系统(包括与一个或多个基于云的网络装置300协作的接入网络2和/或核心网络3和/或操作和支持系统(OSS)4)的示例的示意图。该图还示出用户装置5,其连接到接入网络2并且能够与表示无线通信装置1的实施例的基站进行无线通信。
附录A-AJUSTY
像素预处理和编码
技术领域
本实施例一般涉及图片中的像素的预处理和编码,以及具体来说涉及改进像素的照度值的这种预处理和编码。
背景
在数字视频信号中,每个样本(即,像素分量)通过整数或浮点值来表示。呈现视频的显示器(例如屏幕、电视机或监视器)基于视频信号的数字值来省略光学光。将数字值V转化成光学光Y的函数是光电转换函数(EOTF)。按传统,EOTF已经被表达为指数函数,称作伽马函数,其中伽马γ是指数值。这通常为2.4(但也能够是其他值): Y=Vγ
使用伽马函数适用于低照度信号,但是当照度超过100尼特 (cd/m2)时,伽马函数没有与人类视觉系统的对比灵敏度良好地对齐。因此,更为非线性的转换函数定义为例如:
Figure GDA0003236113480000671
Figure GDA0003236113480000672
Figure GDA0003236113480000673
Figure GDA0003236113480000674
Figure GDA0003236113480000675
Figure GDA0003236113480000676
Figure GDA0003236113480000677
这个转换函数在对从0至1的范围的其一阶导数的最大值比伽马函数的一阶导数的最大值要大的意义上,与伽马函数相比是更为非线性的。
色度二次取样通常在压缩之前进行,作为减少数据量的初始步骤。在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将位数减少到2/3。另一种方式是不使用高非线性转换函数。但是,那就意味着,在没有暗区中的条带的情况下难以表示超高峰明暗度的内容。第三方式是使用恒定照度,即,在转换到CIE1931 XYZ颜色空间之后应用转换函数。但是,这种解决方案不是与广播行业内的一般实践一致的,并且在一些情形中难以实现或者实现费用高。
附录A所示实施例的概述
一般目的是提供对抗伪像的像素的预处理。
这些及其他目的通过如本文所公开的实施例来满足。
实施例的一个方面涉及一种预处理图片中的像素的方法。该方法包括得到基于第一颜色空间中的像素的线性颜色所确定的第三颜色空间中的像素的原始线性照度分量值。该方法还包括基于第二颜色空间中的第一非线性色度分量值、第二颜色空间中的第二非线性色度分量值以及第三颜色空间中的原始线性照度分量值来推导像素的第二颜色空间中的非线性亮度分量值。
实施例的另一方面涉及一种用于预处理图片中的像素的装置。该装置配置成得到基于第一颜色空间中的像素的线性颜色所确定的第三颜色空间中的像素的原始线性照度分量值。该装置还配置成基于第二颜色空间中的第一非线性色度分量值、第二颜色空间中的第二非线性色度分量值以及第三颜色空间中的原始线性照度分量值来推导像素的第二颜色空间中的非线性亮度分量值。
实施例的相关方面定义一种用于预处理图片中的像素的装置。该装置包括确定单元,以用于得到基于第一颜色空间中的像素的线性颜色所确定的第三颜色空间中的像素的原始线性照度分量值。该装置还包括推导器,以用于基于第二颜色空间中的第一非线性色度分量值、第二颜色空间中的第二非线性色度分量值以及第三颜色空间中的原始线性照度分量值来推导像素的第二颜色空间中的非线性亮度分量值。
实施例的另外的方面涉及一种用于对图片中的像素进行编码的装置。该装置包括处理器和存储器,该存储器包含由处理器可执行的指令。处理器可操作以得到基于第一颜色空间中的像素的线性颜色所确定的第三颜色空间中的像素的原始线性照度分量值。处理器还可操作以基于第二颜色空间中的第一非线性色度分量值、第二颜色空间中的第二非线性色度分量值以及第三颜色空间中的原始线性照度分量值来推导像素的第二颜色空间中的非线性亮度分量值。处理器还可操作以对非线性亮度分量值、第一非线性色度分量值和第二非线性色度分量值进行编码。
实施例的相关方面定义一种用于对图片中的像素进行编码的装置。该装置包括确定单元,以用于得到基于第一颜色空间中的像素的线性颜色所确定的第三颜色空间中的像素的原始线性照度分量值。该装置还包括推导器,以用于基于第二颜色空间中的第一非线性色度分量值、第二颜色空间中的第二非线性色度分量值以及第三颜色空间中的原始线性照度分量值来推导像素的第二颜色空间中的非线性亮度分量值。该装置还包括编码器,以用于对非线性亮度分量值、第一非线性色度分量值和第二非线性色度分量值进行编码。
实施例的又一方面涉及一种包含指令的计算机程序,指令在由处理器运行时使该处理器得到基于第一颜色空间中的像素的线性颜色所确定的第三颜色空间中的图片中的像素的原始线性照度分量值。还使处理器基于第二颜色空间中的第一非线性色度分量值、第二颜色空间中的第二非线性色度分量值以及第三颜色空间中的原始线性照度分量值来推导像素的第二颜色空间中的非线性亮度分量值。
实施例的相关方面定义一种包含根据上文的计算机程序的载体。该载体是电子信号、光信号、电磁信号、磁信号、电信号、无线电信号、微波信号或计算机可读存储介质其中之一。
实施例的另外的方面涉及一种表示图片中的像素的编码的版本的信号。编码的版本包括按照以上所述所推导的按照第二颜色格式的二次取样的第一非线性色度分量值的编码的版本、第二颜色空间中的二次取样的第二非线性色度分量值的编码的版本以及按照第二颜色格式的非线性亮度分量值的编码的版本。
本实施例提供像素预处理和编码,其对抗否则因非线性转换函数与色度二次取样结合使用而可发生的伪像。主观上,照度的质量改进甚至对未压缩视频也是清楚可见的。
本公开的示例实施例
传统压缩链涉及将通常范围从0至10000cd/m2的传入线性光的像素馈送给逆转换函数,其产生0与1之间的新像素值。此后,像素经过颜色变换,从而产生亮度分量和两个色度分量。两个色度分量然后被二次取样到例如4:2:0或4:2:2。在解压缩之后,4:2:0或4:2:2序列被上取样到4:4:4,经反颜色变换,并且最后转换函数给回能够在监视器上输出的线性光的像素。
高非线性转换函数、色度二次取样和非恒定照度排序的组合对视频数据(具体来说对饱和颜色)产生严重伪像。问题来自如下事实:色度分量被内插,而亮度分量没有。因此,能够存在像素中的亮度分量的急剧偏移,但是色度分量不能跟随,因为它们被内插。对于一些颜色(特别是饱和颜色),结果是完全错误强度的像素,其作为伪像是清楚可见的。
按照实施例的像素的预处理能够用来对抗或者至少降低伪像的影响,由此产生更接近像素的传入“真实”颜色的颜色。
颜色空间或颜色格式是源自颜色模型的颜色分量的组合的颜色的类型和数量。颜色模型是描述颜色能够表示为数量的元组(即,颜色分量)的方式的抽象配置。颜色分量具有若干区别特征,例如分量类型(例如色调)及其单位(例如程度或百分比)或者标量的类型(例如线性或者非线性)以及其值的预计数量(称作颜色深度或者位深度)。
非限制性而说明性的颜色空间(其常用于图片和视频中的像素) 包括红色、绿色、蓝色(RGB)颜色空间、亮度、色度蓝和色度红(YCbCr,有时表示为Y'CbCr、Y'Cb'Cr'、YCBCR、Y'CBCR或Y'CB'CR')颜色空间以及照度和彩度(XYZ)颜色空间。
图22是示出预处理图片中的像素的方法的流程图。该方法包括在步骤S1得到基于第一颜色空间中的像素的线性颜色所确定的第三颜色空间中的像素的原始线性照度分量值。该方法然后继续进行到步骤S2,其包括基于第二颜色空间中的第一非线性色度分量值、第二颜色空间中的第二非线性色度分量值以及第三颜色空间中的原始线性照度分量值来推导像素的第二颜色空间中的非线性亮度分量值。
图22中的像素预处理采用第二颜色空间中的两个非线性色度分量。第二颜色空间中的两个非线性色度分量可能是第二颜色空间中的二次取样的第一非线性色度分量值以及第二颜色空间中的二次取样的第二非线性色度分量值。在具体实施例中,这两个非线性色度分量是Cb'和Cr'分量。更优选地,非线性色度分量是按照4:2:0或4:2:2格式的Cb'和Cr'分量。相应地,第二颜色空间在这个实施例中是YCbCr 颜色空间。撇号“'”用来指示两个色度分量是非线性色度分量。
在这种情况下,图22的步骤S2优选地包括基于第二颜色空间中的二次取样的第一非线性色度分量值、第二颜色空间中的二次取样的第二非线性色度分量值以及第三颜色空间中的原始线性照度分量值来推导第二颜色空间中的非线性亮度分量值。
在备选实施例中,第二颜色空间中的两个非线性色度分量值不一定必须经二次取样,而是可采取第二颜色分量中的非取样非线性色度分量值或者第二颜色空间中的上取样非线性色度分量值的形式。在后一种情况下,上取样非线性色度分量值在第二颜色空间中的二次取样的非线性色度分量值的上取样之后得到。在这个备选实施例中,非线性色度分量是按照4:4:4格式的Cb'和Cr'分量。
在实施例中,像素的第二颜色空间中的第一和第二非线性色度分量值基于第一颜色空间中的像素的线性颜色来得到。在具体实施例中,这个第一线性颜色空间是RGB颜色空间。相应地,第一颜色空间中的像素的线性颜色在这个具体实施例中是像素的RGB颜色。
在实施例中,上述第三颜色空间是XYZ颜色空间。相应地,第三颜色空间中的像素的线性照度在这个实施例中是Y分量。
因此,图22中的预处理得到或提供基于第一颜色空间中的像素的线性颜色所确定的第三颜色空间中的像素的原始线性照度分量值。这个原始线性照度分量值优选地反映像素的真实照度,即,任何颜色变换、转换函数的应用和二次取样之前的像素的原始照度。这个原始线性照度分量值基于第一颜色空间中的像素的线性颜色来确定。在实施例中,第一颜色空间中的像素的这个线性颜色是像素的原始传入颜色。在具体实施例中,这个原始传入颜色在本文中表示为ROGOBO,并且原始线性照度分量表示为YO
因此,原始线性照度是目标照度,其可按照许多不同方式来计算。原始线性照度不一定必须直接对应于拍摄图片或记录视频的照相机中或者显示器面板中的传感器的实际照度。
可对预处理和编码功能性得到作为采取预定或预先计算形式的原始线性照度分量值(优选地为YO值)的第三颜色空间中的原始线性照度分量值。这意味着,原始线性照度分量值基于第一颜色空间中的线性颜色的确定已经进行,并且只有确定结果被提供给预处理和编码功能性。
在备选实施例中,实施例的预处理包括原始线性照度分量值的确定或计算。在这种实施例中,图22的步骤S1优选地包括基于第一颜色空间中的线性颜色来确定第三颜色空间中的原始线性照度分量值。
然后在步骤S2基于第二颜色空间中的第一和第二非线性色度分量值以及第三颜色空间中的原始线性照度分量值对像素推导第二颜色空间中的非线性亮度分量值。因此,在实施例中,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))。
预处理的像素然后通过第二颜色空间中的两个二次取样的非线性色度分量(Cb'、Cr')以及所推导的非线性亮度分量(Y')来表示,即,Y'Cb'Cr'。因此,元组Y'Cb'Cr'优选地按照4:2:0或4:2:2格式(即,具有二次取样的色度分量但是具有非二次取样的亮度分量)来表示像素的预处理的颜色。
在实施例中,图22的步骤S2包括推导第二颜色空间中的非线性亮度分量值,其使第三颜色空间中的原始线性照度分量值与基于第二颜色空间中的非线性亮度分量值、第二颜色空间中的第一非线性色度分量值以及第二颜色空间中的第二非线性色度分量值所确定的第三颜色空间中的线性照度分量值之间的差为最小。
因此,在这个实施例中,步骤S2涉及查找第二颜色空间(YCbCr) 中的非线性亮度分量(Y'),其使原始线性照度分量(YO)值与第三颜色空间(XYZ)中的线性照度分量(Y)值之间的差为最小。第三颜色空间(XYZ)中的这个线性照度分量(Y)值又基于第二颜色空间(YCbCr)中的两个非线性色度分量(Cb'、Cr')以及非线性亮度分量(Y')值来得到。
因此,这个实施例涉及查找Y'分量值,该Y'分量值使差|YO–Y| 或(YO–Y)2为最小,其中Y=h(Y',Cb',Cr')和h(.)定义Y 基于Y'、Cb'和Cr'来确定。
在备选但相关的实施例中,步骤S2涉及推导第二颜色空间中的非线性亮度分量值,其使第三颜色空间中的原始照度分量值的函数与第三颜色空间中的线性照度分量值的函数之间的差为最小。第三颜色空间中的这个线性照度分量值基于第二颜色空间中的非线性亮度分量值、第二颜色空间中的第一非线性色度分量值以及第二颜色空间中的第二非线性色度分量值来确定。
因此,这个实施例涉及查找Y'分量值,该Y'分量值使差|k(YO) –k(Y)|或(k(YO)–k(Y))2为最小,其中Y=h(Y',Cb',Cr')。
函数(k(.))优选地是逆转换函数,例如转换函数[A1]的逆。
图22的方法步骤S1和S2对例如视频序列的图片中的至少一个像素来执行。在实施例中,步骤S1和S2优选地对图片中的多个(即,至少两个)像素来执行,这通过线条L1示意指示。在具体实施例中,步骤S1和S2对图片中的全部像素来执行。
在另一个具体实施例中,步骤S1和S2对图片中引起如本文先前所述的视觉伪像的那些像素来执行。这些像素可通过将像素的第三颜色空间中的原始线性照度分量(YO)值与基于采用第二颜色格式的非线性亮度和色度分量(Y'、Cb'、Cr')值对像素所确定的第三颜色空间中的线性照度分量(Y)值进行比较来识别,并且其中这些非线性亮度和色度分量值按照没有按照本发明的任何预处理的典型压缩链来推导。在这后一实施例中,实施例的预处理由此仅应用于图片中的、典型压缩链引起亮度分量中的误差的那些像素。
备选地,图片中引起视觉伪像的像素可通过将Cb'和Cb分量值和 /或Cr'和Cr分量值(即,上取样Cb'和/或Cr'分量值)与通过将第一颜色变换应用于R'G'B'颜色所得到的对应Cb和/或Cr'分量值进行比较来识别,其中R'、G'和B'通过将逆转换函数分别应用于原始ROGOBO颜色的RO、GO和BO来得到。
另外的变体是对具有饱和颜色(即,处于或者接近色域边缘的颜色)的那些像素执行步骤S1和S2。
图23是示出图22所示方法的附加可选步骤的流程图。图23的步骤示出用来基于第一颜色空间中的线性颜色来推导第二颜色空间中的二次取样非线性色度分量值的典型处理链。该方法开始于步骤 S10,其包括将第一转换函数应用于第一颜色空间中的线性颜色,以获得第一颜色空间中的非线性颜色。下一个步骤S11包括将第一颜色变换应用于第一颜色空间中的非线性颜色,以获得第二颜色空间中的非线性颜色。第二颜色空间中的非线性颜色包括初始第一非线性色度分量值和初始第二非线性色度分量值。后面步骤S12包括对第二颜色空间中的初始第一非线性色度分量值和第二颜色空间中的初始第二非线性色度分量值进行二次取样,以获得第二颜色空间中的二次取样的第一非线性色度分量值和第二颜色空间中的二次取样的第二非线性色度分量值。该方法然后继续进行到图22的步骤S1。
在图23的典型处理链的实施例中,第一转换函数(例如转换函数[A1]的逆)应用于像素的ROGOBO颜色(即,像素的原始颜色),以获得RGB颜色空间中的非线性颜色R'G'B'。这个R'G'B'颜色然后使用第一颜色变换(例如下列颜色变换)从RGB颜色空间经颜色变换到YCbCr颜色空间:
Y=0.299R+0.587G+0.114B
Cb=-0.168736R-0.331264G+0.5B
Cr=0.5R-0.418688G-0.081312B
在步骤S11的第一颜色变换的应用之后的像素的所产生Y'Cb'Cr' 颜色是非压缩的Y'Cb'Cr'颜色(即,按照4:4:4格式)。后面步骤S12 对两个色度分量Cb'和Cr'进行二次取样,以获得4:2:0或4:2:2格式的颜色(即,具有二次取样的非线性色度分量Cb'和Cr')。
在步骤S12的二次取样能够按照已知二次取样技术执行。例如能够使用滤波操作或最近邻居操作。在文献[A4]的第B.1.5.5小节“从 4:4:4到4:2:0的色度下取样”中公开能够按照实施例使用的二次取样技术的示例。
图24是示出图22所示方法的附加可选步骤的流程图。这些步骤示出附加处理,以便推导图片中的像素的最佳非线性亮度分量值。该方法从图22的步骤S1或图23的步骤S12继续进行。该方法在步骤 S20继续对第二颜色空间中的二次取样的第一非线性色度分量值和第二颜色空间中的二次取样的第二非线性色度分量值进行上取样,以获得第二颜色空间中的上取样的第一非线性色度分量值和第二颜色空间中的上取样的第二非线性色度分量值。下一个步骤S21包括将第二颜色变换应用于第二颜色空间中的候选非线性亮度分量值、第二颜色空间中的上取样的第一非线性色度分量值以及第二颜色空间中的上取样的第二非线性色度分量值,以获得第一颜色空间中的非线性颜色。下一个步骤S22包括将第二转换函数应用于第二颜色空间中的非线性颜色,以获得第一颜色空间中的线性颜色。最后,第三颜色变换在步骤S23应用于第一颜色空间中的线性颜色,以获得第三颜色空间中的线性照度分量值。该方法然后继续进行到图22的步骤S2,其包括基于第三颜色空间中的原始线性照度分量值和第三颜色空间中的线性照度分量值的比较,来推导非线性亮度分量值。
因此,在实施例中,按照4:2:0或4:2:2格式的二次取样的Cb'和 Cr'分量值首先被上取样到4:4:4格式。在步骤S20的上取样能够按照已知上取样技术执行。例如,上取样可通过使用双线性或较长滤波器执行。在文献[A4]的第B.1.5.6小节“从4:2:0到4:4:4(Y'CbCr域)的色度上取样”中公开能够按照实施例使用的上取样技术的示例。
这两个上取样Cb'和Cr'分量值然后与候选Y'分量值共同输入到第二颜色变换(例如下列颜色变换)中以获得非线性R'G'B'颜色:
R′=Y′+a13Cr′
G′=Y-a22b′-a23Cr′
B′=Y+a32Cb′
对于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′分量的钳位(clamping)或削减操作,例如R′分量的R′=clip(Y′+a13Cr′,0,1),其中如果x<a,clip(x,a,b) 等于a以及如果x>b,等于b,否则等于x。
这个R′G′B′颜色然后输入到第二转换函数(例如转换函数[A1]) 中,以获得线性RGB颜色。这个RGB颜色然后使用第三颜色变换(例如下列颜色变换)从RGB颜色空间变换到XYZ颜色空间:
X=0.636958R+0.144617G+0.168881B
Y=0.262700R+0.677998G+0.059302B
Z=0.000000R+0.028073G+1.060985B
从第三颜色变换所输出的线性照度分量Y值然后在步骤S2与像素的原始线性照度分量YO值进行比较。
在实施例中,图22的步骤S2包括选择第二颜色空间中的候选非线性亮度分量值,其减小第三颜色空间中的原始线性照度分量值与第三颜色空间中的线性照度分量值之间的差。
因此,步骤S2优选地包括选择第二颜色空间中的候选非线性亮度分量值,其至少引起原始线性照度分量值与在步骤S23所得到的线性照度分量值之间的差的减小。在具体实施例中,步骤S2包括选择第二颜色空间中的候选非线性亮度分量值,其使原始照度分量值与第三颜色空间中的线性照度分量值之间的差为最小。
如前面所述,这个差可表示为|YO-Y|或(YO-Y)2,其中Y在图24的步骤S23得到。
在备选但相关的实施例中,步骤S2涉及选择第二颜色空间中的候选非线性亮度分量值,其使第三颜色空间中的原始照度分量值的函数与第三颜色空间中的线性照度分量值的函数之间的差减小或者优选地为最小,即选择使差|k(YO)-k(Y)|或(k(YO)-k(Y))2为最小的候选Y′分量值。
在实施例中,图24的步骤S21至S23对第二颜色空间中的不同候选非线性亮度分量值来执行,其通过线条L2示意示出。在这种情况下,步骤S2优选地包括在第二颜色空间中的不同候选非线性亮度分量值之间选择引起第三颜色空间中的原始线性照度分量值与第三颜色空间中的线性照度分量值之间的最小差或者第三颜色空间中的原始线性照度分量值的函数与第三颜色空间中的线性照度分量值的函数之间的最小差的候选非线性亮度分量值。
这意味着,步骤S21至S23的循环被执行多次,并且使用在步骤 S21的不同候选Y'分量值来执行多次。然后引起YO与Y之间或者k (YO)与k(Y)之间的最小差的候选Y'分量值则被选择并且与二次取样的Cb'和Cr'分量值共同用作像素的颜色表示。
针对第三颜色空间中的原始线性照度分量值与第三颜色空间中的线性照度分量值之间的差更详细描述下列实施例。这些实施例还包含第三颜色空间中的原始线性照度分量值的函数与第三颜色空间中的线性照度分量值的函数之间的差。如本文中先前所述,函数优选地是转换函数的逆,例如转换函数[A1]的逆。
多个候选Y'分量值之间的最佳候选Y'分量值的选择能够按照如本文进一步描述的各个实施例来执行。
第一实施例涉及执行二分搜索。因此,在这个实施例中,该方法包括执行二分搜索,以选择第二颜色空间中的候选非线性亮度分量值,其使第三颜色空间中的原始线性照度分量值与第三颜色空间中的线性照度分量值之间的差为最小。
二分搜索是一种有效技术,其能够用来查找最佳候选非线性亮度分量值。一般来说,二分搜索算法开始于将第三颜色空间中的原始照度分量值与使用第二颜色空间中的可能候选非线性亮度分量值的归类阵列的中间元素所得到的第三颜色空间中的线性照度分量值进行比较。如果第三颜色空间中的线性照度分量值等于第三颜色空间中的原始照度分量值或者与第三颜色空间中的原始照度分量值相差不超过所定义量,则返回中间元素的位置,并且完成搜索。如果线性照度分量值大于原始线性照度分量值,则搜索对阵列的下一半继续进行;或者如果线性照度分量值小于原始线性照度分量值,则搜索对阵列的上一半继续进行。这个过程继续进行,消除元素的一半,并且将所产生线性照度分量值与原始线性照度分量值进行比较,直到其之间的差为零,或者直到已经搜索整个阵列,即,直到已经消除除了一个以外的全部元素。这被保证以便仅进行log2(N)个步骤,其中N是阵列中的可能候选非线性亮度分量值的数量。例如,假定候选非线性亮度分量值能够从[0,1023]的阵列中选取。则N=1024以及log2(1024)= 10。
在实施例中,通过对搜索区间的中间的第二颜色空间中的候选非线性亮度分量值执行图24的步骤S21至S23,来执行二分搜索。该方法然后继续进行到图25所示的步骤。后面步骤S25包括如果第三颜色空间中的原始照度分量值与第三颜色空间中的线性照度分量值之间的差等于零(优选地如在步骤S24所计算),则选择搜索区间的中间的候选非线性亮度分量值。否则,即,如果在步骤S24所计算的差不等于零,则该方法继续进行到步骤S26。这个步骤S26包括如果第三颜色空间中的线性照度分量值大于第三颜色空间中的原始线性照度分量值,则选择与以上所使用的搜索区间相比具有一半大小并且结束于以上所使用的候选非线性亮度分量值的搜索区间,或者如果第三颜色空间中的线性照度分量值小于第三颜色空间中的原始线性照度分量值,则选择与以上所使用的搜索区间相比具有一半大小并且开始于以上所使用的候选非线性亮度分量值的搜索区间。
涉及循环L2的步骤(即,步骤S21-S23和S24-S26)然后重复进行,直到第三颜色空间中的原始线性照度分量值与第三颜色空间中的线性照度分量值之间的差等于零,搜索区间不能再对分,循环已经重复进行所定义次数,或者搜索区间已经达到预定义区间大小(即,搜索区间小于或等于预定义区间大小)。
在步骤S26的搜索区间的选择一般涉及选择与以上所使用的搜索区间相比具有大致一半大小的搜索区间。例如,如果搜索区间包含值 100、101、102、103,则可将101或者102选择作为“中间值”,从而产生[100,101](搜索区间的真实对分)或[101,103](搜索区间的近似对分)的“对分”搜索区间或者[100,102](搜索区间的近似对分)或[102, 103](搜索区间的真实对分)的“对分”搜索区间。
另一个实施例是关于作为优化问题的非线性亮度分量值的选择以及针对Y'使误差E=(YO–Y)2或E=|YO–Y|为最小。这能够例如通过梯度下降、通过计算E相对Y'的梯度(即,dE/dY')并且沿梯度的相反方向将Y'更新小量(即,Y'n+1=Y'n-α(dE/dY'),其中α是小常数)进行。
梯度下降能够是缓慢的,因此更快方式可以是使用二阶优化算法,其计算或近似计算二阶导数d2E/dY'2。高斯-牛顿是这种算法的示例。
另外的实施例涉及在选择非线性亮度分量值时使用查找表(LUT)。这种LUT例如可包括Cb'、Cr'和Yo分量值的每一个可能组合的最佳 Y'分量值。例如假定Cb'和Cr'分量量化到10位,并且YO分量也量化到10位。LUT则应当包含210×210×210个不同Y'分量值。这相当于230个Y'分量值。如果每个这种Y'分量值为两个字节,则LUT将具有231字节或2Gb的大小。
也许还有可能使用更小LUT。例如,也许有可能将YO、Cb'和Cr' 分量量化到更小大小(比如6位)。LUT则为218个Y'分量值或219字节,其等于512kb。
YO分量是线性的。相应地,只对它量化可能是低效的。可以更好的是改为使用YO的函数连同Cb'和Cr'作为对LUT的输入,以获得最佳Y'分量。函数优选地输出YO分量的非线性表示,并且例如可以是逆转换函数(TF-1(.)),例如转换函数[1]的逆。最佳Y'分量值然后从LUT推导为Y'=LUT(Cb',Cr',TF-1(YO))。
图26是示出在使用LUT时的图22的步骤S2的实施例的流程图。该方法从图22的步骤S1继续进行。下一个步骤S30包括对第二颜色空间中的二次取样的第一非线性色度分量值和第二颜色空间中的二次取样的第二非线性色度分量值进行上取样,以获得第二颜色空间中的上取样的第一非线性色度分量值和第二颜色空间中的上取样的第二非线性色度分量值。
下一个步骤S32包括使用第三颜色空间中的原始线性照度分量值或者其非线性版本、第二颜色空间中的上取样的第一非线性色度分量值和第二颜色空间中的上取样的第二非线性色度分量值或者其量化版本作为对查找表的输入从查找表来检索第二颜色空间中的非线性亮度分量值。
图27是示出图26所示方法的附加可选步骤的流程图。该方法从图26的步骤S30继续进行。下一个步骤S31包括将第一逆转换函数应用于第三颜色空间中的原始线性照度分量值,以获得第三颜色空间中的原始非线性照度分量值。该方法然后继续进行到图26的步骤S32。在这个实施例中,步骤S32包括使用第三颜色空间中的原始非线性照度分量值、第二颜色空间中的上取样的第一非线性色度分量值和第二颜色空间中的上取样的第二非线性色度分量值,或者其量化版本作为对查找表的输入从查找表来检索第二颜色空间中的非线性分量值。
在实施例中,查找表对第三颜色空间中的原始线性照度分量值或者其非线性版本、第二颜色空间中的上取样的第一非线性色度分量值和第二颜色空间中的上取样的第二非线性色度分量值或者其量化版本的每个组合包括第二颜色空间中的最佳非线性亮度分量值,其使第三颜色空间中的原始线性照度分量值与基于第二颜色空间中的最佳非线性亮度分量值、第二颜色空间中的二次取样的第一非线性色度分量值和第二颜色空间中的二次取样的第二非线性色度分量值所确定的第三颜色空间中的线性照度分量值之间的差为最小。
如在图24的步骤S20以及图26的步骤S30所执行的第二颜色空间中的非线性色度分量值的上取样优选地将非线性色度分量值上取样到与第二空间中的非线性亮度分量值相同数量的样本。因此,如在这些步骤所执行的上取样优选地产生具有与例如在图23的步骤S12 的任何二次取样的应用之前相同数量的样本的非线性色度分量值。这意味着,在二次取样之前并且在上取样之后,Y'、Cb'和Cr'分量全部包含相同数量的样本,例如按照4:4:4格式。在二次取样之后,Y'分量与Cb'和Cr'分量(其优选地包含相同数量的样本)相比包括更多样本,例如按照4:2:0或4:2:2格式。
图片中的像素具有优选地如本文所述所推导的第二颜色空间中的非线性亮度分量值。与像素关联并且在上取样之后所得到的第二颜色空间中的非线性色度分量值取决于上取样技术而能够基于第二颜色空间中的相应二次取样的第一和第二非线性色度分量值或者基于第二颜色空间中的多个二次取样的第一和第二非线性色度分量值来生成。例如,如果使用双线性上取样,则四个二次取样的Cb'分量值和四个二次取样的Cr'分量值将影响像素以及上取样Cb'和Cr'分量的值。对应地,如果使用最近邻居上取样,则单个二次取样的Cb'分量值和单个二次取样的Cr'分量值通常用来得出像素的上取样的Cb'和 Cr'分量值。
按照实施例的像素的预处理能够用于不同应用中,具体来说是不同视频应用中,包括视频编码。
因此,实施例涉及一种对图片中的像素进行编码的方法。该方法包括按照如本文所公开实施例的任一个来预处理像素,以推导像素的第二颜色空间中的非线性亮度分量值。该方法还包括在如图28所示的步骤S3对非线性亮度分量值、第二颜色空间中的二次取样第一非线性色度分量值和第二颜色空间中的二次取样第二非线性色度分量值进行编码。
因此,像素的预处理能够在对图片的像素进行编码期间例如与对视频序列的图片进行编码结合用作附加处理。
例如按照4:2:0或4:2:2格式的预处理的输出(即,Y'Cb'Cr')然后输入到视频编码器,例如H.264视频编码器、高效视频编码器(HEVC) 或H.265视频编码器或者另一个视频编码器。如由视频编码器所执行的编码能够包括例如在熵编码器(例如上下文自适应二进制算术编码(CABAC)编码器)中的传统视频编码步骤,例如帧间预测、帧内预测、模式判定、残差的变换、经变换和量化残差的量化和编码。
实施例的预处理的优点在于,它能够应用于任何视频或图片编码过程,而无需执行视频或图片编码器中的任何调整或者对应视频或图片解码器中的任何调整。形成鲜明对比,预处理能够被看作是附加处理(即,预处理),其应用于输入图片而不是待编码图片中的像素的原始颜色(例如ROGOBO颜色)到Y'Cb'Cr'颜色的传统转换,其涉及转换函数的应用、色度二次取样和颜色变换的应用。
(例如视频序列的)图片中的像素的预处理除了视频编码之外还可用于其他应用中。例如,实施例能够用作在通过接口(例如高清晰度多媒体接口(HDMI)、DisplayPort或Thunderbolt)传递视频之前所应用的预处理。例如,在HDMI 2.0a中,以每秒50或60帧(fps)传送4K分辨率的唯一方式是使用4:2:0或4:2:2YCbCr二次取样。如果视频数据按照全色度取样格式(4:4:4),则二次取样预处理步骤必须在通过HDMI线缆发送视频数据之前应用。4:2:0或4:2:2视频数据然后通过接口传递而无需进一步压缩。通过应用实施例的预处理,与没有Y'分量的任何校正或者最佳Y'分量的查找的常规4:2:0或4:2:2二次取样相比,改进视频质量。
下面描述典型压缩链。例如从0至10000的范围的传入线性光像素(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)所获得的Cb',然后在二次取样之前对原始Cb'444和Cr'444进行上取样(到4:4:4)),来确定Cb'和Cr'分量是错误的。
校正Y'分量能够按照如以下所述的不同实施例来推导。因此,校正Y'分量以及Cb'和Cr'分量然后被压缩,从而引起以更高质量来感知图像或视频。
通过改变Y'分量(即,推导校正Y'分量),能够补偿所产生照度值。眼睛对照度变化比彩度变化要敏感得多,因此第一规则应当确保照度没有与原始值过多偏离。
如上所述,非线性照度Y'在压缩之前被调整,使得像素的线性照度Y更接近其正确值。这在下面进一步描述。
假定屏幕左部(例如像素0至96)具有值(2142,0,138)并且右部(例如像素97至1920)具有值(2142,4,138)的图片。通过常规处理链,将获得表A1中的结果。
表A1—4:2:0二次取样的“最坏”颜色的数据
Figure GDA0003236113480000841
Figure GDA0003236113480000851
*这指示通过对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分量是眼睛对其敏感的照度。不应当与上述Y'分量(其与 RGB非线性地相关)混淆。
如在表A1中能够看到,当使用RGB 4:2:0二次取样和上取样时, Y值对像素97是全部错误的。要注意,在这个示例中,没有进行压缩,只有到10位的量化,并且Y值仍然具有85%的相对误差。使用 Barten模型(其预测眼睛能够看到多大差异),看到这个误差为195Barten步,或者是刚好可注意的事物的195倍。
如果查看表A2,能够看到所发生的情况。
表A2—像素97在颜色二次取样之前和之后极为不同
Figure GDA0003236113480000861
如果来看Cb'分量,它具有值607,其在间断之前(即,像素94) 的650与间断之后的575之间的大约中途,但是正确值为575。问题在于,误差不仅影响彩度,而且还影响像素的照度,其变得太大。思路是通过改变像素的Y'分量对此进行补偿。按照实施例,不让Y'分量对像素为422,而是选择值363。在表A3中示出结果。
表A3—像素97在颜色二次取样之前和之后更为相似
Figure GDA0003236113480000862
Figure GDA0003236113480000871
现在能够看到,新颜色与其正确值更为相似。绿色分量沿错误方向行进但仅行进1.72cd/m2,但是同时红色分量几乎减半到其正确值,即1849cd/m2的移动,以及蓝色分量按照相似方式改变。在表A4中示出对照度发生的情况。
表A4—校正之后的4:2:0二次取样的“最坏”颜色的数据
Figure GDA0003236113480000872
*这指示通过对4:2:0格式的二次取样的颜色进行上取样所得到的值
如在表A4中看到,获得照度Y中的小许多的误差。相对误差为 0.2465%,其相当于0.5602Barten步,即不可能看到。
误差这时而是在彩度中,但是给定人类视觉系统在彩度方面比在照度方面对误差没那么敏感的事实,这不是大问题。另外,无论如何都将存在彩度中的误差,因为它经二次取样。另外,可改变Y'分量,以获得照度中的误差与彩度中的误差之间的良好折衷。
此外,彩度的变化可能甚至不是可注意的—唯一差别在于绿色分量为0.7008cd/m2而不是3.9750cd/m2,但是无论如何最可能通过红色分量来矮化,因为它为2145,几乎要大一千倍。看它的另一种方式在于,绿色和红色分量之间的比率变成0.7008/2145.11=0.000327而不是正确的3.9750/2142.6617=0.001855。不清楚色调中的这个少许偏移有可能使肉眼看到。因此将是刚好可注意的误差的200倍的照度中的误差折衷到小到也许不可能看到的色度中的误差。
好处在于,所改变Y'值仅影响单独像素。因此,没有其他像素被改变Y'分量而受损。
在实施例中,没有对Cb'和Cr'的特定值来优化值Y'。Y'值而是选择成使得它使Cb'和Cr'的一些不同值或者Cb'和Cr'值的范围的照度误差为最小。这能够在色度上取样方法为未知的情形中进行。
一个变体是执行特定数量的色度上取样方法,并且然后选择使不同上取样方法的均方误差为最小的Y'值。在另一个版本中,Y'值选择成使得最坏情况(即,最大误差)为最小。
另一个变体是使用Cb'和Cr'的两个或更多相邻值,并且将它们直接用来计算可能Cb'和Cr'值的范围。
存在查找Y'的最佳值的若干方式,将审阅多种方式。一种方式在图29中示出。
首先需要查找要优化到的值YO。原始像素RO、GO、BO如上所述从RGB变换到XYZ。这产生XO、YO、ZO,仅对其中的YO感兴趣。实际上,无需计算XO和ZO。这个YO是线性光中的原始照度,并且眼睛对此是敏感的。在测试情况下,YO等于573.5991,参见表A1。
其次,取现有Y'值连同Cb'和Cr'值。在上述情况下,将馈入(422, 607,812),参见表A2。现在将进行从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从0.0去到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开始,参见表A1。
现在比较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步是充分的。
计算最佳值的又一种方式是将图29看作优化问题并且使误差E= (Y-YO)2相对Y'为最小。这能够通过梯度下降、通过计算E相对Y' 的梯度(即,dE/dY')并且沿梯度的相反方向将Y'更新小量(Y'n+1=Y'n–α×dE/dY',其中α是小常数)进行。
梯度下降能够是缓慢的,因此更快方式可以是使用二阶优化算法,其计算或近似计算二阶导数d2E/dY'2。高斯-牛顿是这种算法的示例。
在另一个实施例中,应用下列过程,以便计算Y':
-X、YO和Z采用XYZ到RGB转换来转换,以产生新值R1、 G1和B1
-R1、G1和B1采用逆转换函数来转换,以产生R1'、G1'和B1'
-R1'、G1'和B1'采用逆颜色变换来转换,以产生Y'
在实施例中,校正图像或图片中的全部像素的Y'值。在备选实施例中,仅校正处于具有可见照度误差的风险的像素。这可包括接近色域边缘的像素,但是不包括更接近色域三角形的中间的像素。
查看图29中的底部行,处理的第一步是
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值将最可能比完全没有进行校正要好许多。
一些线性化还可预先进行。如上所述,最坏问题在色域边缘发生。因此可具有用于将红基色连接到绿基色的线条的一个线性化、用于将红基色连接到蓝基色的线条的一个线性化以及用于将绿基色连接到蓝基色的线条的一个线性化。另一种方式可以是具有将接近红基色来使用的线性化、接近绿基色的另一个线性化以及接近蓝基色来使用的第三线性化。此外,有可能具有沿色域的线条的若干线性化,如图30 所示。
因此,在不同区域中能够存在不同线性化。如果颜色在具有实线的圆圈内部,则接近绿基色并且能够使用一个线性化。如果朝红基色进一步向前(即在短划线框内部),则能够使用第二线性化。如果接近色域的边缘并且在红与绿基色之间的大致中途(即在点线框内部),则能够使用第三线性化。如果甚至更接近红基色(即在具有实线的框内部),则能够使用第四线性化。如果在点线圆圈内部(即接近红基色),则能够使用第五线性化。还能够使用三角形中的另外两个线条的相同划分。最后,在三角形内部但是不在框或圆圈中的区域能够划分为一个或多个区域,每个区域具有不同线性化。
另一种方式是创建查找表(LUT)。如从以上阐述能够看到,如果具有Cb'、Cr'和所需Y-值,则有可能使用上述迭代技术的任一种来找到最佳Y'。因此能够为Cb'、Cr'和Y的每一个可能组合来创建查找表。例如假定Cb'和Cr'量化到10位。还假定还将Y量化到10位。则在查找表中需要210×210×210个不同值。那就相当于230个值。如果每个值为二字节,则这表示231个字节或2Gb。那是较大但也许不是不可行的,特别是在将来。
当量化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字节,其等于512kbyte。这甚至对当今的硬件也是合理大小。
也许有可能获取最接近真实值的量化值Cb'、Cr'和Y,并且对它们进行内插。作为示例,如果Cb'的实际值大于量化到6位的Cb'但小于量化到6位的Cb'+1,则下式可以是良好近似:
Y’=(LUT(Cb’6bit,Cr’6bit,Y6bit)+(LUT(Cb’6bit+1,Cr’6bit,Y6bit))/2
多于两个值之间的内插也是可能的。
在实施例中,查找表用于推导Y'的值。在一个版本中,查找表包含YO、Cb'和Cr'的每一个可能值。对于10位视频将产生 1024×1024×1024个条目,以及在一些应用中,这个大小是可接受的。在另一个版本中,查找表(LUT)例如通过将YO、Cb'和Cr'的一个或多个舍入到例如8位来剪除。如果使用剪除的查找表,则算法能够采用细化步骤来扩展,其查找最佳Y',开始于从LUT中检索的Y'。在某个版本中,当Cb'值和/或Cr'值是使得Y'能够变成与YO极为不同时,即,当最初计算的Y'给出与YO极为不同的线性Y值时,仅使用LUT,并且由此LUT的大小能够充分减小,因为Cb'和Cr'的许多值将不会造成任何问题。
在实施例中,YO、Cb'和Cr'的函数(例如线性组合、多项式函数、指数函数、对数函数、三角函数等)用于推导Y'。函数能够定义成使得对于YO、Cb'和Cr'的任何值,Y与YO之间的差低于某个阈值,或者所推导Y'与最佳Y'之间的差低于某个阈值。
在实施例中,定义YO、Cb'和Cr'的若干不同函数以用于推导Y'。要使用哪一个函数的选择基于YO、Cb'和Cr'的值。
对于本文所述的每个实施例,情况可能是,如果Y'与TF(YO) 之间的差高于开始的某个阈值,则仅调用用于推导Y'的方法。
按照一方面,如图31所示来提供一种方法。该方法能够在编码器或者在编码器的预处理中执行。在该方法中,当确定Cb'和/或Cr' 分量包含误差时,推导校正Y'分量,以补偿Cb'和/或Cr'分量中的误差。该方法可选地还包括采用校正Y'分量对视频进行编码。
实施例的另一方面涉及一种用于预处理图片中的像素的装置。该装置配置成得到基于第一颜色空间中的像素的线性颜色所确定的第三颜色空间中的像素的原始线性照度分量值。该装置还配置成基于第二颜色空间中的第一非线性色度分量值、第二颜色空间中的第二非线性色度分量值以及第三颜色空间中的原始线性照度分量值来推导像素的第二颜色空间中的非线性亮度分量值。
在实施例中,该装置配置成基于第一颜色空间中的线性颜色来确定第三颜色空间中的原始线性照度分量值。
在实施例中,该装置配置成推导第二颜色空间中的非线性亮度分量值,其使第三颜色空间中的原始线性照度分量值与基于第二颜色空间中的非线性亮度分量值、第二颜色空间中的第一非线性色度分量值以及第二颜色空间中的第二非线性色度分量值所确定的第三颜色空间中的线性照度分量值之间的差为最小。
在实施例中,该装置配置成基于第二颜色空间中的二次取样的第一非线性色度分量值、第二颜色空间中的二次取样的第二非线性色度分量值以及第三颜色空间中的原始线性照度分量值来推导第二颜色空间中的非线性亮度分量值。
在实施例中,该装置配置成将第一转换函数应用于第一颜色空间中的原始线性颜色,以获得第一颜色空间中的非线性颜色。该装置还配置成将第一颜色变换应用于第一颜色空间中的非线性颜色,以获得第二颜色空间中的非线性颜色。第二颜色空间中的非线性颜色包括初始第一非线性色度分量值和初始第二非线性色度分量值。该装置还配置成对第二颜色空间中的初始第一非线性色度分量值和第二颜色空间中的初始第二非线性色度分量值进行二次取样,以获得第二颜色空间中的二次取样的第一非线性色度分量值和第二颜色空间中的二次取样的第二非线性色度分量值。
在实施例中,该装置配置成对第二颜色空间中的二次取样的第一非线性色度分量值和第二颜色空间中的二次取样的第二非线性色度分量值进行上取样,以获得第二颜色空间中的上取样的第一非线性色度分量值和第二颜色空间中的上取样的第二非线性色度分量值。该装置还配置成将第二颜色变换应用于第二颜色空间中的候选非线性亮度分量值、第二颜色空间中的上取样第一非线性色度分量值以及第二颜色空间中的上取样第二非线性色度分量值,以获得第一颜色空间中的非线性颜色。该装置还配置成将第二转换函数应用于第一颜色空间中的非线性颜色,以获得第一颜色空间中的线性颜色。该装置还配置成将第三颜色变换应用于第一颜色空间中的线性颜色,以获得第三颜色空间中的线性照度分量值。该装置还配置成基于第三颜色空间中的原始线性照度分量值和第三颜色空间中的线性照度分量值的比较,来推导非线性亮度分量值。
在实施例中,该装置配置成选择第二颜色空间中的候选非线性亮度分量,其使第三颜色空间中的原始线性照度分量与第三颜色空间中的线性照度分量之间的差减小(例如为最小)。
在实施例中,该装置配置成对于第二颜色空间中的不同候选非线性亮度分量值来执行第二颜色变换对第二颜色空间中的候选非线性亮度分量值、第二颜色空间中的上取样的第一非线性色度分量值和第二颜色空间中的上取样的第二非线性色度分量值的应用、第二转换函数对第一颜色空间中的非线性颜色的应用以及第三颜色变换对第一颜色空间中的线性颜色的应用。该装置还配置成在第二颜色空间中的不同候选非线性亮度分量值之间选择引起第三颜色空间中的原始线性照度分量值与第三颜色空间中的线性照度分量值之间的最小差的候选非线性亮度分量值。
在实施例中,该装置配置成执行二分搜索,以选择第二颜色空间中的候选非线性亮度分量值,其使第三颜色空间中的原始线性照度分量值与第三颜色空间中的线性照度分量值之间的差为最小。
在实施例中,该装置配置成对于搜索区间的中间的第二颜色空间中的候选非线性亮度分量值来执行第二颜色变换对第二颜色空间中的候选非线性亮度分量值、第二颜色空间中的上取样的第一非线性色度分量值和第二颜色空间中的上取样的第二非线性色度分量值的应用、第二转换函数对第一颜色空间中的非线性颜色的应用以及第三颜色变换对第一颜色空间中的线性颜色的应用。该装置还配置成如果第三颜色空间中的原始线性照度分量值与第三颜色空间中的线性照度分量值之间的差等于零,则选择搜索区间的中间的候选非线性亮度分量值。该装置还配置成如果第三颜色空间中的线性照度分量值大于第三颜色空间中的原始线性照度分量值,则以其他方式选择与装置在执行应用时使用的搜索区间相比具有一半大小并且结束于装置在执行应用时使用的候选非线性亮度分量值的搜索区间,或者如果第三颜色空间中的线性照度分量值小于第三颜色空间中的原始线性照度分量值,则选择与装置在执行应用时使用的搜索区间相比具有一半大小并且开始于装置在执行应用时使用的候选非线性亮度分量值的搜索区间。该装置还配置成重复执行搜索区间的应用和选择,直到第三颜色空间中的原始线性照度分量值与第三颜色空间中的线性照度分量值之间的差等于零或者搜索区间包括第二颜色空间中的单个候选非线性亮度分量值。
在实施例中,该装置配置成对第二颜色空间中的二次取样的第一非线性色度分量值和第二颜色空间中的二次取样的第二非线性色度分量值进行上取样,以获得第二颜色空间中的上取样的第一非线性色度分量值和第二颜色空间中的上取样的第二非线性色度分量值。该装置还配置成使用第三颜色空间中的原始线性照度分量值或者其非线性版本、第二颜色空间中的上取样的第一非线性色度分量值和第二颜色空间中的上取样的第二非线性色度分量值或者其量化版本作为对查找表的输入来从查找表检索第二颜色空间中的非线性亮度分量值。
在实施例中,该装置配置成将第一转换函数应用于第三颜色空间中的原始线性照度分量值,以获得第三颜色空间中的原始非线性照度分量值。该装置配置成使用第三颜色空间中的原始非线性照度分量值、第二颜色空间中的上取样的第一非线性色度分量值和第二颜色空间中的上取样的第二非线性色度分量值,或者其量化版本作为对查找表的输入来从查找表检索第二颜色空间中的非线性亮度分量值。
图32示出按照实施例、用于预处理图片的装置100的具体硬件实现。在实施例中,装置100包括确定单元101,其配置成得到第三颜色空间中的像素的原始线性照度分量值。装置100还包括推导器102,其配置成推导像素的第二颜色空间中的非线性亮度分量值。
在另一个实施例中,装置100包括确定单元101,其配置成确定 Cb'和/或Cr'包含误差。装置100还包括推导器102,其配置成推导校正Y'。装置100还包括视频编码器103,其配置成采用校正Y'对图片进行编码。
在实施例中,装置100还包括:输入单元104,配置成接收待编码视频;以及输出单元105,配置成输出编码的比特流。
输入单元104可采取通用输入单元的形式,特别是在到外部装置的有线连接的情况下。备选地,输入单元104可采取接收器或收发器的形式,特别是在到外部装置的无线连接的情况下。对应地,输出单元105可采取通用输出单元的形式,特别是在到外部装置的有线连接的情况下。备选地,输出单元105可采取发射器或收发器的形式,特别是在到外部装置的无线连接的情况下。
输入单元104优选地连接到确定单元101、推导器102和视频编码器103,以便对其转发待编码视频。确定单元101优选地连接到推导器102和视频编码器103。视频编码器103优选地连接到输出单元 105,以便例如向解码器转发编码的比特流。
适当硬件电路的具体示例包括一个或多个适当配置或者可能可重新配置的电子电路(例如专用集成电路(ASIC)、现场可编程门阵列(FPGA))或者任何其他硬件逻辑(例如基于分立逻辑门和/或触发器的电路,其被互连以结合适当寄存器(REG)和/或存储器单元来执行专用功能)。
备选地,本文所述的步骤、功能、过程、模块和/或块的至少一些可通过供适当处理电路(例如一个或多个处理器或处理单元)执行的软件(例如计算机程序)来实现。
处理电路的示例包括但不限于一个或多个微处理器、一个或多个数字信号处理器(DSP)、一个或多个中央处理单元(CPU)、视频加速硬件和/或任何适当可编程逻辑电路,例如一个或多个FPGA或者一个或多个可编程逻辑控制器(PLC)。
还应当理解,也许有可能再使用其中实现所提出技术的任何常规装置或单元的通用处理能力。还也许有可能例如通过现有软件的重新编程或者通过添加新软件组件来再使用现有软件。
在具体示例中,装置110(参见图33)包括处理器111和存储器112,其包含由处理器111可执行的指令。在实施例中,处理器111可操作以得到第三颜色空间中的像素的原始线性照度分量值。处理器 111还可操作以推导像素的第二颜色空间中的非线性亮度分量值。
在另一个实施例中,处理器111可操作以确定Cb'和/或Cr'分量包含误差以及何时确定Cb'和/或Cr分量包含误差。处理器111还可操作以推导校正Y'分量,以补偿Cb'和/或Cr'分量中的误差。
在实施例中,装置110还包括输入单元113,其配置成接收待编码视频。在这种情况下,处理器111可操作以从输入单元113接收待编码视频。
在实施例中,装置110还包括输出单元114,其配置成输出如从处理器111所接收的编码的比特流。
在具体实施例中,处理器111在运行存储器112中存储的指令时可操作以执行上述操作。处理器111由此互连到存储器112,以使能正常软件执行。
图34是示出包括处理器210、关联存储器220和通信电路230的用户设备(UE)200的示例的示意框图。
在这个具体示例中,本文所述的步骤、功能、过程、模块和/或块的至少一些通过计算机程序240(其被加载到存储器220中供包括一个或多个处理器210的处理电路执行)来实现。处理器210和存储器 220彼此互连,以使能正常软件执行。通信电路230还互连到处理器210和/或存储器220,以使能视频数据的输入和/或输出。
用户设备200能够是能够接收和处理视频数据的任何装置或设备。例如,用户设备200可以是固定或便携的计算机,例如膝上型电脑、智能电话、平板电脑、机顶盒、摄像机等。
术语‘处理器’应当按照一般意义来理解为能够运行程序代码或计算机程序指令以执行特定处理、确定或计算任务的任何系统或装置。
因此,包括一个或多个处理器的处理电路配置成在运行计算机程序时执行明确定义的处理任务(例如本文所述的那些任务)。
处理电路无需专用于仅运行上述步骤、功能、过程和/或块,而是还可运行其他任务。
在实施例中,计算机程序240包含指令,其在由处理器210运行时使处理器210得到基于第一颜色空间中的像素的线性颜色所确定的第三颜色空间中的图片中的像素的原始线性照度分量值。还使处理器 210基于第二颜色空间中的第一非线性色度分量值、第二颜色空间中的第二非线性色度分量值以及第三颜色空间中的原始线性照度分量值来推导像素的第二颜色空间中的非线性亮度分量值。
在实施例中,计算机程序240还包含指令,其在由处理器210运行时使处理器210对非线性亮度分量值、第一非线性色度分量值和第二非线性色度分量值进行编码。
在另一个实施例中,计算机程序240包括指令,其在由处理器210 运行时使处理器210确定Cb'和/或Cr'分量包含误差,以及当已经确定 Cb'和/或Cr'分量包含误差时,它们使处理器210推导校正Y'分量,以补偿Cb'和Cr'分量中的误差。
所提出技术还提供一种包含计算机程序240的载体250。载体250 是电子信号、光信号、电磁信号、磁信号、电信号、无线电信号、微波信号或计算机可读存储介质250其中之一。
作为示例,软件或计算机程序240可实现为计算机程序产品,其通常在计算机可读介质240(优选地为非易失性计算机可读存储介质 250)上携带或存储。计算机可读介质250可包括一个或多个可移除或者不可移除存储器装置,包括但不限于只读存储器(ROM)、随机存取存储器(RAM)、致密盘(CD)、数字多功能盘(DVD)、蓝光盘、通用串行总线(USB)存储器、硬盘驱动器(HDD)存储装置、闪速存储器、磁带或者任何其他常规存储器装置。因此,计算机程序240 可加载到计算机或等同的处理装置(通过图34的用户设备200所表示)的操作存储器中,以供其处理器210执行。
实施例的另外的方面还涉及一种表示图片中的像素的编码的版本的信号。编码的版本包括按照实施例的任一个所推导的按照第二颜色格式的二次取样的第一非线性色度分量值的编码的版本、按照第二颜色格式的二次取样的第二非线性色度分量值的编码的版本以及按照第二颜色格式的非线性亮度分量值的编码的版本。
在实施例中,信号是电子信号、光信号、电磁信号、磁信号、电信号、无线电信号和微波信号其中之一。
因此,本文所呈现的(一个或多个)流程图在由一个或多个处理器执行时可被看作是(一个或多个)计算机流程图。对应装置可定义为一组功能模块,其中由处理器所执行的每个步骤对应于功能模块。在这种情况下,功能模块实现为处理器上运行的计算机程序。因此,装置备选地可定义为一组功能模块,其中功能模块实现为在至少一个处理器上运行的计算机程序。
因此,驻留在存储器中的计算机程序可组织为适当功能模块,其配置成在由处理器运行时执行本文所述步骤和/或任务的至少一部分。这类功能模块的示例在图35中示出。
图35是用于采用功能模块来预处理图片中的像素的装置120的示意框图。在实施例中,装置120包括确定单元121,以用于得到基于第一颜色空间中的像素的线性颜色所确定的第三颜色空间中的像素的原始线性照度分量值。装置120还包括推导器122,以用于基于第二颜色空间中的第一非线性色度分量值、第二颜色空间中的第二非线性色度分量值以及第三颜色空间中的原始线性照度分量值来推导像素的第二颜色空间中的非线性亮度分量值。
在另一个实施例中,装置120包括确定单元121,以用于确定Cb' 和/或Cr'包含误差。装置120还包括推导器102,以用于推导校正Y'。装置120可选地还包括视频编码器123,以用于使用校正Y'对比特流进行编码。
实施例的另外的方面(参见图33)涉及一种用于对图片中的像素进行编码的装置110。装置110包括处理器111和存储器112,其包含由处理器111可执行的指令。处理器111可操作以得到基于第一颜色空间中的像素的线性颜色所确定的第三颜色空间中的像素的原始线性照度分量值。处理器111还可操作以基于第二颜色空间中的第一非线性色度分量值、第二颜色空间中的第二非线性色度分量值以及第三颜色空间中的原始线性照度分量值来推导像素的第二颜色空间中的非线性亮度分量值。处理器111还可操作以对非线性亮度分量值、第一非线性色度分量值和第二非线性色度分量值进行编码。
实施例的另外的方面(参见图35)涉及一种用于对图片中的像素进行编码的装置120。装置120包括确定单元121,以用于得到基于第一颜色空间中的像素的线性颜色所确定的第三颜色空间中的像素的原始线性照度分量值。装置120还包括推导器122,以用于基于第二颜色空间中的第一非线性色度分量值、第二颜色空间中的第二非线性色度分量值以及第三颜色空间中的原始线性照度分量值来推导像素的第二颜色空间中的非线性亮度分量值。装置120还包括编码器123,以用于对非线性亮度分量值、第一非线性色度分量值和第二非线性色度分量值进行编码。
按照一方面,提供一种单元(例如预处理器或编码器)。该单元配置成确定Cb'和/或Cr'分量包含误差,以及当已经确定Cb'和/或Cr' 分量包含误差时,它配置成推导校正Y'分量,以补偿Cb'和Cr'分量中的误差。
本实施例还涉及一种用户设备,其包括按照实施例的用于预处理像素的装置或者用于对像素进行编码的装置。该用户设备优选地是配置成接收和处理视频数据的装置或设备。用户设备例如可以是配置成通过接口(例如HDMI)来转发视频数据的装置或设备。
另一个实施例涉及一种用户设备,其包括按照实施例的用于预处理像素的装置或者用于对像素进行编码的装置。在这个实施例中,用户设备优选地从由计算机、膝上型电脑、智能电话、平板电脑和机顶盒所组成的组中选取。
变得越来越普遍的是在网络装置(例如网络节点和/或服务器)中提供计算服务(例如硬件和/或软件),其中资源作为服务通过网络来传递到远程位置。作为示例,这意味着,如本文所述的功能性能够分布或者再定位到一个或多个独立物理节点或服务器。功能性可再定位或分布到一个或多个联合起作用物理和/或虚拟机,其能够定位在(一个或多个)独立物理节点中(即,所谓的云中)。这有时又称作云计算,其是用于使能对可配置计算资源(例如网络、服务器、存储装置、应用和通用或定制服务)池的普遍存在按需网络访问的模型。
图36是示出功能性能够在一般情况下如何在不同网络装置300、 301、302之间分布或划分的示例的示意图。在这个示例中,存在至少两个单独但互连的网络装置300、301,其可具有在网络装置300、301 之间划分的不同功能性、或者相同功能性的部分。可存在作为这种分布式实现的部分的附加网络装置302。网络装置300、301、302可以是相同无线通信系统的部分,或者网络装置的一个或多个可以是位于无线通信系统外部的所谓基于云的网络装置。
图37是示出无线通信系统(包括与一个或多个基于云的网络装置300协作的接入网络1和/或核心网络2和/或操作和支持系统(OSS) 3)的示例的示意图。该图还示出按照实施例的接入网络1的网络节点4和用户设备5。
示例
近来,通过将分辨率从标准清晰度经由高清晰度增加到4k,在数字视频中已经取得质量的巨大增加。高动态范围(HDR)视频使用另一种方式来增加感知图像质量(即,通过增加对比度)。常规电视机系统被构建用于每平方米0.1坎德拉(cd/m2)与100cd/m2之间的照度或者照度的大约10倍,这一般称作标准动态范围(SDR)视频。作为比较,一些HDR监视器能够显示从0.01至4000cd/m2的范围(即,超过18倍)。
常规SDR处理
典型SDR系统(例如电视机或计算机监视器)常常使用8位表示,其中0表示暗,以及255表示亮。只是将代码值范围[0;255]线性地缩放到上述照度范围[0.1;100]cd/m2将不是理想的:前两个码字0和1 将分别映射到0.1cd/m2和0.49cd/m2,390%的相对差。另一方面,最后两个码字254和255将分别映射到99.61cd/m2和100cd/m2,仅0.3%的相对差。为了避免相对步长的这个大差异,SDR系统包括光电转换函数(EOTF),其按照非线性方式将代码值映射到照度。作为示例,红色分量首先除以255以获得值R01∈[0;1],并且然后经过幂函数R'=(R01)γ来馈送。
最后,R'缩放到范围[0.1;100],以获得单位为cd/m2的光表示。绿色和蓝色分量按照相同方式操控。通过选择γ=2.4,前两个码字之间的相对差变成0:16%,并且对最后两个码字是相同的(0.95%),其更为平衡。
SDR获取过程
假定照相机传感器测量线性光(R,G,B)(单位为cd/m2),第一步骤是与峰值明暗度相除,以获得归一化线性光(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处理
对于HDR数据(其可包括高达10000cd/m2的照度),简单幂函数不是对照度的整个范围的肉眼的对比灵敏度的良好拟合。γ的任何固定值将引起暗色调、亮色调或中间色调中的过于粗糙量化。为了解决这个问题,使用定义为下式的EOTF。
Figure GDA0003236113480001051
峰值照度也从100至10000改变。
问题
如果应用上述常规SDR处理,但是其具有上面定义的新EOTF 以及等于10000的峰值照度,则意外情况发生。如通过比较图38A和图38B以及图39A和图39B所示,伪像出现。要注意,对于图38A、图38B、图39A、图39B,除了二次取样和量化到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'值。这是常规色度二次取样中进行的情况。例如,获取来自上述第一像素的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'中携带,如与上述处理中只有照度的大部分在亮度Y'中携带 (其称作非恒定照度处理(NCL))相反。但是,CL的一个问题在于,它影响整个链;在4:2:0/4:2:2 CL表示与4:2:0/4:2:2 NCL表示之间来回转换危及在每一个转换步骤中引入伪像。因此,实际上难以将整个产业从常规NCL转换成CL。
所提出解决方案:亮度调整
基本思路是确保所产生照度匹配期望照度。照度表示(线性) CIE1931 XYZ颜色空间的Y分量。这个Y与上述亮度Y'不同,因为 Y从线性RGB值来计算,Y=wRR+wGG+wBB(等式1),其中 wR=0.2627,wG=0.6780,以及wB=0.0593。照度Y完全对应于人类视觉系统如何鉴别明暗度,因此良好地保留它是感兴趣的。这在图40 中示出,其中经处理信号(顶部)和原始信号(底部)两者转换成线性XYZ。Y分量则是颇为不同的,如在图中能够看到的。关键认识在于,亮度值Y'能够在每个像素中单独改变,并且因此有可能通过改变 Y',直到
Figure GDA0003236113480001076
等于YO,来达到正确期望的或原始线性照度YO,如图41 所示。情况还在于,
Figure GDA0003236113480001077
随Y'单调递增,这意味着有可能知道Y'应当被改变的方向。因此,简单方法(例如区间对分)能够用来在对10位量化的最多10个步骤找到最佳Y'。如果优选一步解决方案,则有可能使用3D查找表,其接受Cb、Cr和期望的线性照度YO,并且传递 Y'。
实现方面
本技术能够按照下列方式有效地实现:首先,每个像素的期望或原始照度YO通过将等式1应用于每个像素的原始(R,G,B)值来得到。其次,执行整个链:(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)→(色度上取样)→
Figure GDA0003236113480001071
→ (逆量化)→
Figure GDA0003236113480001072
然后对每个像素设置[0;1023]的起始区间。随后尝试候选值
Figure GDA0003236113480001073
从候选值来计算,以及使用先前计算的
Figure GDA0003236113480001074
有可能经过最后处理步骤,从而经过链
Figure GDA0003236113480001075
Figure GDA0003236113480001081
→(逆颜色变换)→
Figure GDA0003236113480001082
→(EOTF) →
Figure GDA0003236113480001083
→(去归一化)→
Figure GDA0003236113480001084
来产生
Figure GDA0003236113480001085
现在,这被馈入等式1中,以获得候选照度
Figure GDA0003236113480001086
对于给定像素,如果
Figure GDA0003236113480001087
Figure GDA0003236113480001088
则这意味着候选值
Figure GDA0003236113480001089
过小,并且正确亮度值必须在区间[512; 1023]中。同样,如果
Figure GDA00032361134800010810
则正确亮度值必须在区间[0;512]中。该过程现在重复进行,以及在10次迭代之后,区间包含两个相邻值。在这个阶段,两个值均被尝试,以及选择产生最小误差
Figure GDA00032361134800010811
的值。
结果
实现常规处理链,并且将其与我们的链进行比较,其包括亮度调整步骤,但是使解码器保持为相同。图38A-38C和图39A-39C示出未经压缩的结果。在这里,常规处理链(图38B和图39B)和我们的处理链(图38C和图39C)两者转换成Y'Cb'Cr'4:2:0,并且然后又回到线性RGB。图38A和图39A示出原始图片。总编码时间(颜色转换加HM压缩)与传统处理相比增加大约3%。
对于HDR材料,没有单独度量具有与SDR内容的PSNR相似的作用。而是报告两个度量,照度的tPSNR-Y和彩度的deltaE。在表 A5中,示出BT.709容器中的BT.709材料的未压缩结果。在这里看到如平均超过17dB以及对一个序列超过20dB的tPSNR-Y所测量的照度质量的大的增加。deltaE结果也改进。表A6示出BT.709材料或者 BT.2020容器中的P3材料的未压缩结果。在这里,增益不太显著,因为没有直接在色域边缘上的颜色是可用的,但是tPSNR-Y改进平均仍然为8dB以及对一些序列超过11dB。deltaE量度少许改进。要注意,对真正BT.2020材料,预计增益与表A5的增益更为相似。
表A5—Rec.709容器的tPSNR-Y和deltaE增加(dB)
Figure GDA00032361134800010812
Figure GDA0003236113480001091
表A6—BT.2020容器的tPSNR-Y和deltaE增加(dB)
Figure GDA0003236113480001092
附录B
这个附录B研究因4:2:0二次取样引起的颜色伪像。首先,进行交叉检查的尝试,但是最坏值可能因已经修复的HDRTools中的缺陷而不能再现。随后,对产生于4:2:0二次取样的照度中的最坏相对误差来执行搜索。发现即使在限制到4000尼特的屏幕上显示,86%的相对误差(195Barten步)也能够发生。即使数据限制到Rec709并且保持在BT.2020容器中,30Barten步的误差是可能的。对于BT.2020容器中的P3内容,40Barten步的误差是可能的。
1介绍
已经注意到,当使用4:2:0二次取样时,颜色的小变化能够引入极大伪像,即使没有压缩发生。
1.1交叉检查差异性
这个研究作为m35255[B1]的交叉检查开始,设法复制幻灯片13 上的结果,在下表B1中重印。结果来自测试图像,其中一直到像素 95的图像的左部具有颜色(3000,0,100),以及右部(像素96以及向前)具有颜色(3000,4,100)。
表B1—m35255的值
Figure GDA0003236113480001101
当使用与对锚点(n14548,[B2])相同的过程进行交叉检查时,获得表B2所示的结果。对于下取样,遵循在[B2]的第2.4.7小节所述的滤波器(2个和3个抽头),以及对于上取样,遵循[B2]的第2.4.8小节(4个抽头滤波器)。
表B2—设法交叉检查时的值
Figure GDA0003236113480001102
Figure GDA0003236113480001111
如能够看到,这非常不良地匹配,并且只有像素号94和98匹配,而对像素号95-97或99没有找到匹配。但是,改为移动间断到像素 97给出好得多的匹配,如表B3所示。
表B3—移动间断时的值
Figure GDA0003236113480001112
在表B3中,只有像素号96不匹配。那也是具有最奇异值(10000, 1.57,402.25)的像素,取决于放入间断的位置,正确答案为(3000,0, 100)或(3000,4,100)。
看来似乎好像交叉检查的失配归因于HDRtools中已经校正的误差。如果还原为修订版492,能够产生与m35255[B1]中相同的值。为了确认HDRtools的更新版本(修订版573)是正确的,通过Matlab 单独实现处理链,并且获得与表B3中相同的结果。必须移动间断以获得匹配的原因可能是归因于修订版492中的错误滤波,其在当前版本中已经修复。
1.2舍入问题
当实现Matlab交叉检查时,认识到浮点到HDRtools中的EXR的转换缺乏舍入。不是将尾数的23位舍入到10位,它们而是只被右移,基本上采用floor()替代round()。这影响最终结果。作为示例, 3007.9的浮点将转换成3006.0,即使3008.0是更接近的值。为了获得匹配,使Matlab代码模拟HDRtools的当前修订版([B3]的修订版587) 中的floor()-类型转换。
1.3颜色异常值
要注意,即使像素96不再是极端异常值,像素97也仍然远不够正确:(5860,2.58,199)而不是(3000,4,100)。这造成问题;4:2:0 二次取样如何生成不良异常值以及在哪里发生这种情况?为了回答这个问题,首先必须定义“不良”的含意。集中于照度,因为人类视觉系统对照度方面的变化比对彩度方面的变化更为敏感。因此将输入EXR 图像和输出EXR图两者的两个像线性光变换成XYZ,并且形成Y中的差。为了获得相对误差,然后除以原始的Y分量。然后编写使像素 97对左部具有一个颜色并且右部是相同颜色加上长度4的小增量的类型的全部可能图像的这个相对误差为最小的小程序,正如m35255[B1] 中所进行的。
运行这个程序给出答案:具有左部的颜色(2142,0,138)和右部的(2142,4,138)给出最大可见误差,如表B4所示。寻找“最坏”误差的优化软件没有保证找到全局最大数,因此色域中的甚至更坏位置可存在。
表B4—4:2:0二次取样的“最坏”颜色的数据
Figure GDA0003236113480001131
应当注意,具有高于2142的红色分量将生成甚至更高的相对误差。但是,假定高于4000的RGB值将由监视器削减到4000,因此认为如果使用更高值则实际屏幕上差异将开始消失。
如在表B4中能够看到,RGB 4:4:4的相对误差为0.0304%。客观地对待,将其与Barten曲线进行比较,参见示出对比灵敏度的Barten 曲线的图42。低于曲线的对比度不是可注意的。表B5示出用于绘制图42的曲线的值。
表B5—用于绘制Barten曲线的值
Figure GDA0003236113480001132
Figure GDA0003236113480001141
如在图42中能够看到的,相对误差的容差随增加的照度而减小。在100尼特,0.44%的误差能够是刚好可注意的,而在1000尼特,0.40%的误差能够是刚好可注意的。由于455尼特就在这些之间,所以使用 0.44%的更高值。这给出0.069的Barten步,这意味着它不是可注意的。
另一方面,对于4:2:0二次取样,相对误差为85.92%。这相当于超过195Barten步,其应当是清楚可见的。因此,看来合理的是推断 4:2:0二次取样能够至少与非恒定照度和高非线性转换函数共同创建清楚可见伪像,正如锚点生成中的情况。
要注意,最坏误差就在色域的边界上;因为绿颜色为零,所以颜色(2142,0,138)处于红色基色与绿色基色之间的线条上。这与m35255 [B1]中报告的内容一致,其也指出色域边缘上的颜色有问题。
1.4当输入为709数据时
表A1所示数据用于BT.2020基色。如果输入数据采用Rec709基色,但是容器为BT.2020,则将不可能到达色域边界。这归因于如下事实:Rec709色域三角形处于BT.2020三角形内部,没有接触色域边界,如在图43中能够看到的。因此假定相对误差将较小是合理的。
已经运行优化软件以查找Rec709颜色,其在到BT.2020的转换之后将引起最大相对误差。所产生的两个颜色是屏幕左部的(0,0,50) 和右部的(2,3,49)。这在表B6中示出。
表B6—如果输入为Rec709并且容器格式为BT.2020的4:2:0二次取样的“最坏”颜色的数据
Figure GDA0003236113480001142
Figure GDA0003236113480001151
在这里已经使用在10尼特的Barten曲线,其等于0.54%。对于 RGB 4:4:4,则获得在1.2305Barten步是刚好可注意的误差,而RGB 4:2:0中的误差等于33Barten步,其应当是清楚可见的。误差较小(33 Barten步对195Barten步)也是合理的,因为以Rec709数据开始阻止颜色到达BT.2020的色域边缘的所有部分。
还要注意如何找到优化结果:最坏误差在蓝基色附近是可用的。这可能是因为蓝Rec709基色最接近BT.2020色域边缘,如在图43中能够看到的。
1.5当输入为P3数据时
相同测试能够对BT.2020容器中包含的P3源数据来执行。最坏颜色则为(2.48,3.32,4.63)和(3.29,0,6.71),如表B7所示。
表B7—如果输入为P3并且容器格式为BT.2020的4:2:0二次取样的“最坏”颜色的数据
Figure GDA0003236113480001152
Figure GDA0003236113480001161
假定误差在Rec709与BT.2020之间的误差的某个位置,并且情况也是这样,这时获得相当于40.38Barten步的误差。要注意,由于 Barten值发生变化,所以重要的是在搜索最坏值时将它包含在循环中。使用1cd/m2的Barten曲线,其等于0.85%。
1.6结论
这个附录研究因4:2:0二次取样引起的照度中的误差。虽然尚未能够匹配来自m35255[B1]的最坏异常值,但是最坏情况误差仍然是显著的,达到一般数据的几乎200Barten步。即使源数据限制到Rec709 并且放入BT.2020容器,误差也仍然是显著的,超过30Barten步,以及对BT.2020容器中的P3数据超过40Barten步。
上述实施例要被理解为本发明的几个说明性示例。本领域的技术人员将会理解,可对实施例进行各种修改、组合和变更,而没有背离本发明的范围。具体来说,不同实施例中的不同部分解决方案在其他配置中、在技术上可能的情况下能够相组合。但是,本发明的范围通过所附权利要求书所限定。
参考文献
[1]Tourapis et al.,Enhanced Luma Adjustment Methods,JointCollaborative Team on Video Coding (JCT-VC)of ITU-T SG 16 WP 3 and ISO/IECJTC 1/SC 29/WG 11,23rd Meeting:San Diego,USA,19- 26 February 2016,Document:JCTVC-W0052
[2]Norkin,Closed form HDR 4:2:0 chroma subsampling(HDR CE1 and AHG5related),Joint Collaborative Team on Video Coding(JCT-VC)of ITU-T SG 16 WP 3and ISO/IEC JTC 1/SC 29/WG 11, 23rd Meeting:San Diego.USA.19-26 February2016.Document:JCTVC-W0107
[A4]International Organization for Standardization,ISO/IEC JTC1/SC29/WG11,Coding of moving pictures and audio,MPEG2014/N15083,February 2015,Geneva,Switzerland,Luthra et al.,Call for Evidence(CfE)for HDR and WCG VideoCoding
[B1]International Organization for Standardization,ISO/IEC JTC1/SC29/WG11,Coding of moving pictures and audio,MPEG2013/M35255,October 2014,Strasbourg,France,Francois et al.,About using a BT.2020 container for BT.709content
[B2]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 HDR and WideGamut Content Distribution
[B3]https://wg11.sc29.org/svn/repos/Explorations/XYZ/HDRTools/ branches/0.9-dev

Claims (41)

1.一种处理图片中的像素的方法,所述像素具有在第一颜色空间中定义的至少一个原始颜色分量值,所述方法包括:
检查(S1)引起基于所述像素在第二颜色空间中的颜色分量值而确定的所述像素在第三颜色空间中的至少一个颜色分量值与基于在所述第一颜色空间中定义的所述像素的所述至少一个原始颜色分量值而确定的所述像素在所述第三颜色空间中的颜色分量值之间的最小误差的所述像素在所述第二颜色空间中的所述颜色分量值是否使使用了所述像素在所述第二颜色空间中的所述颜色分量值的、在所述第一颜色空间中为所述像素确定的任何颜色分量值落在容许范围外;
如果引起所述最小误差的所述第二颜色空间中的所述颜色分量值没有使在所述第一颜色空间中为所述像素确定的任何所述颜色分量值落在所述容许范围外,则使用第一函数或第一查找表来得到(S2)所述像素在所述第二颜色空间中的所述颜色分量的值;以及
如果引起所述最小误差的所述第二颜色空间中的所述颜色分量值使在所述第一颜色空间中为所述像素确定的任何所述颜色分量值落在所述容许范围外,则使用第二不同函数或第二不同查找表来得到(S3)所述像素在所述第二颜色空间中的所述颜色分量的值。
2.根据权利要求1所述的方法,其中
检查(S1)引起所述最小误差的所述像素在所述第二颜色空间中的所述颜色分量值是否使在所述第一颜色空间中为所述像素确定的任何颜色分量值落在所述容许范围外包括检查(S1)引起i)基于所述像素在所述第二颜色空间中的所述颜色分量值而确定的所述像素在所述第三颜色空间中的颜色分量值与基于所述像素在所述第一颜色空间中的所述至少一个原始颜色分量值而确定的所述像素在所述第三颜色空间中的原始颜色分量值之间的或者ii)基于所述像素在所述第二颜色空间中的所述颜色分量值而确定的所述像素在所述第一颜色空间中的颜色分量值与在所述第一颜色空间中定义的所述像素的所述至少一个原始颜色分量值之间的最小误差的所述像素在所述第二颜色空间中的颜色分量值是否使使用了所述像素在所述第二颜色空间中的所述颜色分量值的、在所述第一颜色空间中为所述像素确定的任何颜色分量值落在所述容许范围外。
3.根据权利要求2所述的方法,其中
检查(S1)引起所述最小误差的所述像素在所述第二颜色空间中的所述颜色分量值是否使在所述第一颜色空间中为所述像素确定的任何颜色分量值落在所述容许范围外包括检查(S1)引起i)基于所述像素在所述第二颜色空间中的亮度分量值而确定的所述像素在所述第三颜色空间中的照度值与基于所述像素在所述第一颜色空间中的包括原始红、绿和蓝颜色分量值的所述至少一个原始颜色分量值而为所述像素确定的所述第三颜色空间中的原始照度值之间的或者ii)基于所述第二颜色空间中的所述亮度分量值而在所述第一颜色空间中为所述像素确定的红、绿和蓝颜色分量值与所述像素在所述第一颜色空间中的所述原始红、绿和蓝颜色分量之间的最小误差的所述像素在所述第二颜色空间中的所述亮度分量值是否使使用了所述第二颜色空间中的所述亮度分量值的、在所述第一颜色空间中为所述像素确定的任何红、绿和蓝颜色分量值落在所述容许范围外;
使用所述第一函数或所述第一查找表来得到(S2)所述像素在所述第二颜色空间中的所述颜色分量的所述值包括如果引起所述最小误差的所述亮度分量值没有使在所述第一颜色空间中为所述像素确定的任何所述红、绿或蓝颜色分量值落在所述容许范围外,则使用所述第一函数或所述第一查找表来得到(S2)所述像素在所述第二颜色空间中的所述亮度分量的值;以及
使用所述第二不同函数或所述第二不同查找表来得到(S3)所述像素在所述第二颜色空间中的所述颜色分量的所述值包括如果引起所述最小误差的所述亮度分量值使在所述第一颜色空间中为所述像素确定的任何所述红、绿或蓝颜色分量值落在所述容许范围外,则使用所述第二不同函数或所述第二不同查找表来得到(S3)所述像素在所述第二颜色空间中的所述亮度分量的值。
4.根据权利要求1至3中的任一项所述的方法,其中检查(S1)引起所述最小误差的所述像素在所述第二颜色空间中的所述颜色分量值是否使在所述第一颜色空间中为所述像素确定的任何颜色分量值落在所述容许范围外包括检查(S1)引起所述最小误差的所述像素在所述第二颜色空间中的所述颜色分量值是否使在所述第一颜色空间中为所述像素确定的任何所述颜色分量值削减。
5.根据权利要求1至3中的任一项所述的方法,其中检查(S1)引起所述最小误差的所述像素在所述第二颜色空间中的所述颜色分量值是否使在所述第一颜色空间中为所述像素确定的任何颜色分量值落在所述容许范围外包括检查(S1)引起所述最小误差的所述像素在所述第二颜色空间中的所述颜色分量值是否使在所述第一颜色空间中为所述像素确定的任何所述颜色分量值大于一或小于零。
6.根据权利要求1至3中的任一项所述的方法,其中检查(S1)引起所述最小误差的所述像素在所述第二颜色空间中的所述颜色分量值是否使在所述第一颜色空间中为所述像素确定的任何颜色分量值落在所述容许范围外包括检查(S1)引起所述最小误差的所述像素在所述第二颜色空间中的所述颜色分量值是否使在所述第一颜色空间中为所述像素确定的任何所述颜色分量饱和。
7.根据权利要求1至3中的任一项所述的方法,其中
使用所述第一函数或所述第一查找表来得到(S2)所述像素在所述第二颜色空间中的所述颜色分量的所述值包括如果所述像素在所述第二颜色空间中的所述颜色分量值没有使在所述第一颜色空间中为所述像素确定的任何所述颜色分量值落在所述容许范围外,则使用第一线性化函数来计算(S2)所述像素在所述第二颜色空间中的所述颜色分量的所述值;以及
使用所述第二不同函数或所述第二不同查找表来得到(S3)所述像素在所述第二颜色空间中的所述颜色分量的所述值包括如果引起所述最小误差的所述第二颜色空间中的所述颜色分量值使在所述第一颜色空间中为所述像素确定的任何所述颜色分量值落在所述容许范围外,则使用第二不同线性化函数或者反函数来计算(S3)所述像素在所述第二颜色空间中的所述颜色分量的所述值。
8.根据权利要求7所述的方法,其中使用所述第二不同线性化函数或者所述反函数来计算(S3)所述像素在所述第二颜色空间中的所述颜色分量的所述值包括:
取决于在所述第一颜色空间中为所述像素确定的哪一个颜色分量值或哪些颜色分量值落在所述容许范围外来选择(S10)所述第二不同线性化函数或者所述反函数;以及
使用所述选择的第二不同线性化函数或者所述选择的反函数来计算(S11)所述像素在所述第二颜色空间中的所述颜色分量的所述值。
9.根据权利要求8所述的方法,其中
检查(S1)引起所述最小误差的所述像素在所述第二颜色空间中的所述颜色分量值是否使在所述第一颜色空间中为所述像素确定的任何颜色分量值落在所述容许范围外包括检查(S1)引起基于亮度分量Y'而在所述第三颜色空间中为所述像素确定的照度Y与基于在所述第一颜色空间中为所述像素定义的包括原始红、绿和蓝颜色分量值RoGoBo的所述至少一个原始颜色分量值而在所述第三颜色空间为所述像素确定的原始照度Yo之间的最小误差的所述像素在所述第二颜色空间中的所述亮度分量值Y'是否使使用了所述像素在所述第二颜色空间中的所述亮度分量值Y′的、在所述第一颜色空间中为所述像素确定的红、绿和蓝颜色分量值的任一个削减;
如果引起所述最小误差的所述第二颜色空间中的所述亮度分量值Y′没有使在所述第一颜色空间中为所述像素确定的所述红、绿、蓝颜色分量值的任一个削减的话,使用所述第一函数或所述第一查找表计算(S2)所述像素在所述第二颜色空间中的所述颜色分量的所述值包括将所述亮度分量Y′的值计算(S2)为
Figure FDA0003236113470000051
其中wR,wG,wB表示颜色权重,a13,a22,a23,a32表示从Y′CbCr颜色到R′G′B′颜色的颜色变换的正常数,Cb、Cr表示所述像素在所述第二颜色空间中的色度分量值P=tf(P′),其中P=红(R)、绿(G)或蓝(B),tf(.)是转换函数,以及tf′(Po′)表示所述转换函数在Po′的导数;
选择(S10)所述第二不同线性化函数或者所述反函数包括:
如果在所述第一颜色空间中为所述像素确定的所述红颜色分量值削减的话,选择所述第二不同线性化函数
Figure FDA0003236113470000052
如果在所述第一颜色空间中为所述像素确定的所述绿颜色分量值削减的话,选择所述第二不同线性化函数
Figure FDA0003236113470000053
如果在所述第一颜色空间中为所述像素确定的所述蓝颜色分量值削减的话,选择所述第二不同线性化函数
Figure FDA0003236113470000054
如果在所述第一颜色空间中为所述像素确定的所述红颜色分量值和所述绿颜色分量值削减的话,选择所述反函数
Figure FDA0003236113470000061
其中tf1(.)表示所述转换函数tf(.)的逆;
如果在所述第一颜色空间中为所述像素确定的所述红颜色分量值和所述蓝颜色分量值削减的话,选择所述反函数
Figure FDA0003236113470000062
以及
如果在所述第一颜色空间中为所述像素确定的所述绿颜色分量值和所述蓝颜色分量值削减的话,选择所述反函数
Figure FDA0003236113470000063
10.根据权利要求9所述的方法,还包括计算(S20)Y′redclip=1-a13Cr、Y′greenclip=1+a22Cb+a23Cr和Y′blueclip=1-a32Cb,并且其中检查(S1)引起所述最小误差的所述像素在所述第二颜色空间中的所述亮度分量值Y′是否使在所述第一颜色空间中为所述像素确定的所述红、绿和蓝颜色分量值的任一个削减包括基于Y′redclip、Y′greenclip和Y′blueclip中的最小值来检查(S1)引起所述最小误差的所述像素的所述亮度分量值Y′是否使为所述像素确定的所述红、绿和蓝颜色分量值的任一个削减。
11.根据权利要求10所述的方法,还包括:
选择(S21)最小值Y′firstclip=min(Y′redclip,Y′greenclip,Y′blueclip);以及
计算(S22)Yfirstclip=wRtf(Y′firstclip+a13Cr)+wGtf(Y′firstclip-a22Cb-a23Cr)+wBtf(Y′firstclip+a32Cb),其中检查(S1)引起所述最小误差的所述像素在所述第二颜色空间中的所述亮度分量值Y′是否使在所述第一颜色空间中为所述像素确定的所述红、绿和蓝颜色分量值的任一个削减包括检查(S1)是否Yo<Yfirstclip。
12.根据权利要求11所述的方法,还包括:
选择(S24)中值Y′secondclip=median(Y′redclip,Y′greenclip,Y′blueclip);以及
计算(S25)Ysecondclip=wRtf(Y′secondclip+a13Cr)+wGtf(Y′secondclip-a22Cb-a23Cr)+wBtf(Y′secondclip+a32Cb),其中检查(S1)引起所述最小误差的所述像素在所述第二颜色空间中的所述亮度分量值Y′是否使在所述第一颜色空间中为所述像素确定的所述红、绿和蓝颜色分量值的任一个削减包括:
如果Yo<Yfirstclip,则确定(S27)引起所述最小误差的所述亮度分量值Y′没有使为所述像素确定的所述红、绿或蓝颜色分量值的任一个削减;
如果Yfirstclip≤Yo<Ysecondclip,则确定(S28)引起所述最小误差的所述亮度分量值Y′使为所述像素确定的所述红、绿和蓝颜色分量值的其中之一削减;以及
如果Yo≥Ysecondclip,则确定(S29)引起所述最小误差的所述亮度分量值Y′使为所述像素确定的所述红、绿和蓝颜色分量值中的两个削减。
13.根据权利要求1至3中的任一项所述的方法,其中检查(S1)引起所述最小误差的所述像素在所述第二颜色空间中的所述颜色分量值是否使在所述第一颜色空间中为所述像素确定的任何颜色分量值落在所述容许范围外包括检查(S1)引起使用了所述亮度分量值Y′的、在所述第一颜色空间中为所述像素确定的红、绿和蓝颜色分量值RGB与在所述第一颜色空间中为所述像素定义的包括原始红、绿和蓝颜色分量值RoGoBo的所述像素的所述至少一个原始颜色分量值之间的最小误差的所述像素在所述第二颜色空间中的亮度分量值Y′是否使使用了所述像素在所述第二颜色空间中的亮度分量值Y′的、在所述第一颜色空间中为所述像素确定的红、绿和蓝颜色分量值的任一个削减。
14.根据权利要求13所述的方法,其中检查(S1)引起所述最小误差的所述像素在所述第二颜色空间中的所述颜色分量值是否使在所述第一颜色空间中为所述像素确定的任何颜色分量值落在所述容许范围外、使用所述第一函数或所述第一查找表来得到(S2)所述像素在所述第二颜色空间中的所述颜色分量的所述值和使用所述第二不同函数或所述第二不同查找表来得到(S3)所述像素在所述第二颜色空间中的所述颜色分量的所述值包括:
计算(S30)Y′redclip=1-a13Cr、Y′greenclip=1+a22Cb+a23Cr和Y′blueclip=1-a32Cb,其中a13,a22,a23,a32表示从Y′CbCr颜色到R′G′B′颜色的颜色变换的正常数,Cb、Cr表示所述像素在所述第二颜色空间中的色度分量值;
将所述亮度分量Y′的第一值Y′rgb计算(S31)为
Figure FDA0003236113470000081
其中wR,wG,wB表示颜色权重,a13,a22,a23,a32表示从Y′CbCr颜色到R′G′B′颜色的颜色变换的正常数,P=tf(P′),其中P=红(R)、绿(G)或蓝(B),tf(.)是转换函数,以及tf′(Po′)表示所述转换函数在Po′的导数;
如果Y′redclip=min(Y′redclip,Y′greenclip,Y′blueclip)的话,将所述亮度分量Y′的第二值Y′one计算(S32)为等于
Figure FDA0003236113470000082
如果Y′greenclip=min(Y′redclip,Y′greenclip,Y′blueclip)的话,将所述亮度分量Y′的第二值Y′one计算(S32)为等于
Figure FDA0003236113470000091
以及
如果Y′blueclip=min(Y′redclip,Y′greenclip,Y′blueclip)的话,将所述亮度分量Y′的第二值Y′one计算(S32)为等于
Figure FDA0003236113470000092
如果Y′redclip=max(Y′redclip,Y′greenclip,Y′blueclip)的话,将所述亮度分量Y′的第三值Y′two计算(S33)为等于
Figure FDA0003236113470000093
如果Y′greenclip=max(Y′redclip,Y′greenclip,Y′blueclip)的话,将所述亮度分量Y′的第三值Y′two计算(S33)为等于
Figure FDA0003236113470000094
以及
如果Y′blueclip=max(Y′redclip,Y′greenclip,Y′blueclip)的话,将所述亮度分量Y′的第三值Y′two计算(S33)为等于
Figure FDA0003236113470000095
计算(S34)第一误差值errRGB(Y′rgb)=wR(tf(Y′rgb+a13Cr)-Ro)2+wG(tf(Y′rgb-a22Cb-a23Cr)-Go)2+wB(tf(Y′rgb+a32Cb)-Bo)2
计算(S35)第二误差值errRGBone,其中如果Y′redclip=min(Y′redclip,Y′greenclip,Y′blueclip)的话,则errRGBone=wR(10000-Ro)2+wG(tf(Y′gb-a22Cb-a23Cr)-Go)2+wB(tf(Y′gb+a32Cb)-Bo)2,如果Y′greenclip=min(Y′redclip,Y′greenclip,Y′blueclip)的话,则errRGBone=wR(tf(Y′rb+a13Cr)-Ro)2+wG(10000-Go)2+wB(tf(Y′rb+a32Cb)-Bo)2,以及如果Y′blueclip=min(Y′redclip,Y′greenclip,Y′blueclip)的话,则errRGBone=wR(tf(Y′rg+a13Cr)-Ro)2+wG(tf(Y′rg-a22Cb- a23Cr)-Go)2+wB(10000-Bo)2
计算(S36)第三误差值errRGBtwo,其中如果Y′redclip=max(Y′redclip,Y′greenclip,Y′blueclip)的话,则errRGBtwo=wR(tf(Y′r+a13Cr)-Ro)2+wG(10000-Go)2+wB(10000-Bo)2,如果Y′greenclip=max(Y′redclip,Y′greenclip,Y′blueclip),则errRGBtwo=wR(10000-Ro)2+wG(tf(Y′g-a22Cb-a23Cr)-Go)2+wB(10000-Bo)2,以及如果Y′blueclip=max(Y′redclip,Y′greenclip,Y′blueclip),则errRGBtwo=wR(10000-Ro)2+wG(1000-Go)2+wB(tf(Y′b+a32Cb)-Bo)2;以及
如果errRGB(Y′rgb)=min(errRGB(Y′rgb),errRGBone,errRGBtwo)的话,选择(S37)Y′rgb作为所述亮度分量Y′的所述值,如果errRGBone=min(errRGB(Y′rgb),errRGBone,errRGBtwo)的话,选择(S37)Y′one作为所述亮度分量Y′的所述值,以及如果errRGBtwo=min(errRGB(Y′rgb),errRGBone,errRGBtwo)的话,选择(S37)Y′two作为所述亮度分量Y′的所述值。
15.根据权利要求9所述的方法,其中检查(S1)引起所述最小误差的所述像素在所述第二颜色空间中的所述亮度分量值Y′是否使在所述第一颜色空间中为所述像素确定的所述红、绿和蓝颜色分量值的任一个削减包括从查找表并且对于所述像素的所述红、绿和蓝颜色分量值的每个颜色分量值使用所述像素的所述色度分量值Cb、Cr和所述原始照度值Yo或者其量化版本作为输入来检索(S1)指示引起所述最小误差的所述像素在所述第二颜色空间中的所述亮度分量值Y′是否使在所述第一颜色空间中为所述像素确定的所述红、绿或蓝颜色分量值削减的位。
16.根据权利要求1至3中的任一项所述的方法,还包括计算(S30)Y′redclipZero=-a13Cr、Y′greenclipZero=a22Cb+a23Cr和Y′blueclipZero=1-a32Cb,其中a13,a22,a23,a32表示从Y′CbCr颜色到R′G′B′颜色的颜色变换的正常数,Y′表示所述像素在所述第二颜色空间中的亮度分量值,Cb、Cr表示所述像素在所述第二颜色空间中的色度分量值,并且其中检查(S1)引起所述最小误差的所述像素在所述第二颜色空间中的所述颜色分量值是否使在所述第一颜色空间中为所述像素确定的任何颜色分量值落在所述容许范围外包括基于Y′redclipZero=-a13Cr、Y′greenclipZero=a22Cb+a23Cr和Y′blueclipZero=1-a32Cb中的至少一个来检查(S1)引起i)基于亮度分量值Y′而在所述第三颜色空间中为所述像素确定的照度值Y与基于在所述第一颜色空间中为所述像素定义的包括原始红、绿和蓝颜色分量值RoGoBo的所述像素的所述至少一个原始颜色分量值而在所述第三颜色空间中为所述像素确定的原始照度Yo之间的或者ii)使用所述亮度分量值Y′而在所述第一颜色空间中为所述像素确定的红、绿和蓝颜色分量值RGB与在所述第一颜色空间中为所述像素定义的所述原始红、绿和蓝颜色分量值RoGoBo之间的最小误差的所述像素在所述第二颜色空间中的所述亮度分量值Y′是否使在所述第一颜色空间中为所述像素确定的红、绿和蓝颜色分量值的任一个相对零削减。
17.根据权利要求1至3中的任一项所述的方法,其中
使用所述第一函数或所述第一查找表来得到(S2)所述像素在所述第二颜色空间中的所述颜色分量的所述值包括如果所述像素在所述第二颜色空间中的所述颜色分量值没有使在所述第一颜色空间中为所述像素确定的任何颜色分量值落在所述容许范围外,则从第一查找表检索(S2)所述像素在所述第二颜色空间中的所述颜色分量的所述值:以及
使用所述第二不同函数或所述第二不同查找表来得到(S3)所述像素在所述第二颜色空间中的所述颜色分量的所述值包括如果所述像素在所述第二颜色空间中的所述颜色分量值使在所述第一颜色空间中为所述像素确定的任何颜色分量值落在所述容许范围外,则从第二不同查找表检索(S3)所述像素在所述第二颜色空间中的所述颜色分量的所述值。
18.根据权利要求17所述的方法,其中从所述第二不同查找表检索(S3)所述像素在所述第二颜色空间中的所述颜色分量的所述值包括:
取决于在所述第一颜色空间中为所述像素确定的哪一个颜色分量值或哪些颜色分量值落在所述容许范围外来选择(S40)所述第二不同查找表;以及
从所述所选第二不同查找表检索(S41)所述像素在所述第二颜色空间中的所述颜色分量值的所述值。
19.一种对图片中的像素进行编码的方法,所述方法包括:
根据权利要求1至18中的任一项来处理(S1、S2、S3)所述像素,以推导所述像素在所述第二颜色空间中的亮度分量的值;以及
对所述像素的所述亮度分量的所述值以及在所述第二颜色空间中为所述像素确定的二次取样的色度分量的值进行编码(S4)。
20.一种处理图片中的像素的装置(100、110、120、130),所述像素具有在第一颜色空间中定义的至少一个原始颜色分量值,其中
所述装置(100、110、120、130)被配置成检查引起基于所述像素在第二颜色空间中的颜色分量值而确定的所述像素在第三颜色空间中的至少一个颜色分量值与基于在所述第一颜色空间中定义的所述像素的所述至少一个原始颜色分量值而确定的所述像素在所述第三颜色空间中的颜色分量值之间的最小误差的所述像素在所述第二颜色空间中的所述颜色分量值是否使使用了所述像素在所述第二颜色空间中的所述颜色分量值的、在所述第一颜色空间中为所述像素确定的任何颜色分量值落在容许范围外;
所述装置(100、110、120、130)被配置成如果引起所述最小误差的所述第二颜色空间中的所述颜色分量值没有使在所述第一颜色空间中为所述像素确定的任何所述颜色分量值落在所述容许范围外,则使用第一函数或第一查找表来得到所述像素在所述第二颜色空间中的所述颜色分量的值;以及
所述装置(100、110、120、130)被配置成如果引起所述最小误差的所述第二颜色空间中的所述颜色分量值使在所述第一颜色空间中为所述像素确定的任何所述颜色分量值落在所述容许范围外,则使用第二不同函数或第二不同查找表来得到所述像素在所述第二颜色空间中的所述颜色分量的值。
21.根据权利要求20所述的装置,其中
所述装置(100、110、120、130)被配置成检查引起i)基于所述像素在所述第二颜色空间中的所述颜色分量值而确定的所述像素在所述第三颜色空间中的颜色分量值与基于所述像素在所述第一颜色空间中的所述至少一个原始颜色分量值而确定的所述像素在所述第三颜色空间中的原始颜色分量值之间的或者ii)基于所述像素在所述第二颜色空间中的所述颜色分量值而确定的所述像素在所述第一颜色空间中的颜色分量值与在所述第一颜色空间中定义的所述像素的所述至少一个原始颜色分量值之间的最小误差的所述像素在所述第二颜色空间中的颜色分量值是否使使用了所述像素在所述第二颜色空间中的所述颜色分量值的、在所述第一颜色空间中为所述像素确定的任何颜色分量值落在所述容许范围外。
22.根据权利要求21所述的装置,其中
所述装置(100、110、120、130)被配置成检查引起i)基于所述像素在所述第二颜色空间中的亮度分量值而确定的所述像素在所述第三颜色空间中的照度值与基于所述像素在所述第一颜色空间中的包括原始红、绿和蓝颜色分量值的所述至少一个原始颜色分量值而为所述像素确定的所述第三颜色空间中的原始照度值之间的或者ii)基于所述第二颜色空间中的所述亮度分量值在所述第一颜色空间中为所述像素确定的红、绿和蓝颜色分量值与所述像素在所述第一颜色空间中的所述原始红、绿和蓝颜色分量之间的最小误差的所述像素在所述第二颜色空间中的所述亮度分量值是否使使用了所述第二颜色空间中的所述亮度分量值的、在所述第一颜色空间中为所述像素确定的任何红、绿和蓝颜色分量值落在所述容许范围外;
所述装置(100、110、120、130)被配置成如果引起所述最小误差的所述亮度分量值没有使在所述第一颜色空间中为所述像素确定的任何所述红、绿或蓝颜色分量值落在所述容许范围外,则使用所述第一函数或所述第一查找表来得到所述像素在所述第二颜色空间中的所述亮度分量的值;以及
所述装置(100、110、120、130)被配置成如果引起所述最小误差的所述亮度分量值使在所述第一颜色空间中为所述像素确定的任何所述红、绿或蓝颜色分量值落在所述容许范围外,则使用所述第二不同函数或所述第二不同查找表来得到所述像素在所述第二颜色空间中的所述亮度分量的值。
23.根据权利要求20至22中的任一项所述的装置,其中所述装置(100、110、120、130)被配置成检查引起所述最小误差的所述像素在所述第二颜色空间中的所述颜色分量值是否使在所述第一颜色空间中为所述像素确定的任何所述颜色分量值削减。
24.根据权利要求20至22中的任一项所述的装置,其中所述装置(100、110、120、130)被配置成检查引起所述最小误差的所述像素在所述第二颜色空间中的所述颜色分量值是否使在所述第一颜色空间中为所述像素确定的任何所述颜色分量值大于一或小于零。
25.根据权利要求20至22中的任一项所述的装置,其中所述装置(100、110、120、130)被配置成检查引起所述最小误差的所述像素在所述第二颜色空间中的所述颜色分量值是否使在所述第一颜色空间中为所述像素确定的任何所述颜色分量饱和。
26.根据权利要求20至22中的任一项所述的装置,其中
所述装置(100、110、120、130)被配置成如果所述像素在所述第二颜色空间中的所述颜色分量值没有使在所述第一颜色空间中为所述像素确定的任何所述颜色分量值落在所述容许范围外,则使用第一线性化函数来计算所述像素在所述第二颜色空间中的所述颜色分量的所述值;以及
所述装置(100、110、120、130)被配置成如果引起所述最小误差的所述第二颜色空间中的所述颜色分量值使在所述第一颜色空间中为所述像素确定的任何所述颜色分量值落在所述容许范围外,则使用第二不同线性化函数或者反函数来计算所述像素在所述第二颜色空间中的所述颜色分量的所述值。
27.根据权利要求26所述的装置,其中
所述装置(100、110、120、130)被配置成取决于在所述第一颜色空间中为所述像素确定的哪一个颜色分量值或哪些颜色分量值落在所述容许范围外来选择所述第二不同线性化函数或者所述反函数;以及
所述装置(100、110、120、130)配置成使用所述选择的第二不同线性化函数或者所述选择的反函数来计算所述像素在所述第二颜色空间中的所述颜色分量的所述值。
28.根据权利要求27所述的装置,其中
所述装置(100、110、120、130)被配置成检查引起基于亮度分量Y'而在所述第三颜色空间中为所述像素确定的照度Y与基于在所述第一颜色空间中为所述像素定义的包括原始红、绿和蓝颜色分量值RoGoBo的所述至少一个原始颜色分量值而在所述第三颜色空间为所述像素确定的原始照度Yo之间的最小误差的所述像素在所述第二颜色空间中的所述亮度分量值Y'是否使使用了所述像素在所述第二颜色空间中的所述亮度分量值Y'的、在所述第一颜色空间中为所述像素确定的红、绿和蓝颜色分量值的任一个削减;
所述装置(100、110、120、130)被配置成如果引起所述最小误差的所述第二颜色空间中的所述亮度分量值Y′没有使在所述第一颜色空间中为所述像素确定的所述红、绿、蓝颜色分量值的任一个削减/相对一削减/饱和/等于或超过一的话则将所述亮度分量Y′的值计算为
Figure FDA0003236113470000161
其中wR,wG,wB表示颜色权重,a13,a22,a23,a32表示从Y′CbCr颜色到R′G′B′颜色的颜色变换的正常数,Cb、Cr表示所述像素在所述第二颜色空间中的色度分量值P=tf(P′),其中P=红(R)、绿(G)或蓝(B),tf(.)是转换函数,以及tf′(Po′)表示所述转换函数在Po′的导数;
所述装置(100、110、120、130)被配置成如果在所述第一颜色空间中为所述像素确定的所述红颜色分量值削减的话则选择所述第二不同线性化函数
Figure FDA0003236113470000162
所述装置(100、110、120、130)被配置成如果在所述第一颜色空间中为所述像素确定的所述绿颜色分量值削减的话则选择所述第二不同线性化函数
Figure FDA0003236113470000163
所述装置(100、110、120、130)被配置成如果在所述第一颜色空间中为所述像素确定的所述蓝颜色分量值削减的话则选择所述第二不同线性化函数
Figure FDA0003236113470000164
所述装置(100、110、120、130)被配置成如果在所述第一颜色空间中为所述像素确定的所述红颜色分量值和所述绿颜色分量值削减的话则选择所述反函数
Figure FDA0003236113470000171
其中tf1(.)表示所述转换函数tf(.)的逆;
所述装置(100、110、120、130)被配置成如果在所述第一颜色空间中为所述像素确定的所述红颜色分量值和所述蓝颜色分量值削减的话则选择所述反函数
Figure FDA0003236113470000172
以及
所述装置(100、110、120、130)被配置成如果在所述第一颜色空间中为所述像素确定的所述绿颜色分量值和所述蓝颜色分量值削减的话则选择所述反函数
Figure FDA0003236113470000173
29.根据权利要求28所述的装置,其中
所述装置(100、110、120、130)被配置成计算Y′redclip=1-a13Cr、Y′greenclip=1+a22Cb+a23Cr和Y′blueclip=1-a32Cb;以及
所述装置(100、110、120、130)被配置成基于Y′redclip、Y′greenclip和Y′blueclip中的最小值来检查引起所述最小误差的所述像素的所述亮度分量值Y′是否使为所述像素确定的所述红、绿和蓝颜色分量值的任一个削减。
30.根据权利要求29所述的装置,其中
所述装置(100、110、120、130)被配置成选择最小值Y′firstclip=min(Y′redclip,Y′greenclip,Y′blueclip);
所述装置(100、110、120、130)被配置成计算Yfirstclip=wRtf(Y′firstclip+a13Cr)+wGtf(Y′firstclip-a22Cb-a23Cr)+wBtf(Y′firstclip+a32Cb);以及
所述装置(100、110、120、130)被配置成检查是否Yo<Yfirstclip。
31.根据权利要求30所述的装置,其中
所述装置(100、110、120、130)被配置成选择中值Y′secondclip=median(Y′redclip,Y′greenclip,Y′blueclip);
所述装置(100、110、120、130)被配置成计算Ysecondclip=wRtf(Y′secondclip+a13Cr)+wGtf(Y′secondclip-a22Cb-a23Cr)+wBtf(Y′secondclip+a32Cb);
所述装置(100、110、120、130)被配置成如果Yo<Yfirstclip则确定起所述最小误差的所述亮度分量值Y′没有使为所述像素确定的所述红、绿或蓝颜色分量值的任一个削减;
所述装置(100、110、120、130)被配置成如果Yfirstclip≤Yo<Ysecondclip则确定引起所述最小误差的所述亮度分量值Y′使为所述像素确定的所述红、绿和蓝颜色分量值的其中之一削减;以及
所述装置(100、110、120、130)被配置成如果Yo≥Ysecondclip则确定引起所述最小误差的所述亮度分量值Y′使为所述像素确定的所述红、绿和蓝颜色分量值中的两个削减。
32.根据权利要求20至22中的任一项所述的装置,其中所述装置(100、110、120、130)被配置成检查引起使用了所述亮度分量值Y′的、在所述第一颜色空间中为所述像素确定的红、绿和蓝颜色分量值RGB与在所述第一颜色空间中为所述像素定义的包括原始红、绿和蓝颜色分量值RoGoBo的所述像素的所述至少一个原始颜色分量值之间的最小误差的所述像素在所述第二颜色空间中的亮度分量值Y′是否使使用了所述像素在所述第二颜色空间中的亮度分量值Y′的、在所述第一颜色空间中为所述像素确定的红、绿和蓝颜色分量值的任一个削减。
33.根据权利要求32所述的装置,其中
所述装置(100、110、120、130)被配置成计算Y′redclip=1-a13Cr、Y′greenclip=1+a22Cb+a23Cr和Y′blueclip=1-a32Cb,其中a13,a22,a23,a32表示从Y′CbCr颜色到R′G′B′颜色的颜色变换的正常数,Cb、Cr表示所述像素在所述第二颜色空间中的色度分量值;
所述装置(100、110、120、130)被配置成将所述亮度分量Y′的第一值Y′rgb计算为
Figure FDA0003236113470000191
其中wR,wG,wB表示颜色权重,a13,a22,a23,a32表示从Y′CbCr颜色到R′G′B′颜色的颜色变换的正常数,P=tf(P′),其中P=红(R)、绿(G)或蓝(B),tf(.)是转换函数,以及tf(Po′)表示所述转换函数在Po′的导数;
所述装置(100、110、120、130)被配置成如果Y′redclip=min(Y′redclip,Y′greenclip,Y′blueclip)的话则将所述亮度分量Y′的第二值Y′one计算为等于
Figure FDA0003236113470000192
如果Y′greenclip=min(Y′redclip,Y′greenclip,Y′blueclip)的话则将所述亮度分量Y′的第二值Y′one计算为等于
Figure FDA0003236113470000193
以及
如果Y′blueclip=min(Y′redclip,Y′greenclip,Y′blueclip)的话则将所述亮度分量Y′的第二值Y′one计算为等于
Figure FDA0003236113470000194
所述装置(100、110、120、130)被配置成如果Y′redclip=max (Y′redclip,Y′greenclip,Y′blueclip)的话则将所述亮度分量Y′的第三值Y′two计算为等于
Figure FDA0003236113470000201
如果Y′greenclip=max(Y′redclip,Y′greenclip,Y′blueclip)的话则将所述亮度分量Y′的第三值Y′two计算为等于
Figure FDA0003236113470000202
以及
如果Y′blueclip=max(Y′redclip,Y′greenclip,Y′blueclip)的话则将所述亮度分量Y′的第三值Y′two计算为等于
Figure FDA0003236113470000203
所述装置(100、110、120、130)被配置成将第一误差值计算为errRGB(Y′rgb)=wR(tf(Y′rgb+a13Cr)-Ro)2+wG(tf(Y′rgb-a22Cb-a23Cr)-Go)2+wB(tf(Y′rgb+a32Cb)-Bo)2
所述装置(100、110、120、130)被配置成计算第二误差值errRGBone,其中如果Y′redclip=min(Y′redclip,Y′greenclip,Y′blueclip)的话,则errRGBone=wR(10000-Ro)2+wG(tf(Y′gb-a22Cb-a23Cr)-Go)2+wB(tf(Y′gb+a32Cb)-Bo)2,如果Y′greenclip=min(Y′redclip,Y′greenclip,Y′blueclip)的话,则errRGBone=wR(tf(Y′rb+a13Cr)-Ro)2+wG(10000-Go)2+wB(tf(Y′rb+a32Cb)-Bo)2,以及如果Y′blueclip=min(Y′redclip,Y′greenclip,Y′blueclip)的话,则errRGBone=wR(tf(Y′rg+a13Cr)-Ro)2+wG(tf(Y′rg-a22Cb-a23Cr)-Go)2+wB(10000-Bo)2
所述装置(100、110、120、130)被配置成计算第三误差值errRGBtwo,其中如果Y′redclip=max(Y′redclip,Y′greenclip,Y′blueclip)的话,则errRGBtwo=wR(tf(Y′r+a13Cr)-Ro)2+wG(10000-Go)2+wB(10000-Bo)2,如果Y′greenclip=max(Y′redclip,Y′greenclip,Y′blueclip)的话,则errRGBtwo=wR(10000-Ro)2+wG(tf(Y′g-a22Cb-a23Cr)-Go)2+wB(10000-Bo)2,以及如果Y′blueclip=max(Y′redclip,Y′greenclip,Y′blueclip)的话,则errRGBtwo=wR(10000-Ro)2+wG(1000-Go)2+wB(tf(Y′b+a32Cb)-Bo)2;以及
所述装置(100、110、120、130)被配置成如果errRGB(Y′rgb)=min(errRGB(Y′rgb),errRGBone,errRGBtwo)的话则选择Y′rgb作为所述亮度分量Y′的所述值,如果errRGBone=min(errRGB(Y′rgb),errRGBone,errRGBtwo)的话则选择Y′one作为所述亮度分量Y′的所述值,以及如果errRGBtwo=min(errRGB(Y′rgb),errRGBone,errRGBtwo)的话则选择Y′two作为所述亮度分量Y′的所述值。
34.根据权利要求28所述的装置,其中所述装置(100、110、120、130)被配置成从查找表并且对于所述像素的所述红、绿和蓝颜色分量值的每个颜色分量值使用所述像素的所述色度分量值Cb、Cr和所述原始照度值Yo或者其量化版本作为输入来检索指示引起所述最小误差的所述像素在所述第二颜色空间中的所述亮度分量值Y′是否使在所述第一颜色空间中为所述像素确定的所述红、绿或蓝颜色分量值削减的位。
35.根据权利要求20至22中的任一项所述的装置,其中
所述装置(100、110、120、130)被配置成计算Y′redclipZero=-a13Cr、Y′greenclipZero=a22Cb+a23Cr和Y′blueclipZero=1-a32Cb,其中a13,a22,a23,a32表示从Y′CbCr颜色到R′G′B′颜色的颜色变换的正常数,Y′表示所述像素在所述第二颜色空间中的亮度分量值,Cb、Cr表示所述像素在所述第二颜色空间中的色度分量值;以及
所述装置(100、110、120、130)被配置成基于Y′redclipZero=-a13Cr、Y′greenclipZero=a22Cb+a23Cr和Y′blueclipZero=1-a32Cb中的至少一个来检查引起i)基于亮度分量值Y′而在所述第三颜色空间中为所述像素确定的照度值Y与基于在所述第一颜色空间中为所述像素定义的包括原始红、绿和蓝颜色分量值RoGoBo的所述像素的所述至少一个原始颜色分量值而在所述第三颜色空间中为所述像素确定的原始照度Yo之间的或者ii)使用所述亮度分量值Y'而在所述第一颜色空间中为所述像素确定的红、绿和蓝颜色分量值RGB与在所述第一颜色空间中为所述像素定义的所述原始红、绿和蓝颜色分量值RoGoBo之间的最小误差的所述像素在所述第二颜色空间中的所述亮度分量值Y'是否使在所述第一颜色空间中为所述像素确定的红、绿和蓝颜色分量值的任一个相对零削减。
36.根据权利要求20至22中的任一项所述的装置,其中
所述装置(100、110、120、130)被配置成如果所述像素在所述第二颜色空间中的所述颜色分量值没有使在所述第一颜色空间中为所述像素确定的任何颜色分量值落在所述容许范围外,则从第一查找表检索所述像素在所述第二颜色空间中的所述颜色分量的所述值;以及
所述装置(100、110、120、130)被配置成如果所述像素在所述第二颜色空间中的所述颜色分量值使在所述第一颜色空间中为所述像素确定的任何颜色分量值落在所述容许范围外,则从第二不同查找表检索(S3)所述像素在所述第二颜色空间中的所述颜色分量的所述值。
37.根据权利要求36所述的装置,其中
所述装置(100、110、120、130)被配置成取决于在所述第一颜色空间中为所述像素确定的哪一个颜色分量值或哪些颜色分量值落在所述容许范围外来选择所述第二不同查找表;以及
所述装置(100、110、120、130)被配置成从所述选择的第二不同查找表检索所述像素在所述第二颜色空间中的所述颜色分量的所述值。
38.根据权利要求20至22中的任一项所述的装置,还包括:
处理器(131);以及
存储器(132),所述存储器(132)包括能够由所述处理器(101)执行的指令,其中
所述处理器(131)操作以便检查引起所述最小误差的所述像素在所述第二颜色空间中的所述颜色分量值是否使在所述第一颜色空间中为所述像素确定的任何颜色分量值落在所述容许范围外;
所述处理器(131)操作以便:如果引起所述最小误差的所述像素在所述第二颜色空间中的所述颜色分量值没有使在所述第一颜色空间中为所述像素确定的任何颜色分量值落在所述容许范围外,则使用所述第一函数或所述第一查找表来得到所述像素在所述第二颜色空间中的所述颜色分量的所述值;以及
所述处理器(131)操作以便:如果引起所述最小误差的所述像素在所述第二颜色空间中的所述颜色分量值使在所述第一颜色空间中为所述像素确定的任何颜色分量值落在所述容许范围外,则使用所述第二不同函数或所述第二不同查找表来得到所述像素在所述第二颜色空间中的所述颜色分量的所述值。
39.一种用于处理像素的装置(140),所述像素具有在第一颜色空间中定义的至少一个原始颜色分量值,所述装置包括:
确定单元(141),用于确定引起基于所述像素在第二颜色空间中的颜色分量值而确定的所述像素在第三颜色空间中的至少一个颜色分量值与基于在所述第一颜色空间中定义的所述像素的所述至少一个原始颜色分量值而确定的所述像素在所述第三颜色空间中的颜色分量值之间的最小误差的所述像素在所述第二颜色空间中的所述颜色分量值是否使使用了所述像素在所述第二颜色空间中的所述颜色分量值的、在所述第一颜色空间中为所述像素确定的任何颜色分量值落在容许范围外;以及
值推导器(142),用于i)如果引起所述最小误差的所述第二颜色空间中的所述颜色分量值没有使在所述第一颜色空间中为所述像素确定的任何所述颜色分量值落在所述容许范围外,则使用第一函数或第一查找表推导出所述像素在所述第二颜色空间中的所述颜色分量的值,以及ii)如果引起所述最小误差的所述第二颜色空间中的所述颜色分量值使在所述第一颜色空间中为所述像素确定的任何所述颜色分量值落在所述容许范围外,则使用第二不同函数或第二不同查找表来推导出所述像素在所述第二颜色空间中的所述颜色分量的值。
40.一种用于处理图片中的像素的设备,所述像素具有在第一颜色空间中定义的至少一个原始颜色分量值,所述设备包括:
用于检查引起基于所述像素在第二颜色空间中的颜色分量值而确定的所述像素在第三颜色空间中的至少一个颜色分量值与基于在所述第一颜色空间中定义的所述像素的所述至少一个原始颜色分量值而确定的所述像素在所述第三颜色空间中的颜色分量值之间的最小误差的所述像素在所述第二颜色空间中的所述颜色分量值是否使使用了所述像素在所述第二颜色空间中的所述颜色分量值的、在所述第一颜色空间中为所述像素确定的任何颜色分量值落在容许范围外的部件;
用于如果引起所述最小误差的所述第二颜色空间中的所述颜色分量值没有使在所述第一颜色空间中为所述像素确定的任何所述颜色分量值落在所述容许范围外,则使用第一函数或第一查找表来得到所述像素在所述第二颜色空间中的所述颜色分量的值的部件;以及
用于如果引起所述最小误差的所述第二颜色空间中的所述颜色分量值使在所述第一颜色空间中为所述像素确定的任何所述颜色分量值落在所述容许范围外,则使用第二不同函数或第二不同查找表来得到所述像素在所述第二颜色空间中的所述颜色分量的值的部件。
41.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时促使所述处理器执行根据权利要求1至19 中的任一项所述的方法。
CN201680087767.XA 2016-05-16 2016-11-18 采用颜色分量的像素处理 Active CN109479151B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662337025P 2016-05-16 2016-05-16
US62/337,025 2016-05-16
PCT/SE2016/051146 WO2017200447A1 (en) 2016-05-16 2016-11-18 Pixel processing with color component

Publications (2)

Publication Number Publication Date
CN109479151A CN109479151A (zh) 2019-03-15
CN109479151B true CN109479151B (zh) 2022-03-11

Family

ID=60325420

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680087767.XA Active CN109479151B (zh) 2016-05-16 2016-11-18 采用颜色分量的像素处理

Country Status (5)

Country Link
US (1) US10699671B2 (zh)
EP (1) EP3459256A4 (zh)
CN (1) CN109479151B (zh)
RU (1) RU2709652C1 (zh)
WO (1) WO2017200447A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018117948A1 (en) * 2016-12-23 2018-06-28 Telefonaktiebolaget Lm Ericsson (Publ) Chroma adjustment with color components in color spaces in video coding
US10555004B1 (en) * 2017-09-22 2020-02-04 Pixelworks, Inc. Low frequency compensated encoding
CN109842799B (zh) * 2017-11-29 2021-02-09 杭州海康威视数字技术股份有限公司 颜色分量的帧内预测方法、装置及计算机设备
US11025842B2 (en) 2019-04-05 2021-06-01 Apple Inc. Binner circuit for image signal processor
US11024006B2 (en) 2019-04-22 2021-06-01 Apple Inc. Tagging clipped pixels for pyramid processing in image signal processor
US11049286B2 (en) * 2019-07-31 2021-06-29 Hewlett Packard Enterprise Development Lp Deep neural network color space optimization
US20230169689A1 (en) * 2021-11-30 2023-06-01 Texas Instruments Incorporated Suppression of clipping artifacts from color conversion

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0522586A (ja) * 1991-07-10 1993-01-29 Toppan Printing Co Ltd 色変換システム
US6414687B1 (en) * 1997-04-30 2002-07-02 Canon Kabushiki Kaisha Register setting-micro programming system
EP1070423A1 (en) * 1999-02-05 2001-01-24 Koninklijke Philips Electronics N.V. Histogram equalization
US7298892B2 (en) * 2003-04-09 2007-11-20 Eastman Kodak Company Producing a balanced digital color image having minimal color errors
US8594465B2 (en) 2007-11-14 2013-11-26 Microsoft Corporation Adaptive filtering for image transform processes
TWI489442B (zh) * 2008-04-03 2015-06-21 Sunplus Technology Co Ltd Adaptive color space conversion system and method
WO2013106190A1 (en) 2012-01-09 2013-07-18 Dolby Laboratories Licensing Corporation Hybrid reference picture reconstruction method for single and multiple layered video coding systems
WO2013142067A1 (en) 2012-03-21 2013-09-26 Dolby Laboratories Licensing Corporation Systems and methods for iso-perceptible power reduction for displays
KR101851577B1 (ko) 2012-09-17 2018-04-24 삼성전자주식회사 유기 발광 다이오드 디스플레이의 동작을 제어할 수 있는 방법들과 장치들
CN103096092B (zh) * 2013-02-07 2015-12-02 上海国茂数字技术有限公司 基于颜色空间变换进行编解码误差修正的方法和系统
CN103237225B (zh) * 2013-05-10 2016-04-20 上海国茂数字技术有限公司 利用yuv与rgb空间联合修正视频编解码误差的方法
US10134360B2 (en) * 2014-11-25 2018-11-20 Intel Corporation Compressing the size of color lookup tables
RU2679239C1 (ru) 2015-02-13 2019-02-06 Телефонактиеболагет Лм Эрикссон (Пабл) Предобработка и кодирование пикселей
WO2016186551A1 (en) 2015-05-20 2016-11-24 Telefonaktiebolaget Lm Ericsson (Publ) Pixel processing and encoding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《On constant luminance, gamma correction, and digitization of color space》;J. J. Gibson;《Proceedings of International Conference on Consumer Electronics》;20020806;全文 *
一种颜色保持的彩色图像增强新算法;赵全友等;《计算机应用》;20080215(第02期);全文 *

Also Published As

Publication number Publication date
WO2017200447A1 (en) 2017-11-23
US20190206360A1 (en) 2019-07-04
EP3459256A4 (en) 2019-11-13
US10699671B2 (en) 2020-06-30
RU2709652C1 (ru) 2019-12-19
EP3459256A1 (en) 2019-03-27
CN109479151A (zh) 2019-03-15

Similar Documents

Publication Publication Date Title
US10397536B2 (en) Pixel pre-processing and encoding
US11025927B2 (en) Pixel pre-processing and encoding
CN109479151B (zh) 采用颜色分量的像素处理
CN107852513B (zh) 对输入视频序列的像素进行编码
CN107615761B (zh) 用于像素处理和编码的方法、设备和计算机可读介质
CN107925778B (zh) 像素预处理和编码
US10602109B2 (en) Method and arrangements for HDR encoding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant