Self-adaptive table creation method, device, electronic device, and storage medium

By obtaining the derivative of the target discrete function, automatically determining the coordinates of segmented points, and generating a lookup table, the problems of low efficiency and low accuracy in the existing technology are solved, and efficient and high-precision generation of lookup tables are achieved.

JP7628622B2Active Publication Date: 2025-02-10VERISILICON MICROELECTRONICS (SHANGHAI) CO LTD +1
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2023550080
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-08-31
Publication Date
2025-02-10
Estimated Expiration
2042-08-31

AI Technical Summary

Technical Problem

In the prior art, the search table (LUT) generation efficiency is low and the accuracy is not high, mainly due to manual observation and manual setting of sampling points, resulting in long and inaccurate calculation time.

Method used

By obtaining the derivative of the target discrete function, determining the point coordinates based on the derivative and segment number, automatically generating a lookup table to improve efficiency and increase accuracy.

Benefits of technology

It realizes efficient generation and high accuracy of lookup tables, reduces calculation time and improves the accuracy of segmented points.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007628622000005
    Figure 0007628622000005
  • Figure 0007628622000006
    Figure 0007628622000006
  • Figure 0007628622000007
    Figure 0007628622000007
Patent Text Reader

Abstract

This application provides a self-adaptive table creation method, device, electronic device and storage medium. The method includes the steps of obtaining a target discrete function that is arranged on a dedicated functional unit to perform task processing, performing processing on the target discrete function to obtain the first derivative of the target discrete function, determining the coordinates of the division points of the target discrete function according to the first derivative and a predetermined number of segment divisions, and creating an LUT according to the coordinates of the division points of the target discrete function. According to this method, the LUT can be automatically generated according to the target discrete function, thereby improving efficiency, and the division points of the target discrete function can be determined according to the first derivative of the target discrete function, thereby improving the accuracy of the LUT.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present application relates to the technical field of chip design, and specifically to a self-adaptive table creating method, device, electronic device and storage medium. [Background technology]

[0002] In the HDR (High Dynamic Range Imaging) module of the image processing chip, the image value of the image is adjusted using a conversion curve, for example, the image value of the image is adjusted according to the optical-electro transfer function (OETF) and electro-optical transfer function (EOTF) curves. However, in the image processing chip, an LUT (Look Up Table) is generally used to perform an interpolation calculation for any point on the curve.

[0003] In order to define the LUT using a small amount of register resources and reduce the time complexity of the lookup table algorithm, the distribution of the LUT is defined using three parameters: Count, Steps, and Points. Count represents the number of segments divided into the curve, Steps represents the interval between sampling points in each segment, and Points represents the x-axis coordinates of the division points of different segments.

[0004] Currently, the creation of LUTs is generally done by manually observing the curves and manually setting the sampling points, and then placing the created LUT in a dedicated functional unit (such as the image processing chip mentioned above). This method is inefficient, and the accuracy of the LUTs generated by human observation is low. Summary of the Invention

[0005] An object of the embodiments of the present application is to provide a self-adaptive table creation method, device, electronic device, and storage medium that can improve the efficiency and accuracy of creating an LUT.

[0006] The present application is realized as follows.

[0007] In a first aspect, an embodiment of the present application provides a self-adaptive table creation method, the method includes the steps of: obtaining a target discrete function that is allocated to a dedicated functional unit to perform task processing; performing processing on the target discrete function to obtain a first derivative of the target discrete function; determining coordinates of division points of the target discrete function according to the first derivative and a predetermined number of segment divisions; and creating an LUT according to the coordinates of the division points of the target discrete function.

[0008] In the embodiment of the present application, the first derivative of the target discrete function is obtained by processing the target discrete function, and the coordinates of the division points of the target discrete function are determined according to the first derivative and a predetermined number of segments, and finally, the LUT is created according to the coordinates of the division points of the target discrete function. According to this method, the LUT can be automatically generated according to the target discrete function, thereby improving efficiency, and the division points of the target discrete function are determined according to the first derivative of the target discrete function, thereby improving the accuracy of the LUT.

[0009] In some possible embodiments of the technical solution according to the above first aspect, the step of determining the coordinates of the division points of the target discrete function based on the first derivative and a predetermined number of segment divisions includes: performing equal division on a y-axis of the first derivative based on the predetermined number of segment divisions; and determining the coordinates of the division points of the target discrete function based on the coordinates of the division points of the first derivative, wherein the coordinates of the division points of the first derivative are the coordinates of the division points of the target discrete function, and the coordinates of the division points of the first derivative are obtained by performing equal division on an x-axis of an inverse function of the first derivative based on the predetermined number of segment divisions.

[0010] In the embodiment of the present application, the coordinates of each point that divides equally on the y-axis are obtained accurately and easily by calculating the inverse of the first derivative, and the division points on the x-axis are obtained by mapping.

[0011] In some possible embodiments of the technical solution according to the above first aspect, the target discrete function includes N data points of discretization, and the step of determining the coordinates of the division points of the target discrete function based on the coordinates of the division points of the first derivative includes the step of moving the division points of the first derivative to the data points of the first derivative to obtain the target division points of the first derivative, wherein the order of the target division points of the first derivative and the order of the division points of the first derivative are the same, and the coordinates of the target division points of the first derivative are the coordinates of the division points of the target discrete function.

[0012] In the embodiment of the present application, the division points of the first derivative are moved to the data points of the first derivative to obtain the coordinates of the target division points of the first derivative, thereby reducing subsequent calculations and improving efficiency.

[0013] In some possible embodiments of the technical solution according to the above first aspect, the step of sequentially moving the division points of the first derivative to the data points of the first derivative to obtain the target division points of the first derivative includes the steps of: determining whether the division points of the first derivative match the data points; if the result is Yes, determining the division points of the first derivative as the target division points of the first derivative; if the result is No, moving the division points of the first derivative to the data points of the first derivative to obtain the target division points of the first derivative.

[0014] In some possible implementations of the technical solution according to the above first aspect, after the step of moving the division point of the first derivative to the data point of the first derivative to obtain a target division point of the first derivative, the method further includes the step of performing an equal division on a y-axis of the first derivative on the right side of the target division point to form a new division point, and setting the new division point as the division point of the first derivative, where the number of segments of the equal division is the predetermined segment division number minus m, where m is the division number minus 1.

