CN112215760A - 一种图像处理的方法及装置 - Google Patents

一种图像处理的方法及装置 Download PDF

Info

Publication number
CN112215760A
CN112215760A CN201910626171.8A CN201910626171A CN112215760A CN 112215760 A CN112215760 A CN 112215760A CN 201910626171 A CN201910626171 A CN 201910626171A CN 112215760 A CN112215760 A CN 112215760A
Authority
CN
China
Prior art keywords
interpolation point
interpolation
spline function
coordinate value
point
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
CN201910626171.8A
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 CN201910626171.8A priority Critical patent/CN112215760A/zh
Priority to JP2021575058A priority patent/JP7359521B2/ja
Priority to EP20837005.6A priority patent/EP3975106A4/en
Priority to KR1020227001092A priority patent/KR102617258B1/ko
Priority to PCT/CN2020/092320 priority patent/WO2021004176A1/zh
Publication of CN112215760A publication Critical patent/CN112215760A/zh
Priority to US17/564,653 priority patent/US12112460B2/en
Priority to JP2023163178A priority patent/JP2023175868A/ja
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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • 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/10Intensity circuits
    • 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/10016Video; Image sequence
    • 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/06Adjustment of display parameters
    • G09G2320/0673Adjustment of display parameters for control of gamma adjustment, e.g. selecting another gamma curve
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/16Calculation or use of calculated indices related to luminance levels in display data
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/04Exchange of auxiliary data, i.e. other than image data, between monitor and graphics controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Image Processing (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本申请提供了一种图像处理的方法,包括:获取目标图片以及目标图片的初始色调映射曲线;根据目标图片的亮度信息和/或动态元数据,确定多个插值点;确定经过多个插值点的样条函数,样条函数在多个插值点中的至少一个插值点与初始色调映射曲线平滑连接;根据样条函数对初始色调映射曲线进行修正,得到目标图片的修正色调映射曲线;根据修正色调映射曲线对目标图片进行色调映射。本申请还提供一种图像处理的装置。本申请提供的方法目的在于使显示设备生动、真实地再现真实世界中的场景。

Description

一种图像处理的方法及装置
技术领域
本申请涉及图像处理领域,并且更具体地,涉及一种图像处理的方法及装置。
背景技术
动态范围(dynamic range,DR)可以用于表示图片最大灰度值与最小灰度值的比率。动态范围还可以用于表示图片最大亮度值与最小亮度值的比率。真实世界的动态范围介于10-3-106之间,被称作高动态范围(high dynamic range,HDR)。换句话说,真实世界中事物的亮度值可能非常大或非常小。而显示设备的显示能力通常是有限的。例如,真实世界中事物A的亮度较亮,例如事物A的亮度为2000nit,而显示设备最大能够显示的亮度低于事物A的亮度,例如显示设备最大能够显示的亮度仅有500nit,如果不进行任何处理,显示设备将无法再现真实世界中的事物A。另一种情况,当真实世界中事物B的亮度较暗时,例如事物B的亮度值为10nit,而显示设备最小能够显示的亮度高于事物B的亮度,例如显示设备的最小能够显示的亮度仅有100nit,如果不进行任何处理,显示设备将无法再现真实世界中的事物B。本申请提供一种方法,目的在于使显示设备生动、真实地再现真实世界中的场景。
发明内容
本申请提供一种图像处理的方法及装置,目的在于使显示设备生动、真实地再现真实世界中的场景。
第一方面,提供了一种图像处理的方法,包括:获取目标图片以及该目标图片的初始色调映射曲线;根据该目标图片的亮度信息和/或动态元数据,确定多个插值点;确定经过该多个插值点的样条函数,该样条函数在该多个插值点中的至少一个插值点与该初始色调映射曲线平滑连接;根据该样条函数对该初始色调映射曲线进行修正,得到该目标图片的修正色调映射曲线;根据该修正色调映射曲线对该目标图片进行色调映射。
其中,该根据该目标图片的亮度信息和/或动态元数据,确定多个插值点,可以是该根据该目标图片的亮度信息和/或动态元数据,确定用于修正初始色调映射曲线的修正区间;该确定经过该多个插值点的样条函数,可以是确定在该修正区间内用于修正该初始色调映射曲线的样条函数;根据该样条函数对该初始色调映射曲线进行修正,得到该目标图片的修正色调映射曲线;根据该样条函数对该初始色调映射曲线进行修正,得到该目标图片的修正色调映射曲线,可以是在该修正区间内将该初始色调映射曲线修正为该样条函数,得到该目标图片的修正色调映射曲线。
本申请提供一种对已经获得的初始色调映射曲线进行修正的方法,使得获取色调映射曲线的方式更加灵活。通过分析目标图片的亮度,合理地对色调映射曲线进行修正,可以针对不同的亮度区域调整图像显示的效果,强化图像的亮度变化细节,给用户带来更好的视觉体验。通过对色调映射曲线进行多种形式的微调,可以获得例如柔和、生动、明亮、黄昏等多种风格的显示效果。例如,可以根据显示设备和拍摄设备的设备属性,灵活确定色调映射曲线的形式,使图像显示更加生动自然。并且,在显示视频的过程中,可以确定一帧的色调映射曲线,对于与该帧相邻的帧,则确定修正色调映射曲线的参数,从而可以在不增加过多数据的情况下,提升视频显示效果。
结合第一方面,在第一方面的某些实现方式中,该初始色调映射曲线包括第一端点以及第二端点,该第一端点以及该第二端点分别位于该初始色调映射曲线的两端,该第一端点对应的亮度值低于该第二端点对应的亮度值,该目标图片包含的暗区像素点的数量大于或等于第二预设阈值,该暗区像素点的亮度值小于第一预设阈值,该多个插值点包含第一插值点,该根据该目标图片的亮度信息,确定多个插值点,包括:确定该第一插值点的第一坐标值与该第一端点的第一坐标值相同。
在本申请实施例中,当图像偏暗的情况下,电子设备可以确定第一端点或靠近第一端点的位置存在插值点,提升暗区的显示效果。因此,可以根据图像的亮暗程度,确定对初始色调映射曲线进行修正的修正位置,使得亮度低于显示设备显示能力的像素点可以在显示设备上显示。
结合第一方面,在第一方面的某些实现方式中,该多个插值点还包括第二插值点,该根据该目标图片的亮度信息,确定多个插值点,包括:根据该暗区像素点的数量,确定该第二插值点的第一坐标值。
在本申请实施例中,当图像偏暗的情况下,电子设备可以根据目标图像中暗区的面积,确定对初始色调映射曲线进行修正的修正范围,使得亮度低于显示设备显示能力的像素点可以在显示设备上有较优的显示效果。
结合第一方面,在第一方面的某些实现方式中,该多个插值点还包括第三插值点,该目标图片还包括暗区过渡像素点,该暗区过渡像素点的亮度值大于或等于该第一预设阈值,该根据该目标图片的亮度信息,确定多个插值点,包括:根据该暗区过渡像素点的数量,确定该第三插值点的第一坐标值。
第三插值点可以是过渡点,使样条函数和初始色调映射曲线在第三插值点平滑过渡。在本申请实施例中,当图像偏暗的情况下,可以在初始色调映射曲线的一端进行修正,为了保证修正后的色调映射曲线是光滑的,即确保图像显示效果,可以确定一个起平滑连接作用的插值点,使样条函数与初始色调映射曲线平滑连接。
结合第一方面,在第一方面的某些实现方式中,该初始色调映射曲线经过该第三插值点,该确定经过该多个插值点的样条函数,包括:获取经过该第一插值点和该第二插值点的第一样条函数;确定经过该第二插值点和该第三插值点的第二样条函数,该第二样条函数在该第二插值点与该第一样条函数平滑连接,该第二样条函数在该第三插值点与该初始色调映射曲线平滑连接。
结合第一方面,在第一方面的某些实现方式中,该第一样条函数为一次样条函数,该第二样条函数为三次样条函数。
结合第一方面,在第一方面的某些实现方式中,该样条函数包括经过该第一插值点、该第二插值点和该第三插值点的第三样条函数,示例性的,该第三样条函数为三次样条函数。
结合第一方面,在第一方面的某些实现方式中,获取第二插值点对应的第一偏移量,该第一偏移量用于表示在第一修正位置对该初始色调映射曲线的修正幅度,所述第一修正位置为所述第二插值点的第一坐标值;根据初始色调映射曲线在第一修正位置的函数值和该第一偏移量,确定该第二插值点的第二坐标值;该确定经过该多个插值点的样条函数,包括:根据第二插值点的第一坐标值以及该第二插值点的第二坐标值,确定该第三样条函数,其中,该第三样条函数在第三插值点与初始色调映射曲线平滑连接。
结合第一方面,在第一方面的某些实现方式中,该第三样条函数包括经过第一插值点和第二插值点的第四样条函数,以及经过第二插值点和第三插值点的第五样条函数,该第四样条函数在该第二插值点的二阶导数值与该第五样条函数在该第二插值点的二阶导数值相同。
示例性的,该第三样条函数为三次样条函数。
示例性的,上述场景的各样条函数的导数恒大于0。
结合第一方面,在第一方面的某些实现方式中,该多个插值点还包括第十一插值点,上述样条函数在该第十一插值点的二阶导数为0。
结合第一方面,在第一方面的某些实现方式中,该初始色调映射曲线包括第一端点以及第二端点,该第一端点以及该第二端点分别位于该初始色调映射曲线的两端,该第一端点对应的亮度值低于该第二端点对应的亮度值,该目标图片包含的亮区像素点的数量大于或等于第四预设阈值,该亮区像素点的亮度值大于第三预设阈值,该多个插值点包含第四插值点,该根据该目标图片的亮度信息,确定多个插值点,包括:确定该第四插值点的第一坐标值与该第二端点的第一坐标值相同。
在本申请实施例中,当图像偏亮的情况下,电子设备可以确定第二端点或靠近第二端点的位置存在插值点,提升亮区的显示效果。因此,可以根据图像的亮暗程度,确定对初始色调映射曲线进行修正的修正位置,使得亮度高于显示设备显示能力的像素点可以在显示设备上显示。
结合第一方面,在第一方面的某些实现方式中,该多个插值点还包括第五插值点,该根据该目标图片的亮度信息,确定多个插值点,包括:根据该亮区像素点的数量,确定该第五插值点的第一坐标值。
在本申请实施例中,当图像偏亮的情况下,电子设备可以根据目标图像中亮区的面积,确定对初始色调映射曲线进行修正的修正范围,使得亮度高于显示设备显示能力的像素点可以在显示设备上有较优的显示效果。
结合第一方面,在第一方面的某些实现方式中,该多个插值点还包括第六插值点,该目标图片还包括亮区过渡像素点,该亮区过渡像素点的亮度值小于或等于该第三预设阈值,该根据该目标图片的亮度信息,确定多个插值点,包括:根据该亮区过渡像素点的数量,确定该第六插值点的第一坐标值。
第六插值点可以是过渡点,使样条函数和初始色调映射曲线在第六插值点平滑过渡。在本申请实施例中,当图像偏亮的情况下,可以在初始色调映射曲线的一端进行修正,为了保证修正后的色调映射曲线是光滑的,即确保图像显示效果,可以确定一个起平滑连接作用的插值点,使样条函数与初始色调映射曲线平滑连接。
结合第一方面,在第一方面的某些实现方式中,该初始色调映射曲线经过该第六插值点,该确定经过该多个插值点的样条函数,包括:获取经过该第四插值点和该第五插值点的第一样条函数;确定经过该第五插值点和该第六插值点的第二样条函数,该第二样条函数在该第五插值点与该第一样条函数平滑连接,该第二样条函数在该第六插值点与该初始色调映射曲线平滑连接。
结合第一方面,在第一方面的某些实现方式中,该第一样条函数为一次样条函数,该第二样条函数为三次样条函数。
结合第一方面,在第一方面的某些实现方式中,该样条函数包括经过该第四插值点、该第五插值点和该第六插值点的第三样条函数,示例性的,该第三样条函数为三次样条函数。
结合第一方面,在第一方面的某些实现方式中,获取第五插值点对应的第一偏移量,该第一偏移量用于表示在第一修正位置对该初始色调映射曲线的修正幅度,所述第一修正位置为所述第五插值点的第一坐标值;根据初始色调映射曲线在第一修正位置的函数值和该第一偏移量,确定该第五插值点的第二坐标值;该确定经过该多个插值点的样条函数,包括:根据第五插值点的第一坐标值以及该第五插值点的第二坐标值,确定该第三样条函数,其中,该第三样条函数在第六插值点与初始色调映射曲线平滑连接。
结合第一方面,在第一方面的某些实现方式中,该第三样条函数包括经过第四插值点和第五插值点的第四样条函数,以及经过第五插值点和第六插值点的第五样条函数,该第四样条函数在该第五插值点的二阶导数值与该第五样条函数在该第五插值点的二阶导数值相同。结合第一方面,在第一方面的某些实现方式中,该动态元数据包括如下至少一项:该多个插值点中每个插值点的坐标信息、区域亮度指示信息或多个关键像素点的坐标信息。
结合第一方面,在第一方面的某些实现方式中,该动态元数据包括该多个插值点中每个插值点的坐标信息。
在本申请实施例中,可以预先设定在动态元数据中保护插值点的信息,使得图像处理装置可以不对图像的像素点进行分析,仅根据动态元数据即可确定该多个插值点,减少了图像处理的计算量。
结合第一方面,在第一方面的某些实现方式中,该初始色调映射曲线包括第一端点以及第二端点,该第一端点以及该第二端点分别位于该初始色调映射曲线的两端,该第一端点对应的亮度值低于该第二端点对应的亮度值,该动态元数据包含区域亮度指示信息,在该区域亮度指示信息指示暗区的情况下,该多个插值点包含第一插值点,该第一插值点的第一坐标值与该第一端点的第一坐标值相同;和/或,在该区域亮度指示信息指示亮区的情况下,该多个插值点包含第二插值点,该第二插值点的第一坐标值与该第二端点的第一坐标值相同。
在本申请实施例中,当图像偏暗的情况下,电子设备可以确定第一端点或靠近第一端点的位置存在插值点。因此,可以根据图像的亮暗程度,确定对初始色调映射曲线进行修正的修正位置,使得亮度低于显示设备显示能力的像素点可以在显示设备上显示。当图像偏亮的情况下,电子设备可以确定第二端点或靠近第二端点的位置存在插值点。因此,可以根据图像的亮暗程度,确定对初始色调映射曲线进行修正的修正位置,使得亮度高于显示设备显示能力的像素点可以在显示设备上显示。由于由动态元数据指定暗或亮,使得图像处理装置可以不对图像的像素点进行分析,仅根据动态元数据即可确定该多个插值点,减少了图像处理的计算量。
结合第一方面,在第一方面的某些实现方式中,该初始色调映射曲线包括第一端点以及第二端点,该第一端点以及该第二端点分别位于该初始色调映射曲线的两端,该第一端点对应的亮度值低于该第二端点对应的亮度值,该动态元数据包括与P个关键像素点一一对应的P个坐标信息,P为正整数,该根据该目标图片的亮度信息以及动态元数据,确定多个插值点,包括:根据该P个坐标信息以及该目标图片的亮度信息,确定该P个关键像素点为暗区像素点或亮区像素点,该暗区像素点的亮度值小于第一预设阈值,该亮区像素点的亮度值大于第三预设阈值;在该P个关键像素点为暗区像素点的情况下,确定该多个插值点包括第一插值点,该第一插值点的第一坐标值与该第一端点的第一坐标值相同;或者,在该P个关键像素点为亮区像素点的情况下,确定该多个插值点包括第二插值点,该第二插值点的第一坐标值与该第二端点的第一坐标值相同。
在本申请实施例中,当图像偏暗的情况下,电子设备可以确定第一端点或靠近第一端点的位置存在插值点。因此,可以根据图像的亮暗程度,确定对初始色调映射曲线进行修正的修正位置,使得亮度低于显示设备显示能力的像素点可以在显示设备上显示。当图像偏亮的情况下,电子设备可以确定第二端点或靠近第二端点的位置存在插值点。因此,可以根据图像的亮暗程度,确定对初始色调映射曲线进行修正的修正位置,使得亮度高于显示设备显示能力的像素点可以在显示设备上显示。由于由动态元数据指定像素点,图像处理装置在对目标图片进行情景分析的时候无需确定目标像素点,直接根据动态元数据指定的目标像素点确定图片的暗区像素点和亮区像素点的情况,从而可以更加灵活地确定重点保护的区域以及对应的多个插值点,减少了图像处理的计算量。
结合第一方面,在第一方面的某些实现方式中,该目标图片包括亮度值介于第一亮度值与第二亮度值之间的目标像素点,该目标像素点占该目标图片的全部像素点的比例大于第八预设阈值,该第一亮度值与该第二亮度值的差值小于第七预设阈值,该多个插值点包括第十二插值点,该根据该目标图片的亮度信息,确定多个插值点,包括:根据该目标像素点的平均亮度、该目标图片的最小亮度值和该目标图片的最大亮度值,确定该第十二插值点。
该第十二插值点的第一坐标值可以大于上文中该第一插值点的第一坐标值。
该第十二插值点的第一坐标值可以大于上文中该第二插值点的第一坐标值。
该第十二插值点的第一坐标值可以大于上文中该第三插值点的第一坐标值。
该第十二插值点的第一坐标值可以小于上文中该第四插值点的第一坐标值。
该第十二插值点的第一坐标值可以小于上文中该第五插值点的第一坐标值。
该第十二插值点的第一坐标值可以小于上文中该第六插值点的第一坐标值。
在本申请实施例中,可以根据待修正像素点所在的亮度区间,在初始色调映射函数上确定修正范围。也就是说,可以在初始色调映射函数的任一段进行修正,修正灵活性较高。而当亮度区间较窄时,图像的明暗对比不明显,通过修正初始色调映射曲线,可以使原本明暗对比不明显的图像更加生动地显示在电子设备上。
结合第一方面,在第一方面的某些实现方式中,该多个插值点还包括第十三插值点,该根据该目标图片的亮度信息,确定多个插值点,包括:根据该目标像素点的数量,确定该第十三插值点。
在本申请实施例中,可以根据待修正像素点的数量确定修正范围,使得原本明暗对比不明显的图像更加生动地显示在电子设备上。
结合第一方面,在第一方面的某些实现方式中,该多个插值点还包括第十四插值点,该目标图片还包括目标过渡像素点,该目标过渡像素点的亮度值小于或等于该第一亮度值,或者,该目标过渡像素点的亮度值大于或等于该第二亮度值,该第一亮度值小于该第二亮度值,该根据该目标图片的亮度信息,确定多个插值点,包括:根据该目标过渡像素点的数量,确定该第十四插值点的第一坐标值。
在一个示例中,第十四插值点的第一坐标值大于第十二插值点的第一坐标值,且大于第十三插值点的第一坐标值。
在一个示例中,第十四插值点的第一坐标值小于第十二插值点的第一坐标值,且小于第十三插值点的第一坐标值。
第十四插值点可以是过渡点,使样条函数和初始色调映射曲线在第十四插值点平滑过渡。在本申请实施例中,为了保证修正后的色调映射曲线是光滑的,即确保图像显示效果,可以确定一个起平滑连接作用的插值点,使样条函数与初始色调映射曲线平滑连接。
结合第一方面,在第一方面的某些实现方式中,该初始色调映射曲线经过该第十四插值点,该确定经过该多个插值点的样条函数,包括:获取经过该第十二插值点和该第十三插值点的第一样条函数;确定经过该第十三插值点和该第十四插值点的第二样条函数,该第二样条函数在该第十三插值点与该第一样条函数平滑连接,该第二样条函数在该第十四插值点与该初始色调映射曲线平滑连接。
结合第一方面,在第一方面的某些实现方式中,该第一样条函数为一次样条函数,该第二样条函数为三次样条函数。
结合第一方面,在第一方面的某些实现方式中,该样条函数包括经过该第十二插值点、该第十三插值点、第十四插值点的第三样条函数,该第十三插值点的第一坐标值介于该第十二插值点的第一坐标值与该第十四插值点的第一坐标值之间;在该确定多个插值点之前,该方法还包括:获取第一偏移量,该第一偏移量用于表示在第一修正位置对该初始色调映射曲线的修正幅度,该第一修正位置为该第十三插值点的第一坐标值;该确定多个插值点,包括:根据该初始色调映射曲线在第一修正位置的函数值和该第一偏移量,确定该第十三插值点的第二坐标值;该确定经过该多个插值点的该样条函数,包括:根据该第十三插值点的第一坐标值以及该第十三插值点的第二坐标值,确定该第三样条函数,其中,该第三样条函数在该第十二插值点和/或该第十四插值点与该初始色调映射曲线平滑连接。
结合第一方面,在第一方面的某些实现方式中,该多个插值点包括第七插值点、第八插值点、第九插值点,该初始色调映射曲线经过该第九插值点,该确定经过该多个插值点的样条函数,包括:获取经过该第七插值点和该第八插值点的第一样条函数;确定经过该第八插值点和该第九插值点的第二样条函数,该第二样条函数在该第八插值点与该第一样条函数平滑连接,该第二样条函数在该第九插值点与该初始色调映射曲线平滑连接。
一个示例中,该第七插值点可以为上文中该第一插值点,该第八插值点可以为上文中该第二插值点,该第九插值点可以为上文中该第三插值点。
一个示例中,该第七插值点可以为上文中该第四插值点,该第八插值点可以为上文中该第五插值点,该第九插值点可以为上文中该第六插值点。
一个示例中,第八插值点可以是上文中的该第十二插值点,第七插值点可以是上文中第一坐标值小于该第十二插值点的第一坐标值且小于该第十三插值点的第一坐标值的该第十四插值点,第九插值点可以是上文中第一坐标值大于该第十二插值点的第一坐标值且大于该第十三插值点的第一坐标值的该第十四插值点。
在本申请实施例中,通过预先获得第一样条函数的经验值,可以确保重点修正范围内的修正效果;再通过第二样条函数,在弱修正范围内起到弱修正和平滑连接的效果。
结合第一方面,在第一方面的某些实现方式中,该第一样条函数为一次样条函数,该第二样条函数为三次样条函数。
在本申请实施例中,由于第一样条函数为经验值,而一次样条函数需要预先获知的经验值较少,更容易确定第一样条函数的具体形式。当第二样条函数的次数较少时,第二样条函数所起到的平滑连接作用较差,当第二样条函数的次数较多时,第二样条函数的先决条件和计算量较大,因此第二样条函数选三次样条函数较为合适。
结合第一方面,在第一方面的某些实现方式中,该多个插值点包括第七插值点、第八插值点、第九插值点,该样条函数包括经过该第七插值点、该第八插值点、第九插值点的第三样条函数,该第八插值点的第一坐标值介于该第七插值点的第一坐标值与该第九插值点的第一坐标值之间;在该确定多个插值点之前,该方法还包括:获取第一偏移量,该第一偏移量用于表示在第一修正位置对该初始色调映射曲线的修正幅度,该第一修正位置为该第八插值点的第一坐标值;该确定多个插值点,包括:根据该初始色调映射曲线在第一修正位置的函数值和该第一偏移量,确定该第八插值点的第二坐标值;该确定经过该多个插值点的该样条函数,包括:根据该第八插值点的第一坐标值以及该第八插值点的第二坐标值,确定该第三样条函数,其中,该第三样条函数在该第七插值点和/或该第九插值点与该初始色调映射曲线平滑连接。
一个示例中,该第七插值点可以上文中该第一插值点,该第八插值点可以上文中该第二插值点,该第九插值点可以上文中该第三插值点。
一个示例中,该第七插值点可以上文中该第四插值点,该第八插值点可以上文中该第五插值点,该第九插值点可以上文中该第六插值点。
一个示例中,该第七插值点可以上文中该第十二插值点,该第八插值点可以上文中该第十三插值点,该第九插值点可以上文中该第十四插值点。
在本申请实施例中,通过预先获得第一偏移量的经验值,可以确保重点修正范围内的修正效果;并且,第三样条函数可以在弱修正范围内起到弱修正和平滑连接的效果。
结合第一方面,在第一方面的某些实现方式中,该第三样条函数包括经过该第七插值点、第八插值点的第四样条函数,以及经过该第八插值点、第九插值点的第五样条函数,该第四样条函数在该第八插值点的二阶导数值与该第五样条函数在该第八插值点的二阶导数值相同。
结合第一方面,在第一方面的某些实现方式中,该多个插值点还包括第十插值点,该第三样条函数经过该第十插值点,该第十插值点的第一坐标值介于该第七插值点的第一坐标值与该第九插值点的第一坐标值之间,在该确定多个插值点之前,该方法还包括:获取第二偏移量,该第二偏移量用于表示在第二修正位置对该初始色调映射曲线的修正幅度,该第二修正位置为该第十插值点的第一坐标值;该确定多个插值点,还包括:根据该初始色调映射曲线在该第二修正位置的函数值和该第二偏移量,确定该第十插值点的第二坐标值;该根据该第八插值点的第一坐标值以及该第八插值点的第二坐标值,确定该第三样条函数,包括:根据该第八插值点的第一坐标值、第二坐标值以及该第十插值点的第一坐标值、第二坐标值,确定该第三样条函数,其中,该第三样条函数在该第七插值点和该第九插值点均与该初始色调映射曲线平滑连接。
在本申请实施例中,通过预先获得第一偏移量、第二偏移量的经验值,控制重点修正范围内的修正效果;并且,第三样条函数可以在弱修正范围内起到弱修正和平滑连接的效果。
结合第一方面,在第一方面的某些实现方式中,该第三样条函数为三次样条函数。
在本申请实施例中,当第三样条函数的次数较少时,第三样条函数所起到的平滑连接作用较差,当第三样条函数的次数较多时,第三样条函数的先决条件和计算量较大,因此第三样条函数选三次样条函数较为合适。
结合第一方面,在第一方面的某些实现方式中,该样条函数的导数恒大于0。
在本申请实施例中,通过限制条件在任意点的导数大于0,可以避免最终获得的样条函数与初始色调映射曲线有过大差距,例如发生震荡形的样条函数,避免产生修正过度的情况。
结合第一方面,在第一方面的某些实现方式中,该多个插值点还包括第十一插值点,该样条函数在该第十一插值点的二阶导数为0。
本申请实施例中,通过限制第十一插值点的二阶导数为0,可以控制样条函数在第十一插值点的一侧快速递增,在第十一插值点的另一侧减速递增。
结合第一方面,在第一方面的某些实现方式中,该多个插值点还包括第十五插值点,该样条函数在该第十五插值点的一侧高于该初始色调映射函数,且该样条函数在该第十五插值点的另一侧低于该初始色调映射函数。
在本申请实施例中,该样条函数经过该第十五插值点,且该初始色调映射函数经过该第十五插值点,该样条函数在该第十五插值点的导数值与该初始色调映射函数在该第十五插值点上的导数值不同。通过限定第十五插值点的位置,可以限定修正初始色调映射函数的修正方式。
结合第一方面,在第一方面的某些实现方式中,该初始色调映射曲线包括以下公式中的一种:
Figure BDA0002127173840000081
L′=a×L+b;
Figure BDA0002127173840000082
Figure BDA0002127173840000083
其中,L表示线性信号值,L’表示非线性信号值,p、a、m、b、c1、c2、c3、n、N、ρ均为动态范围映射系数,0≤L≤1。
在本申请实施例中,第一方面提供的方法可以应用在多种初始色调映射曲线上,具有很强的灵活性。
第二方面,提供了一种图像处理的装置,包括:获取模块,用于获取目标图片以及该目标图片的初始色调映射曲线;处理模块,用于根据该目标图片的亮度信息和/或动态元数据,确定多个插值点;该处理模块,还用于确定经过该多个插值点的样条函数,该样条函数在该多个插值点中的至少一个插值点与该初始色调映射曲线平滑连接;该处理模块,还用于根据该样条函数对该初始色调映射曲线进行修正,得到该目标图片的修正色调映射曲线;色调映射模块,用于根据该修正色调映射曲线对该目标图片进行色调映射。
结合第二方面,在第二方面的某些实现方式中,该初始色调映射曲线包括第一端点以及第二端点,该第一端点以及该第二端点分别位于该初始色调映射曲线的两端,该第一端点对应的亮度值低于该第二端点对应的亮度值,该目标图片包含的暗区像素点的数量大于或等于第二预设阈值,该暗区像素点的亮度值小于第一预设阈值,该多个插值点包含第一插值点,该处理模块,具体用于确定该第一插值点的第一坐标值与该第一端点的第一坐标值相同。
结合第二方面,在第二方面的某些实现方式中,该多个插值点还包括第二插值点,该处理模块,具体用于根据该暗区像素点的数量,确定该第二插值点的第一坐标值。
结合第二方面,在第二方面的某些实现方式中,该多个插值点还包括第三插值点,该目标图片还包括暗区过渡像素点,该暗区过渡像素点的亮度值大于或等于该第一预设阈值,该处理模块,具体用于根据该暗区过渡像素点的数量,确定该第三插值点的第一坐标值。
结合第二方面,在第二方面的某些实现方式中,该初始色调映射曲线包括第一端点以及第二端点,该第一端点以及该第二端点分别位于该初始色调映射曲线的两端,该第一端点对应的亮度值低于该第二端点对应的亮度值,该目标图片包含的亮区像素点的数量大于或等于第四预设阈值,该亮区像素点的亮度值大于第三预设阈值,该多个插值点包含第四插值点,该处理模块,具体用于确定该第四插值点的第一坐标值与该第二端点的第一坐标值相同。
结合第二方面,在第二方面的某些实现方式中,该多个插值点还包括第五插值点,该处理模块,具体用于根据该亮区像素点的数量,确定该第五插值点的第一坐标值。
结合第二方面,在第二方面的某些实现方式中,该多个插值点还包括第六插值点,该目标图片还包括亮区过渡像素点,该亮区过渡像素点的亮度值小于或等于该第三预设阈值,该处理模块,具体用于根据该亮区过渡像素点的数量,确定该第六插值点的第一坐标值。
结合第二方面,在第二方面的某些实现方式中,该动态元数据包括该多个插值点中每个插值点的坐标信息。
结合第二方面,在第二方面的某些实现方式中,该初始色调映射曲线包括第一端点以及第二端点,该第一端点以及该第二端点分别位于该初始色调映射曲线的两端,该第一端点对应的亮度值低于该第二端点对应的亮度值,该动态元数据包含区域亮度指示信息,在该区域亮度指示信息指示暗区的情况下,该多个插值点包含第一插值点,该第一插值点的第一坐标值与该第一端点的第一坐标值相同;和/或,在该区域亮度指示信息指示亮区的情况下,该多个插值点包含第二插值点,该第二插值点的第一坐标值与该第二端点的第一坐标值相同。
结合第二方面,在第二方面的某些实现方式中,该初始色调映射曲线包括第一端点以及第二端点,该第一端点以及该第二端点分别位于该初始色调映射曲线的两端,该第一端点对应的亮度值低于该第二端点对应的亮度值,该动态元数据包括与P个关键像素点一一对应的P个坐标信息,P为正整数,该处理模块,具体用于根据该P个坐标信息以及该目标图片的亮度信息,确定该P个关键像素点为暗区像素点或亮区像素点,该暗区像素点的亮度值小于第一预设阈值,该亮区像素点的亮度值大于第三预设阈值;在该P个关键像素点为暗区像素点的情况下,该处理模块,具体用于确定该多个插值点包括第一插值点,该第一插值点的第一坐标值与该第一端点的第一坐标值相同;或者,在该P个关键像素点为亮区像素点的情况下,该处理模块,具体用于确定该多个插值点包括第二插值点,该第二插值点的第一坐标值与该第二端点的第一坐标值相同。
结合第二方面,在第二方面的某些实现方式中,该多个插值点包括第七插值点、第八插值点、第九插值点,该初始色调映射曲线经过该第九插值点,该处理模块,具体用于获取经过该第七插值点和该第八插值点的第一样条函数;该处理模块,具体用于确定经过该第八插值点和该第九插值点的第二样条函数,该第二样条函数在该第八插值点与该第一样条函数平滑连接,该第二样条函数在该第九插值点与该初始色调映射曲线平滑连接。
结合第二方面,在第二方面的某些实现方式中,该第一样条函数为一次样条函数,该第二样条函数为三次样条函数。
结合第二方面,在第二方面的某些实现方式中,该多个插值点包括第七插值点、第八插值点、第九插值点,该样条函数包括经过该第七插值点、该第八插值点、第九插值点的第三样条函数,该第八插值点的第一坐标值介于该第七插值点的第一坐标值与该第九插值点的第一坐标值之间;在该处理模块确定该多个插值点之前,该获取模块,还用于获取第一偏移量,该第一偏移量用于表示在第一修正位置对该初始色调映射曲线的修正幅度,该第一修正位置为该第八插值点的第一坐标值;该处理模块,具体用于根据该初始色调映射曲线在第一修正位置的函数值和该第一偏移量,确定该第八插值点的第二坐标值;该处理模块,具体用于根据该第八插值点的第一坐标值以及该第八插值点的第二坐标值,确定该第三样条函数,其中,该第三样条函数在该第七插值点和/或该第九插值点与该初始色调映射曲线平滑连接。
结合第二方面,在第二方面的某些实现方式中,该第三样条函数包括经过该第七插值点、第八插值点的第四样条函数,以及经过该第八插值点、第九插值点的第五样条函数,该第四样条函数在该第八插值点的二阶导数值与该第五样条函数在该第八插值点的二阶导数值相同。
结合第二方面,在第二方面的某些实现方式中,该多个插值点还包括第十插值点,该第三样条函数经过该第十插值点,该第十插值点的第一坐标值介于该第七插值点的第一坐标值与该第九插值点的第一坐标值之间,在该处理模块确定该多个插值点之前,该获取模块还用于,获取第二偏移量,该第二偏移量用于表示在第二修正位置对该初始色调映射曲线的修正幅度,该第二修正位置为该第十插值点的第一坐标值;该处理模块,具体用于根据该初始色调映射曲线在该第二修正位置的函数值和该第二偏移量,确定该第十插值点的第二坐标值;该处理模块,具体用于根据该第八插值点的第一坐标值、第二坐标值以及该第十插值点的第一坐标值、第二坐标值,确定该第三样条函数,其中,该第三样条函数在该第七插值点和该第九插值点均与该初始色调映射曲线平滑连接。
结合第二方面,在第二方面的某些实现方式中,该第三样条函数为三次样条函数。
结合第二方面,在第二方面的某些实现方式中,该样条函数的导数恒大于0。
结合第二方面,在第二方面的某些实现方式中,该多个插值点还包括第十一插值点,该样条函数在该第十一插值点的二阶导数为0。
结合第二方面,在第二方面的某些实现方式中,该初始色调映射曲线包括以下公式中的一种:
Figure BDA0002127173840000111
L′=a×L+b;
Figure BDA0002127173840000112
Figure BDA0002127173840000113
其中,L表示线性信号值,L’表示非线性信号值,p、a、m、b、c1、c2、c3、n、N、ρ均为动态范围映射系数,0≤L≤1。
第三方面,本申请提供图像处理装置,包括用于执行第一方面或第一方面任意一种实现方式中的模块。
第四方面,本申请提供图像处理装置,包括处理器和传输接口,所述传输接口,用于接收或发送图像数据;所述处理器,用于调用存储器中存储的程序指令,并执行所述程序指令以执行第一方面或第一方面任意一种实现方式所述的方法。
在一种可能的实现方式中,该图像处理装置还可以包括存储器。
示例性的,该图像处理装置可以为芯片。
第五方面,本申请提供了一种电子设备,包括处理器和存储器,用于执行第一方面或第一方面任意一种实现方式所述的方法。
第六方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质存储有程序指令,当所述程序指令在计算机或处理器上运行时,使所述计算机或处理器执行第一方面或第一方面任意一种实现方式所述的方法。
第七方面,本申请提供了一种计算机程序产品,包括计算机程序,该计算机程序在某一计算机或处理器上执行时,将会使该计算机或处理器执行第一方面或第一方面任意一种实现方式所述的方法。
附图说明
图1是用于实现本申请实施例的一种示例性的图像或视频传输系统的框图。
图2是本申请实施例提供的一种示例性的图像处理的方法的示意性流程图。
图3是本申请实施例提供的多个初始色调映射曲线的示意图。
图4是本申请实施例提供的多个样条函数的示意图。
图5是本申请实施例提供的一种示例性的针对暗区对初始色调映射曲线进行修正的样条函数的示意图。
图6是本申请实施例提供的一种示例性的针对亮区对初始色调映射曲线进行修正的样条函数的示意图。
图7是本申请实施例提供的一种示例性的针对明暗对比弱的区域对初始色调映射曲线进行修正的样条函数的示意图。
图8是本申请实施例提供的一种示例性的图像处理装置的结构图。
图9是本申请另一实施例提供的一种示例性的图像处理装置的结构图。
图10是本申请实施例提供的一种示例性的电子设备的结构图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
在本申请实施例中,电子设备包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。该硬件层包括中央处理器(central processing unit,CPU)、内存管理单元(memory management unit,MMU)和内存(也称为主存)等硬件。该操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。该应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用。并且,本申请实施例并未对本申请实施例提供的方法的执行主体的具体结构特别限定,只要能够通过运行记录有本申请实施例的提供的方法的代码的程序,以根据本申请实施例提供的方法进行图像处理即可,例如,本申请实施例提供的方法的执行主体可以是电子设备,或者,是电子中能够调用程序并执行程序的功能模块。
另外,本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本申请中使用的术语“制品”涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmableread-only memory,EPROM)、卡、棒或钥匙驱动器等)。另外,本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可包括但不限于,无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
下面描述本申请实施例所应用的系统架构。参见图1,图1示例性地给出了本申请实施例所应用的图像显示系统10的示意性框图。如图1所示,图像显示系统10可包括图像获取设备12和图像处理设备14,图像获取设备12产生高动态范围图像。图像处理设备14可对由图像获取设备12所产生的高动态范围图像进行处理。图像获取设备12、图像处理设备14或本申请的各种实施方案中示出的图像处理装置可包含一或多个处理器以及耦合到所述一或多个处理器的存储器。所述存储器可包含但不限于随机存取存储器(random accessmemory,RAM)、只读存储器(read-only memory,ROM)、EEPROM、快闪存储器或可用于以可由计算机存取的指令或数据结构的形式存储所要的程序代码的任何其它媒体,如本文所描述。图像获取设备12和图像处理设备14的实际形态可以包括各种装置,包含桌上型计算机、移动计算装置、笔记型(例如,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话等电话手持机、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、车载计算机、无线通信设备或其类似者。
虽然图1将图像获取设备12和图像处理设备14绘示为单独的设备,但设备实施例也可以同时包括图像获取设备12和图像处理设备14或同时包括两者的功能,即图像获取设备12以及图像处理设备14为同一个设备的两个不同的部分,例如,图像获取设备可以为移动智能手机中的相机,图像处理设备可以为移动智能手机中的处理器。在此类实施例中,可以使用相同硬件和/或软件,或使用单独的硬件和/或软件,或其任何组合来实施图像获取设备12或对应的功能以及图像处理设备14或对应的功能。
图像获取设备12和图像处理设备14之间可通过链路13进行通信连接,图像处理设备14可经由链路13从图像获取设备12接收高动态范围图像。链路13可包括能够将高动态范围图像从图像获取设备12移动到图像处理设备14的一个或多个媒体或装置。在一个实例中,链路13可包括使得图像获取设备12能够实时将高动态范围图像直接发射到图像处理设备14的一或多个通信媒体。所述一或多个通信媒体可包含无线和/或有线通信媒体,例如射频(radio frequency,RF)频谱或一或多个物理传输线。所述一或多个通信媒体可形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。所述一或多个通信媒体可包含路由器、交换器、基站或促进从图像获取设备12到图像处理设备14的通信的其它设备。
示例性的,图像获取设备12包括图片源16、以及通信接口22或者也可以称为传输接口。另外可选地,图像获取设备12还可以包括图像处理器20。具体实现形态中,所述图像处理器20、图片源16、以及通信接口22可能是图像获取设备12中的硬件部件,也可能是图像获取设备12中的软件程序。分别描述如下:
图片源16,可以包括或可以为任何类别的图片捕获设备,用于例如捕获现实世界图片,和/或任何类别的图片或评论(对于屏幕内容编码,屏幕上的一些文字也认为是待编码的图片或图像的一部分)生成设备,例如,用于生成计算机动画图片的计算机图形处理器,或用于获取和/或提供现实世界图片、计算机动画图片(例如,屏幕内容、虚拟现实(virtual reality,VR)图片)的任何类别设备,和/或其任何组合(例如,实景(augmentedreality,AR)图片)。图片源16可以为用于捕获图片的相机或者用于存储图片的存储器,图片源16还可以包括存储先前捕获或产生的图片和/或获取或接收图片的任何类别的(内部或外部)接口。当图片源16为相机时,图片源16可例如为本地的或集成在图像获取设备中的集成相机;当图片源16为存储器时,图片源16可为本地的或例如集成在图像获取设备中的集成存储器。当所述图片源16包括接口时,接口可例如为从外部视频源接收图片的外部接口,外部视频源例如为外部图片捕获设备,比如相机、外部存储器或外部图片生成设备,外部图片生成设备例如为外部计算机图形处理器、计算机或服务器。接口可以为根据任何专有或标准化接口协议的任何类别的接口,例如高清晰度多媒体接口(high definitionmultimedia interface,HDMI)、移动产业处理器接口(Mobile Industry ProcessorInterface,MIPI)、MIPI标准化的显示串行接口(Display Serial Interface,DSI)、视频电子标准协会(Video Electronics Standards Association,VESA)标准化的嵌入式显示端口(Embedded Display Port,eDP)或者V-By-One接口,V-By-One接口是一种面向图像传输开发的数字接口标准,以及各种有线或无线接口、光接口等。
其中,图片可以视为像素点(picture element)的二维阵列或矩阵。阵列中的像素点也可以称为采样点。阵列或图片在水平和垂直方向(或轴线)上的采样点数目定义图片的尺寸和/或分辨率。为了表示颜色,通常采用三个颜色分量,即图片可以表示为或包含三个采样阵列。例如在RGB格式或颜色空间中,图片包括对应的红色、绿色及蓝色采样阵列。但是,在视频编码中,每个像素通常以亮度/色度格式或颜色空间表示,例如对于YUV格式的图片,包括Y指示的亮度分量(有时也可以用L指示)以及U和V指示的两个色度分量。亮度(luma)分量Y表示亮度或灰度水平强度(例如,在灰度等级图片中两者相同),而两个色度(chroma)分量U和V表示色度或颜色信息分量。相应地,YUV格式的图片包括亮度采样值(Y)的亮度采样阵列,和色度值(U和V)的两个色度采样阵列。RGB格式的图片可以转换或变换为YUV格式,反之亦然,该过程也称为色彩转换或颜色格式转换。如果图片是黑白的,该图片可以只包括亮度采样阵列。本申请实施例中,由图片源16传输至图像处理器的图片也可称为原始图片数据17。
图像处理器20,用于执行图像处理,例如整修、色彩格式转换(例如,从RGB格式转换为YUV格式)、调色或去噪等。
通信接口22,可用于接收经图像处理的图片数据19,并可通过链路13将经图像处理的图片数据19传输至图像处理设备14或任何其它设备(如存储器),以用于存储或直接重构,所述其它设备可为任何用于存储的设备。通信接口22可例如用于将经图像处理的图片数据19封装成合适的格式,例如数据包,以在链路13上传输。
图像处理设备14包括通信接口28、图像处理器32和显示端设备34。分别描述如下:
通信接口28,可用于从图像获取设备12或任何其它源接收经图像处理的图片数据19,所述任何其它源例如为存储设备,存储设备例如为经图像处理的图片数据的存储设备。示例性的,通信接口22和通信接口28的具体实例可参考前述对接口的说明,此处不再赘述。通信接口28可以用于藉由图像获取设备12和图像处理设备14之间的链路13或藉由任何类别的网络传输或接收经图像处理的图片数据19,链路13例如为直接有线或无线连接,任何类别的网络例如为有线或无线网络或其任何组合,或任何类别的私网和公网,或其任何组合。通信接口28可以例如用于解封装通信接口22所传输的数据包以获取经图像处理的图片数据19。
通信接口28和通信接口22都可以配置为单向通信接口或者双向通信接口,以及可以用于例如发送和接收消息来建立连接、确认和交换任何其它与通信链路和/或例如经图像处理的图片数据和/或与数据传输有关的信息。
图像处理器32,用于对经图像处理的图片数据19执行色调映射处理,以获得经色调映射处理的图片数据33。图像处理器32执行的处理还可以包括:色彩格式转换(例如,从YUV格式转换为RGB格式)、调色、整修或重采样,或任何其它处理,还可用于将将经色调映射处理的图片数据33传输至显示端设备34。
显示端设备34,用于接收经色调映射处理的图片数据33以向例如用户或观看者显示图片。显示端设备34可以为或可以包括任何类别的用于呈现经重构图片的显示器,例如,集成的或外部的显示器或监视器。例如,显示器可以包括液晶显示器(liquid crystaldisplay,LCD)、有机发光二极管(organic light emitting diode,OLED)显示器、等离子显示器、投影仪、微LED显示器、硅基液晶(liquid crystal on silicon,LCoS)、数字光处理器(digital light processor,DLP)或任何类别的其它显示器。
虽然,图1将图像获取设备12和图像处理设备14绘示为单独的设备,但设备实施例也可以同时包括图像获取设备12和图像处理设备14或同时包括两者的功能性,即图像获取设备12或对应的功能性以及图像处理设备14或对应的功能性。在此类实施例中,可以使用相同硬件和/或软件,或使用单独的硬件和/或软件,或其任何组合来实施图像获取设备12或对应的功能性以及图像处理设备14或对应的功能性。
虽然,图1将图像处理设备14和显示端设备34绘示为单独的设备,但设备实施例也可以同时包括图像处理设备14和显示端设备34或同时包括两者的功能性,即图像处理设备14或对应的功能性以及显示端设备34或对应的功能性。在此类实施例中,可以使用相同硬件和/或软件,或使用单独的硬件和/或软件,或其任何组合来实施图像处理设备14或对应的功能性以及显示端设备34或对应的功能性。
本领域技术人员基于描述明显可知,不同单元的功能性或图1所示的图像获取设备12和/或图像处理设备14的功能性的存在和(准确)划分可能根据实际设备和应用有所不同。图像获取设备12和图像处理设备14可以包括各种设备中的任一个,包含任何类别的手持或静止设备,例如,笔记本或膝上型计算机、移动电话、智能手机、平板或平板计算机、摄像机、台式计算机、机顶盒、电视机、相机、车载设备、显示设备、数字媒体播放器、视频游戏控制台、视频流式传输设备(例如内容服务服务器或内容分发服务器)、广播接收器设备、广播发射器设备等,并可以不使用或使用任何类别的操作系统。
图像处理器20、图像处理器32都可以实施为各种合适电路中的任一个,例如,一个或多个微处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)、离散逻辑、硬件或其任何组合。如果部分地以软件实施所述技术,则设备可将软件的指令存储于合适的非暂时性计算机可读存储介质中,且可使用一或多个处理器以硬件执行指令从而执行本公开的技术。前述内容(包含硬件、软件、硬件与软件的组合等)中的任一者可视为一或多个处理器。
图像获取设备可以通过接收来自自然场景的光信号,捕捉包含自然场景的图片或视频。为了便于图像或视频的传输,需要将光信号转换为电信号,并且通过取值范围固定的亮度值或色度值(例如灰度值介于0~255),记录各个像素点的图像信息。将光信号转换为电信号的曲线为光电转移函数。常见的光电转移函数有PQ(perceptual quantizer)光电转移函数、HLG(hybrid log-gamma)光电转移函数、场景亮度保真(scene luminancefidelity,SLF)光电转移函数。显示端设备可以通过显示图片或视频,从而再现自然场景。通常图像获取设备与显示端设备位于两个不同的位置,因此,往往又将图像获取设备称作前端设备,将显示端设备称作后端设备。显示设备可以根据光电转移函数和图像中各个像素的亮度值或灰度值,确定拍摄时某物体的亮度,即电子设备可以将YUV或RGB信息转化为单位为nit的亮度。该物体的亮度可能超过了显示端设备的显示能力。由于图像获取设备获取的亮度信息与显示端设备的亮度显示能力不匹配,因此存在使用低亮度显示能力的显示端设备显示高亮度图像的情况,以及使用高亮度显示能力的显示设备显示低亮度图像的情况。其中,前一种情况又被称作从高到低的色调映射过程,后一种情况又被称作从低到高的色调映射过程。色调映射是指,在具有有限动态范围显示能力的显示端设备上,近似地显示高动态范围图像的一项计算机图形学技术。一种方式是,可以基于色调映射曲线,将高动态范围图像色调映射在低动态范围显示能力的显示端设备。应指出,该色调映射曲线可以由显示端设备确定,也可以由外置于显示端设备的处理设备确定。
然而,在某些情况下,当色调映射曲线确定不准确时,高动态范围图像的显示效果较差。例如,在视频播放过程中,如果针对该视频仅确定一个色调映射曲线,不同的视频帧之间显示的图像内容差别可能比较大,例如某些视频帧显示的图像非常暗,而另外一些视频帧显示的图像非常亮,整个视频如果采用一个固定的色调映射曲线,那么无法将该视频中每一帧的画面完美再现在显示端设备上。并且,色调映射曲线携带的数据量较大,如果针对每一个图像或画面帧均确定一个色调映射曲线,那么可能会引入数据冗余的后果。
本申请提供一种图像处理的方法及装置,可以避免上述问题。
图2所示为本申请提供的一种图像处理的方法的示意性流程图。图2所示的方法可以由用于色调映射的处理器执行,例如可以是图1所示的图像处理设备14,或包含色调映射处理器的图像获取设备,或包含色调映射处理器的显示端设备。
201,获取目标图片以及所述目标图片的初始色调映射曲线。
其中,目标图片可以是通过图1所示的图片源16得到。其中,目标图片可以是视频中的一帧画面,也可以是一张静态图片,也可以是一张图片中的某个区域,如一张图片中的若干个图像块。
初始色调映射曲线可以是任意形式的可用于色调映射过程的曲线。具体地,图3示出了几种初始色调映射曲线的可能形式。
图3中实线所示的初始色调映射曲线又称为SLF色调映射曲线,其满足:
Figure BDA0002127173840000161
其中,L表示线性信号值,L’表示非线性信号值,p、a、m、b均为动态范围映射系数,0≤L≤1,0≤L’≤1。a与显示端设备的动态范围显示能力成正比,与目标图片的动态范围成反比。b与显示设备的最小亮度显示能力成正比。
图3中单点划线所示的初始色调映射曲线为一次多项式色调映射函数,其满足:
L′=a×L+b,
其中,L表示线性信号值,L’表示非线性信号值,a、b均为动态范围映射系数,0≤L≤1,0≤L’≤1。a与显示端设备的动态范围显示能力成正比,与目标图片的动态范围成反比。b与显示设备的最小亮度显示能力成正比。
图3中虚线所示的初始色调映射曲线又称为sigmoidal色调映射曲线,其满足:
Figure BDA0002127173840000162
其中,L表示线性信号值,L’表示非线性信号值,c1、c2、c3、n均为动态范围映射系数,0≤L≤1,0≤L’≤1。c1、c2、c3、n均与目标图片的平均亮度、最大亮度,最小亮度有关,并且和显示端设备的最小显示亮度,最大显示亮度有关。
图3中双点划线所示的初始色调映射曲线又称为贝塞尔色调映射曲线,其满足:
Figure BDA0002127173840000163
其中,L表示线性信号值,L’表示非线性信号值,n、N、ρ均为动态范围映射系数,0≤L≤1,0≤L’≤1。n、N、ρ与目标图像的亮度分布有关,和目标图像的平均亮度也有关。
电子设备可以根据目标图片的亮度信息和/或动态元数据,确定初始色调映射曲线中的参数。
应理解,YUV格式中的亮度值和RGB格式中的灰度值均可以反映图像的亮度,因此,本申请中的亮度信息例如可以是YUV格式中的亮度值,或RGB格式中的灰度值。
应理解,动态元数据可以包含亮度范围的信息以及各个亮度范围的占比的信息,例如亮度范围在0~10nit的像素点数量为200。动态元数据还包括位于亮度范围内的像素点的平均亮度,例如亮度范围在0~10nit的像素点的平均亮度为6.2nit。
以SLF公式为例,可以通过图像的整体亮度,确定p和m。其中,当图像的整体偏亮的情况下,p的取值较小,m的取值较大;当图像的整体偏暗的情况下,p的取值较大,m的取值较小。p的取值范围可以是3~6。m的取值范围可以是2~4,m通常取2.4。电子设备可以统计分析亮度信息,判断图像的整体亮度。电子设备可以根据动态元数据中包含的信息,当偏亮的像素点的占比较高时判断图像的整体亮度偏亮,当偏暗的像素点的占比较高时判断图像的整体亮度偏暗。
可选的,初始色调映射曲线可以是经过归一化处理的曲线,即初始色调映射曲线中任一点的坐标为(第一坐标值1,第二坐标值1),第一坐标值1的取值在0~1之间,第二坐标值1的取值在0~1之间。下面以经过归一化处理的初始色调映射曲线进行阐述,应理解,本申请对此不作限定。
202,根据所述目标图片的亮度信息和/或动态元数据,确定多个插值点。
所述确定多个插值点的目的在于确定用于修正初始色调映射曲线的样条函数。通过确定多个插值点,可以限定样条函数经过该多个插值点,从而得到色调映射效果较好的图像显示效果。
所述确定插值点,可以是确定插值点的坐标,也可以是插值点的第一坐标值或第二坐标值。插值点的坐标可以表示为(x,y),其中x可以表示第一坐标值,y可以表示第二坐标值。电子设备可以根据图像的亮度信息,或者根据图像的动态元数据,或者根据图像的亮度信息以及图像的动态元数据,确定多个插值点。例如确定插值点1的第一坐标值,插值点2的第二坐标值,插值点3的坐标。
在本申请中,确定插值点的目的,是确定对初始色调映射曲线的修改位置。也就是说,多个插值点中包含的两个插值点之间可以存在一个修正范围,电子设备可以在该修正范围内对初始色调映射曲线进行修改。
一个示例中,电子设备确定插值点1的第一坐标值为第一坐标值1,以及插值点2的第一坐标值为第一坐标值2,第一坐标值1<第一坐标值2,可以确定在第一坐标值1到第一坐标值2的区间内对初始色调映射曲线进行修改。
类似地,电子设备确定插值点1的第二坐标值为第二坐标值1,以及插值点2的第二坐标值为第二坐标值2,第二坐标值1<第二坐标值2,可以确定在第二坐标值1到第二坐标值2的区间内对初始色调映射曲线进行修改。
一个示例中,电子设备确定插值点1的第一坐标值为第一坐标值1,以及插值点2的第二坐标值为第二坐标值2,电子设备可以根据初始色调映射曲线,确定第二坐标值2对应的第一坐标值为第一坐标值2,电子设备判断第一坐标值1<第一坐标值2,可以确定在第二坐标值1到第二坐标值2的区间内对初始色调映射曲线进行修改。
类似地,电子设备确定插值点1的第二坐标值为第一坐标值1,以及插值点2的第二坐标值为第二坐标值2,电子设备可以根据初始色调映射曲线,确定第一坐标值1对应的第二坐标值为第二坐标值1,电子设备判断第二坐标值1<第二坐标值2,可以确定在第二坐标值1到第二坐标值2的区间内对初始色调映射曲线进行修改。
一个示例中,电子设备确定插值点1的坐标为(第一坐标值1,第二坐标值1),以及插值点2的坐标为(第一坐标值2,第二坐标值2),第一坐标值1<第一坐标值2(由于初始色调函数通常为单调递增函数,所以第二坐标值1<第二坐标值2),可以确定在第一坐标值1到第一坐标值2的区间(或者第二坐标值1到第二坐标值2的区间)内对初始色调映射曲线进行修改。
初始色调映射曲线包含两个端点分别为第一端点和第二端点,如图4所示的1点和5点。其中,第一端点对应的亮度值较低,位于图像的暗区,第二端点对应的亮度值较高,位于图像的亮区。当图像偏暗的情况下,电子设备可以确定第一端点或靠近第一端点的位置存在插值点。当图像偏亮的情况下,电子设备可以确定第二端点或靠近第二端点的位置存在插值点。而当图像中包含一部分亮度差异较小的像素点时,可以根据该部分像素点的亮度以及图像的整体亮度,确定插值点的位置。例如当图片的亮度范围介于100~300nit,其中有50%的像素点位于195~205nit范围内时,可以确定在初始色调映射曲线的中段附近存在插值点。
场景一当图像偏暗的情况下,电子设备可以确定第一端点或靠近第一端点的位置存在插值点。该场景下的插值点和样条函数的示意图如图5所示。
可选的,所述初始色调映射曲线包括第一端点以及第二端点,所述第一端点以及所述第二端点分别位于所述初始色调映射曲线的两端,所述第一端点对应的亮度值低于所述第二端点对应的亮度值,所述目标图片包含的暗区像素点的数量大于或等于第二预设阈值,所述暗区像素点的亮度值小于第一预设阈值,所述多个插值点包含第一插值点,所述根据所述目标图片的亮度信息,确定多个插值点,包括:确定所述第一插值点的第一坐标值与所述第一端点的第一坐标值相同。
在本申请中,第一端点对应的亮度值可以与第一端点的第一坐标值对应,和/或与第一端点的第二坐标值对应。第二端点对应的亮度值可以与第二端点的第一坐标值对应,和/或与第二端点的第二坐标值对应。
例如,第一预设阈值为20,可以认为YUV格式中Y分量的取值小于20的像素点为暗区像素点,或者,RGB格式中R/G/B分量的取值小于20的像素点为暗区像素点。又如,第一预设阈值为20nit,可以认为亮度小于20nit的像素点为暗区像素点。
因此,当目标图片中包含数量足够多的暗区像素点时,可以选择第一端点作为第一插值点,确定第一端点的第一坐标值与第一插值点的第一坐标值相同。也就是说,当目标图片中包含数量足够多的暗区像素点时,可以对初始色调因素曲线上靠近第一端点的一段进行修正。
可选的,所述初始色调映射曲线包括第一端点以及第二端点,所述第一端点以及所述第二端点分别位于所述初始色调映射曲线的两端,所述动态元数据包括与P个关键像素点一一对应的P个坐标信息,P为正整数,所述根据所述目标图片的亮度信息以及动态元数据,确定多个插值点,包括:根据所述P个坐标信息以及所述目标图片的亮度信息,确定所述P个关键像素点为暗区像素点,所述暗区像素点的亮度值小于第一预设阈值;在所述P个关键像素点为暗区像素点的情况下,确定所述多个插值点包括第一插值点,所述第一插值点的第一坐标值与所述第一端点的第一坐标值相同。
例如,第一预设阈值为20,可以认为YUV格式中Y分量的取值或平均值小于20的像素点为暗区像素点,或者,RGB格式中R/G/B分量的取值或平均值小于20的像素点为暗区像素点。又如,第一预设阈值为20nit,可以认为亮度或平均亮度小于20nit的像素点为暗区像素点。
因此,通过动态元数据指示若干个关键像素点,可以针对关键像素点的平均亮度或最大亮度,判断该若干个关键像素点是否属于暗区像素点。在该若干关键像素点为暗区像素点的情况下,将亮度映射曲线的第一端点作为第一插值点,确定第一端点的第一坐标值与第一插值点的第一坐标值相同。也就是说,在该若干关键像素点为暗区像素点的情况下,可以在初始色调因素曲线上靠近第一端点的一段进行修正。
在本申请中,暗区像素点可以理解成亮度低的像素点。暗区像素点可以是动态元数据中指示的关键像素点。暗区像素点也可以是电子设备根据像素点的亮度分布自行判断得到。换句话说,可以通过不同的方式确定目标图片是否包含暗区像素点。
可选的,所述初始色调映射曲线包括第一端点以及第二端点,所述第一端点以及所述第二端点分别位于所述初始色调映射曲线的两端,所述动态元数据包含区域亮度指示信息,在所述区域亮度指示信息指示暗区的情况下,所述多个插值点包含第一插值点,所述第一插值点的第一坐标值与所述第一端点的第一坐标值相同。
当动态元数据中包含指示暗区的指示信息时,第一插值点的第一坐标值与所述第一端点的第一坐标值相同。第一插值点例如是图4所示的1’点。例如,该指示信息为0时,或包含“dark”的指示时,确定第一插值点的第一坐标值与所述第一端点的第一坐标值相同。
如图4所示为一个初始色调映射曲线。初始色调映射曲线的两端分别为1点和5点。第一端点可以是图4所示的1点,第二端点可以是图4所示的5点。由图可知,第一端点对应的亮度值偏低,第二端点对应的亮度值偏高。如图4所示,第一插值点可以是1’点,第一端点可以是1点,1点的第一坐标值与1’点的第一坐标值相同。在某些情况下,1点与1’点重合,即1点的第一坐标值与1’点的第一坐标值相同,且1点的第二坐标值与1’点的第二坐标值相同。第一插值点的第二坐标值可以根据经验值、用户输入值、初始色调映射曲线得到。
接下来需要确定初始色调映射曲线的修正范围。即可以确定一个第二插值点,从而对第一插值点与第二插值点之间的初始色调映射曲线进行修正,以确保高动态范围的图片可以在低动态范围显示能力的显示设备上显示或者确保将暗场景的图像细节更好的呈现在显示设备上。如图4所示,第五插值点可以是2’点。
可选的,所述多个插值点还包括第二插值点,所述根据所述目标图片的亮度信息,确定多个插值点,包括:根据所述暗区像素点的数量,确定所述第二插值点的第一坐标值。
当暗区像素点的数量较多,或者暗区像素点占全部像素点的比例较高时,第二插值点的第一坐标值靠近第一插值点的第一坐标值。当暗区像素点的数量较少,或者暗区像素点占全部像素点的比例较低时,第二插值点的第一坐标值远离第一插值点的第一坐标值。也就是说,当暗区像素点的数量较多时,对初始色调映射曲线靠近第一端点的修正范围较小,而当暗区像素点的数量较少且大于第二预设阈值时,对初始色调映射曲线靠近第一端点的修正范围较大。第二插值点的第二坐标值可以根据经验值、用户输入值或者初始色调映射曲线得到。
另外,修正后的色调映射曲线需要光滑可导,因此,可以确定一个第三插值点,使得用于修正初始色调映射曲线的样条函数可以在第三插值点上与初始色调映射曲线光滑连接。
对初始色调映射曲线进行修正的修正范围可以包括强修正范围和弱修正范围。介于第一插值点与第二插值点之间的修正范围可以理解为强修正范围,介于第二插值点与第三插值点之间的修正范围可以理解为弱修正范围。弱修正范围为强修正范围与未修正范围之间的过渡修正范围。类似地,对初始色调映射曲线进行修正的样条函数可以包括强修正样条函数和弱修正样条函数。介于第一插值点与第二插值点之间的样条函数可以理解为强修正样条函数,介于第二插值点与第三插值点之间的样条函数可以理解为弱修正样条函数。弱修正样条函数为强修正样条函数与初始色调映射曲线之间的过渡修正样条函数。另外,由于介于第二插值点与第三插值点之间的样条函数与初始色调映射曲线不同,因此,介于第二插值点与第三插值点之间的样条函数除具有过渡曲线的作用以外,还具有修正曲线作用。如图4所示,第三插值点可以是4’点。
可选的,所述多个插值点还包括第三插值点,所述目标图片还包括暗区过渡像素点,所述暗区过渡像素点的亮度值大于或等于所述第一预设阈值,所述根据所述目标图片的亮度信息,确定多个插值点,包括:根据所述暗区过渡像素点的数量,确定所述第三插值点的第一坐标值。
其中,暗区过渡像素点为亮度大于上文中提到的第一预设阈值的像素点。例如,第一预设阈值为20,可以认为YUV格式中Y分量的取值大于20的像素点为暗区过渡像素点,或者,RGB格式中R/G/B分量的取值大于20的像素点为暗区过渡像素点。又如,第三预设阈值为100nit,可以认为亮度大于100nit的像素点为暗区过渡像素点。在某些情况下,暗区过渡像素点的亮度还会小于第五预设阈值,第五预设阈值大于第一预设阈值。
可选的,所述多个插值点还包括第三插值点,所述动态元数据包括与Q个关键像素点一一对应的Q个坐标信息,Q为正整数,在所述多个插值点包括所述第一插值点的情况下,所述根据所述目标图片的亮度信息以及动态元数据,确定多个插值点,包括:根据所述Q个坐标信息以及所述目标图片的亮度信息,确定所述Q个关键像素点为暗区过渡像素点,所述暗区像素点的亮度值大于或等于所述第一预设阈值;在所述Q个关键像素点为暗区像素点的情况下,确定所述多个插值点包括第三插值点,所述第三插值点的第一坐标值与所述第一端点的第一坐标值相同。
其中,暗区过渡像素点为亮度或平均亮度大于上文中提到的第一预设阈值的像素点。例如,第一预设阈值为20,可以认为YUV格式中Y分量的取值或平均值大于20的像素点为暗区过渡像素点,或者,RGB格式中R/G/B分量的取值或平均值大于20的像素点为暗区过渡像素点。又如,第三预设阈值为100nit,可以认为亮度或平均亮度大于100nit的像素点为暗区过渡像素点。在某些情况下,暗区过渡像素点的亮度还会小于第五预设阈值,第五预设阈值大于第一预设阈值。
当暗区过渡像素点的数量较多,或者暗区过渡像素点占全部像素点的比例较高时,第三插值点的第一坐标值靠近第二插值点的第一坐标值。当暗区过渡像素点的数量较少,或者暗区过渡像素点占全部像素点的比例较低时,第三插值点的第一坐标值远离第二插值点的第一坐标值。也就是说,当暗区过渡像素点的数量较多时,弱修正样条函数较短,而当暗区过渡像素点的数量较少时,弱修正样条函数较长。
在本申请中,暗区过渡像素点可以理解成亮度偏暗且亮度大于暗区像素点的像素点。暗区过渡像素点可以是动态元数据中指示的关键像素点。暗区过渡像素点也可以是电子设备根据像素点的亮度分布自行判断得到。换句话说,可以通过不同的方式确定目标图片中暗区过渡像素点的数量。第三插值点的第二坐标值可以根据经验值、用户输入值、初始色调映射曲线得到。
场景二当图像偏亮的情况下,电子设备可以确定第二端点或靠近第二端点的位置存在插值点。该场景下的插值点和样条函数的示意图如图6所示。
可选的,所述初始色调映射曲线包括第一端点以及第二端点,所述第一端点以及所述第二端点分别位于所述初始色调映射曲线的两端,所述第一端点对应的亮度值低于所述第二端点对应的亮度值,所述目标图片包含的亮区像素点的数量大于或等于第四预设阈值,所述亮区像素点的亮度值大于第三预设阈值,所述多个插值点包含第四插值点,所述根据所述目标图片的亮度信息,确定多个插值点,包括:确定所述第四插值点的第一坐标值与所述第二端点的第一坐标值相同。
在本申请中,第一端点对应的亮度值可以与第一端点的第一坐标值对应,和/或与第一端点的第二坐标值对应。第二端点对应的亮度值可以与第二端点的第一坐标值对应,和/或与第二端点的第二坐标值对应。
例如,第三预设阈值为200,可以认为YUV格式中Y分量的取值大于200的像素点为亮区像素点,或者,RGB格式中R/G/B分量的取值大于200的像素点为亮区像素点。又如,第三预设阈值为400nit,可以认为亮度大于400nit的像素点为亮区像素点。
因此,当目标图片中包含数量足够多的亮区像素点时,可以将第二端点确定为对亮区进行修正的一个插值点(在本实施例中对应第四插值点),例如确定第二端点的第一坐标值与第四插值点的第一坐标值相同。也就是说,当目标图片中包含数量足够多的亮区像素点时,可以在初始色调因素曲线上靠近第二端点的一段进行修正。
可选的,所述初始色调映射曲线包括第一端点以及第二端点,所述第一端点以及所述第二端点分别位于所述初始色调映射曲线的两端,所述动态元数据包括与P个关键像素点一一对应的P个坐标信息,P为正整数,所述根据所述目标图片的亮度信息以及动态元数据,确定多个插值点,包括:根据所述P个坐标信息以及所述目标图片的亮度信息,确定所述P个关键像素点为亮区像素点,所述亮区像素点的亮度值大于第三预设阈值;在所述P个关键像素点为亮区像素点的情况下,确定所述多个插值点包括第四插值点,所述第四插值点的第一坐标值与所述第二端点的第一坐标值相同。
例如,第三预设阈值为200,可以认为YUV格式中Y分量的取值或平均值大于200的像素点为亮区像素点,或者,RGB格式中R/G/B分量的取值或平均值大于200的像素点为亮区像素点。又如,第三预设阈值为400nit,可以认为亮度或平均亮度大于400nit的像素点为亮区像素点。
因此,通过动态元数据指示若干个关键像素点,可以针对关键像素点的平均亮度或最大亮度,判断该若干个关键像素点是否属于亮区像素点。在该若干关键像素点为亮区像素点的情况下,确定第二端点的第一坐标值与第四插值点的第一坐标值相同。也就是说,在该若干关键像素点为亮区像素点的情况下,可以在初始色调因素曲线上靠近第二端点的一段进行修正。
在本申请中,亮区像素点可以理解成亮度大的像素点。亮区像素点可以是动态元数据中指示的关键像素点。亮区像素点也可以是电子设备根据像素点的亮度分布自行判断得到。换句话说,可以通过不同的方式确定目标图片是否包含亮区像素点。
可选的,所述初始色调映射曲线包括第一端点以及第二端点,所述第一端点以及所述第二端点分别位于所述初始色调映射曲线的两端,所述动态元数据包含区域亮度指示信息,在所述区域亮度指示信息指示亮区的情况下,所述多个插值点包含第四插值点,所述第四插值点的第一坐标值与所述第二端点的第一坐标值相同。
当动态元数据中包含指示亮区的指示信息时,第四插值点的第一坐标值与所述第二端点的第一坐标值相同。第四插值点例如是图4所示的5’点。例如,该指示信息为1时,或包含“light”或者其他与亮区相关的指示时,确定第四插值点的第一坐标值与所述第二端点的第一坐标值相同。
如图4所示为一个初始色调映射曲线。初始色调映射曲线的两端分别为1点和5点。第一端点可以是图4所示的1点,第二端点可以是图4所示的5点。由图可知,第一端点对应的亮度值偏低,第二端点对应的亮度值偏高。如图4所示,第四插值点可以是5’点,第一端点可以是5点,5点的第一坐标值与5’点的第一坐标值相同。在某些情况下,5点与5’点重合,即5点的第一坐标值与5’点的第一坐标值相同,且5点的第二坐标值与5’点的第二坐标值相同。第四插值点的第二坐标值可以根据经验值、用户输入值、初始色调映射曲线得到。
接下来需要确定初始色调映射曲线的修正范围。即可以确定一个第五插值点,从而对第四插值点与第五插值点之间的初始色调映射曲线进行修正,以确保高动态范围的图片可以在低动态范围显示能力的显示设备上显示或者确保将亮场景的图像细节更好的呈现在显示设备上。如图4所示,第五插值点可以是6’点。
可选的,所述多个插值点还包括第五插值点,所述根据所述目标图片的亮度信息,确定多个插值点,包括:根据所述亮区像素点的数量,确定所述第五插值点的第一坐标值。
当亮区像素点的数量较多,或者亮区像素点占全部像素点的比例较高时,第五插值点的第一坐标值靠近第四插值点的第一坐标值。当亮区像素点的数量较少,或者亮区像素点占全部像素点的比例较低时,第五插值点的第一坐标值远离第四插值点的第一坐标值。也就是说,当亮区像素点的数量较多时,对初始色调映射曲线靠近第二端点的修正范围较小,而当亮区像素点的数量较少且大于第四预设阈值时,对初始色调映射曲线靠近第二端点的修正范围较大。第五插值点的第二坐标值可以根据经验值、用户输入值、初始色调映射曲线得到。
另外,修正后的色调映射曲线需要光滑可导,因此,可以确定一个第六插值点,使得用于修正初始色调映射曲线的样条函数可以在第六插值点上与初始色调映射曲线光滑连接。如图4所示,第六插值点可以是8’点。
对初始色调映射曲线进行修正的修正范围可以包括强修正范围和弱修正范围。介于第四插值点与第五插值点之间的修正范围可以理解为强修正范围,介于第五插值点与第六插值点之间的修正范围可以理解为弱修正范围。弱修正范围为强修正范围与未修正范围之间的过渡修正范围。类似地,对初始色调映射曲线进行修正的样条函数可以包括强修正样条函数和弱修正样条函数。介于第四插值点与第五插值点之间的样条函数可以理解为强修正样条函数,介于第五插值点与第六插值点之间的样条函数可以理解为弱修正样条函数。弱修正样条函数为强修正样条函数与初始色调映射曲线之间的过渡修正样条函数。另外,由于介于第五插值点与第六插值点之间的样条函数与初始色调映射曲线不同,因此,介于第五插值点与第六插值点之间的样条函数除具有过渡曲线的作用以外,还具有的修正曲线作用。
可选的,所述多个插值点还包括第六插值点,所述目标图片还包括亮区过渡像素点,所述亮区过渡像素点的亮度值小于或等于所述第三预设阈值,所述根据所述目标图片的亮度信息,确定多个插值点,包括:根据所述亮区过渡像素点的数量,确定所述第六插值点的第一坐标值。
其中,亮区过渡像素点为亮度大于上文中提到的第三预设阈值的像素点。例如,第三预设阈值为20,可以认为YUV格式中Y分量的取值大于20的像素点为亮区过渡像素点,或者,RGB格式中R/G/B分量的取值大于20的像素点为亮区过渡像素点。又如,第三预设阈值为100nit,可以认为亮度大于100nit的像素点为亮区过渡像素点。在某些情况下,亮区过渡像素点的亮度还会大于第六预设阈值,第六预设阈值小于第三预设阈值。
可选的,所述多个插值点还包括第六插值点,所述动态元数据包括与Q个关键像素点一一对应的Q个坐标信息,Q为正整数,在所述多个插值点包括所述第四插值点的情况下,所述根据所述目标图片的亮度信息以及动态元数据,确定多个插值点,包括:根据所述Q个坐标信息以及所述目标图片的亮度信息,确定所述Q个关键像素点为亮区过渡像素点,所述亮区像素点的亮度值小于或等于所述第一预设阈值;在所述Q个关键像素点为亮区像素点的情况下,确定所述多个插值点包括第六插值点,所述第六插值点的第一坐标值与所述第一端点的第一坐标值相同。
其中,亮区过渡像素点为亮度或平均亮度小于上文中提到的第三预设阈值的像素点。例如,第三预设阈值为200,可以认为YUV格式中Y分量的取值或平均值小于200的像素点为亮区过渡像素点,或者,RGB格式中R/G/B分量的取值或平均值小于200的像素点为亮区过渡像素点。又如,第三预设阈值为400nit,可以认为亮度或平均亮度小于400nit的像素点为亮区过渡像素点。在某些情况下,亮区过渡像素点的亮度还会大于第六预设阈值,第六预设阈值小于第三预设阈值。
当亮区过渡像素点的数量较多,或者亮区过渡像素点占全部像素点的比例较高时,第三插值点的第一坐标值靠近第六插值点的第一坐标值。当亮区过渡像素点的数量较少,或者亮区过渡像素点占全部像素点的比例较低时,第三插值点的第一坐标值远离第六插值点的第一坐标值。也就是说,当亮区过渡像素点的数量较多时,弱修正样条函数较短,而当亮区过渡像素点的数量较少时,弱修正样条函数较长。
在本申请中,亮区过渡像素点可以理解成亮度偏亮且亮度小于亮区像素点的像素点。亮区过渡像素点可以是动态元数据中指示的关键像素点。亮区过渡像素点也可以是电子设备根据像素点的亮度分布自行判断得到。换句话说,可以通过不同的方式确定目标图片中亮区过渡像素点的数量。第六插值点的第二坐标值可以根据经验值、用户输入值、初始色调映射曲线得到。
场景三图像中包含一部分亮度差异较小的像素点。该场景下的插值点和样条函数的示意图如图7所示。
可选的,所述目标图片包括亮度值介于第一亮度值与第二亮度值之间的目标像素点,所述目标像素点占所述目标图片的全部像素点的比例大于第八预设阈值,所述第一亮度值与所述第二亮度值的差值小于第七预设阈值,所述多个插值点包括第十二插值点,所述根据所述目标图片的亮度信息,确定多个插值点,包括:根据所述目标像素点的平均亮度、所述目标图片的最小亮度值和所述目标图片的最大亮度值,确定所述第十二插值点。
亮度值可以用YUV、RGB或亮度表示。
例如目标图片的最大亮度值为500nit,最小亮度值为100nit。假设第七预设阈值为50nit,第八预设阈值为30%。目标图片中有50%的像素点的亮度值在240~260nit范围内,即第一亮度值为240nit,第二亮度值为260nit,所述目标像素点占所述目标图片的全部像素点的比例为50%。可以看出第一亮度值与第二亮度值的差值小于第七预设阈值,且目标像素点占目标图片的全部像素点的比例大于第八预设阈值。
假设目标像素点的平均亮度为250nit。
在一个示例中,可以确定第十二插值点的第一坐标值或第十二插值点的第二坐标值为250/(500-100)即3/8,或者确定第十二插值点的第一坐标值或第十二插值点的第二坐标值为接近3/8的值。第十二插值点例如是图4中的10’点。第十二插值点的第二坐标值可以根据经验值、用户输入值、初始色调映射曲线得到。
在一个示例中,可以确定该多个插值点包括第十二插值点以及第十三插值点,其中,该第十二插值点的第一坐标值小于3/8,该第十三插值点的第一坐标值大于3/8,或者,该第十二插值点的第二坐标值小于3/8,该第十三插值点的第二坐标值大于3/8。第十二插值点例如是图4中的10’点。第十三插值点可以是图4中的11’点。第十二插值点、第十三插值点的第二坐标值可以根据经验值、用户输入值、初始色调映射曲线得到。
因此,当目标图片中包含数量足够多的目标像素点时,意味着显示设备可能无法突出显示各个目标像素点之间的明暗对比。为了生动显示目标像素点,可以在该目标像素点对应的亮度范围内对初始色调映射曲线进行修正。
可选的,所述动态元数据包含所述目标像素点的坐标信息。
也就是说,目标像素点可以是动态元数据中指示的像素点,也可以是电子设备根据像素点的亮度分布自行判断得到。换句话说,可以通过不同的方式确定目标图片是否包含目标像素点。
接下来需要确定初始色调映射曲线的修正范围。即可以确定一个第十三插值点,或者确定第十二插值点与第十三插值点之间的范围,从而对第十二插值点与第十三插值点之间的初始色调映射曲线进行修正,以确保图片在显示设备上的显示效果。如图4所示,第十三插值点可以是图4中的11’点。
可选的,所述多个插值点还包括第十三插值点,所述根据所述目标图片的亮度信息,确定多个插值点,包括:根据所述目标像素点的数量,确定所述第十三插值点。
当目标像素点的数量较多,或者目标像素点占全部像素点的比例较高时,第十二插值点与第十三插值点之间的间距较小。当目标像素点的数量较少,或者目标像素点占全部像素点的比例较低时,第十二插值点与第十三插值点之间的间距较大。也就是说,当目标像素点的数量相对较多时,对初始色调映射曲线的修正范围较小,而当目标像素点的数量相对较少时,对初始色调映射曲线的修正范围较大。第十三插值点的第二坐标值可以根据经验值、用户输入值、初始色调映射曲线得到。
另外,修正后的色调映射曲线需要光滑可导,因此,可以确定一个第十四插值点,使得用于修正初始色调映射曲线的样条函数可以在第十四插值点上与初始色调映射曲线光滑连接。
可选的,所述多个插值点还包括第十四插值点,该第十四插值点为样条函数与初始色调映射曲线平滑过渡的交点,所述目标图片还包括目标过渡像素点,所述目标过渡像素点的亮度值小于或等于所述第一亮度值,或者,所述目标过渡像素点的亮度值大于或等于所述第二亮度值,所述第一亮度值小于所述第二亮度值,所述根据所述目标图片的亮度信息,确定多个插值点,包括:根据所述目标过渡像素点的数量,确定所述第十四插值点的第一坐标值。
在一个示例中,目标过渡像素点可以是亮度大于目标像素点的像素点,那么,第十四插值点的第一坐标值大于第十二插值点的第一坐标值,且大于第十三插值点的第一坐标值。如图4所示,第十四插值点可以是图4中的12’点。
在一个示例中,目标过渡像素点可以是亮度小于目标像素点的像素点,那么,第十四插值点的第一坐标值小于第十二插值点的第一坐标值,且小于第十三插值点的第一坐标值。如图4所示,第十四插值点可以是图4中的9’点。
当目标过渡像素点的数量较多,或者目标过渡像素点占全部像素点的比例较高时,第十三插值点与第十四插值点之间的间距较小。当目标过渡像素点的数量较少,或者目标过渡像素点占全部像素点的比例较低时,第十三插值点与第十四插值点之间的间距较大。也就是说,当目标过渡像素点的数量相对较多时,对初始色调映射曲线的修正范围相对较小,而当目标像素点的数量相对较少时,对初始色调映射曲线的修正范围相对较大。第十四插值点的第二坐标值可以根据经验值、用户输入值、初始色调映射曲线得到。
可选的,所述动态元数据包含所述目标过渡像素点的坐标信息。
也就是说,目标过渡像素点可以是动态元数据中指示的像素点,也可以是电子设备根据像素点的亮度分布自行判断得到。换句话说,可以通过不同的方式确定目标图片是否包含目标像素点。
可选的,所述动态元数据包括所述多个插值点中每个插值点的坐标信息。
插值点的坐标信息,可以是插值点的坐标,也可以是插值点的第一坐标值或第二坐标值。插值点的坐标可以表示为(x,y),其中x可以表示第一坐标值,y可以表示第二坐标值。电子设备可以根据图像的亮度信息,或者根据图像的动态元数据,或者根据图像的亮度信息以及图像的动态元数据,确定多个插值点。例如确定插值点1的第一坐标值,插值点2的第二坐标值以及插值点3。
例如,动态元数据包括图4中1’点的第一坐标值、2’点的坐标和4’点的第二坐标值。其中,可以根据动态元数据给出的1’点的第一坐标值,判断1’点可以是与1点重合或与原点重合的点,从而获知1’点的坐标。另外,动态元数据中已给出2’点的坐标。并且,可以根据动态元数据给出的4’点的第二坐标值,在初始色调映射函数上找到纵坐标与第二坐标值相同的点,确定该点对应的横坐标为4’点的第一坐标值,并由此获知4’点的坐标。可以利用常见的确定样条函数的方法,得到经过1’点、2’点、4’点的样条函数。
又如,动态元数据包括图4中5’点的第一坐标值、6’点的坐标、8’点的第二坐标值。其中,可以根据动态元数据给出的5’点的第一坐标值,判断5’点可以是与5点重合或与(1,1)重合的点,从而获知5’点的坐标。另外,动态元数据中已给出6’点的坐标。并且,可以根据动态元数据给出的8’点的第二坐标值,在初始色调映射函数上确定8’点的第一坐标值并获知8’点的坐标。可以利用常见的确定样条函数的方法,得到经过5’点、6’点、8’点的样条函数。
又如,动态元数据包括图4中9’点的第二坐标值、10’点的坐标、12’点的第一坐标值。其中,可以根据动态元数据给出的9’点的第二坐标值,在初始色调映射函数上确定12’点的第一坐标值并获知12’点的坐标。另外,动态元数据中已给出10’点的坐标。并且,可以根据动态元数据给出的12’点的第一坐标值,在初始色调映射函数上确定12’点的第二坐标值并获知12’点的坐标。可以利用常见的确定样条函数的方法,得到经过9’点、10’点、12’点的样条函数。
203,确定经过所述多个插值点的样条函数,所述样条函数在所述多个插值点中的至少一个插值点与所述初始色调映射曲线平滑连接。
所谓样条函数(spline function),是一种分段多项式函数(piecewisepolynomial function)。定义在[a,b]区间内的样条函数S(x)在[a,b]区间内连续,且样条函数的一阶导数S’(x)、二阶导数S”(x)均在[a,b]区间内连续。如图4所示经过1’点、2’点、4’点的样条函数1、经过5’点、6’点、8’点的样条函数2、经过9’点、10’点、12’点的样条函数3。
当确定了多个插值点后,可以根据多个插值点中每个插值点的坐标,得到经过多个插值点的样条函数。对于图4中的样条函数1,多个插值点即为1’点、2’点、4’点;对于图4中的样条函数2,多个插值点即为5’点、6’点、8’点;对于图4中的样条函数3,多个插值点即为9’点、10’点、12’点。
[a,b]区间内包含n个节点x1,…,xn,其中,a<x1<…<xn。当样条函数为N次样条函数时,在任意两个相邻节点之间的区间[xk,xk+1]内的函数为N次多项式函数,k<n-1且k为正整数。
当样条函数包括样条函数1、样条函数2时,样条函数1可以是在[xM1,xM2]区间内的M次样条函数,样条函数2可以是在[xL1,xL2]区间内的L次样条函数,其中,区间[xM1,xM2]与区间[xL1,xL2]的交集为空,或者区间[xM1,xM2]与区间[xL1,xL2]的交集中有且仅有一个数值。M可以与L相同也可以与L不同。
当样条函数包含一次样条函数时,确定该一次样条函数需要至少2个已知条件。例如,预先获知经过一次样条函数的点的坐标以及该样条函数的斜率。又如,预先获知经过一次样条函数的两个点的坐标。
当样条函数包含二次样条函数时,确定该二次样条函数需要至少三个已知条件。例如该二次样条函数的函数形式为y=ax2+bx+c,且a≠0,确定该二次样条函数,需要预先获知经过该二次样条函数的3个点的坐标;或者,预先获知2个点的坐标以及该二次样条函数在其中一个点的导数。
当样条函数包含三次样条函数时,确定该三次样条函数需要至少四个已知条件。例如该二次样条函数的函数形式为y=ax3+bx2+cx+d,且a≠0,确定该三次样条函数需要预先获知经过该三次样条函数的4个点的坐标;或者,预先获知2个点的坐标以及该三次样条函数在该两个点的导数。
当样条函数包含N次样条函数时,确定该N词样条函数需要至少N+1个已知条件。
假设初始色调映射曲线为T(x),样条函数S(x)被定义在[a,b]区间内。
在一个示例中,样条函数S(x)可以在x=a时与初始色调映射曲线T(x)平滑连接,也可以在x=b时与初始色调映射曲线T(x)平滑连接,也可以在x=a时以及在x=b时均与初始色调映射曲线T(x)平滑连接。
在一个示例中,多个插值点包括第一坐标值为x0的点,a<x0<b,样条函数S(x)可以在x=x0时与初始色调映射曲线T(x)平滑连接。
样条函数S(x)在x=a时与初始色调映射曲线T(x)平滑连接,即S(a)=T(a),且S’(a)=T’(a)。
样条函数S(x)在x=b时与初始色调映射曲线T(x)平滑连接,即S(b)=T(b),且S’(b)=T’(b)。
样条函数S(x)在x=x0时与初始色调映射曲线T(x)平滑连接,即S(x0)=T(x0),且S’(x0)=T’(x0)。
样条函数与初始色调映射曲线在一个插值点平滑连接,其目的在于,使用样条函数替换初始色调映射曲线的一部分,可以得到修正后的色调映射曲线,由于样条函数在插值点与初始色调映射曲线平滑连接,该修正后的色调映射曲线可以是平滑函数。
可选的,所述多个插值点包括第七插值点、第八插值点、第九插值点,所述初始色调映射曲线经过所述第九插值点,所述确定经过所述多个插值点的样条函数,包括:获取经过所述第七插值点和所述第八插值点的第一样条函数;确定经过所述第八插值点和所述第九插值点的第二样条函数,所述第二样条函数在所述第八插值点与所述第一样条函数平滑连接,所述第二样条函数在所述第九插值点与所述初始色调映射曲线平滑连接。
在上文中的场景一、场景二、场景三下,样条函数可以包括第一样条函数和第二样条函数,第一样条函数为强修正样条函数,第二样条函数用于实现第一样条函数与初始亮度映射曲线的平滑过渡。
获取第一样条函数。可以是接收用户输入的参数,也可以是使用预先设定好的参数,确定该第一样条函数。例如,预先设定第一样条函数为一次样条函数,且该一次样条函数的斜率为1。
可选的,还可以结合第七插值点和/或第八插值点的坐标,确定该第一样条函数。
第一样条函数还可以是二次样条函数、三次样条函数。结合上文中提到的确定二次样条函数或三次样条函数所需的条件,确定该第一样条函数。
也就是说,在确定第一样条函数时,除了结合已获得的数据,还可以引入一些经验值,或用户的指示,以确定该第一样条函数。
之后确定用户光滑连接第一样条函数与所述初始色调映射曲线的第二样条函数。其中,在确定第二样条函数之前确定了第一样条函数,所以第一样条函数在第八插值点的函数值是已知的,且第一样条函数在第八插值点的导数值是已知的;第二样条函数在第八插值点与第一样条函数光滑连接,意味着第一样条函数在第八插值点的函数值与第二样条函数在第八插值点的函数值相同,第一样条函数在第八插值点的导数值与第二样条函数在第八插值点的导数值相同。另外,初始色调映射函数在第九插值点的函数值是已知的,且初始色调映射函数在第九插值点的导数值是已知的;所述第二样条函数在所述第九插值点与所述初始色调映射曲线平滑连接,意味着第二样条函数在第九插值点的函数值与初始色调映射函数在第九插值点的函数值相同,第二样条函数在第九插值点的导数值与初始色调映射函数在第九插值点的导数值相同。
为了便于描述,在本申请中在没有特别说明的情况下,“导数值”可以理解为一阶导数值。
可选的,第一样条函数为一次样条函数,第二样条函数为第三样条函数。
可选的,所述样条函数的导数恒大于0。
也就是说,样条函数的导数处处恒大于0。有了该限制条件,可以避免最终获得的样条函数与初始色调映射曲线有过大差距,避免产生修正过度的情况。
可选的,所述第一样条函数的导数恒大于0。
也就是说,第一样条函数的导数处处恒大于0。有了该限制条件,可以避免最终获得的第一样条函数与初始色调映射曲线有过大差距,避免产生修正过度的情况。
可选的,所述第二样条函数的导数恒大于0。
也就是说,第二样条函数的导数处处恒大于0。有了该限制条件,可以避免最终获得的第二样条函数与初始色调映射曲线有过大差距,避免产生修正过度的情况。
可选的,所述多个插值点还包括第十一插值点,第一样条函数经过所述第十一插值点,所述第一样条函数在所述第十一插值点的二阶导数为0。
二阶导数为0的点可以是第一样条函数的拐点。例如第一样条函数在第十一插值点的一侧快速递增,在第十一插值点的另一侧减速递增。
可选的,所述多个插值点还包括第十一插值点,第二样条函数经过所述第十一插值点,所述第二样条函数在所述第十一插值点的二阶导数为0。
二阶导数为0的点可以是第一样条函数的拐点。例如第二样条函数在第十一插值点的一侧快速递增,在第十一插值点的另一侧减速递增。如图4所示,该第十一插值点可以是3’点。
可选的,所述多个插值点还包括第十五插值点,所述第一样条函数经过所述第十五插值点,且所述初始色调映射函数经过所述第十五插值点。
在该第十五插值点的一侧,第一样条函数位于初始色调映射函数的上方,在该第十五插值点的另一侧,第一样条函数位于初始色调映射函数的下方。通过限定第十五插值点的位置,可以限定修正初始色调映射函数的修正方式。
可选的,所述多个插值点还包括第十五插值点,所述第二样条函数经过所述第十五插值点,且所述初始色调映射函数经过所述第十五插值点。
在该第十五插值点的一侧,第二样条函数位于初始色调映射函数的上方,在该第十五插值点的另一侧,第二样条函数位于初始色调映射函数的下方。通过限定第十五插值点的位置,可以限定修正初始色调映射函数的修正方式。
场景一
当图像偏暗的情况下,可以对初始色调映射曲线靠近第一端点的部分进行修正。第七插值点可以是上文中的第一插值点,第八插值点可以是上文中的第二插值点,第九插值点可以是上文中的第三插值点。在此场景下,样条函数包括经过所述第一插值点、第二插值点的第一样条函数和经过所述第二插值点、第三插值点的第二样条函数,其中,第一样条函数为强修正样条函数,第二样条函数用于实现第一样条函数与初始亮度映射曲线的平滑过渡。具体插值点的位置和样条函数如图5所示。
上文中已经说明了如何获取第一插值点、第二插值点、第三插值点的第一坐标值。也就是说,第七插值点的第一坐标值、第八插值点的第一坐标值、第九插值点的第一坐标值均是已知的。
首先获取经过第七插值点、第八插值点(即经过图4中1’点、2’点)的第一样条函数f1(x)。
例如,预先设定该第一样条函数为一次样条函数,且斜率为1。由于第七插值点的第一坐标值与初始色调映射函数的第一端点的第一坐标值相同,可以确定第一样条函数是经过原点的函数,即第七插值点的坐标为(0,0)。因此第一样条函数可以表示为f1(x)=x。
然后,确定经过第八插值点、第九插值点(在该实施例中,第八插值点为图4中2’点、第九插值点为图4中的4’点)的第二样条函数f2(x)。
根据第一样条函数f1(x)以及第八插值点的第一坐标值x2,可以确定第一样条函数在第八插值点的函数为f1(x2),以及第一样条函数在第八插值点的导数f1’(x2)。
根据初始色调映射函数f0(x)以及第九插值点的第一坐标值x4,可以确定第二样条函数在第九插值点的函数为f0(x4),以及第一样条函数在第九插值点的导数f0’(x4)。
根据f1(x2)=f2(x2),f1’(x2)=f2’(x2),f0(x4)=f2(x4),f0’(x4)=f2’(x4),确定第二样条函数f2(x)。
可选的,第二样条函数为三次样条函数。
可选的,所述多个插值点还包括第十一插值点,第一样条函数经过所述第十一插值点,所述第一样条函数在所述第十一插值点的二阶导数为0。
可选的,所述多个插值点还包括第十一插值点,第二样条函数经过所述第十一插值点,所述第二样条函数在所述第十一插值点的二阶导数为0。第十一插值点可以是如图4所示的3’点。
可选的,所述多个插值点还包括第十五插值点,所述第一样条函数经过所述第十五插值点,且所述初始色调映射函数经过所述第十五插值点,所述第一样条函数在所述第十五插值点的导数值与所述初始色调映射函数在所述第十五插值点上的导数值不同。
可选的,所述多个插值点还包括第十五插值点,所述第二样条函数经过所述第十五插值点,且所述初始色调映射函数经过所述第十五插值点,所述第二样条函数在所述第十五插值点的导数值与所述初始色调映射函数在所述第十五插值点上的导数值不同。第十五插值点可以是如图4所示的3’点。
场景二
当图像偏亮的情况下,可以对初始色调映射曲线靠近第二端点的部分进行修正。在这种情况下,第七插值点可以是上文中的第四插值点,第八插值点可以是上文中的第五插值点,第九插值点可以是上文中的第六插值点。在此场景下,样条函数包括经过所述第四插值点、第五插值点的第一样条函数和经过所述第五插值点、第六插值点的第二样条函数,其中,第一样条函数为强修正样条函数,第二样条函数用于实现第一样条函数与初始亮度映射曲线的平滑过渡。具体插值点的位置和样条函数如图6所示。
上文中已经说明了如何获取第四插值点、第五插值点、第六插值点的第一坐标值。也就是说,第七插值点的第一坐标值、第八插值点的第一坐标值、第九插值点的第一坐标值均是已知的。
首先获取经过第七插值点、第八插值点(即经过图4中5’点、6’点)的第一样条函数f1(x)。
例如,预先设定该第一样条函数为一次样条函数,且斜率为1。由于第七插值点的第一坐标值与初始色调映射函数的第一端点的第一坐标值相同,可以确定第一样条函数是经过(1,1)的函数,即第七插值点的坐标为(1,1)。因此第一样条函数可以表示为f1(x)=x。
然后,确定经过第八插值点、第九插值点(即经过图4中6’点、8’点)的第二样条函数f2(x)。
根据第一样条函数f1(x)以及第八插值点的第一坐标值x6,可以确定第一样条函数在第八插值点的函数为f1(x6),以及第一样条函数在第八插值点的导数f1’(x6)。
根据初始色调映射函数f0(x)以及第九插值点的第一坐标值x8,可以确定第二样条函数在第九插值点的函数为f0(x8),以及第一样条函数在第九插值点的导数f0’(x8)。
根据f1(x6)=f2(x6),f1’(x6)=f2’(x6),f0(x8)=f2(x8),f0’(x8)=f2’(x8),确定第二样条函数f2(x)。
可选的,第二样条函数为三次样条函数。
可选的,所述多个插值点还包括第十一插值点,第一样条函数经过所述第十一插值点,所述第一样条函数在所述第十一插值点的二阶导数为0。
可选的,所述多个插值点还包括第十一插值点,第二样条函数经过所述第十一插值点,所述第二样条函数在所述第十一插值点的二阶导数为0。第十一插值点可以是如图4所示的7’点。
可选的,所述多个插值点还包括第十五插值点,所述第一样条函数经过所述第十五插值点,且所述初始色调映射函数经过所述第十五插值点,所述第一样条函数在所述第十五插值点的导数值与所述初始色调映射函数在所述第十五插值点上的导数值不同。
可选的,所述多个插值点还包括第十五插值点,所述第二样条函数经过所述第十五插值点,且所述初始色调映射函数经过所述第十五插值点,所述第二样条函数在所述第十五插值点的导数值与所述初始色调映射函数在所述第十五插值点上的导数值不同。第十五插值点可以是如图4所示的7’点。
场景三
第七插值点可以是上文中的第十二插值点,第八插值点可以是上文中的第十三插值点,第九插值点可以是上文中的第十四插值点。在此场景下,样条函数包括经过所述第十二插值点、第十三插值点的第一样条函数和经过所述第十三插值点、第十四插值点的第二样条函数,其中,第一样条函数为强修正样条函数,第二样条函数用于实现第一样条函数与初始亮度映射曲线的平滑过渡。具体插值点的位置和样条函数如图8所示。
上文中已经说明了如何获取第十二插值点、第十三插值点、第十四插值点的第一坐标值。也就是说,第七插值点的第一坐标值、第八插值点的第一坐标值、第九插值点的第一坐标值均是已知的。
首先获取经过第七插值点、第八插值点(即经过图4中10’点、11’点)的第一样条函数f1(x)。
例如,预先设定该第一样条函数为一次样条函数,且斜率为1。由于第七插值点位于初始色调映射函数的下方,第八插值点位于初始色调映射函数的上方,假设第七插值点的第一坐标值为x10,第八插值点的第一坐标值为x11,第一样条函数经过
Figure BDA0002127173840000301
初始色调映射函数为f0(x)。因此,
Figure BDA0002127173840000302
然后,确定经过第八插值点、第九插值点(即经过图4中11’点、12’点,或者,经过图4中10’点、9’点)的第二样条函数f2(x)。
根据第一样条函数f1(x)以及第八插值点的第一坐标值x11,可以确定第一样条函数在第八插值点的函数为f1(x11),以及第一样条函数在第八插值点的导数f1’(x11)。
根据初始色调映射函数f0(x)以及第九插值点的第一坐标值x12,可以确定第二样条函数在第九插值点的函数为f0(x12),以及第一样条函数在第九插值点的导数f0’(x12)。
根据f1(x11)=f2(x11),f1’(x11)=f2’(x11),f0(x12)=f2(x12),f0’(x12)=f2’(x12),确定第二样条函数f2(x)。
可选的,第二样条函数为三次样条函数。
可选的,所述多个插值点还包括第十一插值点,第一样条函数经过所述第十一插值点,所述第一样条函数在所述第十一插值点的二阶导数为0。
可选的,所述多个插值点还包括第十一插值点,第二样条函数经过所述第十一插值点,所述第二样条函数在所述第十一插值点的二阶导数为0。第十一插值点可以是如图4所示的13’点。
可选的,所述多个插值点还包括第十五插值点,所述第一样条函数经过所述第十五插值点,且所述初始色调映射函数经过所述第十五插值点,所述第一样条函数在所述第十五插值点的导数值与所述初始色调映射函数在所述第十五插值点上的导数值不同。
可选的,所述多个插值点还包括第十五插值点,所述第二样条函数经过所述第十五插值点,且所述初始色调映射函数经过所述第十五插值点,所述第二样条函数在所述第十五插值点的导数值与所述初始色调映射函数在所述第十五插值点上的导数值不同。第十五插值点可以是如图4所示的13’点。
可选的,所述多个插值点包括第七插值点、第八插值点、第九插值点,所述样条函数包括经过所述第七插值点、所述第八插值点、第九插值点的第三样条函数,所述第八插值点的第一坐标值介于所述第七插值点的第一坐标值与所述第九插值点的第一坐标值之间,所述第八插值点的第一坐标值为第一修正位置;在所述确定多个插值点之前,所述方法还包括:获取第一偏移量,所述第一偏移量用于表示在第一修正位置对所述初始色调映射曲线的修正幅度,所述第一修正位置为所述第八插值点的第一坐标值;所述确定多个插值点,包括:根据所述初始色调映射曲线在所述第一修正位置的函数值和所述第一偏移量,确定所述第八插值点的第二坐标值;所述确定经过所述多个插值点的所述样条函数,包括:根据所述第八插值点的第一坐标值以及所述第八插值点的第二坐标值,确定所述第三样条函数,其中,所述第三样条函数在所述第七插值点和/或所述第九插值点与所述初始色调映射曲线平滑连接。获取第一偏移量,可以是接收用户输入的参数,也可以是使用预先设定好的参数。例如,预先设定第一偏移量为0.01。
第八插值点的第一坐标值对应第一修正位置。即在第一修正位置确定偏离初始色调映射函数的第八插值点,即第八插值点的第二坐标值不等于初始色调映射函数在第一修正位置的函数值。
第一偏移量可以是表示第八插值点相对于初始色调映射函数的偏移程度。第一偏移量为正时,第八插值点位于初始色调映射函数的上方;第一偏移量为负时,第八插值点位于初始色调映射函数的下方。
例如,第八插值点的第二坐标值=第一偏移量+初始色调映射函数在第一修正位置的函数值。
例如,第八插值点到初始色调映射函数的最短距离=第一偏移量。
因此,根据第一偏移量,可以确定第八插值点的坐标。
之后确定第三样条函数。
一个示例中,所述第三样条函数在所述第七插值点和所述第九插值点与所述初始色调映射曲线平滑连接。可以认为第七插值点与第九插值点均为初始色调映射函数上的点,因此可以得到第七插值点的坐标和第九插值点的坐标;并且,第三样条函数在第七插值点的导数等于初始色调映射函数在第七插值点的导数,第三样条函数在第九插值点的导数等于初始色调映射函数在第九插值点的导数。由于样条函数本身的属性,所述第三样条函数在所述第八插值点连续,且所述第三样条函数在所述第八插值点的一阶导数连续,且所述第三样条函数在所述第八插值点的二阶导数连续。因此,可以将第三样条函数划分为经过所述第七插值点、第八插值点的第四样条函数,以及经过所述第八插值点、第九插值点的第五样条函数。第四样条函数在所述第八插值点的函数值与所述第五样条函数在所述第八插值点的函数值相同,第四样条函数在所述第八插值点的一阶导数值与所述第五样条函数在所述第八插值点的一阶导数值相同,第四样条函数在所述第八插值点的二阶导数值与所述第五样条函数在所述第八插值点的二阶导数值相同。
在上文中的场景一、场景二、场景三下,通过多个插值点的样条函数统称为第三样条函数,该三种场景下多个插值点包括第七插值点、第八插值点、第九插值点,其中经过第七插值点和第八插值点的样条函数为第四样条函数,经过第七插值点和第八插值点的样条函数为第五样条函数。
可选的,所述第四样条函数的导数恒大于0。
也就是说,第四样条函数的导数处处恒大于0。有了该限制条件,可以避免最终获得的第一样条函数与初始色调映射曲线有过大差距,避免产生修正过度的情况。
可选的,所述第五样条函数的导数恒大于0。
也就是说,第五样条函数的导数处处恒大于0。有了该限制条件,可以避免最终获得的第二样条函数与初始色调映射曲线有过大差距,避免产生修正过度的情况。
可选的,所述多个插值点还包括第十一插值点,第四样条函数经过所述第十一插值点,所述第二样条函数在所述第十一插值点的二阶导数为0。
二阶导数为0的点可以是第四样条函数的拐点。例如第四样条函数在第十一插值点的一侧快速递增,在第十一插值点的另一侧减速递增。如图4所示,该第十一插值点可以是3’点。
可选的,所述多个插值点还包括第十一插值点,第五样条函数经过所述第十一插值点,所述第二样条函数在所述第十一插值点的二阶导数为0。
二阶导数为0的点可以是第五样条函数的拐点。例如第五样条函数在第十一插值点的一侧快速递增,在第十一插值点的另一侧减速递增。如图4所示,该第十一插值点可以是3’点。
可选的,所述多个插值点还包括第十五插值点,所述第四样条函数经过所述第十五插值点,且所述初始色调映射函数经过所述第十五插值点。
在该第十五插值点的一侧,第四样条函数位于初始色调映射函数的上方,在该第十五插值点的另一侧,第四样条函数位于初始色调映射函数的下方。通过限定第十五插值点的位置,可以限定修正初始色调映射函数的修正方式。
可选的,所述多个插值点还包括第十五插值点,所述第五样条函数经过所述第十五插值点,且所述初始色调映射函数经过所述第十五插值点。
在该第十五插值点的一侧,第五样条函数位于初始色调映射函数的上方,在该第十五插值点的另一侧,第五样条函数位于初始色调映射函数的下方。通过限定第十五插值点的位置,可以限定修正初始色调映射函数的修正方式。
可选的,所述多个插值点还包括第十插值点,所述第三样条函数经过所述第十插值点,所述第十插值点的第一坐标值介于所述第七插值点的第一坐标值与所述第九插值点的第一坐标值之间,在所述确定多个插值点之前,所述方法还包括:获取第二偏移量,所述第二偏移量用于表示在第二修正位置对所述初始色调映射曲线的修正幅度,所述第二修正位置为所述第十插值点的第一坐标值;所述确定多个插值点,还包括:根据所述初始色调映射曲线在所述第二修正位置的函数值和所述第二偏移量,确定所述第十插值点的第二坐标值;所述根据所述第八插值点的第一坐标值以及所述第八插值点的第二坐标值,确定所述第三样条函数,包括:根据所述第八插值点的第一坐标值、第二坐标值以及所述第十插值点的第一坐标值、第二坐标值,确定所述第三样条函数,其中,所述第三样条函数在所述第七插值点和所述第九插值点均与所述初始色调映射曲线平滑连接。
获取第二偏移量,可以是接收用户输入的参数,也可以是使用预先设定好的参数。例如,预先设定第二偏移量为0.01。
第十插值点的第一坐标值对应第二修正位置。即在第二修正位置确定偏离初始色调映射函数的第十插值点,即第十插值点的第二坐标值不等于初始色调映射函数在第二修正位置的函数值。
第二偏移量可以是表示第十插值点相对于初始色调映射函数的偏移程度。第二偏移量为正时,第十插值点位于初始色调映射函数的上方;第二偏移量为负时,第十插值点位于初始色调映射函数的下方。
例如,第十插值点的第二坐标值=第二偏移量+初始色调映射函数在第二修正位置的函数值。
例如,第十插值点到初始色调映射函数的最短距离=第二偏移量。
可选的,第一偏移量与第二偏移量互为相反数。
因此,根据第二偏移量,可以确定第十插值点的坐标。
之后进一步确定第三样条函数。由于样条函数本身的属性,所述第三样条函数在所述第十插值点连续,且所述第三样条函数在所述第十插值点的一阶导数连续,且所述第三样条函数在所述第十插值点的二阶导数连续。因此,可以将第三样条函数划分为经过所述第七插值点、第十插值点的第六样条函数,以及经过所述第十插值点、第九插值点的第七样条函数。第六样条函数在所述第十插值点的函数值与所述第七样条函数在所述第十插值点的函数值相同,第六样条函数在所述第十插值点的一阶导数值与所述第七样条函数在所述第十插值点的一阶导数值相同,第六样条函数在所述第十插值点的二阶导数值与所述第七样条函数在所述第十插值点的二阶导数值相同。
可选的,所述第六样条函数的导数恒大于0。
也就是说,第六样条函数的导数处处恒大于0。有了该限制条件,可以避免最终获得的第一样条函数与初始色调映射曲线有过大差距,避免产生修正过度的情况。
可选的,所述第七样条函数的导数恒大于0。
也就是说,第七样条函数的导数处处恒大于0。有了该限制条件,可以避免最终获得的第二样条函数与初始色调映射曲线有过大差距,避免产生修正过度的情况。
可选的,所述多个插值点还包括第十一插值点,第六样条函数经过所述第十一插值点,所述第二样条函数在所述第十一插值点的二阶导数为0。
二阶导数为0的点可以是第六样条函数的拐点。例如第六样条函数在第十一插值点的一侧快速递增,在第十一插值点的另一侧减速递增。如图4所示,该第十一插值点可以是3’点。
可选的,所述多个插值点还包括第十一插值点,第七样条函数经过所述第十一插值点,所述第二样条函数在所述第十一插值点的二阶导数为0。
二阶导数为0的点可以是第七样条函数的拐点。例如第七样条函数在第十一插值点的一侧快速递增,在第十一插值点的另一侧减速递增。如图4所示,该第十一插值点可以是3’点。
可选的,所述多个插值点还包括第十五插值点,所述第四样条函数经过所述第十五插值点,且所述初始色调映射函数经过所述第十五插值点,所述第四样条函数在所述第十五插值点的导数值与所述初始色调映射函数在所述第十五插值点上的导数值不同。
在该第十五插值点的一侧,第四样条函数位于初始色调映射函数的上方,在该第十五插值点的另一侧,第四样条函数位于初始色调映射函数的下方。通过限定第十五插值点的位置,可以限定修正初始色调映射函数的修正方式。
可选的,所述多个插值点还包括第十五插值点,所述第五样条函数经过所述第十五插值点,且所述初始色调映射函数经过所述第十五插值点,所述第五样条函数在所述第十五插值点的导数值与所述初始色调映射函数在所述第十五插值点上的导数值不同。
在该第十五插值点的一侧,第五样条函数位于初始色调映射函数的上方,在该第十五插值点的另一侧,第五样条函数位于初始色调映射函数的下方。通过限定第十五插值点的位置,可以限定修正初始色调映射函数的修正方式。
在一个示例中,所述第三样条函数在所述第九插值点与所述初始色调映射曲线平滑连接。可以认为第九插值点为初始色调映射函数上的一点,因此可以得到第九插值点的坐标。并且,第三样条函数在第九插值点的导数等于初始色调映射函数在第九插值点的导数。由于样条函数本身的属性,所述第三样条函数在所述第八插值点的一阶导数连续,且所述第三样条函数在所述第八插值点的二阶导数连续。因此,可以将第三样条函数划分为经过所述第七插值点、第八插值点的第四样条函数,以及经过所述第八插值点、第九插值点的第五样条函数。第四样条函数在所述第八插值点的一阶导数值与所述第五样条函数在所述第八插值点的一阶导数值相同,第四样条函数在所述第八插值点的二阶导数值与所述第五样条函数在所述第八插值点的二阶导数值相同。因此,还需要确定第七插值点的坐标。
确定第七插值点的坐标的方式可以是根据经验值确定。例如将(0,0)或(1,1)确定为第七插值点的坐标。
所述第三样条函数在所述第七插值点与所述初始色调映射曲线平滑连接的情况,与所述第三样条函数在所述第七插值点与所述初始色调映射曲线平滑连接的情况类似,在此就不必赘述。
可选的,所述第三样条函数的导数恒大于0。
也就是说,样条函数的导数处处恒大于0。有了该限制条件,可以避免最终获得的样条函数与初始色调映射曲线有过大差距,避免产生修正过度的情况。
可选的,所述多个插值点还包括第十一插值点,第三样条函数经过所述第十一插值点,所述第一样条函数在所述第十一插值点的二阶导数为0。
二阶导数为0的点可以是第一样条函数的拐点。例如第三样条函数在第十一插值点的一侧快速递增,在第十一插值点的另一侧减速递增。
可选的,所述多个插值点还包括第十五插值点,所述第三样条函数经过所述第十五插值点,且所述初始色调映射函数经过所述第十五插值点,所述第三样条函数在所述第十五插值点的导数值与所述初始色调映射函数在所述第十五插值点上的导数值不同。
在该第十五插值点的一侧,第三样条函数位于初始色调映射函数的上方,在该第十五插值点的另一侧,第三样条函数位于初始色调映射函数的下方。通过限定第十五插值点的位置,可以限定修正初始色调映射函数的修正方式。
场景一
当图像偏暗的情况下,可以对初始色调映射曲线靠近第一端点的部分进行修正。第七插值点可以是上文中的第一插值点,第八插值点可以是上文中的第二插值点,第九插值点可以是上文中的第三插值点。具体插值点的位置和样条函数如图5所示。
上文中已经说明了如何获取第一插值点、第二插值点、第三插值点的第一坐标值。也就是说,第七插值点的第一坐标值、第八插值点的第一坐标值、第九插值点的第一坐标值均是已知的。
首先获取第一偏移量。例如,预先设定该第一偏移量为0.01。
之后,根据第一偏移量,确定第八插值点(如图4中的2’点)的第二坐标值。例如f3(x2)=f0(x2)+0.01,f0(x)表示初始色调映射函数。
由于第七插值点的第一坐标值与初始色调映射函数的第一端点的第一坐标值相同,可以确定第三样条函数是经过原点的函数,即第七插值点的坐标为(0,0)。
然后,确定经过第七插值点、第八插值点、第九插值点(即经过图4中1’点、2’点、4’点)的第三样条函数f3(x)。其中,第三样条函数f3(x)可以划分为经过第七插值点、第八插值点的第四样条函数f4(x)以及经过第八插值点、第九插值点的第五样条函数f5(x)。
根据第七插值点的坐标、第八插值点的坐标,可以确定f4(x1)=0,f4(x2)=f0(x2)+0.01,f5(x2)=f0(x2)+0.01。
根据初始色调映射函数f0(x)以及第九插值点的第一坐标值x4,可以确定第五样条函数在第九插值点的函数为f5(x4)=f0(x4),以及第五样条函数在第九插值点的导数f5’(x4)=f0’(x4)。
根据样条函数的属性,可以确定第四样条函数在第八插值点的一阶导数与第五样条函数在第八插值点的一阶导数相同,第四样条函数在第八插值点的二阶导数与第五样条函数在第八插值点的二阶导数相同,即f5’(x2)=f4’(x2),f5”(x2)=f4”(x2)。
可选的,第三样条函数为三次样条函数。即第四样条函数、第五样条函数为三次样条函数。
可选的,所述多个插值点还包括第十一插值点,第四样条函数经过所述第十一插值点,所述第一样条函数在所述第十一插值点的二阶导数为0。
可选的,所述多个插值点还包括第十一插值点,第五样条函数经过所述第十一插值点,所述第二样条函数在所述第十一插值点的二阶导数为0。第十一插值点可以是如图4所示的3’点。
可选的,所述多个插值点还包括第十五插值点,所述第一样条函数经过所述第十五插值点,且所述初始色调映射函数经过所述第十五插值点,所述第四样条函数在所述第十五插值点的导数值与所述初始色调映射函数在所述第十五插值点上的导数值不同。
可选的,所述多个插值点还包括第十五插值点,所述第二样条函数经过所述第十五插值点,且所述初始色调映射函数经过所述第十五插值点,所述第五样条函数在所述第十五插值点的导数值与所述初始色调映射函数在所述第十五插值点上的导数值不同。第十五插值点可以是如图4所示的3’点。
场景二
当图像偏亮的情况下,可以对初始色调映射曲线靠近第二端点的部分进行修正。第七插值点可以是上文中的第四插值点,第八插值点可以是上文中的第五插值点,第九插值点可以是上文中的第六插值点。具体插值点的位置和样条函数如图6所示。
上文中已经说明了如何获取第四插值点、第五插值点、第六插值点的第一坐标值。也就是说,第七插值点的第一坐标值、第八插值点的第一坐标值、第九插值点的第一坐标值均是已知的。
首先获取第一偏移量。例如,预先设定该第一偏移量为-0.01。
之后,根据第一偏移量,确定第八插值点(如图4中的6’点)的第二坐标值。例如f3(x6)=f0(x6)-0.01,f0(x)表示初始色调映射函数。
由于第七插值点的第一坐标值与初始色调映射函数的第一端点的第一坐标值相同,可以确定第三样条函数是经过(1,1)的函数,即第七插值点的坐标为(1,1)。
然后,确定经过第七插值点、第八插值点、第九插值点(即经过图4中5’点、6’点、8’点)的第三样条函数f3(x)。其中,第三样条函数f3(x)可以划分为经过第七插值点、第八插值点的第四样条函数f4(x)以及经过第八插值点、第九插值点的第五样条函数f5(x)。
根据第七插值点的坐标、第八插值点的坐标,可以确定f4(x5)=1,f4(x6)=f0(x6)-0.01,f5(x6)=f0(x6)-0.01。
根据初始色调映射函数f0(x)以及第九插值点的第一坐标值x8,可以确定第五样条函数在第九插值点的函数为f5(x8)=f0(x8),以及第五样条函数在第九插值点的导数f5’(x8)=f0’(x8)。
根据样条函数的属性,可以确定第四样条函数在第八插值点的一阶导数与第五样条函数在第八插值点的一阶导数相同,第四样条函数在第八插值点的二阶导数与第五样条函数在第八插值点的二阶导数相同,即f5’(x6)=f4’(x6),f5”(x6)=f4”(x6)。
可选的,第三样条函数为三次样条函数。即第四样条函数、第五样条函数为三次样条函数。
可选的,所述多个插值点还包括第十一插值点,第四样条函数经过所述第十一插值点,所述第一样条函数在所述第十一插值点的二阶导数为0。
可选的,所述多个插值点还包括第十一插值点,第五样条函数经过所述第十一插值点,所述第二样条函数在所述第十一插值点的二阶导数为0。第十一插值点可以是如图4所示的7’点。
可选的,所述多个插值点还包括第十五插值点,所述第一样条函数经过所述第十五插值点,且所述初始色调映射函数经过所述第十五插值点,所述第四样条函数在所述第十五插值点的导数值与所述初始色调映射函数在所述第十五插值点上的导数值不同。
可选的,所述多个插值点还包括第十五插值点,所述第二样条函数经过所述第十五插值点,且所述初始色调映射函数经过所述第十五插值点,所述第五样条函数在所述第十五插值点的导数值与所述初始色调映射函数在所述第十五插值点上的导数值不同。第十五插值点可以是如图4所示的7’点。
场景三
方法一
第八插值点可以是上文中的第十二插值点,第七插值点可以是上文中第一坐标值小于第十二插值点的第一坐标值且小于第十三插值点的第一坐标值的第十四插值点,第九插值点可以是上文中第一坐标值大于第十二插值点的第一坐标值且大于第十三插值点的第一坐标值的第十四插值点。在此场景下,样条函数包括经过所述第十二插值点、第十三插值点的第四样条函数和经过所述第十三插值点、第十四插值点的第五样条函数。具体插值点的位置和样条函数如图7所示。
上文中已经说明了如何获取第十二插值点、第十三插值点、第十四插值点的第一坐标值。也就是说,第七插值点的第一坐标值、第八插值点的第一坐标值、第九插值点的第一坐标值均是已知的。
首先获取第一偏移量。例如,预先设定该第一偏移量为0.01。
之后,根据第一偏移量,确定第八插值点(如图4中的10’点)的第二坐标值。例如f3(x10)=f0(x10)+0.01,f0(x)表示初始色调映射函数。
由于第三样条函数在第七插值点与初始色调映射函数平滑连接,可以确定第七插值点的坐标为(x9,f0(x9)),且f3(x9)=f0(x9),f3’(x9)=f0’(x9)。
由于第三样条函数在第九插值点与初始色调映射函数平滑连接,可以确定第九插值点的坐标为(x12,f0(x12)),且f3(x12)=f0(x12),f3’(x12)=f0’(x12)。
然后,确定经过第七插值点、第八插值点、第九插值点(即经过图4中9’点、10’点、12’点)的第三样条函数f3(x)。其中,第三样条函数f3(x)可以划分为经过第七插值点、第八插值点的第四样条函数f4(x)以及经过第八插值点、第九插值点的第五样条函数f5(x)。
根据初始色调映射函数f0(x)、第七插值点的坐标、第八插值点的坐标,可以确定f4(x9)=f0(x9),f4’(x9)=f0’(x9),f4(x10)=f0(x10)+0.01。
根据初始色调映射函数f0(x)、第八插值点的坐标以及第九插值点的坐标,可以确定f5(x10)=f0(x10)+0.01,f5(x12)=f0(x12),f5’(x12)=f0’(x12)。
根据样条函数的属性,可以确定第四样条函数在第八插值点的一阶导数与第五样条函数在第八插值点的一阶导数相同,第四样条函数在第八插值点的二阶导数与第五样条函数在第八插值点的二阶导数相同,即f5’(x10)=f4’(x10),f5”(x10)=f4”(x10)。
可选的,第三样条函数为三次样条函数。即第四样条函数、第五样条函数为三次样条函数
可选的,所述多个插值点还包括第十一插值点,第四样条函数经过所述第十一插值点,所述第一样条函数在所述第十一插值点的二阶导数为0。
可选的,所述多个插值点还包括第十一插值点,第五样条函数经过所述第十一插值点,所述第二样条函数在所述第十一插值点的二阶导数为0。第十一插值点可以是如图4所示的11’点。
可选的,所述多个插值点还包括第十五插值点,所述第一样条函数经过所述第十五插值点,且所述初始色调映射函数经过所述第十五插值点,所述第四样条函数在所述第十五插值点的导数值与所述初始色调映射函数在所述第十五插值点上的导数值不同。
可选的,所述多个插值点还包括第十五插值点,所述第二样条函数经过所述第十五插值点,且所述初始色调映射函数经过所述第十五插值点,所述第五样条函数在所述第十五插值点的导数值与所述初始色调映射函数在所述第十五插值点上的导数值不同。第十五插值点可以是如图4所示的11’点。
方法二
第八插值点可以是上文中的第十二插值点,第十插值点可以是上文中的第十三插值点,第七插值点可以是上文中第一坐标值小于第十二插值点的第一坐标值且小于第十三插值点的第一坐标值的第十四插值点,第九插值点可以是上文中第一坐标值大于第十二插值点的第一坐标值且大于第十三插值点的第一坐标值的第十四插值点。在此场景下,样条函数包括经过所述第十二插值点、第十三插值点的第四样条函数和经过所述第十三插值点、第十四插值点的第五样条函数。具体插值点的位置和样条函数如图7所示。
上文中已经说明了如何获取第十二插值点、第十三插值点、第十四插值点的第一坐标值。也就是说,第七插值点的第一坐标值、第八插值点的第一坐标值、第九插值点的第一坐标值、第十插值点的第一坐标值均是已知的。
首先获取第一偏移量。例如,预先设定该第一偏移量为-0.01。
之后,根据第一偏移量,确定第八插值点(如图4中的10’点)的第二坐标值。例如f3(x10)=f0(x10)-0.01,f0(x)表示初始色调映射函数。
之后,获取第二偏移量。例如,预先设定该第二偏移量为+0.01。
之后,根据第一偏移量,确定第八插值点(如图4中的11’点)的第二坐标值。例如f3(x11)=f0(x11)+0.01,f0(x)表示初始色调映射函数。
由于第三样条函数在第七插值点与初始色调映射函数平滑连接,可以确定第七插值点的坐标为(x9,f0(x9)),且f3(x9)=f0(x9),f3’(x9)=f0’(x9)。
由于第三样条函数在第九插值点与初始色调映射函数平滑连接,可以确定第九插值点的坐标为(x12,f0(x12)),且f3(x12)=f0(x12),f3’(x12)=f0’(x12)。
然后,确定经过第七插值点、第八插值点、第九插值点(即经过图4中9’点、10’点、12’点)的第三样条函数f3(x)。其中,第三样条函数f3(x)可以划分为经过第七插值点、第八插值点的第七样条函数f7(x),以及经过第八插值点、第十插值点的第八样条函数f8(x),经过第十插值点、第九插值点的第九样条函数f9(x)。
根据初始色调映射函数f0(x)、第七插值点的坐标、第八插值点的坐标,可以确定f7(x9)=f0(x9),f7’(x9)=f0’(x9),f7(x10)=f0(x10)-0.01。
根据第八插值点的坐标以及第十插值点的坐标,可以确定f8(x10)=f0(x10)-0.01,f8(x11)=f0(x11)+0.01。
根据初始色调映射函数f0(x)、第十插值点的坐标、第九插值点的坐标,可以确定f9(x12)=f0(x12),f9’(x12)=f0’(x12),f9(x11)=f0(x11)+0.01。
根据样条函数的属性,可以确定第七样条函数在第八插值点的一阶导数与第八样条函数在第八插值点的一阶导数相同,第七样条函数在第八插值点的二阶导数与第八样条函数在第八插值点的二阶导数相同,即f7’(x10)=f8’(x10),f7”(x10)=f8”(x10)。
根据样条函数的属性,可以确定第八样条函数在第十插值点的一阶导数与第九样条函数在第十插值点的一阶导数相同,第八样条函数在第十插值点的二阶导数与第九样条函数在第十插值点的二阶导数相同,即f8’(x11)=f9’(x11),f8”(x11)=f9”(x11)。
根据上述条件,可以确定第三样条函数f3(x)。
可选的,第三样条函数为三次样条函数。即第四样条函数、第五样条函数为三次样条函数
可选的,所述多个插值点还包括第十一插值点,第四样条函数经过所述第十一插值点,所述第一样条函数在所述第十一插值点的二阶导数为0。
可选的,所述多个插值点还包括第十一插值点,第五样条函数经过所述第十一插值点,所述第二样条函数在所述第十一插值点的二阶导数为0。
可选的,所述多个插值点还包括第十五插值点,所述第一样条函数经过所述第十五插值点,且所述初始色调映射函数经过所述第十五插值点,所述第四样条函数在所述第十五插值点的导数值与所述初始色调映射函数在所述第十五插值点上的导数值不同。
可选的,所述多个插值点还包括第十五插值点,所述第二样条函数经过所述第十五插值点,且所述初始色调映射函数经过所述第十五插值点,所述第五样条函数在所述第十五插值点的导数值与所述初始色调映射函数在所述第十五插值点上的导数值不同。
204,根据所述样条函数对所述初始色调映射曲线进行修正,得到所述目标图片的修正色调映射曲线。
修正初始色调映射曲线,可以将样条函数替换初始色调映射曲线上的一部分。最终得到的修正色调映射曲线,包含了原本存在初始色调映射曲线上的一部分数据内容,以及样条函数的数据内容。由于初始样条函数通常是光滑的,样条函数本身具有光滑的属性,且样条函数可以在插值点处与初始样条函数平滑连接,因此修正色调映射曲线也具有光滑的属性。
205,根据所述修正色调映射曲线对所述目标图片进行色调映射。
电子设备可以参照现有技术,根据修正色调映射曲线对所述目标图片进行色调映射,在此就不必赘述。
实施步骤201至205的电子设备可以是图1中的拍摄端设备,也可以是图1中的图像处理设备,也可以是包含图像处理器的显示端设备。
本申请提供一种对已经获得的初始色调映射曲线进行修正的方法,使的获取色调映射曲线的方式更加灵活。例如,可以根据显示设备和拍摄设备的设备属性,灵活确定色调映射曲线的形式,使图像显示更加生动自然。又如,在视频中,可以确定一帧的色调映射曲线,对于与该帧相邻的帧,则确定修正色调映射曲线的参数,从而可以在不增加过多数据的情况下,提升视频显示效果。
图8是本申请实施例提供的图像处理装置的示意性结构图。如图8所示,装置500包括获取模块510、处理模块520和色调映射模块530。
所述获取模块510,用于获取目标图片以及所述目标图片的初始色调映射曲线。
所述处理模块520,用于根据所述目标图片的亮度信息和/或动态元数据,确定多个插值点。
所述处理模块520,还用于确定经过所述多个插值点的样条函数,所述样条函数在所述多个插值点中的至少一个插值点与所述初始色调映射曲线平滑连接。
所述处理模块520,还用于根据所述样条函数对所述初始色调映射曲线进行修正,得到所述目标图片的修正色调映射曲线。
所述色调映射模块530,用于根据所述修正色调映射曲线对所述目标图片进行色调映射。
图9是本申请另一实施例提供的图像处理装置的示意性结构图。如图9所示,装置600可以包括传输接口610、处理器620、存储器630。
图9中仅示出了一个存储器和处理器。在实际的图像处理装置产品中,可以存在一个或多个处理器和一个或多个存储器。存储器也可以称为存储介质或者存储设备等。存储器可以是独立于处理器设置,也可以是与处理器集成在一起,本申请实施例对此不做限制。
传输接口610、处理器620、存储器630之间通过内部连接通路互相通信,传递控制和/或数据信号。
具体地,传输接口610用于接收或发送图像数据;处理器620用于获取待处理图像;用于通过预训练的神经网络模型的第一分支对所述待处理图像进行处理,以得到第一类参数,所述第一类参数用于对图像进行全局色彩处理;还用于通过所述神经网络模型的第二分支对所述待处理图像进行处理,以得到第二类参数,所述第二类参数用于对图像进行局部色彩处理;还用于根据所述第一类参数和第二类参数对所述待处理图像进行色彩处理,以获得色彩处理后的图像。
本申请各实施例所述的存储器630用于存储处理器运行所需的计算机指令和参数。
装置600的具体工作过程和有益效果可以参见图2所示实施例中的描述,在此不再赘述。
本申请实施例还提供一种电子设备,该电子设备可以是终端设备。该设备可以用于执行上述方法实施例中的功能/步骤。
图10是本申请实施例提供的电子设备的示意性结构图。如图10所示,电子设备700包括处理器710和收发器720。可选地,该电子设备700还可以包括存储器730。其中,处理器710、收发器720和存储器730之间可以通过内部连接通路互相通信,传递控制和/或数据信号,该存储器730用于存储计算机程序,该处理器710用于从该存储器730中调用并运行该计算机程序。
可选地,电子设备700还可以包括天线740,用于将收发器720输出的无线信号发送出去。
上述处理器710可以和存储器730可以合成一个处理装置,更常见的是彼此独立的部件,处理器710用于执行存储器730中存储的程序代码来实现上述功能。具体实现时,该存储器730也可以集成在处理器710中,或者,独立于处理器710。该处理器710可以与图9中装置600中的处理模块620对应。
除此之外,为了使得电子设备700的功能更加完善,该电子设备700还可以包括输入单元760、显示单元770、音频电路780、摄像头770和传感器701等中的一个或多个,所述音频电路还可以包括扬声器782、麦克风784等。其中,显示单元770可以包括显示屏。
可选地,上述电子设备700还可以包括电源750,用于给终端设备中的各种器件或电路提供电源。
应理解,图10所示的电子设备700能够实现图2所示方法实施例的各个过程。电子设备700中的各个模块的操作和/或功能,分别为了实现上述方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (35)

