CN114648447A - 一种色调映射方法及装置 - Google Patents

一种色调映射方法及装置 Download PDF

Info

Publication number
CN114648447A
CN114648447A CN202011492320.5A CN202011492320A CN114648447A CN 114648447 A CN114648447 A CN 114648447A CN 202011492320 A CN202011492320 A CN 202011492320A CN 114648447 A CN114648447 A CN 114648447A
Authority
CN
China
Prior art keywords
mapping
node
mapping curve
image
curve
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.)
Pending
Application number
CN202011492320.5A
Other languages
English (en)
Inventor
王弋川
余全合
徐巍炜
陈虎
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202011492320.5A priority Critical patent/CN114648447A/zh
Priority to PCT/CN2021/124438 priority patent/WO2022127336A1/zh
Priority to EP21905265.1A priority patent/EP4239565A4/en
Publication of CN114648447A publication Critical patent/CN114648447A/zh
Priority to US18/336,837 priority patent/US20230325987A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • G06T5/92Dynamic range modification of images or parts thereof based on global image properties
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/643Hue control means, e.g. flesh tone control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20208High dynamic range [HDR] image processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/77Circuits for processing the brightness signal and the chrominance signal relative to each other, e.g. adjusting the phase of the brightness signal relative to the colour signal, correcting differential gain or differential phase

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

本申请提供一种色调映射方法及装置,该方法可以由后端设备执行,在该方法中后端设备可以从前端设备接收元数据和HDR图像,根据该元数据中包含的映射曲线的特征参数生成映射曲线,并基于该映射曲线对HDR图像进行色调映射。其中,映射曲线的特征参数是前端设备根据HDR图像的亮度分布情况确定的。如此,通过结合HDR图像的亮度分布情况确定映射曲线参数,使得映射曲线的设计更灵活,可以有效提高HDR图像的显示效果。

Description