[0015] In some possible embodiments of the technical solution according to the first aspect, the step of determining the coordinates of the division points of the target discrete function based on the first derivative and a predetermined number of segment divisions includes the steps of determining the coordinates of the initial division points of the first derivative based on the first derivative and the predetermined number of segment divisions, and determining whether the difference between the coordinates of two adjacent initial division points in the first derivative is 2 n If not, the difference between the coordinates of any two adjacent division points after adding the new division point is 2 n and determining coordinates of the division points of the target discrete function, wherein the division points of the target discrete function include the initial division points of the first derivative and the new division points in the first derivative.

[0016] In the embodiment of the present application, in the above method, the difference between the coordinates of any two adjacent division points is 2 n By adjusting the division points to satisfy

[0017] In the technical solution according to the above first aspect, in some possible embodiments, after the step of determining coordinates of the division points of the target discrete function, the method further includes the steps of: determining an x-axis coordinate corresponding to a maximum error of the target discrete function according to a result obtained by performing an interpolation calculation based on the division points; adding a sampling point to a segment including the x-axis coordinate corresponding to the maximum error, the sampling point being used to divide an interval of the segment by 2, the end points of the segment are two adjacent division points, the interval of the segment represents a distance between two adjacent sampling points in the segment, and at a first time, the interval of the segment represents a distance between the two division points of the segment; determining an x-axis coordinate corresponding to a maximum error of the target discrete function according to a result obtained by performing an interpolation calculation based on the division points and the sampling points; and adding a sampling point to a segment including the x-axis coordinate corresponding to the maximum error, the sampling point being used to divide an interval of the segment by 2.

[0018] In the embodiment of the present application, the above method of adding sampling points can improve the accuracy of the LUT generated later without adding division points.

[0019] In some possible embodiments of the technical solution according to the first aspect above, the method further includes the steps of: determining whether the number of the sampling points reaches a predetermined number; if the result is No, determining an x-axis coordinate corresponding to a maximum error of the target discrete function according to a result obtained by performing an interpolation calculation based on the division points and the sampling points; and adding a sampling point to a segment including the x-axis coordinate corresponding to the maximum error, and the sampling point is used to divide an interval of the segment by 2.

[0020] In the technical solution according to the above first aspect, in some possible implementations, the step of creating an LUT based on coordinates of division points of the target discrete function includes a step of creating the LUT based on coordinates of division points of the target discrete function and intervals of each of the segments.

[0021] In some possible embodiments of the technical solution according to the above first aspect, the step of creating the LUT based on the coordinates of the division points of the target discrete function and the intervals of each of the segments includes the steps of determining whether the intervals of two adjacent segments are equal, and if so, deleting the division point between the two adjacent segments; and creating the LUT based on the coordinates of the remaining division points of the target discrete function and the intervals of each of the remaining segments.

[0022] In the embodiment of the present application, register resources can be saved by eliminating the division point between two adjacent equally spaced segments.

[0023] In a second aspect, an embodiment of the present application provides a self-adaptive table creation device, the device comprising: an acquisition module configured to acquire a target discrete function arranged on a dedicated functional unit to perform task processing, a processing module configured to perform processing on the target discrete function to obtain a first derivative of the target discrete function, a determination module configured to determine coordinates of division points of the target discrete function based on the first derivative and a predetermined number of segment divisions, and a creation module configured to create an LUT based on the coordinates of the division points of the target discrete function.

[0024] In some possible embodiments of the technical solution according to the above second aspect, the determination module is configured to perform equal division on the y-axis of the first derivative based on the predetermined segment division number, and determine coordinates of division points of the target discrete function based on coordinates of the division points of the first derivative, where the coordinates of the division points of the first derivative are coordinates of the division points of the target discrete function, and the coordinates of the division points of the first derivative are obtained by performing equal division on the x-axis of the inverse function of the first derivative based on the predetermined segment division number.

[0025] In some possible embodiments of the technical solution according to the above second aspect, the target discrete function includes N data points of discretization, and the determination module is further configured to move the division points of the first derivative to the data points of the first derivative to obtain target division points of the first derivative, wherein the order of the target division points of the first derivative and the order of the division points of the first derivative are the same, and the coordinates of the target division points of the first derivative are the coordinates of the division points of the target discrete function.

[0026] In some possible embodiments of the technical solution according to the above second aspect, the determination module is further configured to determine whether the division point of the first derivative matches the data point, and if the result is Yes, determine the division point of the first derivative as the target division point of the first derivative; if the result is No, move the division point of the first derivative to the data point of the first derivative to obtain the target division point of the first derivative.

[0027] In some possible embodiments of the technical solution according to the above second aspect, the determination module is further configured to move the division point of the first derivative to the data point of the first derivative to obtain a target division point of the first derivative, and then perform equal division on the y-axis of the first derivative to the right of the target division point to form a new division point, and the new division point is the division point of the first derivative, where the number of segments of the equal division is the predetermined segment division number minus m, and m is the division number minus 1.

[0028] In some possible embodiments of the technical solution according to the second aspect, the determining module further determines a coordinate of an initial division point of the first derivative according to the first derivative and the predetermined number of segment divisions, and the difference between the coordinates of two adjacent initial division points in the first derivative is 2. n If it is not satisfied, the difference between the coordinates of any two adjacent division points after adding the new division point is 2 n and determining coordinates of the division points of the target discrete function, the division points of the target discrete function including the initial division point of the first derivative and the new division point in the first derivative, so as to satisfy:

[0029] In some possible embodiments of the technical solution according to the second aspect, the apparatus further includes a sampling point adding module, which is configured as follows: after determining a coordinate of a division point of the target discrete function, determining an x-axis coordinate corresponding to a maximum error of the target discrete function according to a result obtained by performing an interpolation calculation based on the division point, adding a sampling point to a segment including the x-axis coordinate corresponding to the maximum error, the sampling point being used to divide an interval of the segment by 2; end points of the segment are two adjacent division points, and the interval of the segment represents a distance between two adjacent sampling points in the segment; at a first time, the interval of the segment represents a distance between the two division points of the segment, determining an x-axis coordinate corresponding to a maximum error of the target discrete function according to a result obtained by performing an interpolation calculation based on the division point and the sampling point, adding a sampling point to a segment including the x-axis coordinate corresponding to the maximum error, the sampling point being used to divide an interval of the segment by 2.

[0030] In some possible embodiments of the technical solution according to the above second aspect, the sampling point adding module is further configured to judge whether the number of the sampling points reaches a predetermined number; if the result is No, determine an x-axis coordinate corresponding to a maximum error of the target discrete function according to a result obtained by performing an interpolation calculation based on the division points and the sampling points, and add a sampling point to a segment including the x-axis coordinate corresponding to the maximum error, and the sampling point is used to divide an interval of the segment by 2.

[0031] In the technical solution according to the above second aspect, in some possible implementations, the creation module is further configured to create the LUT based on coordinates of division points of the target discrete function and intervals of each of the segments.