1.一种图像处理的方法,其特征在于,包括:
获取目标图片以及所述目标图片的初始色调映射曲线;
根据所述目标图片的亮度信息和/或动态元数据,确定多个插值点;
确定经过所述多个插值点的样条函数,所述样条函数在所述多个插值点中的至少一个插值点与所述初始色调映射曲线平滑连接;
根据所述样条函数对所述初始色调映射曲线进行修正,得到所述目标图片的修正色调映射曲线;
根据所述修正色调映射曲线对所述目标图片进行色调映射。
2.根据权利要求1所述的方法,其特征在于,所述初始色调映射曲线包括第一端点以及第二端点,所述第一端点以及所述第二端点分别位于所述初始色调映射曲线的两端,所述第一端点对应的亮度值低于所述第二端点对应的亮度值,所述目标图片包含的暗区像素点的数量大于或等于第二预设阈值,所述暗区像素点的亮度值小于第一预设阈值,所述多个插值点包含第一插值点,所述根据所述目标图片的亮度信息,确定多个插值点,包括:
确定所述第一插值点的第一坐标值与所述第一端点的第一坐标值相同。
3.根据权利要求2所述的方法,其特征在于,所述多个插值点还包括第二插值点,所述根据所述目标图片的亮度信息,确定多个插值点,包括:
根据所述暗区像素点的数量,确定所述第二插值点的第一坐标值。
4.根据权利要求2或3所述的方法,其特征在于,所述多个插值点还包括第三插值点,所述目标图片还包括暗区过渡像素点,所述暗区过渡像素点的亮度值大于或等于所述第一预设阈值,所述根据所述目标图片的亮度信息,确定多个插值点,包括:
根据所述暗区过渡像素点的数量,确定所述第三插值点的第一坐标值。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述初始色调映射曲线包括第一端点以及第二端点,所述第一端点以及所述第二端点分别位于所述初始色调映射曲线的两端,所述第一端点对应的亮度值低于所述第二端点对应的亮度值,所述目标图片包含的亮区像素点的数量大于或等于第四预设阈值,所述亮区像素点的亮度值大于第三预设阈值,所述多个插值点包含第四插值点,所述根据所述目标图片的亮度信息,确定多个插值点,包括:
确定所述第四插值点的第一坐标值与所述第二端点的第一坐标值相同。
6.根据权利要求5所述的方法,其特征在于,所述多个插值点还包括第五插值点,所述根据所述目标图片的亮度信息,确定多个插值点,包括:
根据所述亮区像素点的数量,确定所述第五插值点的第一坐标值。
7.根据权利要求5或6所述的方法,其特征在于,所述多个插值点还包括第六插值点,所述目标图片还包括亮区过渡像素点,所述亮区过渡像素点的亮度值小于或等于所述第三预设阈值,所述根据所述目标图片的亮度信息,确定多个插值点,包括:
根据所述亮区过渡像素点的数量,确定所述第六插值点的第一坐标值。
8.根据权利要求1所述的方法,其特征在于,所述动态元数据包括所述多个插值点中每个插值点的坐标信息。
9.根据权利要求1所述的方法,其特征在于,所述初始色调映射曲线包括第一端点以及第二端点,所述第一端点以及所述第二端点分别位于所述初始色调映射曲线的两端,所述第一端点对应的亮度值低于所述第二端点对应的亮度值,所述动态元数据包含区域亮度指示信息,
在所述区域亮度指示信息指示暗区的情况下,所述多个插值点包含第一插值点,所述第一插值点的第一坐标值与所述第一端点的第一坐标值相同;和/或,
在所述区域亮度指示信息指示亮区的情况下,所述多个插值点包含第二插值点,所述第二插值点的第一坐标值与所述第二端点的第一坐标值相同。
10.根据权利要求1所述的方法,其特征在于,所述初始色调映射曲线包括第一端点以及第二端点,所述第一端点以及所述第二端点分别位于所述初始色调映射曲线的两端,所述第一端点对应的亮度值低于所述第二端点对应的亮度值,所述动态元数据包括与P个关键像素点一一对应的P个坐标信息,P为正整数,所述根据所述目标图片的亮度信息以及动态元数据,确定多个插值点,包括:
根据所述P个坐标信息以及所述目标图片的亮度信息,确定所述P个关键像素点为暗区像素点或亮区像素点,所述暗区像素点的亮度值小于第一预设阈值,所述亮区像素点的亮度值大于第三预设阈值;
在所述P个关键像素点为暗区像素点的情况下,确定所述多个插值点包括第一插值点,所述第一插值点的第一坐标值与所述第一端点的第一坐标值相同;或者,
在所述P个关键像素点为亮区像素点的情况下,确定所述多个插值点包括第二插值点,所述第二插值点的第一坐标值与所述第二端点的第一坐标值相同。
11.根据权利要求1至10中任一项所述的方法,其特征在于,所述多个插值点包括第七插值点、第八插值点、第九插值点,所述初始色调映射曲线经过所述第九插值点,所述确定经过所述多个插值点的样条函数,包括:
获取经过所述第七插值点和所述第八插值点的第一样条函数;
确定经过所述第八插值点和所述第九插值点的第二样条函数,所述第二样条函数在所述第八插值点与所述第一样条函数平滑连接,所述第二样条函数在所述第九插值点与所述初始色调映射曲线平滑连接。
12.根据权利要求11所述的方法,其特征在于,所述第一样条函数为一次样条函数,所述第二样条函数为三次样条函数。
13.根据权利要求1至10中任一项所述的方法,其特征在于,所述多个插值点包括第七插值点、第八插值点、第九插值点,所述样条函数包括经过所述第七插值点、所述第八插值点、第九插值点的第三样条函数,所述第八插值点的第一坐标值介于所述第七插值点的第一坐标值与所述第九插值点的第一坐标值之间;
在所述确定多个插值点之前,所述方法还包括:
获取第一偏移量,所述第一偏移量用于表示在第一修正位置对所述初始色调映射曲线的修正幅度,所述第一修正位置为所述第八插值点的第一坐标值;
所述确定多个插值点,包括:
根据所述初始色调映射曲线在第一修正位置的函数值和所述第一偏移量,确定所述第八插值点的第二坐标值;
所述确定经过所述多个插值点的所述样条函数,包括:
根据所述第八插值点的第一坐标值以及所述第八插值点的第二坐标值,确定所述第三样条函数,其中,所述第三样条函数在所述第七插值点和/或所述第九插值点与所述初始色调映射曲线平滑连接。
14.根据权利要求13所述的方法,其特征在于,所述第三样条函数包括经过所述第七插值点、第八插值点的第四样条函数,以及经过所述第八插值点、第九插值点的第五样条函数,所述第四样条函数在所述第八插值点的二阶导数值与所述第五样条函数在所述第八插值点的二阶导数值相同。
15.根据权利要求13或14所述的方法,其特征在于,所述多个插值点还包括第十插值点,所述第三样条函数经过所述第十插值点,所述第十插值点的第一坐标值介于所述第七插值点的第一坐标值与所述第九插值点的第一坐标值之间,
在所述确定多个插值点之前,所述方法还包括:
获取第二偏移量,所述第二偏移量用于表示在第二修正位置对所述初始色调映射曲线的修正幅度,所述第二修正位置为所述第十插值点的第一坐标值;
所述确定多个插值点,还包括:
根据所述初始色调映射曲线在所述第二修正位置的函数值和所述第二偏移量,确定所述第十插值点的第二坐标值;
所述根据所述第八插值点的第一坐标值以及所述第八插值点的第二坐标值,确定所述第三样条函数,包括:
根据所述第八插值点的第一坐标值、第二坐标值以及所述第十插值点的第一坐标值、第二坐标值,确定所述第三样条函数,其中,所述第三样条函数在所述第七插值点和所述第九插值点均与所述初始色调映射曲线平滑连接。
16.根据权利要求1至15中任一项所述的方法,其特征在于,所述样条函数的导数恒大于0。
17.根据权利要求1至16中任一项所述的方法,其特征在于,所述初始色调映射曲线包括以下公式中的一种:
Figure FDA0002127173830000031
L′=a×L+b;
Figure FDA0002127173830000032
Figure FDA0002127173830000033
其中,L表示线性信号值,L’表示非线性信号值,p、a、m、b、c1、c2、c3、n、N、ρ均为动态范围映射系数,0≤L≤1。
18.一种图像处理的装置,其特征在于,包括:
获取模块,用于获取目标图片以及所述目标图片的初始色调映射曲线;
处理模块,用于根据所述目标图片的亮度信息和/或动态元数据,确定多个插值点;
所述处理模块,还用于确定经过所述多个插值点的样条函数,所述样条函数在所述多个插值点中的至少一个插值点与所述初始色调映射曲线平滑连接;
所述处理模块,还用于根据所述样条函数对所述初始色调映射曲线进行修正,得到所述目标图片的修正色调映射曲线;
色调映射模块,用于根据所述修正色调映射曲线对所述目标图片进行色调映射。
19.根据权利要求18所述的装置,其特征在于,所述初始色调映射曲线包括第一端点以及第二端点,所述第一端点以及所述第二端点分别位于所述初始色调映射曲线的两端,所述第一端点对应的亮度值低于所述第二端点对应的亮度值,所述目标图片包含的暗区像素点的数量大于或等于第二预设阈值,所述暗区像素点的亮度值小于第一预设阈值,所述多个插值点包含第一插值点,
所述处理模块,具体用于确定所述第一插值点的第一坐标值与所述第一端点的第一坐标值相同。
20.根据权利要求19所述的装置,其特征在于,所述多个插值点还包括第二插值点,
所述处理模块,具体用于根据所述暗区像素点的数量,确定所述第二插值点的第一坐标值。
21.根据权利要求19或20所述的装置,其特征在于,所述多个插值点还包括第三插值点,所述目标图片还包括暗区过渡像素点,所述暗区过渡像素点的亮度值大于或等于所述第一预设阈值,
所述处理模块,具体用于根据所述暗区过渡像素点的数量,确定所述第三插值点的第一坐标值。
22.根据权利要求18至21中任一项所述的装置,其特征在于,所述初始色调映射曲线包括第一端点以及第二端点,所述第一端点以及所述第二端点分别位于所述初始色调映射曲线的两端,所述第一端点对应的亮度值低于所述第二端点对应的亮度值,所述目标图片包含的亮区像素点的数量大于或等于第四预设阈值,所述亮区像素点的亮度值大于第三预设阈值,所述多个插值点包含第四插值点,
所述处理模块,具体用于确定所述第四插值点的第一坐标值与所述第二端点的第一坐标值相同。
23.根据权利要求22所述的装置,其特征在于,所述多个插值点还包括第五插值点,
所述处理模块,具体用于根据所述亮区像素点的数量,确定所述第五插值点的第一坐标值。
24.根据权利要求22或23所述的装置,其特征在于,所述多个插值点还包括第六插值点,所述目标图片还包括亮区过渡像素点,所述亮区过渡像素点的亮度值小于或等于所述第三预设阈值,
所述处理模块,具体用于根据所述亮区过渡像素点的数量,确定所述第六插值点的第一坐标值。
25.根据权利要求18所述的装置,其特征在于,所述动态元数据包括所述多个插值点中每个插值点的坐标信息。
26.根据权利要求18所述的装置,其特征在于,所述初始色调映射曲线包括第一端点以及第二端点,所述第一端点以及所述第二端点分别位于所述初始色调映射曲线的两端,所述第一端点对应的亮度值低于所述第二端点对应的亮度值,所述动态元数据包含区域亮度指示信息,
在所述区域亮度指示信息指示暗区的情况下,所述多个插值点包含第一插值点,所述第一插值点的第一坐标值与所述第一端点的第一坐标值相同;和/或,
在所述区域亮度指示信息指示亮区的情况下,所述多个插值点包含第二插值点,所述第二插值点的第一坐标值与所述第二端点的第一坐标值相同。
27.根据权利要求18所述的装置,其特征在于,所述初始色调映射曲线包括第一端点以及第二端点,所述第一端点以及所述第二端点分别位于所述初始色调映射曲线的两端,所述第一端点对应的亮度值低于所述第二端点对应的亮度值,所述动态元数据包括与P个关键像素点一一对应的P个坐标信息,P为正整数,
所述处理模块,具体用于根据所述P个坐标信息以及所述目标图片的亮度信息,确定所述P个关键像素点为暗区像素点或亮区像素点,所述暗区像素点的亮度值小于第一预设阈值,所述亮区像素点的亮度值大于第三预设阈值;
在所述P个关键像素点为暗区像素点的情况下,所述处理模块,具体用于确定所述多个插值点包括第一插值点,所述第一插值点的第一坐标值与所述第一端点的第一坐标值相同;或者,
在所述P个关键像素点为亮区像素点的情况下,所述处理模块,具体用于确定所述多个插值点包括第二插值点,所述第二插值点的第一坐标值与所述第二端点的第一坐标值相同。
28.根据权利要求18至27中任一项所述的装置,其特征在于,所述多个插值点包括第七插值点、第八插值点、第九插值点,所述初始色调映射曲线经过所述第九插值点,
所述处理模块,具体用于获取经过所述第七插值点和所述第八插值点的第一样条函数;
所述处理模块,具体用于确定经过所述第八插值点和所述第九插值点的第二样条函数,所述第二样条函数在所述第八插值点与所述第一样条函数平滑连接,所述第二样条函数在所述第九插值点与所述初始色调映射曲线平滑连接。
29.根据权利要求28所述的装置,其特征在于,所述第一样条函数为一次样条函数,所述第二样条函数为三次样条函数。
30.根据权利要求18至27中任一项所述的装置,其特征在于,所述多个插值点包括第七插值点、第八插值点、第九插值点,所述样条函数包括经过所述第七插值点、所述第八插值点、第九插值点的第三样条函数,所述第八插值点的第一坐标值介于所述第七插值点的第一坐标值与所述第九插值点的第一坐标值之间;
在所述处理模块确定所述多个插值点之前,所述获取模块,还用于获取第一偏移量,所述第一偏移量用于表示在第一修正位置对所述初始色调映射曲线的修正幅度,所述第一修正位置为所述第八插值点的第一坐标值;
所述处理模块,具体用于根据所述初始色调映射曲线在第一修正位置的函数值和所述第一偏移量,确定所述第八插值点的第二坐标值;
所述处理模块,具体用于根据所述第八插值点的第一坐标值以及所述第八插值点的第二坐标值,确定所述第三样条函数,其中,所述第三样条函数在所述第七插值点和/或所述第九插值点与所述初始色调映射曲线平滑连接。
31.根据权利要求30所述的装置,其特征在于,所述第三样条函数包括经过所述第七插值点、第八插值点的第四样条函数,以及经过所述第八插值点、第九插值点的第五样条函数,所述第四样条函数在所述第八插值点的二阶导数值与所述第五样条函数在所述第八插值点的二阶导数值相同。
32.根据权利要求30或31所述的装置,其特征在于,所述多个插值点还包括第十插值点,所述第三样条函数经过所述第十插值点,所述第十插值点的第一坐标值介于所述第七插值点的第一坐标值与所述第九插值点的第一坐标值之间,
在所述处理模块确定所述多个插值点之前,所述获取模块还用于,获取第二偏移量,所述第二偏移量用于表示在第二修正位置对所述初始色调映射曲线的修正幅度,所述第二修正位置为所述第十插值点的第一坐标值;
所述处理模块,具体用于根据所述初始色调映射曲线在所述第二修正位置的函数值和所述第二偏移量,确定所述第十插值点的第二坐标值;
所述处理模块,具体用于根据所述第八插值点的第一坐标值、第二坐标值以及所述第十插值点的第一坐标值、第二坐标值,确定所述第三样条函数,其中,所述第三样条函数在所述第七插值点和所述第九插值点均与所述初始色调映射曲线平滑连接。
33.根据权利要求18至32中任一项所述的装置,其特征在于,所述样条函数的导数恒大于0。
34.一种图像处理的装置,其特征在于,包括处理器和传输接口,
所述传输接口,用于接收或发送图像数据;
所述处理器,用于调用存储器中存储的程序指令,并执行所述程序指令以执行如权利要求1至17中任一项所述的方法。
35.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序指令,当所述程序指令在计算机或处理器上运行时,使所述计算机或处理器执行如权利要求1至17中任一项所述的方法。
CN201910626171.8A 2019-07-11 2019-07-11 一种图像处理的方法及装置 Pending CN112215760A (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201910626171.8A CN112215760A (zh) 2019-07-11 2019-07-11 一种图像处理的方法及装置
JP2021575058A JP7359521B2 (ja) 2019-07-11 2020-05-26 画像処理方法および装置
EP20837005.6A EP3975106A4 (en) 2019-07-11 2020-05-26 IMAGE PROCESSING METHOD AND APPARATUS
KR1020227001092A KR102617258B1 (ko) 2019-07-11 2020-05-26 이미지 프로세싱 방법 및 장치
PCT/CN2020/092320 WO2021004176A1 (zh) 2019-07-11 2020-05-26 一种图像处理的方法及装置
US17/564,653 US12112460B2 (en) 2019-07-11 2021-12-29 Image processing method and apparatus
JP2023163178A JP2023175868A (ja) 2019-07-11 2023-09-26 画像処理方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910626171.8A CN112215760A (zh) 2019-07-11 2019-07-11 一种图像处理的方法及装置

Publications (1)

Publication Number Publication Date
CN112215760A true CN112215760A (zh) 2021-01-12

Family

ID=74048542

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910626171.8A Pending CN112215760A (zh) 2019-07-11 2019-07-11 一种图像处理的方法及装置

Country Status (6)

Country Link
US (1) US12112460B2 (zh)
EP (1) EP3975106A4 (zh)
JP (2) JP7359521B2 (zh)
KR (1) KR102617258B1 (zh)
CN (1) CN112215760A (zh)
WO (1) WO2021004176A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112907459A (zh) * 2021-01-25 2021-06-04 北京达佳互联信息技术有限公司 图像处理方法及装置
WO2021223542A1 (zh) * 2020-05-08 2021-11-11 华为技术有限公司 图像动态范围处理方法和装置
CN114463191A (zh) * 2021-08-26 2022-05-10 荣耀终端有限公司 一种图像处理方法及电子设备
WO2023134235A1 (zh) * 2022-01-12 2023-07-20 华为技术有限公司 图像处理方法及电子设备
CN116664393A (zh) * 2023-07-05 2023-08-29 北京大学 面部数据漂白方法、装置、计算设备及存储介质
US11961206B2 (en) 2021-09-09 2024-04-16 Samsung Electronics Co., Ltd. Image generation using non-linear scaling and tone-mapping based on cubic spline curves

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI788983B (zh) * 2021-08-30 2023-01-01 瑞昱半導體股份有限公司 視訊訊號處理裝置與方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010074222A (ja) * 2008-09-16 2010-04-02 Sony Corp 画像処理装置、輝度変換曲線補正方法およびプログラム
CN107203974A (zh) * 2016-03-16 2017-09-26 汤姆逊许可公司 扩展的高动态范围hdr到hdr色调映射的方法、装置和系统
WO2018152063A1 (en) * 2017-02-15 2018-08-23 Dolby Laboratories Licensing Corporation Tone curve mapping for high dynamic range images
US20190164262A1 (en) * 2017-11-30 2019-05-30 Interdigital Vc Holdings, Inc. Tone mapping adaptation for saturation control

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5469275A (en) * 1992-08-04 1995-11-21 International Business Machines Corporation Method and apparatus for grayscale adjustment
CN101197920A (zh) * 2002-07-12 2008-06-11 精工爱普生株式会社 图象数据的输出图象调整
JP5932392B2 (ja) * 2012-02-28 2016-06-08 キヤノン株式会社 画像処理装置および画像処理方法
ES2641371T3 (es) * 2012-10-08 2017-11-08 Koninklijke Philips N.V. Procesamiento de imágenes con cambio de luminancia con restricciones de color
JP6663214B2 (ja) * 2015-05-26 2020-03-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 表示方法および表示装置
US9942489B2 (en) * 2015-06-02 2018-04-10 Samsung Electronics Co., Ltd. Adaptive tone mapping based on local contrast
US9959604B2 (en) * 2016-06-13 2018-05-01 Gopro, Inc. Dynamic global tone mapping with integrated 3D color look-up table
US9916638B2 (en) * 2016-07-20 2018-03-13 Dolby Laboratories Licensing Corporation Transformation of dynamic metadata to support alternate tone rendering
WO2018111682A1 (en) * 2016-12-12 2018-06-21 Dolby Laboratories Licensing Corporation Systems and methods for adjusting video processing curves for high dynamic range images
US10600166B2 (en) * 2017-02-15 2020-03-24 Dolby Laboratories Licensing Corporation Tone curve mapping for high dynamic range images
CN108090879B (zh) * 2017-12-12 2020-11-10 上海顺久电子科技有限公司 一种对输入的高动态范围图像进行处理的方法和显示设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010074222A (ja) * 2008-09-16 2010-04-02 Sony Corp 画像処理装置、輝度変換曲線補正方法およびプログラム
CN107203974A (zh) * 2016-03-16 2017-09-26 汤姆逊许可公司 扩展的高动态范围hdr到hdr色调映射的方法、装置和系统
WO2018152063A1 (en) * 2017-02-15 2018-08-23 Dolby Laboratories Licensing Corporation Tone curve mapping for high dynamic range images
US20190164262A1 (en) * 2017-11-30 2019-05-30 Interdigital Vc Holdings, Inc. Tone mapping adaptation for saturation control

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021223542A1 (zh) * 2020-05-08 2021-11-11 华为技术有限公司 图像动态范围处理方法和装置
EP4138029A4 (en) * 2020-05-08 2023-10-25 Huawei Technologies Co., Ltd. METHOD AND APPARATUS FOR PROCESSING THE DYNAMIC RANGE OF AN IMAGE
CN112907459A (zh) * 2021-01-25 2021-06-04 北京达佳互联信息技术有限公司 图像处理方法及装置
CN112907459B (zh) * 2021-01-25 2024-04-09 北京达佳互联信息技术有限公司 图像处理方法及装置
CN114463191A (zh) * 2021-08-26 2022-05-10 荣耀终端有限公司 一种图像处理方法及电子设备
CN114463191B (zh) * 2021-08-26 2023-01-31 荣耀终端有限公司 一种图像处理方法及电子设备
US11961206B2 (en) 2021-09-09 2024-04-16 Samsung Electronics Co., Ltd. Image generation using non-linear scaling and tone-mapping based on cubic spline curves
WO2023134235A1 (zh) * 2022-01-12 2023-07-20 华为技术有限公司 图像处理方法及电子设备
CN116664393A (zh) * 2023-07-05 2023-08-29 北京大学 面部数据漂白方法、装置、计算设备及存储介质
CN116664393B (zh) * 2023-07-05 2024-02-27 北京大学 面部数据漂白方法、装置、计算设备及存储介质

Also Published As

Publication number Publication date
US12112460B2 (en) 2024-10-08
JP7359521B2 (ja) 2023-10-11
US20220122236A1 (en) 2022-04-21
KR102617258B1 (ko) 2023-12-21
KR20220020367A (ko) 2022-02-18
WO2021004176A1 (zh) 2021-01-14
JP2023175868A (ja) 2023-12-12
EP3975106A4 (en) 2022-08-17
EP3975106A1 (en) 2022-03-30
JP2022539683A (ja) 2022-09-13

Similar Documents

Publication Publication Date Title
CN112215760A (zh) 一种图像处理的方法及装置
US10402953B2 (en) Display method and display device
JP6234920B2 (ja) ハイダイナミックレンジ画像信号生成及び処理
KR102367205B1 (ko) 컬러 맵핑 함수들을 이용하여 hdr 픽처 및 상기 hdr 픽처로부터 획득된 sdr 픽처의 양자를 인코딩하기 위한 방법 및 디바이스
JP6946325B2 (ja) 高ダイナミックレンジピクチャを符号化する方法及び装置、対応する符号化方法及並びに符号化装置
JP2018507619A (ja) カラー・ピクチャを符号化および復号する方法および装置
JP2018507620A (ja) カラー・ピクチャを復号する方法および装置
CN108141576B (zh) 显示装置及其控制方法
JP2018511193A (ja) ピクチャの逆トーン・マッピングのための方法及び装置
US20220237754A1 (en) Image processing method and apparatus
US11006152B2 (en) Method and apparatus for encoding/decoding a high dynamic range picture into a coded bitstream
JP2018509835A (ja) 適応的カラーグレード補間方法及びデバイス
US20170223366A1 (en) Method and apparatus for processing image data
JP2018507618A (ja) カラー・ピクチャを符号化および復号する方法および装置

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