CN117999550A - 一种自适应建表方法、装置,电子设备及存储介质 - Google Patents
一种自适应建表方法、装置,电子设备及存储介质 Download PDFInfo
- Publication number
- CN117999550A CN117999550A CN202280003646.8A CN202280003646A CN117999550A CN 117999550 A CN117999550 A CN 117999550A CN 202280003646 A CN202280003646 A CN 202280003646A CN 117999550 A CN117999550 A CN 117999550A
- Authority
- CN
- China
- Prior art keywords
- segmentation
- derivative
- points
- point
- coordinates
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000011218 segmentation Effects 0.000 claims abstract description 368
- 238000012545 processing Methods 0.000 claims abstract description 34
- 230000006870 function Effects 0.000 claims description 219
- 238000005070 sampling Methods 0.000 claims description 74
- 238000004364 calculation method Methods 0.000 claims description 25
- 230000003044 adaptive effect Effects 0.000 claims description 15
- 238000003780 insertion Methods 0.000 claims description 10
- 230000037431 insertion Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100242890 Quaranfil virus (isolate QrfV/Tick/Afghanistan/EG_T_377/1968) PA gene Proteins 0.000 description 1
- 101100247669 Quaranfil virus (isolate QrfV/Tick/Afghanistan/EG_T_377/1968) PB1 gene Proteins 0.000 description 1
- 101100242901 Quaranfil virus (isolate QrfV/Tick/Afghanistan/EG_T_377/1968) PB2 gene Proteins 0.000 description 1
- 101150025928 Segment-1 gene Proteins 0.000 description 1
- 101150082826 Segment-2 gene Proteins 0.000 description 1
- 101150027881 Segment-3 gene Proteins 0.000 description 1
- 101100242902 Thogoto virus (isolate SiAr 126) Segment 1 gene Proteins 0.000 description 1
- 101100194052 Thogoto virus (isolate SiAr 126) Segment 2 gene Proteins 0.000 description 1
- 101100242891 Thogoto virus (isolate SiAr 126) Segment 3 gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
- G06T5/92—Dynamic range modification of images or parts thereof based on global image properties
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Image Processing (AREA)
- Complex Calculations (AREA)
Abstract
提供一种自适应建表方法、装置,电子设备及存储介质。方法包括:获取被配置于专用功能单元中进行任务处理的目标离散函数(S101);对目标离散函数进行处理,得到目标离散函数的一阶导数(S102);基于一阶导数及预设分段数,确定目标离散函数的分段点的坐标(S103);基于目标离散函数的分段点的坐标构建LUT(S104)。
Description
本申请涉及芯片设计技术领域,具体而言,涉及一种自适应建表方法、装置,电子设备及存储介质。
在图像处理芯片的HDR(High Dynamic Range Imaging,高动态范围成像)模块中,需要使用转换曲线来对图像的像素值进行调整,比如基于光电转换函数(OETF,Opitical-Electro Transfer Function)以及电光转换函数(EOTF,Electro-Optical Transfer Function)曲线来对图像的像素值进行调整,但是图像处理芯片中,一般通过LUT(Look Up Table,查找表)的方式来对曲线的任意点进行插值计算。
为了用少量寄存器资源对LUT进行描述,同时降低查表算法的时间复杂度,采用Count,Steps,Points三个参数对LUT的分布进行描述。其中,Count表示对该曲线的分段数,Steps表示每一段中采样点的间隔,Points则表示不同段间隔点的x轴坐标。
目前,建立LUT一般采用人工观测曲线并进行手工对采样点进行设置的方式,然后再将建立的LUT配置在专用功能单元中(如上述的图像处理芯片中),该方式效率低,且人工观测的方式生成的LUT精度低。
发明内容
本申请实施例的目的在于提供一种自适应建表方法、装置,电子设备及存储介质,以提高构建LUT的效率和精度。
本申请是这样实现的:
第一方面,本申请实施例提供一种自适应建表方法,包括:获取被配置于专用功能单元中进行任务处理的目标离散函数;对所述目标离散函数进行处理,得到所述目标离散函数的一阶导数;基于所述一阶导数及预设分段数,确定所述目标离散函数的分段点的坐标;基于所述目标离散函数的分段点的坐标构建LUT。
在本申请实施例中,通过对目标离散函数进行处理,得到目标离散函数的一阶导数;然后基于一阶导数及预设分段数,确定目标离散函数的分段点的坐标;最后基于目标离散函数的分段点的坐标构建LUT;通过该方式能够自动地基于目标离散函数来生成LUT,进而提高效率,同时,基于目标离散函数的一阶导数来确定出目标离散函数的分段点能够提高LUT的精度。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述基于所述一阶导数及预设分段数,确定所述目标离散函数的分段点的坐标,包括:基于所述预设分段数对所述一阶导数的y轴进行均匀分段;基于所述一阶导数的分段点的坐标,确定所述目标离散函数的分段点的坐标;其中,所述一阶导数的分段点的坐标为所述目标离散函数的分段点的坐标;所述一阶导数的分段点的坐标为基于所述预设分段数对所述一阶导数的反函数的x轴进行均匀分段得到。
在本申请实施例中,通过计算得到一阶导数的反函数,以便于准确且便捷地得到y轴上均匀分段的各点的坐标,进而映射得到x轴上的分段点。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述目标离散函数包括离散化的N个数据点;所述基于所述一阶导数的分段点的坐标,确定所述目标离散函数的分段点的坐标,包括:将所述一阶导数的分段点移动至所述一阶导数的数据点上,得到所述一阶导数的目标分段点;其中,所述一阶导数的目标分段点的顺序与所述一阶导数的分段点的顺序相同;所述一阶导数的目标分段点的坐标为所述目标离散函数的分段点的坐标。
在本申请实施例中,通过将一阶导数的分段点移动至与一阶导数的数据点上,得到一阶导 数的目标分段点的坐标,可以减少后续计算,提高效率。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述将所述一阶导数的分段点依次移动至所述一阶导数的数据点上,得到所述一阶导数的目标分段点,包括:判断所述一阶导数的分段点是否在所述数据点上;若是,则将所述一阶导数的分段点确定为所述一阶导数的目标分段点;若否,则将所述一阶导数的分段点移动至所述一阶导数的数据点上,得到所述一阶导数的目标分段点。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,在所述将所述一阶导数的分段点移动至所述一阶导数的数据点上,得到所述一阶导数的目标分段点之后,所述方法还包括:对该目标分段点右侧的一阶导数的y轴进行均匀分段,形成新的分段点,并将所述新的分段点确定为所述一阶导数的分段点;其中,均匀分段的段数为预设分段数减m;m等于分段次数减1。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述基于所述一阶导数及预设分段数,确定所述目标离散函数的分段点的坐标,包括:基于所述一阶导数及所述预设分段数,确定所述一阶导数的初始分段点的坐标;判断所述一阶导数中相邻的两个初始分段点的坐标之间的差值是否满足;若不满足,则在所述相邻的两个初始分段点中插入新的分段点,以使插入所述新的分段点后,任意相邻的两个分段点的坐标之间的差值满足;确定出所述目标离散函数的分段点的坐标;其中,所述目标离散函数的分段点包括所述一阶导数的初始分段点以及所述一阶导数上新的分段点。
在本申请实施例中,通过上述方式对分段点的调整,以使任意相邻的两个分段点的坐标之间的差值满足,通过该方式可以避免后续插值时进行除法运算。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,在所述确定出所述目标离散函数的分段点的坐标之后,所述方法还包括:确定所述目标离散函数与基于所述分段点进行插值计算得到的最大误差对应的x轴坐标;在所述最大误差对应的x轴坐标所在分段区间增加采样点;其中,所述采样点用于将该分段区间的间隔除以2;其中,所述分段区间的端点为相邻的两个分段点;所述分段区间的间隔表示该分段区间中相邻的两个采样点之间的距离;初始时,所述分段区间的间隔表示所述分段区间的两个分段点之间的距离;确定所述目标离散函数与基于所述分段点和所述采样点进行插值计算得到的最大误差对应的x轴坐标;在所述最大误差对应的x轴坐标所在分段区间增加采样点;其中,所述采样点用于将该分段区间的间隔除以2。
在本申请实施例中,通过上述二次插点的方式,可以在不增加分段点的同时,提高后续生成的LUT的精度。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述方法还包括:判断所述采样点的个数是否到达预设个数;若否,则继续确定所述目标离散函数与基于所述分段点和所述采样点进行插值计算得到的最大误差对应的x轴坐标;在所述最大误差对应的x轴坐标所在分段区间增加采样点;其中,所述采样点用于将该分段区间的间隔除以2。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述基于所述目标离散函数的分段点的坐标构建LUT,包括:基于所述目标离散函数的分段点的坐标,以及每个所述分段区间的间隔构建所述LUT。
结合上述第一方面提供的技术方案,在一些可能的实现方式中,所述基于所述目标离散函数的分段点的坐标,以及每个所述分段区间的间隔构建所述LUT,包括:判断相邻的两个分段区间的间隔是否相等;若相等,则将所述相邻的两个分段区间之间的分段点删除;基于所述目标离散函数的剩余分段点的坐标,以及剩余的每个分段区间的间隔构建所述LUT。
在本申请实施例中,通过将间隔相等的相邻的两个分段区间之间的分段点删除,可以节约寄存器资源。
第二方面,本申请实施例提供一种自适应建表装置,包括:获取模块,用于获取被配置于专用功能单元中进行任务处理的目标离散函数;处理模块,用于对所述目标离散函数进行处理,得到所述目标离散函数的一阶导数;确定模块,用于基于所述一阶导数及预设分段数,确定所述目标 离散函数的分段点的坐标;构建模块,用于基于所述目标离散函数的分段点的坐标构建LUT。
结合上述第二方面提供的技术方案,在一些可能的实现方式中,所述确定模块具体用于基于所述预设分段数对所述一阶导数的y轴进行均匀分段;基于所述一阶导数的分段点的坐标,确定所述目标离散函数的分段点的坐标;其中,所述一阶导数的分段点的坐标为所述目标离散函数的分段点的坐标;所述一阶导数的分段点的坐标为基于所述预设分段数对所述一阶导数的反函数的x轴进行均匀分段得到。
结合上述第二方面提供的技术方案,在一些可能的实现方式中,所述目标离散函数包括离散化的N个数据点;所述确定模块还具体用于将所述一阶导数的分段点移动至所述一阶导数的数据点上,得到所述一阶导数的目标分段点;其中,所述一阶导数的目标分段点的顺序与所述一阶导数的分段点的顺序相同;所述一阶导数的目标分段点的坐标为所述目标离散函数的分段点的坐标。
结合上述第二方面提供的技术方案,在一些可能的实现方式中,所述确定模块还具体用于判断所述一阶导数的分段点是否在所述数据点上;若是,则将所述一阶导数的分段点确定为所述一阶导数的目标分段点;若否,则将所述一阶导数的分段点移动至所述一阶导数的数据点上,得到所述一阶导数的目标分段点。
结合上述第二方面提供的技术方案,在一些可能的实现方式中,所述确定模块还用于在所述将所述一阶导数的分段点移动至所述一阶导数的数据点上,得到所述一阶导数的目标分段点之后,对该目标分段点右侧的一阶导数的y轴进行均匀分段,形成新的分段点,并将所述新的分段点确定为所述一阶导数的分段点;其中,均匀分段的段数为预设分段数减m;m等于分段次数减1。
结合上述第二方面提供的技术方案,在一些可能的实现方式中,所述确定模块还用于基于所述一阶导数及所述预设分段数,确定所述一阶导数的初始分段点的坐标;判断所述一阶导数中相邻的两个初始分段点的坐标之间的差值是否满足;若不满足,则在所述相邻的两个初始分段点中插入新的分段点,以使插入所述新的分段点后,任意相邻的两个分段点的坐标之间的差值满足;确定出所述目标离散函数的分段点的坐标;其中,所述目标离散函数的分段点包括所述一阶导数的初始分段点以及所述一阶导数上新的分段点。
结合上述第二方面提供的技术方案,在一些可能的实现方式中,所述装置还包括:二次插点模块,所述二次插点模块,用于在所述确定出所述目标离散函数的分段点的坐标之后,确定所述目标离散函数与基于所述分段点进行插值计算得到的最大误差对应的x轴坐标;在所述最大误差对应的x轴坐标所在分段区间增加采样点;其中,所述采样点用于将该分段区间的间隔除以2;其中,所述分段区间的端点为相邻的两个分段点;所述分段区间的间隔表示该分段区间中相邻的两个采样点之间的距离;初始时,所述分段区间的间隔表示所述分段区间的两个分段点之间的距离;确定所述目标离散函数与基于所述分段点和所述采样点进行插值计算得到的最大误差对应的x轴坐标;在所述最大误差对应的x轴坐标所在分段区间增加采样点;其中,所述采样点用于将该分段区间的间隔除以2。
结合上述第二方面提供的技术方案,在一些可能的实现方式中,所述二次插点模块还用于判断所述采样点的个数是否到达预设个数;若否,则继续确定所述目标离散函数与基于所述分段点和所述采样点进行插值计算得到的最大误差对应的x轴坐标;在所述最大误差对应的x轴坐标所在分段区间增加采样点;其中,所述采样点用于将该分段区间的间隔除以2。
结合上述第二方面提供的技术方案,在一些可能的实现方式中,所述构建模块还用于基于所述目标离散函数的分段点的坐标,以及每个所述分段区间的间隔构建所述LUT。
结合上述第二方面提供的技术方案,在一些可能的实现方式中,所述构建模块还用于判断相邻的两个分段区间的间隔是否相等;若相等,则将所述相邻的两个分段区间之间的分段点删除;基于所述目标离散函数的剩余分段点的坐标,以及剩余的每个分段区间的间隔构建所述LUT。
第三方面,本申请实施例提供一种电子设备,包括:处理器和存储器,所述处理器和所述存储器连接;所述存储器用于存储程序;所述处理器用于调用存储在所述存储器中的程序,执行如上述第一方面实施例和/或结合上述第一方面实施例的一些可能的实现方式提供的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器运行时执行如上述第一方面实施例和/或结合上述第一方面实施例的一些可能的实现方式提供的方法。
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种电子设备的模块框图。
图2为本申请实施例提供的一种自适应建表方法的步骤流程图。
图3为本申请实施例提供的gamma函数对应的曲线图。
图4为本申请实施例提供的离散化后的gamma函数对应的示意图。
图5为本申请实施例提供的离散化后的gamma函数的一阶导数的示意图。
图6为本申请实施例提供的表一对应的函数的示意图。
图7为本申请实施例提供的离散化后的gamma函数的一阶导数的反函数的示意图。
图8为本申请实施例提供的一种对一阶导数的y轴进行均匀分段的函数曲线的示意图。
图9为本申请实施例提供的另一种对一阶导数的y轴进行均匀分段的函数曲线的示意图。
图10为本申请实施例提供的将目标离散函数的分段点应用到gamma函数上的效果图。
图11为本申请实施例提供的一种自适应建表方法的过程示意图。
图12为本申请实施例提供的一种自适应建表装置的模块框图。
图标:100-电子设备;110-处理器;120-存储器;200-自适应建表装置;210-获取模块;220-处理模块;230-确定模块;240-构建模块。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
请参阅图1,本申请实施例提供的一种应用自适应建表方法及装置的电子设备100的示意性结构框图。本申请实施例中,电子设备100可以是终端或者服务器,终端可以是,但不限于个人计算机(Personal Computer,PC)、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)、移动上网设备(Mobile Internet Device,MID)等。服务器可以是但不限于网络服务器、数据库服务器、云服务器或由多个子服务器构成的服务器集成等。当然,上述列举的设备仅用于便于理解本申请实施例,其不应作为对本实施例的限定。
在结构上,电子设备100可以包括处理器110和存储器120。
处理器110与存储器120直接或间接地电性连接,以实现数据的传输或交互,例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。自适应建表装置包括至少一个可以软件或固件(Firmware)的形式存储在存储器120中或固化在电子设备100的操作系统(Operating System,OS)中的软件模块。处理器110用于执行存储器120中存储的可执行模块,例如,自适应建表装置所包括的软件功能模块及计算机程序等,以实现自适应建表方法。处理器110可以在接收到执行指令后,执行计算机程序。
其中,处理器110可以是一种集成电路芯片,具有信号处理能力。处理器110也可以是通用处理器,例如,可以是中央处理器(Central Processing Unit,CPU)、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、分立门或晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。此外,通用处理器可以是微处理器或者任何常规处理器等。
存储器120可以是,但不限于,随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦可编程序只读存储器(Erasable Programmable Read-Only Memory,EPROM),以及电可擦编程只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)。存储器120用于存储程序,处理器110在接收到执行指令后,执行该程序。
需要说明的是,图1所示的结构仅为示意,本申请实施例提供的电子设备100还可以具有比图1更少或更多的组件,或是具有与图1所示不同的配置。此外,图1所示的各组件可以通过软件、硬件或其组合实现。
请参阅图2,图2为本申请实施例提供的自适应建表方法的步骤流程图,该方法应用于图1所示的电子设备100。需要说明的是,本申请实施例提供的自适应建表方法不以图2及以下所示的顺序为限制,该方法包括:步骤S101-步骤S104。
步骤S101:获取被配置于专用功能单元中进行任务处理的目标离散函数。
其中,专用功能单元可以是GPU(Graphics Processing Unit,图形处理器)、图像显示芯片、语音处理芯片等,相应的,任务处理包括但不限于图像处理、语音处理,本申请均不作限定。
需要说明的是,目标离散函数为将目标原函数进行离散化后得到的。由于专用功能单元内部一般采用定点数对浮点数进行近似计算,因此,可以将目标原函数进行均匀采样,如使其离散化为N个数据点,其中N=2
n+1(n=1,2,3,...)。于本申请实施例中,n可以取10,相应的,N=2
10+1=1025,其中,加1是因为包含零点。
对于目标原函数的离散化处理可以由电子设备执行,即,在步骤S101之前,该方法还包括:获取目标原函数,对目标原函数进行离散化,生成目标离散函数。
当然,在其他实施例中,目标原函数的离散化处理也可以由其他电子设备执行,而本申请实施例提供的电子设备仅用于接收离散化处理后的目标离散函数。
上述的目标原函数主要被用于任务处理中,比如,当目标原函数用于图像处理时,可以是光电转换函数以及电光转换函数中的任意一种。比如,目标原函数可以是,但不限于gamma函数、degamma函数,本申请不作限定。
为了便于理解,本申请实施例中以目标原函数为gamma函数进行说明。
gamma函数的数学表达式请参考公式(1):
gamma函数的曲线可以参考图3,图3中,curve表示曲线,横轴作为x轴,表示输入(input),纵轴作为y轴,表示输出(output)。
离散后的gamma函数(即目标离散函数)的表达式请参考公式(2):
离散化后的gamma函数(即目标离散函数)的曲线可以参考图4,图4中,Discretization of curve表示离散后的曲线,gamma函数曲线被离散化为1025个离散点,在x=0附近可以较为明显的看出。
步骤S102:对目标离散函数进行处理,得到目标离散函数的一阶导数。
需要说明的是,曲线的斜率变化越大的地方,需要越多的分段点,而一阶导数可以表示函数的变化率,因此,本申请实施例中,对目标离散函数进行求导处理,进而得到目标离散函数的一阶导数。
对于目标离散函数的一阶导数,可以采用如下公式(3)计算得到:
示例性,离散化后的gamma函数的一阶导数可以参考图5的示例。
步骤S103:基于一阶导数及预设分段数,确定目标离散函数的分段点的坐标。
其中,预设分段数可以根据实际情况进行配置,比如预设分段数可以为8、10,本申请不作限定。
预设分段数用于对一阶导数进行分段,在一阶导数分段后,即可确定出一阶导数的分段点的坐标,而一阶导数的分段点与目标离散函数的分段点相同。
步骤S104:基于目标离散函数的分段点的坐标构建LUT。
最后,基于目标离散函数的分段点的坐标即可构建LUT,于本申请实施例中,LUT可以仅包括每个目标离散函数的分段点的坐标。
在其他实施例中,LUT还可以采用如表一的形式构建。
表一
在表一中,Count表示分段的个数,Steps表示每一个分段区间中采样点的间隔,Points表示目标离散函数的分段点在x轴上的坐标。
Count可以通过目标离散函数的分段点的数量确定,比如目标离散函数的分段点的数量为3,则Count为3。由于当前分段区间并不包含采样点,因此,Steps即为相邻两个分段点之间的距离,比如第三个分段区间的间隔=4096-2048=2048。
其中,表一对应的函数可以参考图6。在图6中,Point1=1024、Point2=2048、Point3=4096。目标原函数被分为了三段,即Count=3,三段分段区间分别为segment1、segment2和segment3。
此外,需要说明的是,LUT中还包括每个分段点在y轴上的坐标,其可以通过分段点在x轴上的坐标的映射关系确定出,本申请不作限定。
其中,LUT可以用于被配置于专用功能单元,以使专用功能单元基于LUT进行任务处理,即,目标离散函数通过LUT的形式被配置于专用功能单元中。
具体的,本申请实施例提供自适应建表方法生成的LUT可以适用于任意的单调曲线的拟合,如,该方法应用于HDR模块,对此,本申请不作限定。
示例性的,LUTA对应的函数用于对图像的像素值进行调整,则当LUTA被配置在专用功能单元后,专用功能单元在接收到一帧图像后,可以通过LUTA确定出每个像素点的调整值,将像素点A的灰度值作为LUT对应的函数的输入,然后,通过插值计算出函数的输出。函数的输出即为像素点A对应的调整值。
可见,在本申请实施例中,通过对目标离散函数进行处理,得到目标离散函数的一阶导数;然后基于一阶导数及预设分段数,确定目标离散函数的分段点的坐标;最后基于目标离散函数 的分段点的坐标构建LUT;通过该方式能够自动地基于目标离散函数来生成LUT,进而提高效率,同时,基于目标离散函数的一阶导数来确定出目标离散函数的分段点能够提高LUT的精度。
一实施例中,上述步骤S103基于一阶导数及预设分段数,确定目标离散函数的分段点的坐标,可以具体包括:基于预设分段数对一阶导数的y轴进行均匀分段;基于一阶导数的分段点的坐标,确定目标离散函数的分段点的坐标。
其中,一阶导数的分段点的坐标为目标离散函数的分段点的坐标;一阶导数的分段点的坐标为基于预设分段数对一阶导数的反函数的x轴进行均匀分段得到。即,在基于预设分段数对一阶导数的y轴进行均匀分段之前,需要先对目标离散函数的一阶导数进行处理,进而得到目标离散函数的一阶导数的反函数。以目标离散函数为离散后的gamma函数为例,则目标离散函数的一阶导数的反函数可以参考图7所示。
相应的,在步骤S102中,可以同时求得目标离散函数的一阶导数以及目标离散函数的一阶导数的反函数,本申请不作限定。
需要说明的是,本申请实施例中,需要对一阶导数的y轴进行均匀分段,然后得到映射的x轴的分段点,由于此时是以y轴作为的输入,因此,为了便于计算,借助一阶导数的反函数来实现,即,对一阶导函数的反函数x轴进行均匀分段,以分段点作为输入,通过线性插值得到y轴的值,进而得到一阶导数在x轴的分段点。基于预设分段数对一阶导数的y轴进行均匀分段的函数曲线可以参考图8。图8中,虚线对应的即为分段点。
可见,在本申请实施例中,通过计算得到一阶导数的反函数,以便于准确且便捷地得到y轴上均匀分段的各点的坐标,进而映射得到x轴上的分段点。
当然,在其他实施例中,也可以直接基于一阶导数进行y轴的均匀分段,本申请不作限定。
如图8所示,均匀分段后的分段点(x轴的值)并未没有完全落入到N个数据点上,因此,为了减少后续计算,提高效率,一实施例中,上述步骤基于一阶导数的分段点的坐标,确定目标离散函数的分段点的坐标,可以具体包括:将一阶导数的分段点移动至一阶导数的数据点上,得到一阶导数的目标分段点的坐标。
示例性的,可以将一阶导数的分段点依次移动至与一阶导数的右侧最接近的数据点上,得到一阶导数的目标分段点的坐标。
需要说明的是,一阶导数的目标分段点的顺序与一阶导数的分段点的顺序相同,比如,一阶导数的分段点包括Point1、Point2和Point3;其中,Point1<Point2<Point3,则在上述移动之后,一阶导数的目标分段点Point1、Point2和Point3的大小关系仍为:Point1<Point2<Point3。
上述一阶导数的目标分段点的坐标为目标离散函数的分段点的坐标。
可选地,上述将一阶导数的分段点移动至一阶导数的数据点上,得到一阶导数的目标分段点,可以具体包括:判断一阶导数的分段点是否在数据点上;若是,则将一阶导数的分段点确定为一阶导数的目标分段点;若否,则将一阶导数的分段点移动至一阶导数的数据点上,得到一阶导数的目标分段点。
即,当一阶导数的分段点落在数据点上,则直接将其作为目标分段点,当一阶导数的分段点未落在数据点上,则可以将其移动至右侧最接近的数据点上,进而得到一阶导数的目标分段点。
一实施例中,在将一阶导数的分段点移动至一阶导数的数据点上,得到一阶导数的目标分段点之后,该方法还包括:对该目标分段点右侧的一阶导数的y轴进行均匀分段,形成新的分段点,并将新的分段点确定为一阶导数的分段点;其中,均匀分段的段数为预设分段数减m;m等于分段次数减1。
示例性的,假设预设分段数(Count)为8,先对一阶导数的第一个分段点是否落在N个数据点上,如果是,则采用该分段点,即,将第一个分段点确定为第一个目标分段点,并继续确定第二个分段点是否落在N个数据点上。
而若第一个分段点未落在N个数据点上,则将该分段点移动至右侧最近的一个数据点上,此时,该数据点确定为第一个目标分段点,同时,将第一个目标分段右侧的一阶导数的y轴进行均匀分段,分段数为当前的分段数为Count-1=7段,即,由于当前分段次数为2,则m=2-1=1。
在分段之后,判断分段之后的第一个分段点是否落在N个数据点上。需要说明的是,此时分段之后的第一个分段点为第一次分段时的第二个分段点。重复上述分段以及判断的步骤,每次重复一次,分段数减1,直至Count=0,然后输出所有目标分段点的坐标。如图9所示,所有的分段点均落入到数据点上,同时该方式也相对实现了对一阶导数y轴的均匀分段。
可选地,上述步骤S103基于一阶导数及预设分段数,确定目标离散函数的分段点的坐标还可以具体包括:基于一阶导数及预设分段数,确定一阶导数的初始分段点的坐标;判断一阶导数中相邻的两个初始分段点的坐标之间的差值是否满足2
n;若不满足,则在相邻的两个初始分段点中插入新的分段点,以使插入新的分段点后,任意相邻的两个分段点的坐标之间的差值满足2
n;确定出目标离散函数的分段点的坐标;其中,目标离散函数的分段点包括一阶导数的初始分段点以及一阶导数上新的分段点。
具体的,首先保存第一个分段点adjPoint,然后计算相邻下一个分段点和当前分段点之间的间隔,记为tempGap。
然后,判断该间隔tempGap是否满足2
n,如果是则跳过,否则寻找小于它且最接近2
n的满足的数,然后用下一个分段点减去寻找到的满足2
n的数,将差值保存到adjPoint,并用tempGap对该数取余。对余数继续判断其是否满足,即,重复上述步骤,直至tempGap满足2
n。最后,对保存的所有adjPoint从小到大排序。
示例性的:比如第一个分段点是64,先保存到adjPoint,第二个分段点是3776,继续保存到adjPoint,两个Point之间的间隔tempGap为3712,该3712不满足2
n,因此,需要找到小于它的且最接近的满足2
n的数,也就是2048(2
11),然后,用3776-2048=1728(保存1728到adjPoint),再用3712%2048=1664(符号“%”表示求余)。1664还是不满足2
n,那继续寻找到1024(2
10),1728-1024=704(保存到adjPoint),1664%1024=640,还是不满足2
n,继续寻找到512(2
9),704-512=192(保存到adjPoint),640%512=128,128满足2
n,则结束。最后对保存的adjPoint从小到大排序。即可得到adjPoints=[64,192,704,1728,3776]。此处,坐标192,704,1728为新的分段点的坐标。再基于确定出新的分段点,即可确定出新增的分段区间的间隔。即,adjSteps=[64,128,512,1024,2048],可见,新增分段点之后,任意两个分段点之间的坐标差值均满足2
n。
重述上述步骤,直至遍历完所有的分段点。最后,即可得到所有的新的分段点,然后将新的分段点与初始分段点结合,即可确定出目标离散函数的分段点的坐标,通过该方式可以避免后续插值时进行除法运算。
最后,将得到的目标离散函数的分段点应用到gamma函数上,可以得到如图10所示出的效果。从图10可以看出,gamma函数曲线划分为了较为理想的间隔,斜率变化较大的地方(曲线前侧)分布较多的采样点,而斜率变化较小的地方(曲线后侧)则相反。
可选地,在上述确定出目标离散函数的分段点的坐标之后,该方法还包括:步骤S11-步骤S14。
步骤S11:确定目标离散函数与基于分段点进行插值计算得到的最大误差对应的x轴坐标。
需要说明的是,步骤S11相当于是将目标离散函数的所有参数与分段点进行插值计算得到的所有参数进行对比,然后确定出最大误差对应的x轴坐标。
步骤S12:在最大误差对应的x轴坐标所在分段区间增加采样点;其中,采样点用于将该分段区间的间隔除以2。
其中,分段区间的端点为相邻的两个分段点;分段区间的间隔表示该分段区间中相邻的两个采样点之间的距离;分段点也作为采样点,初始时,分段区间的间隔表示分段区间的两个分段点之间的距离。
示例性的,最大误差对应的x轴坐标位于第一分段点与第二分段点之间,第一分段点的x轴坐标为1024,第二分段点的x轴坐标为2048,若第一分段点与第二分段点之间没有采样点,则第一分段点与第二分段点之间的间隔为2048-1024=1024,此时增加一个采样点,可以将该分段区间的间隔除以2。新增的一个采样的x轴的坐标为1536。
而若第一分段点与第二分段点之间有一个采样点,则第一分段点与第二分段点之间的间隔为512,此时增加两个采样点,可以将该分段区间的间隔除以2。新增的两个采样点的x轴的坐标分别为1280和1792。
步骤S13:确定目标离散函数与基于分段点和采样点进行插值计算得到的最大误差对应的x轴坐标。
步骤S13中增加采样点进行插值计算。
步骤S14:在最大误差对应的x轴坐标所在分段区间增加采样点;其中,采样点用于将该分段区间的间隔除以2。
需要说明的是,步骤S14与步骤S12的实现过程相同,此处不作赘述。
一实施例中,上述步骤还可以继续包括:判断采样点的个数是否到达预设个数;若否,则继续确定所述目标离散函数与基于分段点和采样点进行插值计算得到的最大误差对应的x轴坐标;在最大误差对应的x轴坐标所在分段区间增加采样点;其中,采样点用于将该分段区间的间隔除以2。
需要说明的是,预设个数为设定最大需要的采样点数MaxEntry,预设个数的数值可以根据实际情况设定,比如预设个数可以为20、30、50,本申请不作限定。而若采样点的个数达到预设个数,则停止继续插点。
可见,通过上述二次插点的方式,可以在不增加分段点的同时,提高后续生成的LUT的精度。
在执行上述二次插点的步骤之后,相应的,基于目标离散函数的分段点的坐标构建LUT,包括:基于目标离散函数的分段点的坐标,以及每个分段区间的间隔构建LUT。
需要说明的是,基于目标离散函数的分段点的坐标,以及每个分段区间的间隔构建的LUT可以参考表一,本申请不作重复说明。
可选地,上述基于目标离散函数的分段点的坐标,以及每个分段区间的间隔构建所述LUT,可以具体包括:判断相邻的两个分段区间的间隔是否相等;若相等,则将相邻的两个分段区间之间的分段点删除;基于目标离散函数的剩余分段点的坐标,以及剩余的每个分段区间的间隔构建LUT。
由于经过二次插点后会存在很多相邻且值相同的间隔,此时,需要对其进行过滤以节约寄存器资源,具体的策略为:从前往后依次判断两个分段区间的间隔是否相等,如果相等,若相等,则将相邻的两个分段区间之间的分段点删除,并令分段数Count-1。
示例性,假设经过二次插点后,第一个分段区间和第二个分段区间的间隔均为64,则此时,可以仅第一个分段区间和第二个分段区间合并,即,去掉第一个分段区间和第二个分段区间之间的分段点。通过该方式,可以减少分段点的数量,节约寄存器资源。
请参阅图11,图11为本申请实施例提供的自适应建表方法的完成过程示意图。首先,获取目标原函数和预设分段数,然后,将目标原函数进行离散化处理,再求得一阶导数和一阶导数的反函数,然后,基于一阶导数和一阶导数的反函数确定出分段点,再基于数据点的位置调整分段点,然后,再进行二次插点,最后,再过滤掉相同的间隔,进而输出最优的分段点和间隔。
请参阅图12,基于同一发明构思,本申请实施例还提供一种自适应建表装置200,该装置包括:
获取模块210,用于获取获取被配置于专用功能单元中进行任务处理的目标离散函数。
处理模块220,用于对所述目标离散函数进行处理,得到所述目标离散函数的一阶导数。
确定模块230,用于基于所述一阶导数及预设分段数,确定所述目标离散函数的分段点的坐标。
构建模块240,用于基于所述目标离散函数的分段点的坐标构建LUT。
可选地,所述确定模块230具体用于基于所述预设分段数对所述一阶导数的y轴进行均匀分段;基于所述一阶导数的分段点的坐标,确定所述目标离散函数的分段点的坐标;其中,所述一阶导数的分段点的坐标为所述目标离散函数的分段点的坐标;所述一阶导数的分段点的坐标为基于所述预设分段数对所述一阶导数的反函数的x轴进行均匀分段得到。
可选地,所述目标离散函数包括离散化的N个数据点;所述确定模块230还具体用于将所述一阶导数的分段点移动至所述一阶导数的数据点上,得到所述一阶导数的目标分段点;其中,所述一阶导数的目标分段点的顺序与所述一阶导数的分段点的顺序相同;所述一阶导数的目标分段点的坐标为所述目标离散函数的分段点的坐标。
结合上述第二方面提供的技术方案,在一些可能的实现方式中,所述确定模块230还具体用于判断所述一阶导数的分段点是否在所述数据点上;若是,则将所述一阶导数的分段点确定为所述一阶导数的目标分段点;若否,则将所述一阶导数的分段点移动至所述一阶导数的数据点上,得到所述一阶导数的目标分段点。
可选地,所述确定模块230还用于在所述将所述一阶导数的分段点移动至所述一阶导数的数据点上,得到所述一阶导数的目标分段点之后,对该目标分段点右侧的一阶导数的y轴进行均匀分段,形成新的分段点,并将所述新的分段点确定为所述一阶导数的分段点;其中,均匀分段的段数为预设分段数减m;m等于分段次数减1。
可选地,所述确定模块230还用于基于所述一阶导数及所述预设分段数,确定所述一阶导数的初始分段点的坐标;判断所述一阶导数中相邻的两个初始分段点的坐标之间的差值是否满足2
n;若不满足,则在所述相邻的两个初始分段点中插入新的分段点,以使插入所述新的分段点后,任意相邻的两个分段点的坐标之间的差值满足2
n;确定出所述目标离散函数的分段点的坐标;其中,所述目标离散函数的分段点包括所述一阶导数的初始分段点以及所述一阶导数上新的分段点。
可选地,所述装置还包括:二次插点模块,所述二次插点模块,用于在所述确定出所述目标离散函数的分段点的坐标之后,确定所述目标离散函数与基于所述分段点进行插值计算得到的最大误差对应的x轴坐标;在所述最大误差对应的x轴坐标所在分段区间增加采样点;其中,所述采样点用于将该分段区间的间隔除以2;其中,所述分段区间的端点为相邻的两个分段点;所述分段区间的间隔表示该分段区间中相邻的两个采样点之间的距离;初始时,所述分段区间的间隔表示所述分段区间的两个分段点之间的距离;确定所述目标离散函数与基于所述分段点和所述采样点进行插值计算得到的最大误差对应的x轴坐标;在所述最大误差对应的x轴坐标所在分段区间增加采样点;其中,所述采样点用于将该分段区间的间隔除以2。
可选地,所述二次插点模块还用于判断所述采样点的个数是否到达预设个数;若否,则继续确定所述目标离散函数与基于所述分段点和所述采样点进行插值计算得到的最大误差对应的x轴坐标;在所述最大误差对应的x轴坐标所在分段区间增加采样点;其中,所述采样点用于将该分段区间的间隔除以2。
可选地,所述构建模块240还用于基于所述目标离散函数的分段点的坐标,以及每个所述分段区间的间隔构建所述LUT。
可选地,所述构建模块240还用于判断相邻的两个分段区间的间隔是否相等;若相等,则 将所述相邻的两个分段区间之间的分段点删除;基于所述目标离散函数的剩余分段点的坐标,以及剩余的每个分段区间的间隔构建所述LUT。
需要说明的是,由于所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
基于同一发明构思,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被运行时执行上述实施例中提供的方法。
该存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (22)
- 一种自适应建表方法,其特征在于,包括:获取被配置于专用功能单元中进行任务处理的目标离散函数;对所述目标离散函数进行处理,得到所述目标离散函数的一阶导数;基于所述一阶导数及预设分段数,确定所述目标离散函数的分段点的坐标;基于所述目标离散函数的分段点的坐标构建LUT。
- 根据权利要求1所述的方法,其特征在于,所述基于所述一阶导数及预设分段数,确定所述目标离散函数的分段点的坐标,包括:基于所述预设分段数对所述一阶导数的y轴进行均匀分段;基于所述一阶导数的分段点的坐标,确定所述目标离散函数的分段点的坐标;其中,所述一阶导数的分段点的坐标为所述目标离散函数的分段点的坐标;所述一阶导数的分段点的坐标为基于所述预设分段数对所述一阶导数的反函数的x轴进行均匀分段得到。
- 根据权利要求2所述的方法,其特征在于,所述目标离散函数包括离散化的N个数据点;所述基于所述一阶导数的分段点的坐标,确定所述目标离散函数的分段点的坐标,包括:将所述一阶导数的分段点移动至所述一阶导数的数据点上,得到所述一阶导数的目标分段点;其中,所述一阶导数的目标分段点的顺序与所述一阶导数的分段点的顺序相同;所述一阶导数的目标分段点的坐标为所述目标离散函数的分段点的坐标。
- 根据权利要求3所述的方法,其特征在于,所述将所述一阶导数的分段点移动至所述一阶导数的数据点上,得到所述一阶导数的目标分段点,包括:判断所述一阶导数的分段点是否在所述数据点上;若是,则将所述一阶导数的分段点确定为所述一阶导数的目标分段点;若否,则将所述一阶导数的分段点移动至所述一阶导数的数据点上,得到所述一阶导数的目标分段点。
- 根据权利要求4所述的方法,其特征在于,在所述将所述一阶导数的分段点移动至所述一阶导数的数据点上,得到所述一阶导数的目标分段点之后,所述方法还包括:对该目标分段点右侧的一阶导数的y轴进行均匀分段,形成新的分段点,并将所述新的分段点确定为所述一阶导数的分段点;其中,均匀分段的段数为预设分段数减m;m等于分段次数减1。
- 根据权利要求1所述的方法,其特征在于,所述基于所述一阶导数及预设分段数,确定所述目标离散函数的分段点的坐标,包括:基于所述一阶导数及所述预设分段数,确定所述一阶导数的初始分段点的坐标;判断所述一阶导数中相邻的两个初始分段点的坐标之间的差值是否满足2 n;若不满足,则在所述相邻的两个初始分段点中插入新的分段点,以使插入所述新的分段点后,任意相邻的两个分段点的坐标之间的差值满足2 n;确定出所述目标离散函数的分段点的坐标;其中,所述目标离散函数的分段点包括所述一阶导数的初始分段点以及所述一阶导数上新的分段点。
- 根据权利要求6所述的方法,其特征在于,在所述确定出所述目标离散函数的分段点的坐标之后,所述方法还包括:确定所述目标离散函数与基于所述分段点进行插值计算得到的最大误差对应的x轴坐标;在所述最大误差对应的x轴坐标所在分段区间增加采样点;其中,所述采样点用于将该分段区间的间隔除以2;其中,所述分段区间的端点为相邻的两个分段点;所述分段区间的间隔表示该分段区间中相邻的两个采样点之间的距离;初始时,所述分段区间的间隔表示所述分段区间的两个分段点之间的距离;确定所述目标离散函数与基于所述分段点和所述采样点进行插值计算得到的最大误差对应的x轴坐标;在所述最大误差对应的x轴坐标所在分段区间增加采样点;其中,所述采样点用于将该分段区间的间隔除以2。
- 根据权利要求7所述的方法,其特征在于,所述方法还包括:判断所述采样点的个数是否到达预设个数;若否,则继续确定所述目标离散函数与基于所述分段点和所述采样点进行插值计算得到的最大误差对应的x轴坐标;在所述最大误差对应的x轴坐标所在分段区间增加采样点;其中,所述采样点用于将该分段区间的间隔除以2。
- 根据权利要求7所述的方法,其特征在于,所述基于所述目标离散函数的分段点的坐标构建LUT,包括:基于所述目标离散函数的分段点的坐标,以及每个所述分段区间的间隔构建所述LUT。
- 根据权利要求9所述的方法,其特征在于,所述基于所述目标离散函数的分段点的坐标,以及每个所述分段区间的间隔构建所述LUT,包括:判断相邻的两个分段区间的间隔是否相等;若相等,则将所述相邻的两个分段区间之间的分段点删除;基于所述目标离散函数的剩余分段点的坐标,以及剩余的每个分段区间的间隔构建所述LUT。
- 一种自适应建表装置,其特征在于,包括:获取模块,用于获取被配置于专用功能单元中进行任务处理的目标离散函数;处理模块,用于对所述目标离散函数进行处理,得到所述目标离散函数的一阶导数;确定模块,用于基于所述一阶导数及预设分段数,确定所述目标离散函数的分段点的坐标;构建模块,用于基于所述目标离散函数的分段点的坐标构建LUT。
- 根据权利要求11所述的装置,其特征在于,所述确定模块具体用于基于所述预设分段数对所述一阶导数的y轴进行均匀分段;基于所述一阶导数的分段点的坐标,确定所述目标离散函数的分段点的坐标;其中,所述一阶导数的分段点的坐标为所述目标离散函数的分段点的坐标;所述一阶导数的分段点的坐标为基于所述预设分段数对所述一阶导数的反函数的x轴进行均匀分段得到。
- 根据权利要求12所述的装置,其特征在于,所述目标离散函数包括离散化的N个数据点;所述确定模块还具体用于将所述一阶导数的分段点移动至所述一阶导数的数据点上,得到所述一阶导数的目标分段点;其中,所述一阶导数的目标分段点的顺序与所述一阶导数的分段点的顺序相同;所述一阶导数的目标分段点的坐标为所述目标离散函数的分段点的坐标。
- 根据权利要求13所述的装置,其特征在于,所述确定模块还具体用于判断所述一阶导数的分段点是否在所述数据点上;若是,则将所述一阶导数的分段点确定为所述一阶导数的目标分段点;若否,则将所述一阶导数的分段点移动至所述一阶导数的数据点上,得到所述一阶导数的目标分段点。
- 根据权利要求14所述的装置,其特征在于,所述确定模块还用于在所述将所述一阶导数的分段点移动至所述一阶导数的数据点上,得到所述一阶导数的目标分段点之后,对该目标分段点右侧的一阶导数的y轴进行均匀分段,形成新的分段点,并将所述新的分段点确定为所述一阶导数的分段点;其中,均匀分段的段数为预设分段数减m;m等于分段次数减1。
- 根据权利要求11所述的装置,其特征在于,所述确定模块还用于基于所述一阶导数及所述预设分段数,确定所述一阶导数的初始分段点的坐标;判断所述一阶导数中相邻的两个初始分段点的坐标之间的差值是否满足2 n;若不满足,则在所述相邻的两个初始分段点中插入新的分段点,以使插入所述新的分段点后,任意相邻的两个分段点的坐标之间的差值满足2 n;确定出所述目标离散函数的分段点的坐标;其中,所述目标离散函数的分段点包括所述一阶导数的初始分段点以及所述一阶导数上新的分段点。
- 根据权利要求16所述的装置,其特征在于,所述装置还包括:二次插点模块,所述二次插点模块,用于在所述确定出所述目标离散函数的分段点的坐标之后,确定所述目标离散函数与基于所述分段点进行插值计算得到的最大误差对应的x轴坐标;在所述最大误差对应的x轴坐标所在分段区间增加采样点;其中,所述采样点用于将该分段区间的间隔除以2;其中,所述分段区间的端点为相邻的两个分段点;所述分段区间的间隔表示该分段区间中相邻的两个采样点之间的距离;初始时,所述分段区间的间隔表示所述分段区间的两个分段点之间的距离;确定所述目标离散函数与基于所述分段点和所述采样点进行插值计算得到的最大误差对应的x轴坐标;在所述最大误差对应的x轴坐标所在分段区间增加采样点;其中,所述采样点用于将该分段区间的间隔除以2。
- 根据权利要求17所述的装置,其特征在于,所述二次插点模块还用于判断所述采样点的个数是否到达预设个数;若否,则继续确定所述目标离散函数与基于所述分段点和所述采样点进行插值计算得到的最大误差对应的x轴坐标;在所述最大误差对应的x轴坐标所在分段区间增加采样 点;其中,所述采样点用于将该分段区间的间隔除以2。
- 根据权利要求17所述的装置,其特征在于,所述构建模块还用于基于所述目标离散函数的分段点的坐标,以及每个所述分段区间的间隔构建所述LUT。
- 根据权利要求19所述的装置,其特征在于,所述构建模块还用于判断相邻的两个分段区间的间隔是否相等;若相等,则将所述相邻的两个分段区间之间的分段点删除;基于所述目标离散函数的剩余分段点的坐标,以及剩余的每个分段区间的间隔构建所述LUT。
- 一种电子设备,其特征在于,包括:处理器和存储器,所述处理器和所述存储器连接;所述存储器用于存储程序;所述处理器用于运行存储在所述存储器中的程序,执行如权利要求1-10中任一项所述的方法。
- 一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序在被计算机运行时执行如权利要求1-10中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/116254 WO2024045060A1 (zh) | 2022-08-31 | 2022-08-31 | 一种自适应建表方法、装置,电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117999550A true CN117999550A (zh) | 2024-05-07 |
Family
ID=90099916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280003646.8A Pending CN117999550A (zh) | 2022-08-31 | 2022-08-31 | 一种自适应建表方法、装置,电子设备及存储介质 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP4357932A4 (zh) |
KR (1) | KR20240032726A (zh) |
CN (1) | CN117999550A (zh) |
WO (1) | WO2024045060A1 (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102413268B (zh) * | 2011-11-10 | 2013-09-11 | 武汉大学 | 一种基于人类视觉特性的图像亮度调整方法 |
CN103440656B (zh) * | 2013-08-27 | 2016-10-05 | 华南理工大学 | 一种基于泰勒级数拟合建立查找表的图像伽马校正方法 |
KR102207464B1 (ko) * | 2013-12-30 | 2021-01-27 | 삼성디스플레이 주식회사 | 표시 장치 및 그 구동 방법 |
TWI549106B (zh) * | 2014-09-30 | 2016-09-11 | 宏碁股份有限公司 | 影像顯示方法及電子裝置 |
CN113407788B (zh) * | 2021-06-30 | 2023-10-27 | 上海思朗科技有限公司 | 一种数据处理方法、装置和系统 |
CN114390157A (zh) * | 2021-12-31 | 2022-04-22 | 上海宇思微电子有限公司 | 一种Gamma校正的方法及系统 |
CN114357375A (zh) * | 2021-12-31 | 2022-04-15 | 深圳大普微电子科技有限公司 | 一种数据查询方法、系统、设备及计算机可读存储介质 |
-
2022
- 2022-08-31 KR KR1020237042130A patent/KR20240032726A/ko unknown
- 2022-08-31 WO PCT/CN2022/116254 patent/WO2024045060A1/zh active Application Filing
- 2022-08-31 CN CN202280003646.8A patent/CN117999550A/zh active Pending
- 2022-08-31 EP EP22930172.6A patent/EP4357932A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4357932A1 (en) | 2024-04-24 |
KR20240032726A (ko) | 2024-03-12 |
EP4357932A4 (en) | 2024-05-29 |
WO2024045060A1 (zh) | 2024-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112306301B (zh) | 触控数据的处理方法、装置、设备及存储介质 | |
CN110688088A (zh) | 一种面向神经网络的通用非线性激活函数计算装置和方法 | |
CN112967207B (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
CN110620586B (zh) | 数据压缩方法、装置和终端设备 | |
CN112734494A (zh) | 一种销量预测方法、装置、终端设备及可读存储介质 | |
CN110288625B (zh) | 用于处理图像的方法和装置 | |
CN111340735A (zh) | 一种led屏体校正方法、装置及终端 | |
US20140092116A1 (en) | Wide dynamic range display | |
CN114972113A (zh) | 图像处理方法、装置、电子设备及可读存储介质 | |
CN113190429B (zh) | 服务器性能预测方法、装置及终端设备 | |
WO2021073638A1 (zh) | 运行神经网络模型的方法、装置和计算机设备 | |
CN113642710A (zh) | 一种网络模型的量化方法、装置、设备和存储介质 | |
CN117999550A (zh) | 一种自适应建表方法、装置,电子设备及存储介质 | |
CN109640084B (zh) | 视频流降噪方法、装置及存储介质 | |
CN109087257B (zh) | 一种基于参数估计框架的空域增量图像滤波方法 | |
CN112967208B (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
CN115760578A (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
CN115097196A (zh) | 一种数字化弧焊电源的输出电压采集方法和模数转换电路 | |
CN115438007A (zh) | 一种文件合并方法、装置、电子设备及介质 | |
CN112328963A (zh) | 信号的有效值计算方法、装置 | |
CN111815535A (zh) | 图像处理方法、装置、电子设备和计算机可读介质 | |
CN112053300B (zh) | 一种光照不均匀图像的矫正方法、装置和设备 | |
CN114546852B (zh) | 一种性能测试方法、装置、电子设备和存储介质 | |
CN113574862B (zh) | 图像处理装置、方法、显示装置和计算机可读存储介质 | |
CN117495653A (zh) | 一种直方图统计方法、装置、电子设备及存储介质 |
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 |