[0032] In the technical solution according to the above second aspect, in some possible embodiments, the creation module is further configured to determine whether the intervals of two adjacent segments are equal, and if so, delete the division point between the two adjacent segments, and create the LUT based on the coordinates of the remaining division points of the target discrete function and the intervals of each remaining segment.

[0033] In a third aspect, an embodiment of the present application provides an electronic device, the electronic device including a processor and a memory, the processor and the memory being connected, the memory being configured to store a program, and the processor calling the program stored in the memory to execute a method according to the embodiment of the first aspect above or some possible implementations of the embodiment of the first aspect above.

[0034] In a fourth aspect, an embodiment of the present application provides a computer-readable recording medium having a computer program stored therein, the computer program being executed by a processor to perform a method according to the embodiment of the first aspect above or some possible implementations of the embodiment of the first aspect above. [Brief description of the drawings]

[0035] In order to more clearly describe the technical solutions of the embodiments of the present application, the drawings used in the embodiments of the present application are briefly described below. The drawings described are only for illustrating some embodiments of the present application, and are not intended to limit the scope. Those skilled in the art can obtain other related drawings based on these drawings without using inventive abilities. [Figure 1] FIG. 2 is a block diagram showing modules of an electronic device according to an embodiment of the present application. [Diagram 2] 4 is a flow chart of a self-adaptive table creation method according to an embodiment of the present application. [Diagram 3] 1 is a graph corresponding to a gamma function according to an embodiment of the present application. [Figure 4] FIG. 2 is a schematic diagram of a graph corresponding to a gamma function after discretization according to an embodiment of the present application. [Diagram 5] FIG. 2 is a schematic diagram of a graph of the first derivative of a gamma function after discretization according to an embodiment of the present application. [Figure 6] FIG. 2 is a schematic diagram of a graph of a function corresponding to Table 1 according to an embodiment of the present application. [Figure 7] FIG. 2 is a schematic diagram of a graph of the inverse first derivative of a gamma function after discretization according to an embodiment of the present application. [Figure 8] FIG. 2 is a schematic diagram of a function curve after performing equal division on the y-axis of the first derivative according to an embodiment of the present application. [Figure 9] FIG. 13 is a schematic diagram of another function curve after performing equal division on the y-axis of the first derivative according to an embodiment of the present application. [Figure 10] FIG. 13 is an effect diagram when the division points of the target discrete function according to an embodiment of the present application are applied to a gamma function. [Figure 11] 2 is a schematic flow chart of a self-adaptive table creation method according to an embodiment of the present application; [Figure 12] FIG. 2 is a block diagram illustrating modules of a self-adaptive table building device according to an embodiment of the present application. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0036] Hereinafter, the technical solutions of the embodiments of the present application will be described with reference to the drawings used in the embodiments of the present application.

[0037] FIG. 1 is a schematic block diagram showing the configuration of an electronic device 100 to which a self-adaptive table creation method and device according to an embodiment of the present application are applied. In the embodiment of the present application, the electronic device 100 may be a terminal or a server, and the terminal may be, but is not limited to, a personal computer (PC), a smartphone, a tablet, a personal digital assistant (PDA), a mobile internet device (MID), etc. The server may be, but is not limited to, a network server, a database server, a cloud server, or a server consisting of multiple sub-servers, etc. Of course, the above-listed devices are for easily understanding the embodiment of the present application, and do not limit the embodiment.

[0038] In configuration, the electronic device 100 includes a processor 110 and a memory 120 .

[0039] The processor 110 and the memory 120 are electrically connected directly or indirectly to realize data transmission or exchange. For example, these elements are electrically connected by one or more communication buses or signal lines. The self-adaptive table creating device includes at least one software module stored in the memory 120 in the form of software or firmware or embedded in the operating system (OS) of the electronic device 100. The processor 110 executes executable modules stored in the memory 120, such as software function modules and computer programs included in the self-adaptive table creating device, to realize the self-adaptive table creating method. The processor 110 can execute the computer program after receiving an execution command.

[0040] The processor 110 may be an integrated circuit chip having signal processing capabilities. The processor 110 may be a general-purpose processor, such as a Central Processing Unit (CPU), a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a discrete gate or transistor logic device, or a discrete hardware component, capable of implementing or executing each method, step, and logic block disclosed in the embodiments of the present application. The general-purpose processor may also be a microprocessor or any conventional processor.

[0041] The memory 120 can be, but is not limited to, a Random Access Memory (RAM), a Read Only Memory (ROM), a Programmable Read-Only Memory (PROM), an Erasable Programmable Read-Only Memory (EPROM), and an Electrically Erasable Programmable Read-Only Memory (EEPROM), etc. The memory 120 is for storing a program, and the processor 110 executes the program after receiving an execution command.

[0042] It should be noted that the configuration shown in Fig. 1 is merely exemplary, and the electronic device 100 according to the embodiment of the present application may include fewer or more components than those shown in Fig. 1, and may be arranged differently from those shown in Fig. 1. Furthermore, each of the components shown in Fig. 1 can be realized by software, hardware, or a combination thereof.

[0043] 2 is a flow chart of a self-adaptive table creating method according to an embodiment of the present application, which is used in the electronic device 100 shown in FIG. 1. The self-adaptive table creating method according to an embodiment of the present application is not limited to the order shown in FIG. 2 and described below. The method includes steps S101 to S104.

[0044] Step S101: obtain a target discrete function that is allocated to a dedicated functional unit to perform task processing.

[0045] The dedicated function unit may be a GPU (Graphics Processing Unit), an image display chip, an audio processing chip, etc., and accordingly, the task processing may include image processing, audio processing, but the present application is not limited thereto.

[0046] The target discrete function is obtained by discretizing the target primitive function. In the special-purpose functional unit, a fixed-point number is usually used to perform an approximation calculation for a floating-point number, so that the target primitive function can be sampled uniformly. For example, the target primitive function is discretized into N data points, where N is N=2. n +1 (n=1, 2, 3, ...). In the embodiment of the present application, when n is 10, therefore, N=2 10 +1=1025, and the reason for adding 1 is because it includes a zero point.

[0047] The discretization process for the target primitive function is performed by an electronic device, that is, before step S101, the method further includes the steps of obtaining a target primitive function, performing discretization process on the target primitive function, and generating a target discrete function.

[0048] Of course, in other embodiments, the discretization process for the target primitive function may be performed by other electronic equipment, and the electronic equipment according to the embodiments of the present application may be used only to receive the target discrete function after the discretization process.