一种色调映射方法及装置
技术领域
本申请涉及显示技术领域,尤其涉及一种色调映射方法及装置。
背景技术
高动态范围(high dynamic range,HDR)视频技术拓展了可显示的图像的亮度范围,因而能够记录较大的亮度范围信息,展现图像中更多的亮部和暗部细节。
然而,HDR视频或图像的亮度通常与标准动态范围(standard dynamic range,SDR)显示设备或大量其他现有的HDR显示设备的能够显示的亮度范围不匹配;例如,在同一帧HDR图像中,最暗部分的像素亮度为0.4cd/m2,最亮部分的像素亮度为6000cd/m2,而电视只能显示亮度大于等于0.5cd/m2且小于等于5000cd/m2的像素,则该帧图像中亮度为0.4cd/m2-0.5cd/m2的像素在电视中显示的将是一片黑暗,以及该帧图像中亮度为5000cd/m2-6000cd/m2的像素在电视中显示的将是一片白光。
因此,HDR视频或图像在现有的显示设备上显示时,需要根据显示设备的显示能力对HDR视频或图像的亮度进行处理得到SDR视频或图像,使其匹配显示设备可显示的亮度范围。对于将HDR视频或图像压缩到SDR视频或图像这个过程,我们称为色调映射(tonemapping,TM)。
业界提出基于N次样条函数确定的映射曲线对HDR图像进行色调映射,但映射曲线的生成依赖基础曲线(例如,贝塞尔曲线),导致整条映射曲线的生成不够灵活,对特亮区域或者特暗区域的像素的色调映射效果较差,进而导致HDR图像的显示效果不佳。
发明内容
本申请提供一种色调映射方法及装置,用以对HDR图像进行色调映射,提升HDR图像的显示效果。
第一方面,本申请实施例提供一种色调映射方法,在该方法中,首先接收至少一帧图像和元数据;其中,元数据包括映射曲线的参数,例如,映射曲线的数目M、以及每一条映射曲线的起始节点和截止节点在第一坐标系中的坐标值;然后,可以根据元数据,生成M条映射曲线,并基于M条映射曲线,对至少一帧图像进行色调映射。
应理解,每一条映射曲线为N次样条曲线,第一坐标系的横向坐标表示色调映射前的图像亮度,第一坐标系的纵向坐标表示色调映射后的图像亮度;M为大于等于1的整数,N为大于等于3的整数。
在本申请实施例中,接收到元数据之后,可以根据元数据中的映射曲线的数目M、以及每条映射曲线的起始节点和截止节点在第一坐标系中的坐标值,生成M条N次样条曲线,并基于该M条N次样条曲线,对至少一帧图像进行色调映射。在本申请实施例中映射曲线的设计更灵活,可以有效提升HDR图像的色调映射效果,进而有效提升HDR图像的显示效果。
在一种可能的实施方式中,元数据还可以包括每一条映射曲线的起始节点的预设一阶导数和截止节点的预设一阶导数。
在该实施方式中,元数据包括每一条映射曲线的起始节点的预设一阶导数和截止节点的预设一阶导数,使得生成每一条映射曲线的方式更灵活。
在一种可能的实施方式中,至少一帧图像中的每帧图像对应至少一个亮度范围,每一个亮度范围对应至少一条映射曲线,每一条映射曲线对应的函数表达式可以为N阶多项式,N阶多项式中包括N+1个单项式,每个单项式对应一个系数。
在该实施方式中,至少一帧图像中的每帧图像包括一个或多个亮度范围,针对每个亮度范围,可以针对性地对其设计对应的地映射曲线,所以可以有效提升至少一帧图像的色调映射效果,进而有效提升至少一帧图像的显示效果。
示例性的,至少一条映射曲线中的第i条映射曲线可以是三次样条函数曲线,其对应的第一函数表达式为:
y=di*(x-x2)3+ci*(x-x2)2+bi*(x-x2)+ai;
其中,x为自变量,用于表征色调映射前的图像亮度,y为因变量,用于表征色调映射后的图像亮度;ai为第i条映射曲线中常数项的第一系数、bi为第i条映射曲线中一次单项式的第二系数、ci为第i条映射曲线中二次单项式的第三系数、di为第i条映射曲线中三次单项式的第四系数;x2为第i条映射曲线的起始节点的横向坐标;ai、bi、ci、di均不为0。
示例性的,上述第i条映射曲线也可以是四次样条函数曲线,其对应的第一函数表达式为:
y=ei*(x-x2)4+di*(x-x2)3+ci*(x-x2)2+bi*(x-x2)+ai;
其中,x为自变量,用于表征色调映射前的图像亮度,y为因变量,用于表征色调映射后的图像亮度;ai为第i条映射曲线中常数项的系数、bi为第i条映射曲线中一次单项式的系数、ci为第i条映射曲线中二次单项式的系数、di为第i条映射曲线中三次单项式的系数、ei为第i条映射曲线中四次单项式的系数;x2为第i条映射曲线的起始节点的横向坐标;ai、bi、ci、di均不为0。
应理解,上述仅仅是以三次样条函数曲线、四次样条函数曲线作为示例而非限定,本申请实施例对样条函数曲线的具体类型不作限定,例如上述第i条映射曲线还可以是五次样条函数曲线、六次样条函数曲线等。
在一种可能的实施方式中,至少一个亮度范围中的第一亮度范围对应第一映射曲线,第一映射曲线包括第一起始节点、第一截止节点。相应的,根据元数据,生成M条映射曲线,可以包括:将第一起始节点的坐标值代入第一函数表达式,得到第一映射曲线的第一系数a1;将第一截止节点的坐标值代入第一函数表达式,得到第一方程式;使第一映射曲线在第一起始节点的一阶导数与第一起始节点的预设一阶导数相等,得到第二方程式;使第一映射曲线在第一截止节点的一阶导数与第一截止节点的预设一阶导数相等,得到第三方程式;联立第一方程式、第二方程式以及第三方程式,得到第一方程组;解析第一方程组,得到第一映射曲线的第二系数b1、第三系数c1、第四系数d1;基于第一映射曲线的第一系数a1、第二系数b1、第三系数c1、第四系数d1,生成第一映射曲线。
在该实施方式中,针对同一亮度范围采用一条N次样条曲线来构成映射曲线,所需的映射曲线参数较少,可以提升元数据传输的效率。
在一种可能的实施方式中,至少一个亮度范围中的第二亮度范围对应第二映射曲线和第三映射曲线,第二映射曲线对应第二亮度范围中的第一子亮度范围,第三映射曲线对应第二亮度范围中的第二子亮度范围,第一子亮度范围中的最大值等于第二子亮度范围中的最小值;第二映射曲线包括第二起始节点、第二截止节点;第三映射曲线包括第三起始节点、第三截止节点;第二截止节点与第三起始节点的坐标值相同。相应的,根据元数据,生成M条映射曲线,可以包括:将第二起始节点的坐标值代入第一函数表达式,得到第二映射曲线的第一系数a2;将第三起始节点的坐标值代入第一函数表达式,得到第三映射曲线的第一系数a3;使第二映射曲线在第二起始节点的一阶导数与第二起始节点的预设一阶导数相等,建立第四方程式;解析第四方程式,得到第二映射曲线的第二系数b2;根据第二截止节点的坐标值、第三截止节点的坐标值、第三截止节点的预设一阶导数构建第二方程组;解析第二方程组,得到第二映射曲线的第三系数c2、第四系数d2以及第三映射曲线的第二系数b3、第三系数c3、第四系数d3;基于第二映射曲线的第一系数a2、第二系数b2、第三系数c2、第四系数d2,生成第二映射曲线;以及基于第三映射曲线的第一系数a3、第二系数b3、第三系数c3、第四系数d3,生成第三映射曲线。
在该实施方式中,将同一亮度范围进一步划分为两个子亮度范围,每一个子亮度范围一条N次样条曲线,即同一亮度范围采用两条N次样条曲线来构成映射曲线,有效提升映射曲线设计的灵活度,进而有效提升色调映射的效果。
其中,根据第二截止节点的坐标值、第三截止节点的坐标值、第三截止节点的预设一阶导数,构建第二方程组有多种实施方式,本申请实施例不做限制。
示例性的,方式1,将第二截止节点的坐标值、第三截止节点的坐标值代入第一函数表达式,分别得到第五方程式、第六方程式,使得第三截止节点在第三映射曲线的一阶导数与第三截止节点的预设一阶导数相等,得到第七方程式;使得第二映射曲线在第二截止节点的一阶导数与第三映射曲线在第三起始节点的一阶导数相等,得到第八方程式,使得第二映射曲线在第二截止节点的二阶导数与第三映射曲线在第三起始节点的二阶导数相等,得到第九方程式;联立第五方程式、第六方程式、第七方程式、第八方程式、第九方程式,得到第二方程组。
在方式1中,通过第二映射曲线在第二截止节点的一阶导数与第三映射曲线在第三起始节点的一阶导数相等,以及第二映射曲线在第二截止节点的二阶导数与第三映射曲线在第三起始节点的二阶导数相等来求解映射曲线的函数系数,所以在元数据中就不需要携带第二截止节点和第三起始节点的与预设一阶导数,可以有效提高元数据的传输效率。
示例性的,方式2,将第二截止节点的坐标值、第三截止节点的坐标值代入第一函数表达式,分别得到第五方程式、第六方程式,使得第三截止节点在第三映射曲线的一阶导数与第三截止节点的预设一阶导数相等,得到第七方程式;使得第二映射曲线在第二截止节点的一阶导数与第二截止节点的预设一阶导数相等,得到第八方程式,使得第三映射曲线在第三起始节点的一阶导数与第三起始节点的预设一阶导数相等,得到第九方程式;联立第五方程式、第六方程式、第七方程式、第八方程式、第九方程式,得到第二方程组。
在方式2中,通过第二映射曲线在第二截止节点的一阶导数与第二截止节点的预设一阶导数相等,以及第三映射曲线在第三起始节点的一阶导数与第三起始节点的预设一阶导数相等来求解映射曲线的函数系数,可以有效减少的计算量。
在一种可能的实施方式中,基于M条映射曲线对至少一帧图像进行色调映射,可以包括:针对至少一帧图像中的每个像素,使用该像素所在亮度范围对应的映射曲线对该像素进行色调映射。
在该实施方式中,对至少一帧图像中不同亮度范围的像素采用不同的映射曲线进行色调映射,可以使得至少一帧图像的显示更加适配显示设备,进而有效提升至少一帧图像的显示效果。
在一种可能的实施方式中,在基于M条映射曲线对至少一帧图像进行色调映射之后,还可以包括:基于至少一帧图像中的每个像素在色调映射前后的亮度信息,对映射后的至少一帧图像的颜色信息进行校正。
在该实施方式中,后端设备在对至少一帧图像进行色调映射之后还根据至少一帧图像中的每个像素在色调映射前后的亮度信息来对至少一帧图像的颜色信息的进行调整,能够进一步提升至少一帧图像的显示效果。
第二方面,本申请实施例提供了一种生成元数据的方法,在该方法中,首先获取至少一帧图像;然后,对至少一帧图像进行处理,生成元数据;其中,元数据包括映射曲线的数目M,每一条映射曲线的起始节点和截止节点在第一坐标系中的坐标值。
应理解,映射曲线为N次样条曲线,第一坐标系的横向坐标表示色调映射前的图像亮度,第一坐标系的纵向坐标表示色调映射后的图像亮度;M为大于等于1的整数,N为大于等于3的整数。
在本申请实施例中,基于至少一帧图像生成包含映射曲线参数的元数据,通过匹配图像内容为映射曲线的设计提供了较高的自由度,进而可以有效提高对图像进行色调映射的效果。
在一种可能的实施方式中,对至少一帧图像进行处理,生成元数据,可以包括:首先提取至少一帧图像的属性信息,其中属性信息可以包括亮度的最大值、最小值、平均值、变化范围等;然后基于属性信息,确定元数据。
在该实施方式中,基于至少一帧图像的亮度的最大值、最小值、平均值、变化范围等确定元数据,将映射曲线参数与图像亮度特性相结合,可以有效提升映射曲线设计的灵活度,进而有效提高图像色调映射的效果。
在一种可能的实施方式中,当元数据包括映射曲线的数目M时,基于属性信息,确定元数据,包括:根据属性信息,确定至少一帧图像的亮度分布情况;基于亮度分布情况,将至少一帧图像的亮度划分为至少一个亮度范围;根据亮度范围的数量F,确定数目M,其中,M大于或等于F,每个亮度范围对应至少一条映射曲线。
在该实施方式中,针对不同的亮度范围设计不同的映射曲线,可以进一步提升映射曲线设计的灵活度。
在一种可能的实施方式中,当元数据包括每一条映射曲线的截止节点和起始节点在第一坐标系中的坐标值时,基于属性信息,确定元数据,可以包括:根据亮度分布情况和后端设备能显示的最大亮度值,确定每一条映射曲线的起始节点和截止节点在第一坐标系中的坐标值。
示例性的,可以根据第一图像的亮度分布情况,确定第一图像对应的映射曲线的截止节点在第一坐标系中的横坐标,根据后端设备能显示的最大亮度值确定该映射曲线的截止节点在第一坐标系中的纵坐标。
在该实施方式中,结合图像的亮度分布情况和后端设备能显示的最大亮度值,来确定每条映射曲线的参数,可以进一步提升映射曲线设计的灵活度。
在一种可能的实施方式中,元数据还可以包括起始节点的预设一阶导数和截止节点的预设一阶导数。
在该实施方式中,在元数据携带了每一条映射曲线的起始节点的预设一阶导数和截止节点的预设一阶导数,使得映射曲线生成的方式更灵活。
在一种可能的实施方式中,当元数据包括每一条映射曲线的截止节点和起始节点的预设一阶导数时,基于属性信息,确定元数据,可以包括:根据至少一帧图像的亮度与对比度之间的平衡需求,确定起始节点的预设一阶导数和截止节点的预设一阶导数。
在该实施方式中,根据至少一帧图像的亮度与对比度之间的平衡需求,确定起始节点的预设一阶导数和截止节点的预设一阶导数,可以进一步有效提升映射曲线设计的灵活度,以满足用户多样化的映射需求,进而有效提升用户体验。
在一种可能的实施方式中,对至少一帧图像进行处理,生成元数据之后,还可以包括:接收第一操作,第一操作用于更改数目M、起始节点在第一坐标系中的坐标值、截止节点在第一坐标系中的坐标值、起始节点的预设一阶导数、截止节点的预设一阶导数中的至少一项;基于第一操作,修改元数据,得到更新后的元数据。
在该实施方式中,用户可以对元数据中映射曲线的参数进行修改,可以进一步满足用户多样化的映射需求,进而有效提升用户体验。
第三方面,本申请实施例提供了一种色调映射处理装置,该装置包括用于执行第一方面或第一方面任一种可能的实施方式中所述方法的模块。
示例性的,该装置可以包括:
接收模块,用于接收至少一帧图像和元数据;元数据包括映射曲线的数目M,每一条映射曲线的起始节点和截止节点在第一坐标系中的坐标值;其中,映射曲线为N次样条曲线,第一坐标系的横向坐标表示色调映射前的图像亮度,第一坐标系的纵向坐标表示色调映射后的图像亮度;M为大于等于1的整数,N为大于等于3的整数;
处理模块,用于根据元数据,生成M条映射曲线;基于M条映射曲线,对至少一帧图像进行色调映射。
在一种可能的实施方式中,元数据还包括每一条映射曲线的起始节点的预设一阶导数和截止节点的预设一阶导数。
在一种可能的实施方式中,至少一帧图像中的每帧图像对应至少一个亮度范围,每一个亮度范围对应至少一条映射曲线,映射曲线对应的函数表达式为N阶多项式,N阶多项式中包括N+1个单项式,每个单项式对应一个系数。
示例性的,至少一条映射曲线中的第i条映射曲线可以是三次样条函数曲线,其对应的第一函数表达式为:
y=di*(x-x2)3+ci*(x-x2)2+bi*(x-x2)+ai;
其中,x为自变量,用于表征色调映射前的图像亮度,y为因变量,用于表征色调映射后的图像亮度;ai为第i条映射曲线中常数项的第一系数、bi为第i条映射曲线中一次单项式的第二系数、ci为第i条映射曲线中二次单项式的第三系数、di为第i条映射曲线中三次单项式的第四系数;x2为第i条映射曲线的起始节点的横向坐标;ai、bi、ci、di均不为0。
示例性的,上述第i条映射曲线也可以是四次样条函数曲线,其对应的第一函数表达式为:
y=ei*(x-x2)4+di*(x-x2)3+ci*(x-x2)2+bi*(x-x2)+ai;
其中,x为自变量,用于表征色调映射前的图像亮度,y为因变量,用于表征色调映射后的图像亮度;ai为第i条映射曲线中常数项的系数、bi为第i条映射曲线中一次单项式的系数、ci为第i条映射曲线中二次单项式的系数、di为第i条映射曲线中三次单项式的系数、ei为第i条映射曲线中四次单项式的系数;x2为第i条映射曲线的起始节点的横向坐标;ai、bi、ci、di均不为0。
应理解,上述第i条映射曲线可以是三次样条函数曲线、四次样条函数曲线、五次样条函数曲线等,上述仅仅是以三次样条函数曲线、四次样条函数曲线作为示例,本申请实施例不作具体的限定。
在一种可能的实施方式中,至少一个亮度范围中的第一亮度范围对应第一映射曲线,第一映射曲线包括第一起始节点、第一截止节点;处理模块在用于根据元数据,生成M条映射曲线时,具体用于:
将第一起始节点的坐标值代入第一函数表达式,得到第一映射曲线的第一系数a1;将第一截止节点的坐标值代入第一函数表达式,得到第一方程式;使第一映射曲线在第一起始节点的一阶导数与第一起始节点的预设一阶导数相等,得到第二方程式;使第一映射曲线在第一截止节点的一阶导数与第一截止节点的预设一阶导数相等,得到第三方程式;联立第一方程式、第二方程式以及第三方程式,得到第一方程组;解析第一方程组,得到第一映射曲线的第二系数b1、第三系数c1、第四系数d1;基于第一映射曲线的第一系数a1、第二系数b1、第三系数c1、第四系数d1,生成第一映射曲线。
在一种可能的实施方式中,至少一个亮度范围中的第二亮度范围对应第二映射曲线和第三映射曲线,第二映射曲线对应第二亮度范围中的第一子亮度范围,第三映射曲线对应第二亮度范围中的第二子亮度范围,第一子亮度范围中的最大值等于第二子亮度范围中的最小值;第二映射曲线包括第二起始节点、第二截止节点;第三映射曲线包括第三起始节点、第三截止节点;第二截止节点与第三起始节点的坐标值相同;处理模块在用于根据元数据,生成M条映射曲线时,具体用于:
将第二起始节点的坐标值代入第一函数表达式,得到第二映射曲线的第一系数a2;将第三起始节点的坐标值代入第一函数表达式,得到第三映射曲线的第一系数a3;使第二映射曲线在第二起始节点的一阶导数与第二起始节点的预设一阶导数相等,建立第四方程式;解析第四方程式,得到第二映射曲线的第二系数b2;根据第二截止节点的坐标值、第三截止节点的坐标值、第三截止节点的预设一阶导数构建第二方程组;解析第二方程组,得到第二映射曲线的第三系数c2、第四系数d2以及第三映射曲线的第二系数b3、第三系数c3、第四系数d3;基于第二映射曲线的第一系数a2、第二系数b2、第三系数c2、第四系数d2,生成第二映射曲线;以及基于第三映射曲线的第一系数a3、第二系数b3、第三系数c3、第四系数d3,生成第三映射曲线。
在一种可能的实施方式中,处理模块在用于根据第二截止节点的坐标值、第三截止节点的坐标值、第三截止节点的预设一阶导数构建第二方程组时,具体用于:
将第二截止节点的坐标值、第三截止节点的坐标值代入第一函数表达式,分别得到第五方程式、第六方程式,使得第三截止节点在第三映射曲线的一阶导数与第三截止节点的预设一阶导数相等,得到第七方程式;使得第二映射曲线在第二截止节点的一阶导数与第三映射曲线在第三起始节点的一阶导数相等,得到第八方程式,使得第二映射曲线在第二截止节点的二阶导数与第三映射曲线在第三起始节点的二阶导数相等,得到第九方程式;或者,使得第二映射曲线在第二截止节点的一阶导数与第二截止节点的预设一阶导数相等,得到第八方程式,使得第三映射曲线在第三起始节点的一阶导数与第三起始节点的预设一阶导数相等,得到第九方程式;联立第五方程式、第六方程式、第七方程式、第八方程式、第九方程式,得到第二方程组。
在一种可能的实施方式中,处理模块在用于基于M条映射曲线对至少一帧图像进行色调映射时,具体用于:针对至少一帧图像中的每个像素,使用该像素所在亮度范围对应的映射曲线对该像素进行色调映射。
在一种可能的实施方式中,处理模块在用于基于M条映射曲线对至少一帧图像进行色调映射之后,还用于:基于至少一帧图像中的每个像素在色调映射前后的亮度信息,对映射后的至少一帧图像的颜色信息进行校正。
应当理解的是,第三方面与第一方面的技术方案相对应,所以各可能的实施方式所取得的有益效果相似,这里不再赘述。
第四方面,本申请实施例提供了一种生成元数据的装置,该装置包括用于执行第二方面或第二方面任一种可能的实施方式中所述方法的模块。
示例性的,该装置可以包括:
获取模块,用于获取至少一帧图像;
处理模块,用于对至少一帧图像进行处理,生成元数据;其中,元数据包括映射曲线的数目M,每一条映射曲线的起始节点和截止节点在第一坐标系中的坐标值;其中,映射曲线为N次样条曲线,第一坐标系的横向坐标表示色调映射前的图像亮度,第一坐标系的纵向坐标表示色调映射后的图像亮度;M为大于等于1的整数,N为大于等于3的整数。
在一种可能的实施方式中,处理模块在用于对至少一帧图像进行处理,生成元数据时,具体用于:提取至少一帧图像的属性信息,属性信息包括亮度的最大值、最小值、平均值、变化范围;基于属性信息,确定元数据。
在一种可能的实施方式中,元数据包括映射曲线的数目M,处理模块在用于基于属性信息,确定元数据时,具体用于:根据属性信息,确定至少一帧图像的亮度分布情况;基于亮度分布情况,将至少一帧图像的亮度划分为至少一个亮度范围;根据亮度范围的数量F,确定数目M,其中,M大于或等于F,每个亮度范围对应至少一条映射曲线。
在一种可能的实施方式中,元数据包括每一条映射曲线的截止节点和起始节点在第一坐标系中的坐标值,处理模块在用于基于属性信息,确定元数据时,具体用于:根据亮度分布情况和后端设备能显示的最大亮度值,确定每一条映射曲线的起始节点和截止节点在第一坐标系中的坐标值。
在一种可能的实施方式中,元数据还包括每一条映射曲线的起始节点的预设一阶导数和截止节点的预设一阶导数。
在一种可能的实施方式中,元数据包括每一条映射曲线的截止节点和起始节点的预设一阶导数,处理模块在用于基于属性信息,确定元数据时,具体用于:根据至少一帧图像的亮度与对比度之间的平衡需求,确定起始节点的预设一阶导数和截止节点的预设一阶导数。
在一种可能的实施方式中,处理模块在用于对至少一帧图像进行处理,生成元数据之后,还用于:接收第一操作,第一操作用于更改数目M、起始节点在第一坐标系中的坐标值、截止节点在第一坐标系中的坐标值、起始节点的预设一阶导数、截止节点的预设一阶导数中的至少一项;基于第一操作,修改元数据,得到更新后的元数据。
应当理解的是,第四方面与第二方面的技术方案相对应,所以各可能的实施方式所取得的有益效果相似,这里不再赘述。
第五方面,本申请实施例提供了一种电子设备,包括:相互耦合的非易失性存储器和处理器,所述处理器调用存储在所述存储器中的程序代码以执行如第一方面或第一方面中任一种可能的实施方式中所述的方法。
应理解,第五方面可以达到的技术效果,具体可以参照上述第一方面或第一方面中任意一种可能的实施方式所带来的技术效果描述,这里不再赘述。
第六方面,本申请实施例提供了一种电子设备,包括:相互耦合的非易失性存储器和处理器,所述处理器调用存储在所述存储器中的程序代码以执行如第二方面或第二方面中任一种可能的实施方式中所述的方法。
应理解,第六方面可以达到的技术效果,具体可以参照上述第二方面或第二方面中任意一种可能的实施方式所带来的技术效果描述,这里不再赘述。
第七方面,本申请实施例提供一种计算机可读存储介质,包括程序或指令,当程序或指令在计算机上运行时,使得如第一方面或第一方面中任一种可能的实施方式中的方法被执行,或,使得第二方面或第二方面中任一种可能的实施方式中的方法被执行。
应理解,第七方面可以达到的技术效果,具体可以参照上述第一方面或第一方面中任意一种可能的实施方式或者第二方面或第二方面任意一种可能的实施方式所带来的技术效果描述,这里不再赘述。
附图说明
图1为一种映射曲线的示意图;
图2A为本申请实施例适用的一种可能的系统架构的示意图;
图2B为本申请实施例提供的一种图像处理系统的结构示意图;
图3A为本申请实施例提供的一种生成元数据的方法的流程示意图;
图3B为本申请实施例提供的一种可能的场景示意图;
图4A为本申请实施例提供的一种映射曲线的示意图;
图4B为本申请实施例提供的另一种映射曲线的示意图;
图5A为本申请实施例提供的一种映射曲线的示意图;
图5B为本申请实施例提供的另一种映射曲线的示意图;
图6A为本申请实施例提供的一种映射曲线的示意图;
图6B为本申请实施例提供的另一种映射曲线的示意图;
图7为本申请实施例提供的一种色调映射方法的流程示意图;
图8为本申请实施例提供的一种色调映射装置的结构示意图;
图9为本申请实施例提供的一种生成元数据的装置的结构示意图;
图10为本申请实施例提供的一种电子设备的结构示意图;
图11为本申请实施例提供的另一种电子设备的结构示意图。
具体实施方式
本申请实施例中的术语“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c,a-b,a-c,b-c,或a-b-c中任意一种情况可以包括单个a、单个b、单个c,也可以包括多个a、多个b、多个c。
以及,除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,第一优先级准则和第二优先级准则,只是为了区分不同的准则,而并不是表示这两种准则的内容、优先级或者重要程度等的不同。
此外,本申请实施例和权利要求书及附图中的术语“包括”和“具有”不是排他的。例如,包括了一系列步骤或模块/单元的过程、方法、系统、产品或设备,不限定于已列出的步骤或模块,还可以包括没有列出的步骤或模块/单元。
为了便于理解,首先对本申请实施例涉及到的技术术语进行相应的解释。
(1)动态范围((dynamic range),视频或图像信号中最大亮度与最小亮度的比值。
(2)高动态范围(high dynamic range,HDR),动态范围在0.001到10000nit之间的图像,nit是光照单位。
(3)标准动态范围(standard dynamic range,SDR),下文也称作低动态范围,动态范围一般在1nit到100nit之间的图像。
(4)元数据(metadata),用于记录场景或者帧中图像的关键信息。在本申请实施例中该元数据还可以包括映射曲线的参数、例如映射曲线的起始节点、截止节点在第一坐标系中的坐标值。其中,元数据还可以进一步包括动态元数据(dynamic metadata)和静态元数据(static metadata);动态元数据可以理解为与每帧图像相关联的数据(下文也称作属性信息),该数据可以随画面不同而改变,例如场景中像素亮度的平均值,最大值,最小值等;静态元数据可以理解为与图像序列相关联的数据,该数据在图像序列内保持不变。
(5)色调映射(tone-mapping),对HDR图像的亮度映射到目标显示设备所能显示的亮度范围。具体可以分为高动态到低动态的映射,低动态到高动态的映射。例如,HDR图像包括4000nit的光照信号,而目标显示设备(电视机,IPAD)的HDR显示能力只有500nit尼特,则需要把4000nit信号映射到500nit的设备上,即从高到低的色调映射过程。又例如,HDR图像包括100nit的SDR信号,而目标显示设备的显示能力只有2000nit,则需要把100nit的信号映射到2000nit的设备上,即从低到高的色调映射过程。
(6)图像对比度:一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,即指一幅图像灰度反差的大小。差异范围越大代表对比越大,差异范围越小代表对比越小,好的对比率120:1就可容易地显示生动、丰富的色彩,当对比率高达300:1时,便可支持各阶的颜色。
(7)映射曲线,用于对HDR图像的亮度进行映射的函数曲线,本申请实施例主要涉及N次样条函数曲线。
(8)显示适配(display adaptation):对HDR视频或图像信号进行色调处理,以适配目标显示设备的显示特性。
为了对HDR图像进行色调映射,可以在一条基础曲线的基础上生成映射曲线,进而基于该映射曲线对HDR图像进行色调映射。其中,基础曲线可以是直线,或者是场景亮度保真(scene luminance fidelity,SLF)的电光曲线,或者是S型(sigmoidal)函数曲线,或者是贝塞尔曲线。图1示出了一种映射曲线,如图1所示,通过N次样条函数对这一基础曲线(即图1中的虚线)进行修改,以得到映射曲线,其中,点1和点2之间的映射曲线为一次样条函数曲线,点2到点3、点3到点4之间的映射曲线为三次样条函数曲线,点4之后的映射曲线为基础曲线。
从图1可以看出,映射曲线受到基础曲线的限制,会导致映射效果较差(例如,对特亮区域或者特暗区域的像素的色调映射效果较差),进而导致HDR图像的显示效果不佳。
为了灵活地对HDR图像进行映射,本申请实施例提出一种色调映射方法,该方法可以由后端设备执行,在该方法中后端设备可以从前端设备接收元数据和HDR图像,根据该元数据中包含的映射曲线的特征参数生成映射曲线,并基于该映射曲线对HDR图像进行色调映射。其中,映射曲线的特征参数是前端设备根据HDR图像的亮度分布情况确定。因此,本申请实施例通过结合HDR图像的亮度分布情况确定映射曲线参数,无需依赖基础曲线,使得映射曲线的设计更灵活,进而能够使得针对特定亮度范围(例如,特亮或特暗)的亮度映射效果更佳,提高HDR图像的显示效果。
图2A为本申请实施例适用的一种可能的系统架构的示意图,本申请实施例的系统架构包括:前端设备、传输链路、后端设备。
其中,前端设备用于采集或制作HDR内容(例如,视频或图像)。示例性的前端设备可以是视频采集设备,也可以是视频制作设备。
在一种可能的实施例中,前端设备还可以用于从HDR内容中提取出相应的元数据,该元数据可以包括映射曲线的参数信息以及与HDR内容对应的动态元数据、静态元数据。前端设备可以将HDR内容和元数据进行编码后通过传输链路发送给后端设备。具体的,HDR内容和元数据可以以一个数据包的形式进行传输,或者分别以两个数据包进行传输,本申请实施例不作具体的限定。
后端设备可以用于接收元数据和HDR内容,并根据元数据中包含的映射曲线参数,确定映射曲线,以及根据该映射曲线对HDR内容进行色调映射,转换为后端设备中的显示设备适配的显示内容。应理解,图2A中的“标准动态HDR”和“标准动态SDR”中的“标准动态”是相对于前端设备产生的HDR内容而言。
还应理解,在不同的实施例中,后端设备中也可以包括具有比前端设备产生的HDR内容更高动态范围的显示能力的显示设备,其显示适配的过程同样可以应用于本系统架构,本申请不作限定。
本申请实施例还提供了一种HDR端到端的图像处理系统,该系统可以应用于图2A所示的系统架构中。在图2B中,HDR内容以HDR视频为例。
请参见图2B,该图像处理系统包括:HDR预处理模块、HDR视频编码模块、HDR视频解码模块、色调映射模块。
其中,HDR预处理模块、HDR视频编码模块可以位于图2A所示的前端设备,HDR视频解码模块、色调映射模块可以位于图2A所示的后端设备。
HDR预处理模块:用于从HDR视频中提取动态元数据(例如,亮度的最大值、最小值、平均值、变化范围),以及根据动态元数据和目标显示设备的显示能力,确定映射曲线参数,将该映射曲线参数写入动态元数据得到HDR元数据,并进行传输。其中,HDR视频可以是采集的,也可以是经过调色师处理过的HDR视频;目标显示设备的显示能力为目标显示设备能显示的亮度范围。
HDR视频编码模块:用于根据视频压缩标准(例如,AVS或者HEVC标准)对HDR视频和HDR元数据进行视频编码(例如,将HDR元数据嵌入到码流中用户自定义的部分),输出相应的码流(AVS或HEVC码流)。
HDR视频解码模块:用于对生成的码流(AVS码流或HEVC码流)按照码流格式所对应的标准进行解码,输出解码后的HDR视频和HDR元数据。
色调映射模块:用于根据解码后的HDR元数据中的映射曲线的参数,生成映射曲线,并对解码后的HDR视频进行色调映射(即HDR适配处理或者SDR适配处理),并把色调映射之后的HDR适配视频在HDR显示终端显示,或者SDR适配视频在SDR显示终端显示。
示例性的,HDR预处理模块可以存在于视频采集设备或视频制作设备中。
示例性的,HDR视频编码模块可以存在于视频采集设备或视频制作设备中。
示例性的,HDR视频解码模块可以存在于机顶盒、电视显示设备、移动终端显示设备以及网络直播、网络视频应用等的视频转换设备中。
示例性的,色调映射模块可以存在于机顶盒、电视显示设备、移动终端显示设备以及网络直播、网络视频应用等的视频转换设备中。更具体的,该色调映射模块在机顶盒、电视显示器、移动终端显示器中可以以芯片的形态存在,在网络直播、网络视频应用等的视频转换设备中可以以软件程序的形态存在。
在一种可能的实施例中,色调映射模块和HDR视频解码模块均存在于机顶盒中时,机顶盒可以完成视频码流的接收、解码以及色调映射功能,机顶盒通过高清晰度多媒体接口(high definition multimedia interface,HDMI)将解码得到的视频数据发送给显示设备进行显示,从而使用户可以欣赏到视频内容。
下面结合具体的附图,介绍前端设备生成元数据的过程。
请参见图3A,图3A示出了一种生成元数据的方法的流程示意图,该方法可以由前端设备执行,具体包括以下步骤:
S301、获取至少一帧图像。
应理解,至少一帧图像可以是一帧或多帧图像,当至少一帧图像为多帧连续的图像时,至少一帧图像可以理解为视频。
S302、对至少一帧图像进行处理,生成元数据。
其中,元数据包括映射曲线参数,例如,映射曲线的数目M、每条映射曲线的起始节点和截止节点在第一坐标系中的坐标值;其中,每条映射曲线均为N次样条曲线,第一坐标系的横向坐标是色调映射前的图像亮度,第一坐标系的纵向坐标是色调映射后的图像亮度,第一坐标的坐标原点为(0,0),即色调映射前后的图像亮度均为0的点。可选的,元数据还可以包括至少一帧图像的静态元数据和动态元数据。
在一种可能的实施例中,元数据包括至少一帧图像的属性信息(即动态元数据),前端设备对至少一帧图像进行处理,生成元数据,具体包括:对至少一帧图像进行处理,提取至少一帧图像的属性信息,将该属性信息作为元数据的部分信息。
可选的,属性信息具体可以包括同一帧图像中或者同一场景对应的多张图像(例如,连续多帧拍摄同一物体的图像)中的亮度的最大值、最小值、平均值、变化范围。其中,变化范围代表了图像子块的像素亮度与均值亮度的偏移程度以及分布的集中程度,且变化范围越小,亮度越集中,例如变化范围具体可以是方差。
其中,前端设备对至少一帧图像进行处理,提取至少一帧图像的属性信息有多种实施方式,包括但不限于以下方式:
方式1,当至少一帧图像只有一帧图像时,确定这帧图像中像素亮度的最大值、最小值、平均值、变化范围,即可获得属性信息。
方式2,当至少一帧图像为同一场景的多帧连续的图像时,统计这多帧图像的中像素亮度的最大值、最小值、平均值、变化范围,得到最终的属性信息。
可选的,前端设备在提取至少一帧图像的属性信息时,具体可以是提取该至少一帧图像中局部区域(如感兴趣区域)的属性信息。示例性的,如图3B所示的图像场景1中感兴趣区域为一朵云所在的区域,则前端设备确定图像场景1的属性信息时,具体可以是确定该场景1对应的至少一帧图像中该朵云所对应的像素亮度值,进一步统计得到这朵云的亮度的最大值、最小值、平均值、变化范围,将这朵云的亮度的最大值、最小值、平均值、变化范围作为场景1的属性信息。
在一种可能的实施例中,前端设备提取出至少一帧图像的属性信息之后,可以基于属性信息,确定元数据。
在一种可能的实施例中,元数据包括映射曲线的数目,前端设备基于属性信息,确定元数据,具体实施方式可以包括:根据属性信息,确定至少一帧图像的亮度分布情况;基于亮度分布情况,将至少一帧图像中的亮度划分为至少一个亮度范围;根据亮度范围的数量F,确定数目M。其中,M大于或等于F,每个亮度范围对应至少一条映射曲线。具体的,亮度分布情况可以通过亮度分布直方图或者亮度分布饼图来实现,本申请实施例不作具体限定。
示例1,请参见图4A和图4B,前端设备通过分析第一图像的亮度直方图,发现第一图像的亮度分布较为平均,则将第一图像的亮度划分为低亮度范围(0-0.3cd/m2)、中亮度范围(0.3-0.6cd/m2)、高亮度范围(0.6-0.9cd/m2),认为每个亮度范围均有感兴趣的内容,并在每个亮度范围内采用奇数或偶数个三次样条函数生成映射曲线。
图4A和图4B中的坐标系的横向坐标用于表示色调映射前图像的亮度,纵向坐标用于表示色调映射后图像的亮度。
图4A和图4B的区别在于,每个亮度范围内的映射曲线的数目不同。
如图4A所示,低亮度范围、中亮度范围、高亮度范围分别采用了两条映射曲线。具体的,低亮度范围的第一条映射曲线的起始节点为0点(0,0)、截止节点为1点(0.28,0.29),低亮度范围的第二条映射曲线的起始节点为1点(0.28,0.29)、截止节点为2点(0.3,0.36);中亮度范围的第一条映射曲线的起始节点为2点(0.3,0.36)、截止节点为3点(0.43,0.55),中亮度范围的第二条映射曲线的起始节点为3点(0.43,0.55)、截止节点为4点(0.6,0.58);高亮度范围的第一条映射曲线的起始节点为4点(0.6,0.58)、截止节点为5点(0.75,0.76),高亮度范围的第二条映射曲线的起始节点为5点(0.75,0.76)、截止节点为6点(0.9,0.98)。
如图4B所示,低亮度范围、中亮度范围、高亮度范围分别采用了一条映射曲线,其中,低亮度范围的映射曲线的起始节点为0点(0,0)、截止节点为1点(0.3,0.38);中亮度范围的映射曲线的起始节点为1点(0.3,0.38)、截止节点为2点(0.6,0.58);高亮度范围的映射曲线的起始节点为2点(0.6,0.58)、截止节点为3点(0.9,0.88)。
示例2,请参见图5A和图5B,前端设备通过分析第二图像的亮度直方图,确定第二图像的亮度在低亮度范围和高亮度范围分布较为平均,则将第二图像的亮度划分为低亮度范围和高亮度范围,并在低亮度范围和高亮度范围内采用奇数或偶数个三次样条函数生成映射曲线。
图5A和图5B中的坐标系的横向坐标用于表示色调映射前图像的亮度,纵向坐标用于表示色调映射后图像的亮度,坐标原点为(0,0)。
图5A和图5B的区别在于,每个亮度范围内的映射曲线的数目不同。
如图5A所示,低亮度范围、高亮度范围各自采用了两条映射曲线,其中,低亮度范围的第一条映射曲线的起始节点为0点(0,0)、截止节点为1点(0.6,0.7),低亮度范围的第二条映射曲线的起始节点为1点(0.6,0.7)、截止节点为2点(0.46,0.58);高亮度范围的第一条映射曲线的起始节点为2点(0.46,0.58)、截止节点为3点(0.72,0.68),高亮度范围的第二条映射曲线的起始节点为3点(0.72,0.68)、截止节点为4点(0.9,0.88)。
如图5B所示,低亮度范围、高亮度范围各自采用了一条映射曲线,其中,低亮度范围的映射曲线的起始节点为0点(0,0)、截止节点为1点(0.46,0.58);高亮度范围的映射曲线的起始节点为1点、截止节点为2点(0.9,0.88)。
示例3,请参见图6A和图6B,前端设备对第三图像的亮度直方图进行分析,确定第三图像的亮度在中亮度范围分布较为平均,没有极暗或者极亮的区域,则将第三图像的亮度只划分为中亮度范围。其中,图6A和图6B中的坐标系的横向坐标用于表示色调映射前图像的亮度,纵向坐标用于表示色调映射后图像的亮度,坐标原点为(0,0)。
图6A和图6B的区别在于,中亮度范围内的映射曲线的数目不同。
如图6A所示,中亮度范围采用了两条映射曲线,其中,中亮度范围的第一条映射曲线的起始节点为0点(0,0)、截止节点为1点(0.46,0.48),中亮度范围的第二条映射曲线的起始节点为1点(0.46,0.48)、截止节点为2点(0.9,0.88)。
如图6B所示,中亮度范围采用了一条映射曲线,其中,中亮度范围的映射曲线的起始节点为0点(0,0)、截止节点为1点(0.9,0.88)。
在图4A、图5A、图6A对应的示例中,针对同一亮度范围采用两条N次样条曲线来构成映射曲线,有效提升映射曲线的灵活度,进而提升色调映射的效果。
在图4B、图5B、图6B对应的示例中,针对同一亮度范围采用一条N次样条曲线来构成映射曲线,所需的映射曲线参数较少,有效提升元数据传输的效率。
需要说明的是,以上示例的亮度范围是以低亮度范围、中亮度范围、高亮度范围三个范围为例,在实际应用中,亮度范围还可以有其它划分方式,例如亮度范围还可以有中高亮度范围、中低亮度范围等,本申请不做具体限制。
进一步需要说明的是,以上每个亮度范围中主要以一条或两条映射曲线为例,在实际应用中每个亮度范围中的映射曲线的数目可以更多,本申请不做具体限制。
在一种可能的实施例中,元数据包括每一条映射曲线的起始节点和截止节点在第一坐标系中的坐标值,前端设备基于属性信息,确定元数据,具体可以包括:根据亮度分布情况和后端设备能显示的最大亮度值,确定每一条映射曲线的起始节点和截止节点在第一坐标系中的坐标值。
示例1,在将至少一帧图像的亮度的范围划分为低亮度范围、中亮度范围、高亮度范围,且每个亮度范围对应一条映射曲线时,低亮度范围对应的映射曲线1的起始节点可设置为原点(0,0),映射曲线1的截止节点的横坐标可以设置为至少一帧图像中30%像素的亮度都不大于的亮度值,映射曲线1的截止节点的纵坐标可以设置为后端设备能显示的最大亮度值的50%;中亮度范围对应的映射曲线2的起始节点则设置为映射曲线1的截止节点,映射曲线2的截止节点的横坐标可以设置为至少一帧图像中70%像素的亮度都小于的亮度值,映射曲线2的截止节点的纵坐标可以设置为后端设备能显示的最大亮度值的70%;高亮度范围对应的映射曲线3的起始节点则设置为映射曲线2的截止节点,映射曲线3的截止节点的横坐标可以设置为至少一帧图像中像素亮度的最大值,映射曲线3的截止节点的纵坐标可以设置为后端设备的能显示的最大亮度值。
以图4B中的高亮度范围为例,第一图像中像素亮度的最大值为0.9cd/m2,后端设备能显示的最大亮度值0.98cd/m2,则高亮度范围对应的映射曲线的截止节点的横坐标设置为0.9cd/m2,该映射曲线的截止节点的纵坐标设置为0.98cd/m2。
示例2,在将至少一帧图像的亮度的范围划分为低亮度范围、高亮度范围时,且每个亮度范围对应一条映射曲线时,低亮度范围对应的映射曲线4的起始节点可设置为原点(0,0),映射曲线4的截止节点的横坐标可以设置为至少一帧图像中50%像素的亮度都不大于的亮度值,映射曲线4的截止节点的纵坐标可以设置为后端设备能显示的最大亮度值的30%;高亮度范围对应的映射曲线5的起始节点则设置为映射曲线4的截止节点,映射曲线4的截止节点的横坐标可以设置为至少一帧图像中像素亮度的最大值,映射曲线4的截止节点的纵坐标可以设置为后端设备的能显示的最大亮度值。
以图5B中的低亮度范围为例,第二图像中50%像素的亮度都小于0.46cd/m2,后端设备能显示的最大亮度值的30%为0.48cd/m2;则低亮度范围对应的映射曲线的截止节点的横坐标设置为0.46cd/m2,该映射曲线的截止节点的纵坐标设置为0.48cd/m2。
示例3,在将至少一帧图像的亮度的范围只划分为中亮度范围时,中亮度范围对应映射曲线6和映射曲线7时,映射曲线6的起始节点可设置为原点(0,0),映射曲线6的截止节点的横坐标可以设置为至少一帧图像中50%的像素亮度都不大于的值,映射曲线6的截止节点的纵坐标可以设置为后端设备能显示的最大显示亮度的53%;映射曲线7的起始节点则可以设置映射曲线6的截止节点,映射曲线7的截止节点的横坐标可以设置为至少一帧图像中像素亮度的最大值,映射曲线7的截止节点的纵坐标可以设置为后端设备的能显示的最大亮度值。
以图6A中的中亮度范围为例,中亮度范围对应映射曲线6和映射曲线7,在图6A中0点至1点之间的曲线为映射曲线6,1点到2点之间的曲线为映射曲线7;第三图像中像素亮度的最大值为0.9cd/m2,后端设备能显示的最大亮度值0.98cd/m2;第三图像中50%像素的亮度都不大于0.46cd/m2,后端设备的最大显示亮度的53%为0.48cd/m2;则映射曲线6的截止节点的横坐标设置为0.46cd/m2,映射曲线6的截止节点的纵坐标设置为0.48cd/m2;映射曲线7的截止节点的横坐标设置为0.9cd/m2,映射曲线7的截止节点的纵坐标设置为0.98cd/m2。
在一种可能的实施例中,元数据还可以包括每条映射曲线的起始节点的预设一阶导数和截止节点的预设一阶导数。
相应的,前端设备基于属性信息,确定元数据,还包括:根据至少一帧图像的亮度与对比度之间的平衡需求,确定每条映射曲线的起始节点的预设一阶导数和截止节点的预设一阶导数。应理解,这里的对比度即前述的图像对比度。
例如,如果希望保持至少一帧图像的图像亮度,可以将一阶导数设置得大一些,如果希望增强至少一帧图像的图像对比度,可以将一阶导数设置得小一些。
基于上述描述可知,本申请实施例中,映射曲线的参数设计是根据图像的亮度分布情况决定的,可以不受基础曲线的限制,所以形态相对灵活,能对不同亮度范围提供较大的调整空间,从而实现更优的适配效果。
在一种可能的实施例中,前端设备对至少一帧图像进行处理,生成元数据之后,还可以接收第一操作,基于第一操作,修改元数据,得到更新后的元数据。其中,第一操作可以用于更改映射曲线的数目M、起始节点在第一坐标系中的坐标值、截止节点在第一坐标系中的坐标值、起始节点的预设一阶导数、截止节点的预设一阶导数中的至少一项。
应理解,第一操作可以理解为用户的操作,例如,前端设备对图像A处理后,将图像A划分为两个亮度范围,为其设计了2条映射曲线的参数,但导演为了提高色调映射的效率,可以将图像A对应的映射曲线的数目调整为1,则导演更改映射曲线数目的操作即第一操作。如此,前端设备可以根据用户需求动态调整映射曲线的参数信息,有效满足用户偏好需求,进而有效提升用户体验。
在一种可能的实施例中,当前端设备生成元数据之后,可以将至少一帧图像、元数据编码后通过以码流的形式发送至后端设备。后端设备接收码流后对其进行解码,然后根据解码出的元数据确定映射曲线,最后根据该映射曲线对HDR视频中的图像进行色调映射,转换为显示设备适配的显示图像。
下面结合具体的附图,介绍色调映射的过程。
请参见图7,图7示出了一种色调映射方法的流程示意图,该方法可以由后端设备执行,具体包括以下步骤:
S701、接收至少一帧图像和元数据。
一般地,至少一帧图像(HDR图像或视频)和元数据均以码流的形式进行传输。在本申请实施例中至少一帧图像对应的数据可以是光信号,也可以是电信号,本申请对此不作限定。如果是电信号,可以根据光电信号转换函数将还电信号转化为光信号。
应理解,本申请实施例,对元数据的格式不做限定。示例性的,元数据与上文前端设备发送的元数据一致,即可以包括映射曲线的数目M,以及每一条映射曲线的起始节点和截止节点在第一坐标系中的坐标值;其中,映射曲线为N次样条曲线,第一坐标系的横向坐标表示色调映射前的图像亮度,第一坐标系的纵向坐标表示色调映射后的图像亮度;M为大于等于1的整数,N为大于等于3的整数。
在一种可能的实施例中,后端设备中的显示设备可以直接从前端设备接收码流,并对码流进行解码,获得该至少一帧图像和元数据。
在另一种可能的实施例中,后端设备中包括解码设备(例如机顶盒)和显示设备(例如电视),解码设备接收来自前端设备的码流,并对该码流进行解码,获得至少一帧图像和元数据之后,将解码后的至少一帧图像和元数据发送至显示设备。
可选的,元数据还包括起始节点的预设一阶导数和截止节点的预设一阶导数。具体的,后端设备接收到的元数据中包括每条映射曲线的起始节点的预设一阶导数和截止节点的预设一阶导数。
可替换的,元数据不包括起始节点的预设一阶导数和截止节点的预设一阶导数。而是后端设备保存有所有映射曲线的起始节点、截止节点与预设一阶导数之间的映射表,后端设备在接收到元数据后,可以根据该映射表确定元数据中每条曲线的起始节点和截止节点对应的预设一阶导数。
S702、根据元数据,生成M条映射曲线。
应理解,至少一帧图像中的每帧图像可以对应至少一个亮度范围,每个亮度范围对应至少一条映射曲线,即每帧图像可以对应一个或多个亮度范围,一个的亮度范围可以一条或多条映射曲线。
示例性的,第一图像可以对应低亮度范围、高亮度范围、中亮度范围;或者,对应低亮度范围、高亮度范围,或者,对应低亮度范围,本申请实施例不作具体的限定。每个亮度范围可以对应奇数条或者偶数条映射曲线,具体可以是一条或两条映射曲线,本申请实施例不作具体的限定。
在一种可能的实施例中,映射曲线对应的函数表达式可以为N阶多项式,N阶多项式中包括N+1个单项式,每个单项式对应一个系数。
每个亮度范围对应的至少一条映射曲线中的第i条映射曲线对应的函数表达式具体的可以是:
y=di*(x-x2)N+……+ci*(x-x2)2+bi*(x-x2)+ai;
其中,x为自变量,用于表征色调映射前的图像亮度,y为因变量,用于表征色调映射后的图像亮度;ai为第i条映射曲线中常数项的系数、bi为第i条映射曲线中一次单项式的系数、ci为第i条映射曲线中二次单项式的系数、di为第i条映射曲线中N次单项式的系数;x2为第i条映射曲线的起始节点的横向坐标;ai、bi、ci、di均不为0。
具体的,上述第i条映射曲线对应的第一函数表达式可以为三次样条函数:y=di*(x-x2)3+ci*(x-x2)2+bi*(x-x2)+ai;x为自变量,用于表征色调映射前的图像亮度,y为因变量,用于表征色调映射后的图像亮度;ai为第i条映射曲线中常数项的系数、bi为第i条映射曲线中一次单项式的系数、ci为第i条映射曲线中二次单项式的系数、di为第i条映射曲线中三次单项式的系数;x2为第i条映射曲线的起始节点的横向坐标;ai、bi、ci、di均不为0。
可选的,上述第i条映射曲线对应的第一函数表达式也可以为四次样条函数:y=ei*(x-x2)4+di*(x-x2)3+ci*(x-x2)2+bi*(x-x2)+ai;其中,x为自变量,用于表征色调映射前的图像亮度,y为因变量,用于表征色调映射后的图像亮度;ai为第i条映射曲线中常数项的系数、bi为第i条映射曲线中一次单项式的系数、ci为第i条映射曲线中二次单项式的系数、di为第i条映射曲线中三次单项式的系数、ei为第i条映射曲线中四次单项式的系数;x2为第i条映射曲线的起始节点的横向坐标;ai、bi、ci、di均不为0。
应理解,上述仅仅是以三次样条函数曲线、四次样条函数曲线作为示例而非限定,实际应用时还可以为其它样条函数曲线。
其中,后端设备根据元数据,生成每个亮度范围对应的映射曲线有多种实现方式,包括但不限于以下方式:
方式1,至少一个亮度范围中的第一亮度范围对应第一映射曲线,第一映射曲线包括第一起始节点、第一截止节点;根据元数据,生成M条映射曲线,包括:将第一起始节点的坐标值代入第一函数表达式,得到第一映射曲线的第一系数a1;将第一截止节点的坐标值代入第一函数表达式,得到第一方程式;使第一映射曲线在第一起始节点的一阶导数与第一起始节点的预设一阶导数相等,得到第二方程式;使第一映射曲线在第一截止节点的一阶导数与第一截止节点的预设一阶导数相等,得到第三方程式;联立第一方程式、第二方程式以及第三方程式,得到第一方程组;解析第一方程组,得到第一映射曲线的第二系数b1、第三系数c1、第四系数d1;基于第一映射曲线的第一系数a1、第二系数b1、第三系数c1、第四系数d1,生成第一映射曲线。
示例性的,请继续参见图4B,以中亮度范围为例,假设1到2点的第一映射曲线的表达式为:
F1(x)=d1*(x-x1)3+c1*(x-x1)2+b1*(x-x1)+a1 (1)
该第一映射曲线的起始节点1点在第一坐标系中坐标为(x1,y1),第一映射曲线的截止节点即2点在第一坐标系中坐标为(x2,y2);其中a1、b1、c1、d1即为第一映射曲线的函数系数。
求解函数系数的具体过程如下:
将1点的坐标代入(1)式,得到y1=a1;
将1点的坐标代入(1)式,得到第一方程式y2=d1*(x2-x1)3+c1*(x2-x1)2+b1*(x2-x1)+a1;
使得(1)式在1点的一阶导数等于1点的预设一阶导数G1,得到第二方程式G1=d1*3(x-x1)2+c1*(x-x1)+b1;
使得(1)式在2点的一阶导数等于2点的预设一阶导数G2,得到第三方程式G2=d1*3(x2-x1)2+c1*(x2-x1)+b1;
联立y1=a1,第一方程式、第二方程式、第三方程式,得到第一方程组;解析第一方程组,得到第一映射曲线的第二系数b1、第三系数c1、第四系数d1;基于第一映射曲线的第一系数a1、第二系数b1、第三系数c1、第四系数d1,生成第一映射曲线。
这里需要说明的是,为了保证整条映射曲线的连续性,各节点只可以有唯一的导数值;同时为了防止出现震荡的三次样条函数,避免过度修正,在此第一映射曲线的一阶导数恒大于0。
方式2,针对至少一个亮度范围中的每个亮度范围进一步划分为子亮度范围。例如,将中亮度范围划分为第一子亮度范围和第二子亮度范围,其中,第一子亮度范围对应第二映射曲线对应第二亮度范围,第一子亮度范围对应第三映射曲线;第一子亮度范围中的最大值等于第二子亮度范围中的最小值;第二映射曲线包括第二起始节点、第二截止节点;第三映射曲线包括第三起始节点、第三截止节点;第二截止节点与第三起始节点的坐标值相同。
后端设备根据元数据,生成M条映射曲线时,可以同时计算第二映射曲线和第三映射曲线的函数系数,具体过程可以是:将第二起始节点的坐标值代入第一函数表达式,得到第二映射曲线的第一系数a2;将第三起始节点的坐标值代入第一函数表达式,得到第三映射曲线的第一系数a3;第二映射曲线在第二起始节点的一阶导数与第二起始节点的预设一阶导数相等,建立第四方程式;解析第四方程式,得到第二映射曲线的第二系数b2;根据第二截止节点的坐标值、第三截止节点的坐标值、第三截止节点的预设一阶导数构建第二方程组;解析第二方程组,得到第二映射曲线的第三系数c2、第四系数d2以及第三映射曲线的第二系数b3、第三系数c3、第四系数d3;基于第二映射曲线的第一系数a2、第二系数b2、第三系数c2、第四系数d2,生成第二映射曲线;以及基于第三映射曲线的第一系数a3、第二系数b3、第三系数c3、第四系数d3,生成第三映射曲线。
其中,根据将第二截止节点的坐标值、第三截止节点的坐标值、第三截止节点的预设一阶导数构建第二方程组有多种实现方式,包括但不限于以下方式:
方式1,将第二截止节点的坐标值、第三截止节点的坐标值代入第一函数表达式,分别得到第五方程式、第六方程式,使得第三截止节点在第三映射曲线的一阶导数与第三截止节点的预设一阶导数相等,得到第七方程式;使得第二映射曲线在第二截止节点的一阶导数与第三映射曲线在第三起始节点的一阶导数相等,得到第八方程式,使得第二映射曲线在第二截止节点的二阶导数与第三映射曲线在第三起始节点的二阶导数相等,得到第九方程式;联立第五方程式、第六方程式、第七方程式、第八方程式、第九方程式,得到第二方程组。
在方式1中,通过第二映射曲线在第二截止节点的一阶导数与第三映射曲线在第三起始节点的一阶导数相等,以及第二映射曲线在第二截止节点的二阶导数与第三映射曲线在第三起始节点的二阶导数相等来求解映射曲线的函数系数,在元数据中就不需要携带第二截止节点和第三起始节点的与预设一阶导数,有效提高元数据的传输效率。
方式2,将第二截止节点的坐标值、第三截止节点的坐标值代入第一函数表达式,分别得到第五方程式、第六方程式,使得第三截止节点在第三映射曲线的一阶导数与第三截止节点的预设一阶导数相等,得到第七方程式;或者,使得第二映射曲线在第二截止节点的一阶导数与第二截止节点的预设一阶导数相等,得到第八方程式,使得第三映射曲线在第三起始节点的一阶导数与第三起始节点的预设一阶导数相等,得到第九方程式;联立第五方程式、第六方程式、第七方程式、第八方程式、第九方程式,得到第二方程组。
在方式2中,通过第二映射曲线在第二截止节点的一阶导数与第二截止节点的预设一阶导数相等,以及第三映射曲线在第三起始节点的一阶导数与第三起始节点的预设一阶导数相等来求解映射曲线的函数系数,可以减少后端设备的计算量。
示例性的,请继续参见图4A,以中亮度范围为例,中亮度范围的第二映射曲线为2到3点的映射曲线,其表达式为:
F2(x)=d2*(x-x2)3+c2*(x-x2)2+b2*(x-x2)+a2 (2)
中亮度范围的第三映射曲线为3到4点的映射曲线,其表达式为:
F3(x)=d3*(x-x3)3+c3*(x-x3)2+b3*(x-x3)+a3 (3)
各节点坐标形式均为(xi,yi)形式,如2点坐标为(x2,y2);3点坐标为(x3,y3);4点坐标为(x4,y4);其中,d2、c2、b2、a2为第二映射曲线的函数系数,d3、c3、b3、a3为第三映射曲线的函数系数。
联立求解函数系数的过程如下:
将2点的坐标值代入(2)式,得到y2=a2;
将3点的坐标值代入(3)式,得到y3=a3;
使得(2)式在2点的一阶导数等于2点的预设一阶导数G3,得到第四方程式G3=b2;
将3点的坐标值代入(2)式,得到第五方程式:
y3=d2*(x3-x2)3+c2*(x3-x2)2+b2*(x3-x2)+a2;
将4点的坐标值代入(3)式,得到第六方程式;
y4=d3*(x4-x3)3+c3*(x4-x3)2+b3*(x4-x3)+a3;
使得(3)式在4点的一阶导数等于4点的预设一阶导数G4,得到第七方程式:
G4=d3*3(x4-x3)2+c3*(x4-x3)+b3;
使得(2)式在3点的一阶导数与(3)式在3点的一阶导数相等,得到第八方程式:
d2*3(x3-x2)2+c2*(x3-x2)+b2=b3;
使得(2)式在3点的二阶导数与(3)式在3点的二阶导数相等,得到第九方程式:
d2*6(x3-x2)+c2=0;
联立以上方程式,可以得到第二映射曲线的第三系数c2、第四系数d2以及第三映射曲线的第二系数b3、第三系数c3、第四系数d3;基于第二映射曲线的第一系数a2、第二系数b2、第三系数c2、第四系数d2,生成第二映射曲线;以及基于第三映射曲线的第一系数a3、第二系数b3、第三系数c3、第四系数d3,生成第三映射曲线。
S703、基于M条映射曲线对至少一帧图像进行色调映射。
在一种可能的实施例中,基于M条映射曲线对至少一帧图像进行色调映射,包括:针对至少一帧图像中的每个像素,使用该像素所在亮度范围对应的映射曲线对该像素进行色调映射。
示例性的,第一图像的亮度被划分为低亮度范围、中亮度范围、高亮度范围,其中,低亮度范围又被划分为两个子亮度范围,每个子亮度范围对应一条映射曲线,第一图像中的像素A的亮度属于第一子亮度范围,则根据第一子亮度范围对应的映射曲线对该像素进行映射。
通过上述描述可知,本申请实施例中后端设备,根据该元数据中包含的映射曲线的特征参数生成映射曲线,并对HDR图像不同亮度范围的像素采用不同的映射曲线进行色调映射,可以使得HDR图像显示适配,有效提升HDR图像的显示效果。
在一种可能的实施例中,元数据中还可以包括至少一帧图像的颜色信息,后端设备在基于M条映射曲线对至少一帧图像进行色调映射之后,还包括:基于至少一帧图像中的每个像素在色调映射前后的亮度信息,对映射后的至少一帧图像的颜色信息进行校正。
应理解,元数据中还可以包括至少一帧图像的颜色的属性信息(例如,即色彩饱和度调整强度)。相应的,后端设备还可以根据颜色的属性信息以及至少一帧图像中的每个像素在色调映射前后的亮度信息,对映射后的至少一帧图像的颜色信息进行校正。
示例性的,以至少一帧图像中的像素A为例,后端设备可以确定像素A进行色调映射后的第一亮度值与像素A进行色调映射前的第二亮度值之间的比值,结合该比值和后端设备中目标显示设备的最大显示能力、前端设备中参考显示设备(例如,视频制作设备)的最大显示能力以及至少一帧图像的颜色的属性信息、像素A色调映射前的第二亮度值,确定一个饱和度调整因子;基于该饱和度调整因子,对像素A的颜色信息进行调整。其中,最大显示能力可以理解为最大显示亮度值。
应理解,颜色信息可以是YUV信号,或者其他形式的色彩信号,本申请实施例不作具体的限定。其中,“YUV”中的Y用于表征图像的亮度信息,UV用于表征图像的颜色信息。
在一种可能的实施方式中,颜色信息为YUV信号,后端设备将饱和度调整因子与色调映射后的至少一帧图像中每个像素的UV分量相乘,即可实现颜色信息校正。
在本申请实施例中,后端设备根据至少一帧图像中的每个像素在色调映射前后的亮度信息、后端设备中目标显示设备的显示能力、前端设备中参考显示设备的最大显示能力以及至少一帧图像的颜色的属性信息,来对至少一帧图像的颜色信息的进行调整,能够取得较好的校正效果,进而可以得到良好的显示效果。
基于同一技术构思,本申请实施例还提供一种色调映射装置800,装置800具备实现上述图2A中后端设备的功能,所述功能或单元或手段可以通过软件实现,或者通过硬件实现,也可以通过硬件执行相应的软件实现。
示例性的,参见图8,装置800可以包括:
接收模块801,用于接收至少一帧图像和元数据;元数据包括映射曲线的数目M,每一条映射曲线的起始节点和截止节点在第一坐标系中的坐标值;其中,映射曲线为N次样条曲线,第一坐标系的横向坐标表示色调映射前的图像亮度,第一坐标系的纵向坐标表示色调映射后的图像亮度;M为大于等于1的整数,N为大于等于3的整数;
处理模块802,用于根据元数据,生成M条映射曲线;
处理模块802,还用于基于M条映射曲线,对至少一帧图像进行色调映射。
应理解,上述色调映射方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
基于同一技术构思,本申请实施例还提供一种生成元数据的装置900,装置900具备实现上述图2A中前端设备的功能,比如,所述功能或单元或手段可以通过软件实现,或者通过硬件实现,也可以通过硬件执行相应的软件实现。
示例性的,参见图9,装置900可以包括:
获取模块901,用于获取至少一帧图像;
处理模块902,用于对至少一帧图像进行处理,生成元数据;其中,元数据包括映射曲线的数目M,每一条映射曲线的起始节点和截止节点在第一坐标系中的坐标值;其中,映射曲线为N次样条曲线,第一坐标系的横向坐标表示色调映射前的图像亮度,第一坐标系的纵向坐标表示色调映射后的图像亮度;M为大于等于1的整数,N为大于等于3的整数。
应理解,上述生成元数据方法的实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
基于同一技术构思,本申请实施例还提供一种计算机可读存储介质,包括程序或指令,当所述程序或指令在计算机上运行时,使得图2A所示实施例中前端设备或后端设备所执行的方法被执行。
基于同一技术构思,本申请实施例还提供一种电子设备1000,用于实现图3A所示实施例中生成元数据的方法。
如图10所示,电子设备1000可以包括处理器1001用于执行存储器1002存储的程序或指令,当存储器1002存储的程序或指令被执行时,处理器1001用于执行图3A所示实施例中的色调映射方法。
可选的,电子设备1000还可以包括通信接口1003。附图10用虚线表示通信接口1003对于电子设备1000是可选的。
其中,处理器1001、存储器1002和通信接口1003的个数并不构成对本申请实施例的限定,具体实施时,可以根据业务需求任意配置。
可选的,所述存储器1002位于所述电子设备1000之外。
可选的,所述电子设备1000包括所述存储器1002,所述存储器1002与所述至少一个处理器1001相连,所述存储器1002存储有可被所述至少一个处理器1001执行的指令。附图10用虚线表示存储器1002对于电子设备1000是可选的。
其中,所述处理器1001和所述存储器1002可以通过接口电路耦合,也可以集成在一起,这里不做限制。
本申请实施例中不限定上述处理器1001、存储器1002以及通信接口1003之间的具体连接介质。本申请实施例在图10中以处理器1001、存储器1002以及通信接口1003之间通过总线1004连接,总线在图10中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
基于同一技术构思,本申请实施例还提供一种电子设备1100,用于实现图7所示实施例中的色调映射方法。
如图11所示,电子设备1100可以包括处理器1101用于执行存储器1102存储的程序或指令,当存储器1102存储的程序或指令被执行时,所述处理器用于执行图7所示实施例中的色调映射方法。
可选的,电子设备1100还可以包括通信接口1103。附图11用虚线表示通信接口1103对于电子设备1100是可选的。
其中,处理器1101、存储器1102和通信接口1103的个数并不构成对本申请实施例的限定,具体实施时,可以根据业务需求任意配置。
可选的,所述存储器1102位于所述电子设备1100之外。
可选的,所述电子设备1100包括所述存储器1102,所述存储器1102与所述至少一个处理器1101相连,所述存储器1102存储有可被所述至少一个处理器1101执行的指令。附图11用虚线表示存储器1102对于电子设备1100是可选的。
其中,所述处理器1101和所述存储器1102可以通过接口电路耦合,也可以集成在一起,这里不做限制。
本申请实施例中不限定上述处理器1101、存储器1102以及通信接口1103之间的具体连接介质。本申请实施例在图11中以处理器1101、存储器1102以及通信接口1103之间通过总线1104连接,总线在图11中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,本申请实施例中提及的处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。
示例性的,处理器可以是中央处理单元(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data fateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)可以集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (20)

1.一种色调映射方法,其特征在于,所述方法包括:
接收至少一帧图像和元数据,
所述元数据包括映射曲线的数目M,每一条映射曲线的起始节点和截止节点在第一坐标系中的坐标值;其中,所述映射曲线为N次样条曲线,所述第一坐标系的横向坐标表示色调映射前的图像亮度,所述第一坐标系的纵向坐标表示色调映射后的图像亮度;所述M为大于等于1的整数,所述N为大于等于3的整数;
根据所述元数据,生成M条映射曲线;
基于所述M条映射曲线,对所述至少一帧图像进行色调映射。
2.如权利要求1所述的方法,其特征在于,所述元数据还包括所述每一条映射曲线的起始节点的预设一阶导数和截止节点的预设一阶导数。
3.如权利要求1或2所述的方法,其特征在于,所述至少一帧图像中的每帧图像对应至少一个亮度范围,每一个亮度范围对应至少一条映射曲线,所述每一条映射曲线对应的函数表达式为N阶多项式,所述N阶多项式中包括N+1个单项式,每个单项式对应一个系数。
4.如权利要求3所述的方法,其特征在于,所述至少一条映射曲线中的第i条映射曲线对应的第一函数表达式为:
y=di*(x-x2)3+ci*(x-x2)2+bi*(x-x2)+ai;
其中,所述x为自变量,用于表征色调映射前的图像亮度,所述y为因变量,用于表征色调映射后的图像亮度;所述ai为所述第i条映射曲线中常数项的第一系数、bi为所述第i条映射曲线中一次单项式的第二系数、ci为所述第i条映射曲线中二次单项式的第三系数、di为所述第i条映射曲线中三次单项式的第四系数;所述x2为所述第i条映射曲线的起始节点的横向坐标;所述ai、bi、ci、di均不为0。
5.如权利要求4所述的方法,其特征在于,所述至少一个亮度范围中的第一亮度范围对应第一映射曲线,所述第一映射曲线包括第一起始节点、第一截止节点;
所述根据所述元数据,生成M条映射曲线,包括:
将所述第一起始节点的坐标值代入所述第一函数表达式,得到所述第一映射曲线的第一系数a1;
将所述第一截止节点的坐标值代入所述第一函数表达式,得到第一方程式;
使所述第一映射曲线在所述第一起始节点的一阶导数与所述第一起始节点的预设一阶导数相等,得到第二方程式;
使所述第一映射曲线在所述第一截止节点的一阶导数与所述第一截止节点的预设一阶导数相等,得到第三方程式;
联立所述第一方程式、所述第二方程式以及所述第三方程式,得到第一方程组;
解析所述第一方程组,得到所述第一映射曲线的第二系数b1、第三系数c1、第四系数d1;
基于所述第一映射曲线的第一系数a1、第二系数b1、第三系数c1、第四系数d1,生成所述第一映射曲线。
6.如权利要求4所述的方法,其特征在于,所述至少一个亮度范围中的第二亮度范围对应第二映射曲线和第三映射曲线,所述第二映射曲线对应所述第二亮度范围中的第一子亮度范围,所述第三映射曲线对应所述第二亮度范围中的第二子亮度范围,所述第一子亮度范围中的最大值等于所述第二子亮度范围中的最小值;所述第二映射曲线包括第二起始节点、第二截止节点;所述第三映射曲线包括第三起始节点、第三截止节点;所述第二截止节点与所述第三起始节点的坐标值相同;
所述根据所述元数据,生成M条映射曲线,包括:
将所述第二起始节点的坐标值代入所述第一函数表达式,得到所述第二映射曲线的第一系数a2;
将所述第三起始节点的坐标值代入所述第一函数表达式,得到所述第三映射曲线的第一系数a3;
使所述第二映射曲线在所述第二起始节点的一阶导数与所述第二起始节点的预设一阶导数相等,建立第四方程式;解析所述第四方程式,得到所述第二映射曲线的第二系数b2;
根据所述第二截止节点的坐标值、所述第三截止节点的坐标值、所述第三截止节点的预设一阶导数构建第二方程组;
解析所述第二方程组,得到所述第二映射曲线的第三系数c2、第四系数d2以及所述第三映射曲线的第二系数b3、第三系数c3、第四系数d3;
基于所述第二映射曲线的第一系数a2、第二系数b2、第三系数c2、第四系数d2,生成所述第二映射曲线;以及基于所述第三映射曲线的第一系数a3、第二系数b3、第三系数c3、第四系数d3,生成所述第三映射曲线。
7.如权利要求6所述的方法,其特征在于,所述根据所述第二截止节点的坐标值、所述第三截止节点的坐标值、所述第三截止节点的预设一阶导数构建第二方程组包括:
将所述第二截止节点的坐标值、所述第三截止节点的坐标值代入所述第一函数表达式,分别得到第五方程式、第六方程式,使得所述第三截止节点在所述第三映射曲线的一阶导数与所述第三截止节点的预设一阶导数相等,得到第七方程式;
使得所述第二映射曲线在所述第二截止节点的一阶导数与所述第三映射曲线在所述第三起始节点的一阶导数相等,得到第八方程式,使得所述第二映射曲线在所述第二截止节点的二阶导数与所述第三映射曲线在所述第三起始节点的二阶导数相等,得到第九方程式;或者,使得所述第二映射曲线在所述第二截止节点的一阶导数与所述第二截止节点的预设一阶导数相等,得到第八方程式,使得所述第三映射曲线在所述第三起始节点的一阶导数与所述第三起始节点的预设一阶导数相等,得到第九方程式;
联立所述第五方程式、所述第六方程式、所述第七方程式、所述第八方程式、所述第九方程式,得到所述第二方程组。
8.如权利要求2-7任一项所述的方法,其特征在于,所述基于所述M条映射曲线对所述至少一帧图像进行色调映射,包括:
针对所述至少一帧图像中的每个像素,使用该像素所在亮度范围对应的映射曲线对该像素进行色调映射。
9.如权利要求2-8任一项所述的方法,其特征在于,在基于所述M条映射曲线对所述至少一帧图像进行色调映射之后,还包括:
基于所述至少一帧图像中的每个像素在色调映射前后的亮度信息,对所述映射后的至少一帧图像的颜色信息进行校正。
10.一种生成元数据的方法,其特征在于,所述方法包括:
获取至少一帧图像;
对所述至少一帧图像进行处理,生成元数据;其中,所述元数据包括映射曲线的数目M,每一条映射曲线的起始节点和截止节点在第一坐标系中的坐标值;其中,所述映射曲线为N次样条曲线,所述第一坐标系的横向坐标表示色调映射前的图像亮度,所述第一坐标系的纵向坐标表示色调映射后的图像亮度;所述M为大于等于1的整数,所述N为大于等于3的整数。
11.如权利要求10所述的方法,其特征在于,所述对所述至少一帧图像进行处理,生成元数据,包括:
提取所述至少一帧图像的属性信息,所述属性信息包括亮度的最大值、最小值、平均值、变化范围;
基于所述属性信息,确定元数据。
12.如权利要求11所述的方法,其特征在于,所述基于所述属性信息,确定元数据,包括:
根据所述属性信息,确定所述至少一帧图像的亮度分布情况;
基于所述亮度分布情况,将所述至少一帧图像的亮度划分为至少一个亮度范围;
根据所述亮度范围的数量F,确定所述数目M,其中,所述M大于或等于所述F,每个亮度范围对应至少一条映射曲线。
13.如权利要求11或12所述的方法,其特征在于,基于所述属性信息,确定元数据,包括:
根据所述亮度分布情况和后端设备能显示的最大亮度值,确定每一条映射曲线的起始节点和截止节点在所述第一坐标系中的坐标值。
14.如权利要求11-13任一项所述的方法,其特征在于,所述元数据还包括所述起始节点的预设一阶导数和所述截止节点的预设一阶导数。
15.如权利要求14所述的方法,其特征在于,基于所述属性信息,确定元数据,包括:
根据所述至少一帧图像的亮度与对比度之间的平衡需求,确定所述起始节点的预设一阶导数和所述截止节点的预设一阶导数。
16.如权利要求15所述的方法,其特征在于,所述对所述至少一帧图像进行处理,生成元数据之后,还包括:
接收第一操作,所述第一操作用于更改所述数目M、所述起始节点在所述第一坐标系中的坐标值、所述截止节点在所述第一坐标系中的坐标值、所述起始节点的预设一阶导数、所述截止节点的预设一阶导数中的至少一项;
基于所述第一操作,修改所述元数据,得到更新后的元数据。
17.一种色调映射装置,其特征在于,包括:
接收模块,用于接收至少一帧图像和元数据;所述元数据包括映射曲线的数目M,每一条映射曲线的起始节点和截止节点在第一坐标系中的坐标值;其中,所述映射曲线为N次样条曲线,所述第一坐标系的横向坐标表示色调映射前的图像亮度,所述第一坐标系的纵向坐标表示色调映射后的图像亮度;所述M为大于等于1的整数,所述N为大于等于3的整数;
处理模块,用于根据所述元数据,生成M条映射曲线;基于所述M条映射曲线,对所述至少一帧图像进行色调映射。
18.一种生成元数据的装置,其特征在于,所述装置包括:
获取模块,用于获取至少一帧图像;
处理模块,用于对所述至少一帧图像进行处理,生成元数据;其中,所述元数据包括映射曲线的数目M,每一条映射曲线的起始节点和截止节点在第一坐标系中的坐标值;其中,所述映射曲线为N次样条曲线,所述第一坐标系的横向坐标表示色调映射前的图像亮度,所述第一坐标系的纵向坐标表示色调映射后的图像亮度;所述M为大于等于1的整数,所述N为大于等于3的整数。
19.一种电子设备,其特征在于,包括:相互耦合的非易失性存储器和处理器,所述处理器调用存储在所述存储器中的程序代码以执行如权利要求1-9或权利要求10-16中任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在处理器上运行时,实现权利要求1-9或权利要求10-16中任一项所述的方法。
CN202011492320.5A 2020-12-17 2020-12-17 一种色调映射方法及装置 Pending CN114648447A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202011492320.5A CN114648447A (zh) 2020-12-17 2020-12-17 一种色调映射方法及装置
PCT/CN2021/124438 WO2022127336A1 (zh) 2020-12-17 2021-10-18 一种色调映射方法及装置
EP21905265.1A EP4239565A4 (en) 2020-12-17 2021-10-18 METHOD AND DEVICE FOR REPRODUCING TONES
US18/336,837 US20230325987A1 (en) 2020-12-17 2023-06-16 Tone mapping method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011492320.5A CN114648447A (zh) 2020-12-17 2020-12-17 一种色调映射方法及装置

Publications (1)

Publication Number Publication Date
CN114648447A true CN114648447A (zh) 2022-06-21

Family

ID=81990884

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011492320.5A Pending CN114648447A (zh) 2020-12-17 2020-12-17 一种色调映射方法及装置

Country Status (4)

Country Link
US (1) US20230325987A1 (zh)
EP (1) EP4239565A4 (zh)
CN (1) CN114648447A (zh)
WO (1) WO2022127336A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024099390A1 (zh) * 2022-11-10 2024-05-16 北京奇艺世纪科技有限公司 视频数据处理方法、视频显示方法及装置、电子设备及可读存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11734806B2 (en) * 2021-11-24 2023-08-22 Roku, Inc. Dynamic tone mapping

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015011585A (ja) * 2013-06-28 2015-01-19 株式会社リコー 画像処理装置、画像形成装置、画像形成システム、画像処理方法およびプログラム
WO2018152063A1 (en) * 2017-02-15 2018-08-23 Dolby Laboratories Licensing Corporation Tone curve mapping for high dynamic range images
EP3672219A1 (en) * 2018-12-18 2020-06-24 Thomson Licensing Method and device for determining control parameters for mapping an input image with a high dynamic range to an output image with a lower dynamic range
CN111127365B (zh) * 2019-12-26 2023-08-29 重庆矢崎仪表有限公司 基于三次样条曲线拟合的hud畸变矫正方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024099390A1 (zh) * 2022-11-10 2024-05-16 北京奇艺世纪科技有限公司 视频数据处理方法、视频显示方法及装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
US20230325987A1 (en) 2023-10-12
EP4239565A4 (en) 2024-05-08
WO2022127336A1 (zh) 2022-06-23
EP4239565A1 (en) 2023-09-06

Similar Documents

Publication Publication Date Title
CN107211130B (zh) 对彩色画面进行编码和解码的方法和装置
JP6948309B2 (ja) パラメトリック・トーン調整関数を使用してピクチャをトーン・マッピングする方法およびデバイス
JP2017168101A (ja) 拡張された高ダイナミックレンジ(“hdr”)−hdrトーンマッピングのための方法、装置、及びシステム
EP3242482A1 (en) Method and apparatus for encoding/decoding a high dynamic range picture into a coded bitstream
US20230325987A1 (en) Tone mapping method and apparatus
KR20180021869A (ko) Hdr 컬러 픽처를 인코딩 및 디코딩하기 위한 방법 및 디바이스
EP3453175B1 (en) Method and apparatus for encoding/decoding a high dynamic range picture into a coded bistream
JP2018524924A (ja) Hdrピクチャ及び前記hdrピクチャから得られるsdrピクチャの両方をカラーマッピング関数を使用して符号化するための方法及びデバイス
JP2018507620A (ja) カラー・ピクチャを復号する方法および装置
US11928796B2 (en) Method and device for chroma correction of a high-dynamic-range image
CN112686810A (zh) 一种图像处理的方法及装置
KR20200090162A (ko) Hdr 대 sdr 변환 동안의 컬러 보정을 위한 방법 및 장치
WO2019203973A1 (en) Method and device for encoding an image or video with optimized compression efficiency preserving image or video fidelity
US20210183028A1 (en) Saturation control for high-dynamic range reconstruction
JP2018507618A (ja) カラー・ピクチャを符号化および復号する方法および装置
KR20190059006A (ko) 디스플레이 적응형 hdr 이미지를 재구성하기 위한 방법 및 디바이스
JP2019097013A (ja) ディスプレイ適合hdr画像を再構成する方法およびデバイス
EP3242481A1 (en) Method and apparatus for encoding/decoding a high dynamic range picture into a coded bitstream
KR20210029194A (ko) 이미지를 인코딩하기 위한 방법 및 장치

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