[0049] The above target primitive function is mainly used for task processing, for example, when the target primitive function is used for image processing, the target primitive function can be any one of photoelectric transfer function and electro-optical transfer function. For example, the target primitive function can be gamma function, degamma function, but is not limited in this application.

[0050] For ease of understanding, the gamma function is described as the target primitive function in the embodiments of this application.

[0051] The formula for the gamma function can be seen in equation (1).

[0052]

number

[0053] The equation of the gamma function after discretization (i.e., the target discrete function) can be seen in equation (2).

[0054]

number

[0055] Step S102: A process is performed on the target discrete function to obtain the first derivative of the target discrete function.

[0056] Since the greater the change in the slope of the curve, the greater the number of division points required and the first derivative can represent the rate of change of the function, in the embodiments of the present application, a differentiation process is performed on the target discrete function to obtain the first derivative of the target discrete function.

[0057] The first derivative of the target discrete function can be calculated using the following equation (3).

[0058]

number

[0059] Step S103: Determine the coordinates of the division points of the target discrete function according to the first derivative and the predetermined number of segment divisions.

[0060] The predetermined segment division number can be set according to the actual situation, for example, the predetermined segment division number can be 8, 10, and is not limited in this application.

[0061] A predetermined segment division number is used to divide the first derivative, and after dividing the first derivative, the coordinates of the division points of the first derivative can be determined, and the division points of the first derivative and the division points of the target discrete function are the same.

[0062] Step S104: Create an LUT based on the coordinates of the division points of the target discrete function.

[0063] Finally, the LUT can be generated based on the coordinates of the division points of the target discrete functions. In the embodiment of the present application, the LUT may only include the coordinates of the division points of each target discrete function.

[0064] In another embodiment, the LUT may be created adopting the format of Table 1.

[0065] [Table 1] In Table 1, Count represents the number of segment divisions, Steps represents the interval between sampling points in each segment, and Points represents the coordinates on the x-axis of the division points of the target discrete function.

[0066] Count can be determined based on the number of division points of the target discrete function, for example, if the number of division points of the target discrete function is 3, Count is 3. Since the current segment does not include a sampling point, Steps is the distance between two adjacent division points, for example, the interval of the third segment is 2048 (=4096-2048).

[0067] The function corresponding to Table 1 can be seen in Figure 6. In Figure 6, Point1=1024, Point2=2048, Point3=4096. The target primitive function is divided into three segments, i.e., Count=3. The three segments are segment1, segment2 and segment3 respectively.

[0068] In addition, the LUT further includes the y-axis coordinate of each division point, and the y-axis coordinate of each division point can be determined according to the mapping relationship of the x-axis coordinate of the division point, which is not limited in this application.

[0069] The LUT is placed in the special-purpose functional unit, so that the special-purpose functional unit performs task processing based on the LUT, i.e., the target discrete function is placed in the special-purpose functional unit in the form of the LUT.

[0070] Specifically, the LUT generated by the self-adaptive table creation method according to the embodiment of the present application can be applied to fitting any monotonic curve, for example, the method can be used in an HDR module, whereas the present application is not limited thereto.

[0071] For example, the function corresponding to LUTA is for adjusting the image value of an image, and after LUTA is arranged in a special-purpose function unit, after the special-purpose function unit receives a frame image, it can determine the adjustment value of each pixel by LUTA, and the grayscale value of pixel A is input to the function corresponding to the LUT, and the output of the function is calculated by interpolation, and the output of the function is the adjustment value corresponding to pixel A.

[0072] In this way, in the embodiment of the present application, the first derivative of the target discrete function is obtained by processing the target discrete function, and the coordinates of the division points of the target discrete function are determined according to the first derivative and a predetermined number of segments, and finally, the LUT is created according to the coordinates of the division points of the target discrete function. According to this method, the LUT can be automatically generated according to the target discrete function, thereby improving efficiency, and the division points of the target discrete function are determined according to the first derivative of the target discrete function, thereby improving the accuracy of the LUT.

[0073] In one embodiment, the above step S103 of determining the coordinates of the division points of the target discrete function based on the first derivative and a predetermined number of segment divisions specifically includes: a step of equally dividing the y-axis of the first derivative based on the predetermined number of segment divisions; and a step of determining the coordinates of the division points of the target discrete function based on the coordinates of the division points of the first derivative.

[0074] The coordinates of the division points of the first derivative are the coordinates of the division points of the target discrete function, and the coordinates of the division points of the first derivative are obtained by equally dividing the x-axis of the inverse function of the first derivative based on the predetermined number of segment divisions. That is, before equally dividing the y-axis of the first derivative based on the predetermined number of segment divisions, it is necessary to first perform processing on the first derivative of the target discrete function to obtain the inverse function of the first derivative of the target discrete function. In an example in which the target discrete function is a discretized gamma function, the inverse function of the first derivative of the target discrete function can be seen in FIG. 7.

[0075] Correspondingly, in step S102, both the first derivative of the target discrete function and the inverse function of the first derivative of the target discrete function can be obtained, which is not limited in the present application.

[0076] In the embodiment of the present application, the y-axis of the first derivative is equally divided to obtain the division points of the mapped x-axis. In this case, the y-axis is input, so that it is realized by the inverse function of the first derivative for easy calculation, that is, the x-axis of the inverse function of the first derivative is equally divided, the division points are input, and the y-axis value is obtained by linear interpolation, thereby obtaining the division points of the x-axis of the first derivative. The function curve when the y-axis of the first derivative is equally divided according to a predetermined number of segment divisions can be seen in FIG. 8. In FIG. 8, the corresponding dotted lines are the division points.

[0077] Thus, in the embodiment of the present application, the coordinates of each point for equal division on the y-axis are obtained accurately and easily by calculating the inverse function of the first derivative, and the division points on the x-axis are obtained by mapping.

[0078] Of course, in other embodiments, the equal division for the y-axis may be performed directly based on the first derivative, and is not limited in this application.

[0079] As shown in FIG. 8, the division points (x-axis values) after equal division do not match all N data points. Therefore, in order to reduce subsequent calculations and improve efficiency, in one embodiment, the above step of determining the coordinates of the division points of the target discrete function based on the coordinates of the division points of the first derivative specifically includes a step of moving the division points of the first derivative to the data points of the first derivative to obtain the coordinates of the target division points of the first derivative.

[0080] Illustratively, the division point of the first derivative is sequentially moved to the data point closest to the right side of the first derivative to obtain the coordinates of the target division point of the first derivative.

[0081] The order of the target division points of the first derivative is the same as the order of the division points of the first derivative. For example, if the division points of the first derivative include Point1, Point2, and Point3, and satisfy Point1 < Point2 < Point3, after moving as described above, the magnitude relationship of Point1, Point2, and Point3 of the target division points of the first derivative still satisfies Point1 < Point2 < Point3.

[0082] The coordinates of the target division points of the above first derivative are the coordinates of the division points of the target discrete function.

[0083] Optionally, the above step of moving the division points of the first derivative to the data points of the first derivative to obtain the target division points of the first derivative specifically includes: determining whether the division points of the first derivative match the data points; if Yes, determining the division points of the first derivative as the target division points; if No, moving the division points of the first derivative to the data points of the first derivative to obtain the target division points of the first derivative.

[0084] That is, when the division points of the first derivative match the data points, directly use the division points of the first derivative as the target division points. When the division points of the first derivative do not match the data points, move the division points of the first derivative to the nearest data point on the right side to obtain the target division points of the first derivative.

[0085] In one embodiment, after the step of moving the division points of the first derivative to the data points of the first derivative to obtain the target division points of the first derivative, the method performs equal division on the y-axis of the first derivative on the right side of the target division point to form new division points, and uses the new division points as the division points of the first derivative. The number of segments of the equal division is the result of subtracting m from the predetermined number of segment divisions, where m is the result of subtracting 1 from the number of divisions.

[0086] For example, assuming that the number of segment divisions (Count) is 8, first determine whether the first division point of the first derivative matches N data points. If the answer is Yes, adopt the division point; that is, set the first division point as the first target division point, and then check whether the second division point matches N data points.

[0087] If the first division point does not match the N data points, move the division point to the closest data point to the right, and then set the data point as the first target division point. Then, perform an equal division on the y-axis of the first derivative to the right of the first target division point. As for the number of segment divisions, the current number of segment divisions is Count-1=7, and the current number of divisions is 2, so m=2-1=1.

[0088] After the division, it is judged whether the first division point after the division matches the N data points. At this time, the first division point after the division is the second division point in the first division. The above division and judgment steps are repeated, subtracting 1 from the segment division number each time, and repeating until Count=0, and outputting the coordinates of all target division points. As shown in Figure 9, all division points match the data points, and the method also realizes equal division of the first derivative with respect to the y-axis.

[0089] Optionally, the above step S103 of determining the coordinates of the division points of the target discrete function according to the first derivative and the predetermined number of segment divisions specifically includes the steps of determining the coordinates of the initial division points of the first derivative according to the first derivative and the predetermined number of segment divisions, and determining whether the difference between the coordinates of two adjacent initial division points in the first derivative is 2 n If it is not satisfied, the difference between the coordinates of any two adjacent division points after adding the new division point is 2 nand determining coordinates of the division points of the target discrete function so as to satisfy the following: The division points of the target discrete function include the initial division points of the first derivative and the new division points in the first derivative.

[0090] Specifically, the first division point adjPoint is first stored, and then the distance between the adjacent next division point and the current division point is calculated as tempGap.

[0091] And the interval tempGap is 2 n If the answer is Yes, skip. If the answer is No, select the 2nd smaller and closest to it. n Then, find the number that satisfies the following division point: n Subtract the number that satisfies the condition, store the difference in adjPoint, and use tempGap to get the remainder for that number. n It is continuously judged whether the condition is met, i.e., whether tempGap is 2 n Repeat the above steps until it is satisfied. Finally, sort all the saved adjPoints in ascending order.

[0092] For example, the first division point is 64 and is stored in adjPoint, the second division point is 3776 and is stored in adjPoint, and the interval between the two points, tempGap, is 3712, and 3712 is 2 n does not satisfy the condition, so the smaller and closest 2 n Find a number that satisfies 2048(2 11 ), then 3776-2048=1728 (1728 is stored in adjPoint), and then 3712%2048=1664 (the "%" sign indicates a modulus operation), and 1664 is still 2 n Since this does not satisfy the condition, we next use 1024(2 10 ) is found, 1728-1024=704 (stored in adjPoint) is calculated, 1664%1024=640 is calculated, and again 2n does not meet the criteria, followed by 512 (2 9 ) is found, 704-512=192 (stored in adjPoint) is calculated, 640%512=128 is calculated, and 128 is 2 n Since this satisfies the above, the process ends. Finally, the saved adjPoints are sorted in ascending order. adjPoints=[64, 192, 704, 1728, 3776] is obtained. Here, the coordinates 192, 704, and 1728 are the coordinates of the new division points. Furthermore, based on the determined new division points, the interval of the added segment can be determined. That is, adjSteps=[64, 128, 512, 1024, 2048]. Therefore, after the division points are added, the difference between the coordinates of any two division points is 2. n Meet the following.

[0093] Repeat the above steps until all the division points have been checked, so that all the new division points can be obtained, and then determine the coordinates of the division points of the target discrete function according to the new division points and the initial division points. This method can avoid division when performing the interpolation calculation later.

[0094] Finally, the obtained division points of the target discrete function are used for the gamma function, and the effect shown in Figure 10 is obtained. As shown in Figure 10, the gamma function curve is divided at a relatively ideal interval, and a relatively large number of sampling points are distributed in the area where the change in slope is relatively large (the earlier part of the curve), and the opposite is true in the area where the change in slope is relatively small (the later part of the curve).

[0095] Optionally, after determining the coordinates of the division points of the target discrete function, the method further includes steps S11 to S14.

[0096] Step S11: Determine the x-axis coordinate corresponding to the maximum error of the target discrete function according to the result obtained by performing an interpolation calculation based on the division points.

[0097] In addition, step S11 compares all the parameters of the target discrete function with all the parameters obtained by performing an interpolation calculation based on the division points, and determines the x-axis coordinate corresponding to the maximum error.

[0098] Step S12: Add a sampling point to the segment containing the x-axis coordinate corresponding to the maximum error, which is used to divide the interval of the segment by 2.

[0099] The end points of a segment are two adjacent division points. The segment interval represents the distance between two adjacent sampling points in the segment. The division points are also used as sampling points, and initially, the segment interval represents the distance between two division points in the segment.

[0100] For example, the x-axis coordinate corresponding to the maximum error is located between the first division point and the second division point, the x-axis coordinate of the first division point is 1024, and the x-axis coordinate of the second division point is 2048. If there is no sampling point between the first division point and the second division point, the interval between the first division point and the second division point is 2048-1024=1024, and in this case, adding one sampling point divides the interval of the segment by 2. The x-axis coordinate of the newly added sampling point is 1536.

[0101] If there is one sampling point between the first division point and the second division point, the interval between the first division point and the second division point is 512, and in this case, by adding two sampling points, the interval of the segment is divided by 2. The x-axis coordinates of the newly added two sampling points are 1280 and 1792, respectively.

[0102] Step S13: Determine the x-axis coordinate corresponding to the maximum error of the target discrete function according to the result obtained by performing an interpolation calculation based on the division points and the sampling points.

[0103] In step S13, sampling points are added and an interpolation calculation is performed.

[0104] Step S14: Add a sampling point to the segment containing the x-axis coordinate corresponding to the maximum error, which is used to divide the interval of the segment by 2.

[0105] The process of implementing step S14 is the same as that of step S12, so a description thereof will be omitted here.

[0106] In one embodiment, the above steps further include: determining whether the number of sampling points reaches a predetermined number; if the result is No, determining the x-axis coordinate corresponding to the maximum error of the target discrete function according to the result of performing an interpolation calculation based on the division points and the sampling points; and adding a sampling point to the segment including the x-axis coordinate corresponding to the maximum error. The sampling point is used to divide the interval of the segment by 2.

[0107] The predetermined number is a set required maximum number of sampling points MaxEntry, and the value of the predetermined number can be set according to the actual situation, for example, the predetermined number can be 20, 30, 50, and is not limited in this application. When the number of sampling points reaches the predetermined number, adding of sampling points is stopped.

[0108] In this way, the above method of adding sampling points can improve the accuracy of the LUT that is generated later, without adding division points.

[0109] After performing the step of adding sampling points, the step of creating an LUT based on coordinates of division points of the target discrete function creates an LUT based on coordinates of division points of the target discrete function and intervals of each segment.

[0110] The LUT created based on the coordinates of the division points of the target discrete function and the intervals of each segment can be seen in Table 1, so a description thereof will be omitted in this application.

[0111] Optionally, the step of creating the LUT based on the coordinates of the division points of the target discrete function and the intervals of each segment specifically further includes the steps of determining whether the intervals of two adjacent segments are equal, and if so, deleting the division point between the two adjacent segments; and creating an LUT based on the coordinates of the remaining division points of the target discrete function and the intervals of each remaining segment.

[0112] After the step of adding sampling points, there are intervals that are adjacent and have the same value, so in this case, filtering is required to save register resources. Specifically, it is determined from front to back whether the intervals between two segments are equal, and if they are equal, the division point between the two adjacent segments is deleted and 1 is subtracted from the segment division count Count.

[0113] For example, assume that the interval between the first segment and the second segment is 64 after adding the sampling points, only merge the first segment and the second segment, that is, delete the division point between the first segment and the second segment. This method can reduce the number of division points and save register resources.

[0114] 11 is a schematic flow chart of a self-adaptive table creation method according to an embodiment of the present application. First, obtain a target primitive function and a predetermined number of segment divisions, then perform discretization processing on the target primitive function, obtain the first derivative and the inverse function of the first derivative, determine the division points according to the first derivative and the inverse function of the first derivative, adjust the division points according to the positions of data points, perform adding sampling points, and finally filter the same interval to output the optimal division points and intervals.

[0115] Based on the same invention concept, an embodiment of the present application further provides a self-adaptive table generating apparatus 200, which includes: an acquiring module 210, a processing module 220, a determining module 230 and a generating module 240, as shown in FIG.

[0116] The acquisition module 210 is configured to acquire a target discrete function that is deployed on a dedicated functional unit to perform a task process.

[0117] The processing module 220 is configured to perform processing on the target discrete function to obtain a first derivative of the target discrete function.

[0118] The determination module 230 is configured to determine coordinates of division points of the target discrete function based on the first derivative and a predetermined number of segment divisions.

[0119] The creation module 240 is configured to create a LUT based on coordinates of division points of the target discrete function.

[0120] Optionally, the determining module 230 is specifically configured to perform equal division on the y-axis of the first derivative according to the predetermined number of segment divisions, and determine coordinates of division points of the target discrete function according to coordinates of the division points of the first derivative, where the coordinates of the division points of the first derivative are coordinates of division points of the target discrete function, and the coordinates of the division points of the first derivative are obtained by performing equal division on the x-axis of the inverse function of the first derivative according to the predetermined number of segment divisions.

[0121] Optionally, the target discrete function includes N data points of discretization. The determination module 230 is further configured to move the division points of the first derivative to the data points of the first derivative to obtain the target division points of the first derivative. The order of the target division points of the first derivative and the order of the division points of the first derivative are the same. The coordinates of the target division points of the first derivative are the coordinates of the division points of the target discrete function.

[0122] In some possible embodiments of the technical solution according to the above second aspect, the determination module 230 is further configured to determine whether the division point of the first derivative matches the data point, and if the result is Yes, determine the division point of the first derivative as the target division point of the first derivative; if the result is No, move the division point of the first derivative to the data point of the first derivative to obtain the target division point of the first derivative.

[0123] Optionally, the determination module 230 is further configured to move the division point of the first derivative to the data point of the first derivative to obtain a target division point of the first derivative, and then perform an equal division on the y-axis of the first derivative on the right side of the target division point to form a new division point, and the new division point is the division point of the first derivative. The number of segments of the equal division is the predetermined segment division number minus m, where m is the division number minus 1.

[0124] Optionally, the determination module 230 further determines coordinates of an initial division point of the first derivative based on the first derivative and the predetermined number of segment divisions, and determines whether a difference between coordinates of two adjacent initial division points in the first derivative is 2 n If it is not satisfied, the difference between the coordinates of any two adjacent division points after adding the new division point is 2 n The method is configured to add a new division point between the two adjacent initial division points and determine coordinates of the division points of the target discrete function so as to satisfy the following: The division points of the target discrete function include the initial division point of the first derivative and the new division point in the first derivative.

[0125] Optionally, the apparatus further includes a sampling point adding module, which is configured to: after determining the coordinates of the division points of the target discrete function, determine an x-axis coordinate corresponding to a maximum error of the target discrete function according to a result obtained by performing an interpolation calculation based on the division points, add a sampling point to a segment including the x-axis coordinate corresponding to the maximum error, and use the sampling point to divide an interval of the segment by two, the end points of the segment are two adjacent division points, and the interval of the segment represents a distance between two adjacent sampling points in the segment, and at a first time, the interval of the segment represents a distance between two division points of the segment, determine an x-axis coordinate corresponding to a maximum error of the target discrete function according to a result obtained by performing an interpolation calculation based on the division points and the sampling points, add a sampling point to a segment including the x-axis coordinate corresponding to the maximum error, and use the sampling point to divide an interval of the segment by two.

[0126] Optionally, the sampling point adding module is further configured to determine whether the number of the sampling points reaches a predetermined number, and if the result is No, determine an x-axis coordinate corresponding to a maximum error of the target discrete function according to a result obtained by performing an interpolation calculation based on the division points and the sampling points, and add a sampling point to a segment including the x-axis coordinate corresponding to the maximum error, and the sampling point is used to divide an interval of the segment by 2.

[0127] Optionally, the creation module 240 is further configured to create the LUT based on coordinates of division points of the target discrete function and an interval of each of the segments.

[0128] Optionally, the creation module 240 is further configured to determine whether the intervals of two adjacent segments are equal, and if so, delete the division point between the two adjacent segments, and create the LUT based on the coordinates of the remaining division points of the target discrete function and the intervals of each remaining segment.

[0129] Those skilled in the art can refer to the corresponding processes in the above method embodiments for the specific operating processes of the above-described systems, devices and units, so for convenience and conciseness, the description will be omitted here.

[0130] Based on the same inventive concept, an embodiment of the present application further provides a computer-readable recording medium, in which a computer program is stored, and when the computer program is executed, the method according to the above embodiment is executed.

[0131] The storage medium may be any available medium that can be written to or read by a computer, or may be a data storage device including a server, data center, etc., integrated with one or more available media. The available medium may be a magnetic medium (e.g., floppy disk, hard disk, tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)).

[0132] In the embodiments of the present application, the described apparatus and method can be realized in other ways. The above-described apparatus embodiments are merely illustrative. For example, the division of the units is merely a logical functional division, and may be another division in actual implementation. Alternatively, multiple units or components may be combined or integrated into another system, or some features may be omitted or not implemented. In addition, the shown or discussed mutual couplings or direct couplings or communication connections may be indirect couplings or communication connections through some interfaces, devices or units, and may be electrical, mechanical or other forms of connection.

[0133] In addition, the units described above as separate parts may or may not be physically separate. The components shown as units may or may not be physical units, i.e., they may be located in the same location or distributed among multiple network units. Some or all of the units can be selected according to actual requirements to achieve the purpose of the proposed embodiment.

[0134] In addition, each functional module in each embodiment of the present application may be integrated to form a single independent part, each module may exist independently, or two or more modules may be integrated to form a single independent part.

[0135] As used herein, relational terms such as first and second, etc. are used only to distinguish one entity or action from another entity or action, and do not necessarily require or imply any actual relationship or order between such entities or actions.

[0136] The above is only an embodiment of the present application, and does not limit the scope of protection of the present application. For those skilled in the art, the present application may have various modifications and variations. As long as it does not deviate from the spirit and principle of the present application, any modifications, equivalent replacements, improvements, etc., will fall within the scope of protection of the present application. [Explanation of symbols]

[0137] 100 Electronic equipment 110 Processor 120 Memory 200 Self-adaptive table creation device 210 Acquisition Module 220 Processing Module 230 Confirmation Module 240 Creation Module

Claims

1. A step of obtaining a target discrete function to be allocated to a dedicated function unit to perform a task process; performing a process on the target discrete function to obtain a first derivative of the target discrete function; determining coordinates of division points of the target discrete function based on the first derivative and a predetermined number of segment divisions; creating an LUT based on coordinates of division points of the target discrete function; The step of determining coordinates of division points of the target discrete function based on the first derivative and a predetermined number of divisions of segments includes: dividing the y-axis of the first derivative evenly based on the predetermined number of segment divisions; determining coordinates of division points of the target discrete function based on coordinates of division points of the first derivative; The coordinates of the division points of the first derivative are the coordinates of the division points of the target discrete function, and the coordinates of the division points of the first derivative are obtained by equally dividing the x-axis of the inverse function of the first derivative based on the predetermined number of segment divisions. A method for creating a self-adaptive table.

2. The target discrete function includes N data points of discretization; The step of determining coordinates of division points of the target discrete function based on coordinates of division points of the first derivative includes: moving a division point of the first derivative to a data point of the first derivative to obtain a target division point of the first derivative; The order of the target division points of the first derivative is the same as the order of the division points of the first derivative, and the coordinates of the target division points of the first derivative are the coordinates of the division points of the target discrete function.

2. The method of claim 1, wherein the self-adaptive table is generated based on the first and second inputs.

3. The step of moving the division points of the first derivative to the data points of the first derivative to obtain target division points of the first derivative comprises: determining whether the first derivative split point matches the data point; If the answer is Yes, determining the division point of the first derivative as a target division point of the first derivative; if no, moving the division point of the first derivative to the data point of the first derivative to obtain a target division point of the first derivative.

3. The method of claim 2, wherein the self-adaptive table is generated based on the first and second inputs.

4. After the step of moving the division points of the first derivative to the data points of the first derivative to obtain target division points of the first derivative, performing an equal division on a y-axis of the first derivative to the right of the target division point to form a new division point; and setting the new division point as a division point of the first derivative; The number of equally divided segments is the predetermined number of segment divisions minus m, where m is the number of divisions minus 1.

4. The method of claim 3, wherein the self-adaptive table is generated based on the first and second inputs.

5. A step of obtaining a target discrete function that is allocated to a dedicated functional unit to perform a task process; performing a process on the target discrete function to obtain a first derivative of the target discrete function; determining coordinates of division points of the target discrete function based on the first derivative and a predetermined number of segment divisions; creating an LUT based on coordinates of division points of the target discrete function; The step of determining coordinates of division points of the target discrete function based on the first derivative and a predetermined number of divisions of segments includes: determining coordinates of an initial division point of the first derivative based on the first derivative and the predetermined number of segment divisions; determining whether a difference between coordinates of two adjacent initial division points in the first derivative satisfies 2 n ; if not, adding a new division point between any two adjacent initial division points such that the difference in coordinates between the two adjacent division points after adding the new division point satisfies 2 n ; determining coordinates of division points of the target discrete function; the division points of the target discrete function include an initial division point of the first derivative and a new division point in the first derivative; After the step of determining the coordinates of the division points of the target discrete function, determining an x-axis coordinate corresponding to a maximum error of the target discrete function according to a result of performing an interpolation calculation based on the division points; adding a sampling point to a segment including an x-axis coordinate corresponding to the maximum error, the sampling point being used to divide an interval of the segment by two, the end points of the segment being two adjacent division points, the interval of the segment representing the distance between two adjacent sampling points in the segment, and the interval of the segment representing the distance between the two division points of the segment at the beginning; determining an x-axis coordinate corresponding to a maximum error of the target discrete function according to a result of performing an interpolation calculation based on the division points and the sampling points; adding a sampling point to the segment containing the x-axis coordinate corresponding to the maximum error, said sampling point being used to divide the spacing of said segment by 2; Also includes A method for creating a self-adaptive table.

6. determining whether the number of sampling points has reached a predetermined number; If the answer is No, determining an x-axis coordinate corresponding to the maximum error of the target discrete function based on the result of performing an interpolation calculation based on the division points and the sampling points; adding a sampling point to the segment containing the x-axis coordinate corresponding to the maximum error, said sampling point being used to divide the interval of said segment by 2; Also includes 6. The method of claim 5, wherein the self-adaptive table is generated based on the first and second inputs.

7. The step of creating an LUT based on coordinates of division points of the target discrete function includes: creating the LUT based on coordinates of division points of the target discrete function and intervals of each of the segments; 6. The method of claim 5, wherein the self-adaptive table is generated based on the first and second inputs.

8. The step of creating the LUT based on the coordinates of the division points of the target discrete function and the intervals of each of the segments includes: determining whether the intervals between two adjacent segments are equal; If they are equal, deleting the division point between the two adjacent segments; generating the LUT based on the coordinates of the remaining division points of the target discrete function and the intervals of each remaining segment.

8. The method of claim 7, wherein the self-adaptive table is generated based on the first and second inputs.

9. An acquisition module configured to acquire a target discrete function that is disposed in a dedicated function unit and that performs a task process; a processing module configured to perform processing on the target discrete function to obtain a first derivative of the target discrete function; a determination module configured to determine coordinates of division points of the target discrete function based on the first derivative and a predetermined number of segment divisions; A creation module configured to create an LUT based on coordinates of division points of the target discrete function, The determination module is configured to perform equal division on the y-axis of the first derivative based on the predetermined number of segment divisions, and determine coordinates of division points of the target discrete function based on coordinates of the division points of the first derivative; The coordinates of the division points of the first derivative are the coordinates of the division points of the target discrete function, and the coordinates of the division points of the first derivative are obtained by equally dividing the x-axis of the inverse function of the first derivative based on the predetermined number of segment divisions. A self-adaptive table creation device comprising:

10. The target discrete function includes N data points of discretization; The determination module is further configured to move a division point of the first derivative to a data point of the first derivative to obtain a target division point of the first derivative; The order of the target division points of the first derivative is the same as the order of the division points of the first derivative, and the coordinates of the target division points of the first derivative are the coordinates of the division points of the target discrete function.

10. The self-adaptive table generating apparatus of claim 9.

11. The determination module is further configured to determine whether the division point of the first derivative matches the data point, and if the result is Yes, determine the division point of the first derivative as the target division point of the first derivative, and if the result is No, move the division point of the first derivative to the data point of the first derivative to obtain the target division point of the first derivative.

11. The self-adaptive table generating apparatus of claim 10.

12. The determination module is further configured to move the division point of the first derivative to the data point of the first derivative to obtain a target division point of the first derivative, and then perform an equal division on a y-axis of the first derivative to the right of the target division point to form a new division point, and set the new division point as the division point of the first derivative; The number of equally divided segments is the predetermined number of segment divisions minus m, where m is the number of divisions minus 1.

12. The self-adaptive table building apparatus of claim 11.

13. An acquisition module configured to acquire a target discrete function arranged in a dedicated function unit to perform a task process; a processing module configured to perform processing on the target discrete function to obtain a first derivative of the target discrete function; a determination module configured to determine coordinates of division points of the target discrete function based on the first derivative and a predetermined number of segment divisions; A creation module configured to create an LUT based on coordinates of division points of the target discrete function, The determination module is further configured to determine, according to the first derivative and the predetermined number of segment divisions, a coordinate of an initial division point of the first derivative; determine whether a difference in coordinates of two adjacent initial division points in the first derivative satisfies 2 n ; if not, add a new division point between the two adjacent initial division points, so that a difference in coordinates of any two adjacent division points after adding the new division point satisfies 2 n ; and determine a coordinate of a division point of the target discrete function; the division points of the target discrete function include an initial division point of the first derivative and a new division point in the first derivative; Further comprising a sampling point addition module; The sampling point addition module includes: After determining the coordinates of the division points of the target discrete function, an x-axis coordinate corresponding to a maximum error of the target discrete function is determined according to a result of performing an interpolation calculation based on the division points; adding a sampling point to a segment including an x-axis coordinate corresponding to the maximum error, the sampling point being used to divide an interval of the segment by two, the end points of the segment being two adjacent division points, the interval of the segment representing the distance between two adjacent sampling points in the segment, and the first time, the interval of the segment representing the distance between the two division points of the segment; determining an x-axis coordinate corresponding to a maximum error of the target discrete function based on an interpolation calculation result obtained by performing an interpolation calculation based on the division points and the sampling points; adding a sampling point to the segment containing the x-axis coordinate corresponding to said maximum error, said sampling point being used to divide the spacing of said segment by 2; It is configured as follows: A self-adaptive table creation device comprising:

14. The sampling point adding module is further configured to determine whether the number of the sampling points reaches a predetermined number, and if the result is No, to determine an x-axis coordinate corresponding to a maximum error of the target discrete function according to a result obtained by performing an interpolation calculation based on the division points and the sampling points, and to add a sampling point to a segment including the x-axis coordinate corresponding to the maximum error; The sampling points are used to divide the segment interval by 2.

14. The self-adaptive table building apparatus of claim 13.

15. The creation module is further configured to create the LUT based on coordinates of division points of the target discrete function and intervals of each of the segments.

14. The self-adaptive table building apparatus of claim 13.

16. The creation module is further configured to determine whether the intervals of two adjacent segments are equal, and if so, delete a division point between the two adjacent segments, and create the LUT based on the coordinates of the remaining division points of the target discrete function and the intervals of each remaining segment.

16. The self-adaptive table building apparatus of claim 15.

17. A processor and a memory are provided, the processor and the memory are connected to each other, The memory is configured to store a program; The processor is configured to execute a program stored in the memory to perform the self-adaptive table creation method according to any one of claims 1 to 8.

1. An electronic device comprising:

18. A computer program is stored in the computer, and when the computer program is executed by the computer, the method for creating a self-adaptive table according to any one of claims 1 to 8 is performed. A computer-readable recording medium comprising:

Citation Information

Patent Citations

  • Image Gamma correction method for creating lookup table based on Taylor series fitting

    CN103440656A

  • Method and device for deciding color conversion coefficient

    JP1996102865A

  • Nonlinear signal processing apparatus and image signal processing apparatus

    JP2003224740A

  • gamma correction circuit

    JP2005518158A

  • Apparatus and method of mapping look-up table in an imaging system

    US20060203313A1