Method, device, electronic equipment, and storage medium for generating a self-adapting table
The self-adaptive table generation method addresses inefficiencies in LUT construction by automatically determining segmentation points based on the first derivative of a target discrete function, improving efficiency and precision in image processing chips.
Patent Information
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- VERISILICON MICROELECTRONICS (SHANGHAI) CO LTD
- Filing Date
- 2022-08-31
- Publication Date
- 2026-07-15
AI Technical Summary
Existing methods for constructing Look Up Tables (LUTs) in image processing chips are inefficient and lack precision due to manual sampling point installation, leading to suboptimal performance in HDR imaging.
A self-adaptive table generation method that automatically determines the coordinates of division points for LUTs based on the first derivative of a target discrete function, optimizing the distribution of sampling points to improve efficiency and precision without increasing the number of register resources.
The method enhances the construction efficiency and precision of LUTs by accurately determining segmentation points, reducing computational overhead, and optimizing resource usage in image processing chips.
Smart Images

Figure 112023136626249-PCT00005_ABST
Abstract
Description
Technology Field
[0001] This application belongs to the field of chip design technology and, specifically, relates to a method, apparatus, electronic equipment, and storage medium for generating a self-adapting table. Background Technology
[0002] In the HDR (High Dynamic Range Imaging) module of an image processing chip, pixel values of an image must be adjusted using conversion curves. For example, pixel values of an image are adjusted based on the curves of the Optical-Electro Transfer Function (OETF) and the Electro-Optical Transfer Function (EOTF). However, in image processing chips, interpolation calculations are generally performed for arbitrary points on the curves using a Look Up Table (LUT).
[0003] To define the LUT with a small amount of register resources while simultaneously reducing the time complexity of the lookup table algorithm, the distribution of the LUT is defined using three parameters such as Count, Steps, and Points. Here, Count represents the number of segment divisions of the curve, Steps represents the interval of sampling points within each segment, and Points represents the x-axis coordinates of the division points among different segments.
[0004] Currently, when constructing an LUT, a method is generally used in which a human observes and uses curves and manually installs sampling points, after which the constructed LUT is placed in a dedicated function unit (e.g., the image processing chip described above). However, this method is not only inefficient, but the precision of the LUT generated by the artificial observation method is also low. The problem to be solved
[0005] The embodiments of the present application aim to provide a self-adapting table generation method, apparatus, electronic equipment, and storage medium capable of improving the construction efficiency and precision of a LUT.
[0006] The present application can be realized as follows. means of solving the problem
[0007] According to a first aspect, an embodiment of the present application provides a method for generating a self-adaptive table. The method for generating a self-adaptive table comprises: a step of obtaining a target discrete function that is deployed in a dedicated functional unit and performs task processing; a step of processing the target discrete function to obtain a first derivative of the target discrete function; a step of determining the coordinates of the division points of the target discrete function based on the first derivative and a preset number of segment divisions; and a step of constructing a LUT based on the coordinates of the division points of the target discrete function.
[0008] In an embodiment of the present application, the first derivative of the target discrete function is obtained by processing the target discrete function; then, the coordinates of the split point of the target discrete function are determined based on the first derivative and a preset number of segment splits; and finally, a constructed LUT can be built based on the coordinates of the split point of the target discrete function. By using this method, an LUT is automatically generated based on the target discrete function, thereby improving efficiency, and at the same time, the precision of the LUT can be improved by determining the split point of the target discrete function based on the first derivative of the target discrete function.
[0009] By combining the technical proposal according to the first embodiment above, in some possible implementation methods, the step of determining the coordinates of the segmentation point of the target discrete function based on the first derivative and a preset number of segmentation divisions includes: a step of performing equal segmentation with respect to the y-axis of the first derivative based on the preset number of segmentation divisions; and a step of determining the coordinates of the segmentation point of the target discrete function based on the coordinates of the segmentation point of the first derivative; wherein the coordinates of the segmentation point of the first derivative are the coordinates of the segmentation point of the target discrete function; and the coordinates of the segmentation point of the first derivative are obtained by performing equal segmentation with respect to the x-axis of the inverse function of the first derivative based on the preset number of segmentation divisions.
[0010] In an embodiment of the present application, by calculating and obtaining the inverse function of the first derivative, the coordinates of each point that is evenly divided on the y-axis are obtained accurately and conveniently, so that the divided points on the x-axis can be mapped and obtained.
[0011] By combining the technical proposal according to the first embodiment above, in some possible implementation methods, the target discrete function includes N discretized data points. The step of determining the coordinates of the split point of the target discrete function based on the coordinates of the split point of the first derivative includes the step of moving the split point of the first derivative onto the data point of the first derivative to obtain the target split point of the first derivative; wherein the order of the target split point of the first derivative and the order of the split point of the first derivative are identical; and the coordinates of the target split point of the first derivative may be the coordinates of the split point of the target discrete function.
[0012] In an embodiment of the present application, by moving the division point of the first derivative onto the data point of the first derivative to obtain the coordinates of the target division point of the first derivative, subsequent calculations can be reduced and efficiency improved.
[0013] By combining the technical proposal according to the first embodiment above, in some possible implementation methods, the step of sequentially moving the division points of the first derivative onto the data points of the first derivative to obtain the target division points of the first derivative may include: a step of determining whether the division points of the first derivative are on the data points; a step of determining, if they are on the data points, the division points of the first derivative as the target division points of the first derivative; and a step of moving the division points of the first derivative onto the data points of the first derivative to obtain the target division points of the first derivative if they are not on the data points.
[0014] By combining the technical proposal according to the first embodiment above, in some possible implementation methods, after the step of moving the division point of the first derivative onto the data point of the first derivative to obtain the target division point of the first derivative, the method performs an equal division with respect to the y-axis of the first derivative located to the right of the target division point to form a new division point and confirms the new division point as the division point of the first derivative; wherein the number of equally divided segments is the number of segment divisions in a preset manner reduced by m; and m is the number of divisions reduced by 1.
[0015] By combining the technical proposal according to the first embodiment above, in some possible implementation methods, the step of determining the coordinates of the division points of the target discrete function based on the first derivative and a preset number of segment divisions comprises: a step of determining the coordinates of the first division point of the first derivative based on the first derivative and the preset number of segment divisions; a step of determining whether the difference value between the coordinates of two adjacent first division points in the first derivative satisfies 2n; a step of, if the difference value does not satisfy 2n, inserting a new division point into the two adjacent first division points so that the difference value between the coordinates of any two adjacent division points after the new division point is inserted satisfies 2n; and a step of determining the coordinates of the division points of the target discrete function; wherein the division points of the target discrete function include the first division point of the first derivative and a new division point on the first derivative.
[0016] In an embodiment of the present application, the division points are adjusted through the method described above so that the difference between the coordinates of any two adjacent division points satisfies 2n, and through this method, the calculation of the method during subsequent interpolation can be avoided.
[0017] By combining the technical proposal according to the first embodiment above, in some possible implementation methods, after the step of determining the coordinates of the dividing point of the target discrete function, the method comprises: a step of determining the x-axis coordinate of the target discrete function corresponding to the maximum error obtained by interpolation calculation based on the dividing point; a step of increasing the sampling point in the segment interval where the x-axis coordinate corresponding to the maximum error is located; wherein the sampling point is for dividing the interval of the segment interval by 2; wherein the end point of the segment interval is two adjacent dividing points; and the interval of the segment interval includes the distance between two adjacent sampling points within the segment interval; in the initial step, the interval of the segment interval indicates the distance between two dividing points of the segment interval; a step of determining the x-axis coordinate of the target discrete function corresponding to the maximum error obtained by interpolation calculation based on the dividing point and the sampling point; and a step of increasing the sampling point in the segment interval where the x-axis coordinate corresponding to the maximum error is located. Here, the sampling point is intended to divide the interval of the segment interval by 2.
[0018] In an embodiment of the present application, the precision of the LUT generated subsequently can be improved without increasing the number of division points by using the method of secondary addition.
[0019] By combining the technical proposal according to the first embodiment above, in some possible implementation methods, the method further comprises: a step of determining whether the number of sampling points has reached a preset number; if not reached, a step of continuously determining the x-axis coordinate of the target discrete function corresponding to the maximum error obtained by interpolation calculation based on the dividing point and the sampling point; and a step of increasing the sampling points in the segment interval where the x-axis coordinate corresponding to the maximum error is located; wherein the sampling points are for dividing the interval of the segment interval by 2.
[0020] By combining the technical proposal according to the first embodiment above, in some possible implementation methods, the step of constructing an LUT based on the coordinates of the splitting point of the target discrete function may further include the step of constructing the LUT based on the coordinates of the splitting point of the target discrete function and the interval of each segment interval.
[0021] By combining the technical proposal according to the first embodiment above, in some possible implementation methods, the step of constructing the LUT based on the coordinates of the split point of the target discrete function and the interval of each segment interval may include: a step of determining whether the intervals of two adjacent segment intervals are the same; if they are the same, a step of deleting the split point between the two adjacent segment intervals; and a step of constructing the LUT based on the coordinates of the remaining split point of the target discrete function and the intervals of each of the remaining segments.
[0022] In an embodiment of the present application, register resources can be saved by deleting the dividing point between two adjacent segment intervals with the same spacing.
[0023] According to a second aspect, an embodiment of the present application provides a self-adaptive table generation device. The self-adaptive table generation device may include: an acquisition module for acquiring a target discrete function that is placed in a dedicated function unit and performs task processing; a processing module for processing the target discrete function to obtain a first derivative of the target discrete function; a determination module for determining the coordinates of the division points of the target discrete function based on the first derivative and a preset number of segment divisions; and a construction module for constructing an LUT based on the coordinates of the division points of the target discrete function.
[0024] By combining the technical proposal according to the second embodiment above, in some possible implementation methods, the determination module specifically divides the y-axis of the first derivative equally based on the preset number of segment divisions; determines the coordinates of the division point of the target discrete function based on the coordinates of the division point of the first derivative; whereby the coordinates of the division point of the first derivative are the coordinates of the division point of the target discrete function; and the coordinates of the division point of the first derivative can be obtained by dividing the x-axis of the inverse function of the first derivative equally based on the preset number of segment divisions.
[0025] By combining the technical proposal according to the second embodiment above, in some possible implementation methods, the target discrete function includes N discrete data points; the determination module specifically moves the division point of the first derivative onto the data point of the first derivative to obtain the target division point of the first derivative; wherein the order of the target division point of the first derivative is the same as the order of the division point of the first derivative; and the coordinates of the target division point of the first derivative may be the coordinates of the division point of the target discrete function.
[0026] By combining the technical proposal according to the second embodiment above, in some possible implementation methods, the determination module specifically determines whether the division point of the first derivative is on the data point; if it is on the point, the division point of the first derivative is determined as the target division point of the first derivative; and if it is not on the point, the division point of the first derivative is moved to the data point of the first derivative to obtain the target division point of the first derivative.
[0027] By combining the technical proposal according to the second embodiment above, in some possible implementation methods, the determination module moves the division point of the first derivative onto the data point of the first derivative to obtain the target division point of the first derivative, then equally divides the y-axis of the first derivative located to the right of the target division point to form a new division point, and determines the new division point as the division point of the first derivative; where the number of equally divided segments is the number of segment divisions minus m; and m is the value obtained by subtracting 1 from the number of divisions.
[0028] By combining the technical proposal according to the second embodiment above, in some possible implementation methods, the determination module determines the coordinates of the first division point of the first derivative based on the first derivative and the preset number of segment divisions; determines whether the difference value between the coordinates of two adjacent first division points among the first derivatives satisfies 2n; if 2n is not satisfied, inserts (adds) a new division point to the two adjacent first division points so that the difference value between the coordinates of any two adjacent division points after the new division point is inserted satisfies 2n; and determines the coordinates of the division point of the target discrete function; wherein the division point of the target discrete function may include the first division point of the first derivative and a new division point on the first derivative.
[0029] By combining the technical proposal according to the second embodiment above, in some possible implementation methods, the device further includes a second additional module. The second additional module determines the coordinates of the split point of the target discrete function, and then determines the x-axis coordinate of the target discrete function corresponding to the maximum error obtained by interpolation calculation based on the split point; increases the sampling point in the segment interval where the x-axis coordinate corresponding to the maximum error is located; wherein the sampling point is for dividing the interval of the segment interval by 2; the end point of the segment interval is two adjacent split points; the interval of the segment interval represents the distance between two adjacent sampling points within the segment interval; initially, the interval of the segment interval represents the distance between two split points of the segment interval; determines the x-axis coordinate of the target discrete function corresponding to the maximum error obtained by interpolation calculation based on the split point and the sampling point; and increases the sampling point in the segment interval where the x-axis coordinate corresponding to the maximum error is located; Here, the sampling point is intended to divide the interval of the segment interval by 2.
[0030] When combining the technical proposal according to the second embodiment above, in some possible implementation methods, the second additional module determines whether the number of sampling points has reached a preset number; if it has not reached, it continues to determine the x-axis coordinate of the target discrete function corresponding to the maximum error obtained by interpolation calculation based on the division point and the sampling point; and increases the sampling points in the segment interval where the x-axis coordinate corresponding to the maximum error is located; where the sampling points are for dividing the interval of the segment interval by 2.
[0031] By combining the technical proposal according to the second embodiment above, in some possible implementation methods, the construction module can construct the LUT based on the coordinates of the division points of the target discrete function and the intervals of each segment interval.
[0032] By combining the technical proposal according to the second embodiment above, in some possible implementation methods, the construction module determines whether the spacing between two adjacent segment intervals is the same; if it is the same, it deletes the dividing point between the two adjacent segment intervals; and can construct the LUT based on the coordinates of the remaining dividing point of the target discrete function and the spacing of each of the remaining segments.
[0033] According to a third aspect, an embodiment of the present application provides an electronic apparatus. The electronic apparatus comprises a processor and a memory connected to the processor and storing a program; the processor may call a program stored in the memory to execute a method according to an embodiment of the first aspect and / or some possible embodiment combining the embodiment of the first aspect.
[0034] According to a fourth aspect, an embodiment of the present application provides a computer-readable storage medium in which a computer program is stored, and when said computer program is run by a processor, a method according to some possible realization method combining an embodiment of the first aspect and / or an embodiment of the first aspect may be executed. Brief explanation of the drawing
[0035] Hereinafter, to more clearly explain the technical design of the embodiments of the present application, the drawings used in the embodiments of the present application are briefly described. It should be understood that the following drawings are illustrative of some embodiments of the present application and should not be construed as a limitation on the scope of rights, and that other related drawings can be obtained based on these drawings by a person of ordinary skill in the art to which the present application belongs, under the premise that no creative labor is required. FIG. 1 is a block diagram showing a module of an electronic facility according to an embodiment of the present application. FIG. 2 is a flowchart illustrating the steps of a method for generating a self-adapting table according to an embodiment of the present application. FIG. 3 is a curve diagram corresponding to the gamma function according to an embodiment of the present application. FIG. 4 is an example diagram corresponding to the gamma function after discretization according to an embodiment of the present application. FIG. 5 is an exemplary diagram showing the first derivative of the gamma function after discretization according to an embodiment of the present application. FIG. 6 is an exemplary diagram showing a function corresponding to Table 1 according to an embodiment of the present application. FIG. 7 is an example diagram showing the inverse function of the first derivative of the gamma function after discretization according to an embodiment of the present application. FIG. 8 is an exemplary diagram showing a single function curve in which the y-axis of a first-order derivative is equally divided according to an embodiment of the present application. FIG. 9 is an exemplary diagram showing another function curve in which the y-axis of another first-order derivative is equally divided according to an embodiment of the present application. FIG. 10 is an effect diagram of applying the splitting point of the target discrete function according to an embodiment of the present application to the gamma function. FIG. 11 is an exemplary diagram illustrating the process of a self-adapting table generation method according to an embodiment of the present application. FIG. 12 is a block diagram showing a module of a self-adapting table generation device according to an embodiment of the present application. Specific details for implementing the invention
[0036] Hereinafter, the technical details of the embodiments of the present application will be explained by combining the drawings of the embodiments of the present application.
[0037] Referring to FIG. 1, FIG. 1 is a block diagram showing an exemplary structure of an electronic device (100) to which a self-adapting table generation method and apparatus according to an embodiment of the present application are applied. In an embodiment of the present application, the electronic device (100) may be a terminal or a server. The terminal may be a personal computer (PC), a smartphone, a tablet computer, a personal digital assistant (PDA), a mobile internet device (MID), etc., but is not limited thereto. The server may be a network server, a database server, a cloud server, or an integrated server composed of a plurality of sub-servers, etc., but is not limited thereto. Of course, the devices listed above are merely for the purpose of helping to understand the embodiment of the present application and should not be recognized as a limitation to the present embodiment.
[0038] In terms of structure, the electronic equipment (100) may include a processor (110) and a memory (120).
[0039] The processor (110) and the memory (120) may be electrically connected directly or indirectly to enable data transmission or interaction. For example, an electrical connection between these elements may be realized through one or more communication buses or signal lines. The cross-link device may include a software module stored in the memory (120) in the form of at least one software or firmware, or a software module firmware-installed in the operating system (OS) of the electronic equipment (100). The processor (110) is intended to execute an executable module stored in the memory (120), and may execute a self-adaptive table generation method by executing, for example, a software function module and a computer program included in a self-adaptive table generation device. The processor (110) may execute a computer program after receiving an execution command.
[0040] Here, the processor (110) may be an integrated circuit chip having signal processing capabilities. The processor (110) may be a general-purpose processor, for example, a Central Processing Unit (CPU), a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a separating gate or transistor logic device, a separating hardware component, etc., and may realize or perform each method, step, and logic block according to the embodiments of the present application. Additionally, the general-purpose processor may be a microprocessor or any conventional processor, etc.
[0041] The memory (120) may be Random Access Memory (RAM), Read Only Memory (ROM), Programmable Read-Only Memory (PROM), Erasable Programmable Read-Only Memory (EPROM), and Electric Erasable Programmable Read-Only Memory (EEPROM), but the present application is not limited thereto. The memory (120) is intended to store a program, and the processor (110) can execute the program when it receives an execution instruction.
[0042] It should be noted here that the structure illustrated in FIG. 1 is merely exemplary. An electronic device (100) according to an embodiment of the present application may have fewer or more components than that shown in FIG. 1, or may have components different from those shown in FIG. 1. Additionally, each component shown in FIG. 1 may be realized through software, hardware, or a combination thereof.
[0043] Referring to FIG. 2, FIG. 2 is a flowchart illustrating the steps of a method for generating a self-adaptive table according to an embodiment of the present application, and the method is applied to an electronic facility (100) illustrated in FIG. 1. It is to be explained that the method for generating a self-adaptive table according to an embodiment of the present application is not limited to the order shown in FIG. 2 and below, and the method includes steps (S101) and (S104).
[0044] Step (S101): Obtain a target discrete function that is deployed to a dedicated function unit to proceed with mission processing.
[0045] Here, the dedicated function unit may be a GPU (Graphics Processing Unit), an image display chip, a voice processing chip, etc. Correspondingly, the task processing may include image processing and voice processing, but the present application is not limited thereto.
[0046] What needs to be explained here is that the target discrete function can be obtained by discretizing the target primitive function. Internally within a dedicated function unit, since floating-point values are typically approximated using fixed-point values, the target primitive function can be sampled uniformly. This is discretized into N data points, where N=2 n It can be +1 (n=1, 2, 3, ...). In an embodiment of the present application, when n is 10, N=2 10 +1=1025, and here, adding 1 is because it includes the zero point.
[0047] The discretization process of the target primitive function is performed by electronic equipment, that is, the method may further include the step of obtaining the target primitive function and discretizing the target primitive function to generate the target discrete function before step (S101).
[0048] Of course, in other embodiments, the discretization of the target primitive function may be performed by other electronic equipment, and the electronic equipment according to the embodiment of the present application receives only the target discrete function after discretization.
[0049] The above-mentioned target primitive function can be primarily used for task processing. For example, when the target primitive function is used for image processing, it may be either a photoelectric conversion function or an electrophotonic conversion function. For example, the target primitive function may be a gamma function or a degamma function, but the present application is not limited thereto.
[0050] For ease of understanding, the embodiments of the present application describe, as an example, that the target primitive function is the gamma function.
[0051] The mathematical formula for the gamma function can be found in the following equation (1).
[0052] (1)
[0053] Refer to Figure 3 for the curve of the gamma function. In Figure 3, the curve represents the curve, the horizontal axis represents the input with the x-axis, and the vertical axis represents the output with the y-axis.
[0054] For the mathematical expression of the gamma function after discretization (i.e., the target discrete function), refer to the following equation (2).
[0055] (2)
[0056] Refer to Fig. 4 for the curve of the gamma function after discretization (i.e., the target discretization function). In Fig. 4, Discretization of curve represents the curve after discretization, and the curve of the gamma function is discretized into 1025 discretization points, which can be seen relatively clearly near x=0.
[0057] Step (S102): Process the target discrete function to obtain the first derivative of the target discrete function.
[0058] What needs to be explained here is that where the change in the slope of the curve is large, more division points are required, and the first derivative can represent the rate of change of the function. In the embodiment of the present application, the first derivative of the target discrete function can be obtained by deriving the target discrete function.
[0059] The first derivative of the target discrete function can be obtained by calculating using the following equation (3).
[0060] (3)
[0061] For example, the first derivative of the gamma function after discretization can be seen in the example of Fig. 5.
[0062] Step (S103): Determine the coordinates of the division points of the target discrete function based on the first derivative and the preset number of segment divisions.
[0063] Here, the preset number of segment divisions may be set according to the actual situation. For example, the preset number of segment divisions may be 8 or 10, but the present application is not limited thereto.
[0064] The preset number of segment divisions is for dividing the first derivative. 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 can be the same as the division points of the target discrete function.
[0065] Step (S104): Construct an LUT based on the coordinates of the split points of the target discrete function.
[0066] Finally, an LUT can be constructed based on the coordinates of the split points of the target discrete function. In an embodiment of the present application, the LUT may include only the coordinates of the split points of each target discrete function.
[0067] Count 3 Steps 1024 1024 2048 Points 1024 2048 4096
[0068] In Table 1, Count represents the number of segments, Steps represents the interval of sampling points within each segment interval, and Points represents the coordinates of the target discrete function's split points on the x-axis. Count can be determined by the number of split points of the target discrete function. For example, if the number of split points of the target discrete function is 3, Count is 3. Since the current segment interval does not contain sampling points, Steps is the distance between two adjacent split points. For example, the interval of the 3rd segment interval could be 4096-2048=2048.
[0069] Here, the function corresponding to Table 1 can be referenced in FIG. 6. In FIG. 6, Point1=1024, Point2=2048, and Point3=4096. The target primitive function is divided into three segments, i.e., Count=3. The segment intervals of the three segments can be segment1, segment2, and segment3, respectively.
[0070] In addition, it should be explained that the LUT may further include the coordinates of each division point on the y-axis, which can be determined through a mapping relationship with the coordinates of the division point on the x-axis, but the present application is not limited thereto.
[0071] Here, the LUT can be placed in a dedicated function unit, and the dedicated function unit performs task processing based on the LUT, that is, the target discrete function can be placed in the dedicated function unit through the format of the LUT.
[0072] Specifically, the LUT generated by the self-adaptive table generation method according to an embodiment of the present application may be applied to the fitting of any monotonous curve, and, for example, the method may be applied to an HDR module, but the present application is not limited thereto.
[0073] For example, the function corresponding to LUTA is intended to adjust the pixel values of an image, and after LUTA is placed in a dedicated function unit, the dedicated function unit receives one frame of an image, determines the adjustment value of each pixel through LUTA, and takes the grayscale value of pixel (A) as the input to the function corresponding to LUT. Then, the output of the function is calculated through interpolation, and the output of the function may be the adjustment value corresponding to pixel (A).
[0074] As can be seen from this, in the embodiment of the present application, the first derivative of the target discrete function is obtained by processing the target discrete function, and then the coordinates of the division points of the target discrete function are determined based on the first derivative and a preset number of segment divisions, and finally, an LUT can be constructed based on the coordinates of the division points of the target discrete function. Through this method, efficiency can be improved by automatically generating an LUT based on the target discrete function, and at the same time, the precision of the LUT can be improved by determining the division points of the target discrete function based on the first derivative of the target discrete function.
[0075] In one embodiment, the step (S103) of determining the coordinates of the division point of the target discrete function based on the first derivative and a preset number of segment divisions may specifically include: a step of evenly dividing the y-axis of the first derivative based on a preset number of segment divisions; and a step of determining the coordinates of the division point of the target discrete function based on the coordinates of the division point of the first derivative.
[0076] Here, the coordinates of the division point of the first derivative may be the coordinates of the division point of the target discrete function, and the coordinates of the division point of the first derivative can be obtained by evenly dividing the x-axis of the inverse function of the first derivative based on a preset number of segment divisions. That is, before evenly dividing the y-axis of the first derivative based on a preset number of segment divisions, it is necessary to first process the first derivative of the target discrete function, and through this, the inverse function of the first derivative of the target discrete function can be obtained. Taking the case where the target discrete function is the gamma function after discreteization as an example, the inverse function of the first derivative of the target discrete function can be referenced as shown in Fig. 7.
[0077] Accordingly, in step (S102), the first derivative of the target discrete function and the inverse of the first derivative of the target discrete function can be calculated simultaneously, but the present application is not limited thereto.
[0078] What needs to be explained here is that in the embodiment of the present application, it is necessary to obtain the division points of the mapped x-axis after equally dividing the y-axis of the first derivative. Since the y-axis is used as the input, this can be realized using the inverse function of the first derivative for computational convenience. That is, by equally dividing the x-axis of the inverse function of the first derivative, the division points are used as input, and the values of the y-axis can be obtained through linear interpolation. Through this, the division points of the first derivative on the x-axis can be obtained. Refer to FIG. 8 for the function curve formed by equally dividing the y-axis of the first derivative based on a preset number of segment divisions. In FIG. 8, the dotted line corresponds to the division point.
[0079] As can be seen from this, in the embodiment of the present application, the inverse function of the first derivative is obtained through calculation, and the coordinates of each point equally divided on the y-axis can be obtained accurately and easily, so that the division points on the x-axis can be obtained by mapping.
[0080] Of course, in other embodiments, equal division on the y-axis may be performed based on the first derivative directly, but the present application is not limited thereto.
[0081] As illustrated in FIG. 8, the division point (value on the x-axis) after equal division is not completely located on N data points. Therefore, in order to reduce subsequent calculations and improve efficiency, in one embodiment, the step of determining the coordinates of the division point of the target discrete function based on the coordinates of the division point of the first derivative may specifically include the step of moving the division point of the first derivative onto the data points of the first derivative to obtain the coordinates of the target division point of the first derivative.
[0082] For example, the coordinates of the target division point of the first derivative can be obtained by sequentially moving the division point of the first derivative onto the data point closest to the right of the first derivative.
[0083] What needs to be explained here is that the order of the target division points of the first-order derivative and the order of the division points of the first-order derivative are identical. For example, the division points of the first-order derivative may include Point1, Point2, and Point3. Here, Point1 <Point2<Point3이고, 이동시킨 후, 1계 도함수의 목표 분할점인 Point1, Point2 및 Point3의 크기 관계는 여전히 Point1<Point2<Point3을 만족한다.
[0084] The coordinates of the target division point of the above first derivative may be the coordinates of the division point of the target discrete function.
[0085] Optionally, the step of moving the division point of the first derivative onto the data point of the first derivative to obtain the target division point of the first derivative may specifically include: a step of determining whether the division point of the first derivative is on the data point; a step of determining the division point of the first derivative as the target division point of the first derivative if it is on the data point; and a step of moving the division point of the first derivative onto the data point of the first derivative to obtain the target division point of the first derivative if it is not on the data point.
[0086] That is, if the division point of the first derivative is located on the data point, it is directly determined as the target division point, and if the division point of the first derivative is not located on the data point, the target division point of the first derivative can be obtained by moving it to the data point closest to the right.
[0087] In one embodiment, after the step of moving the division point of the first derivative onto the data point of the first derivative to obtain the target division point of the first derivative, the method may further include the step of forming a new division point by equally dividing the y-axis of the first derivative located to the right of the target division point, and confirming the new division point as the division point of the first derivative. Here, the number of equally divided segments is the number of segment divisions minus m; m is the value obtained by subtracting 1 from the number of divisions.
[0088] For example, assuming that the preset segment splitting count is 8, first check whether the first splitting point of the first derivative is located on N data points, and if it is located on the N data points, use the splitting point, that is, confirm the first splitting point as the first target splitting point, and continue to check whether the second splitting point is located on N data points.
[0089] If the first split point is not located on N data points, the split point is moved to the one data point closest to the right. At this time, the data point is confirmed as the first target split point, and the y-axis of the first derivative located to the right of the first target segment is divided equally. The number of segments is Count-1=7 segments, which is the current number of splits, and since the current number of splits is 2, m is 2-1=1.
[0090] After equal division, it can be determined whether the first division point after division is located on N data points. It should be explained here that the first division point after division is the second division point during the first division. The above division and determination steps are repeated, and each time the step is repeated, the number of segments decreases by 1 until Count=0, after which the coordinates of all target division points are output. As shown in FIG. 9, all division points are located on the data points. Through the above method, equal division with respect to the y-axis of the first derivative can also be realized.
[0091] Optionally, the step (S103) of determining the coordinates of the division points of the target discrete function based on the first derivative and a preset number of segment divisions may further include: a step of determining the coordinates of the first division point of the first derivative based on the first derivative and a preset number of segment divisions; a step of determining whether the difference value between the coordinates of two adjacent first division points among the first derivatives satisfies 2n; a step of, if the difference value does not satisfy 2n, inserting a new division point into the two adjacent first division points so that the difference value between the coordinates of any two adjacent division points after the new division point is inserted satisfies 2n; and a step of determining the coordinates of the division points of the target discrete function. Here, the division points of the target discrete function may include the first division point of the first derivative and a new division point on the first derivative.
[0092] Specifically, first preserve the first split point (adjPoint), then calculate the gap between the adjacent next split point and the current split point, and denote it as tempGap.
[0093] Next, determine whether the above interval (tempGap) satisfies 2n; if it satisfies 2n, skip, and if it does not satisfies 2n, the interval is smaller than the above interval and 2n Find the value closest to and, then subtract the value satisfying 2n found at the next split point, save the difference value in adjPoint, and calculate the remainder for the above value using tempGap. Continue to determine whether the remainder satisfies 2n. That is, repeat the above steps until tempGap satisfies 2n. Finally, arrange all saved adjPoints in progressively increasing order.
[0094] For example, if the first split point is 64, it is first saved in adjPoint, and the second split point is 3776 and is continuously saved in adjPoint, and the tempGap between the two points is 3712. Since the above 3712 does not satisfy 2n, the value that is smaller than this figure and closest to it satisfies 2n, namely 2048(2 11 Find ). Next, perform the calculation 3776-2048=1728 (store 1728 in adjPoint), and then perform the calculation 3712%2048 = 1664 (the sign "%" indicates the remainder calculation). Since 1664 does not satisfy 2n, continue to 1024(2 10 Find ). Then, perform the calculation 1728-1024=704 (store this in adjPoint), and perform the calculation 1664%1024=640; since this still does not satisfy 2n, continue to 512(2 9Find ) and perform the calculation 704-512=192 (saving this to adjPoint), and perform the calculation 640%512=128. If 128 satisfies 2n, the above calculation is terminated. Finally, the saved adjPoints are arranged in progressively increasing order. Through this, adjPoints=[64, 192, 704, 1728, 3776] can be obtained. Here, coordinates 192, 704, and 1728 are the coordinates of the new split point. Based on the confirmed new split point, the interval of the newly added segment can be determined again. That is, adjSteps=[64, 128, 512, 1024, 2048]. As can be seen from this, after adding a new split point, the difference in coordinates between any two split points satisfies 2n.
[0095] The above steps are repeated until all division points are ergodic. Finally, all new division points can be obtained, and then the new division points can be combined with the initial division points to determine the coordinates of the division points of the target discrete function. Through this method, it is possible to avoid performing calculations during subsequent interpolation.
[0096] Finally, the effect shown in FIG. 10 can be achieved by applying the division points of the obtained target discrete function to the gamma function. From FIG. 10, it can be seen that the gamma function curve is divided into ideal intervals, and relatively many sampling points are distributed where the change in slope is relatively large (the front side of the curve), and the opposite case is observed where the change in slope is relatively small (the rear side of the curve).
[0097] Optionally, after determining the coordinates of the split point of the target discrete function, the method may further include steps (S11)-step (S14).
[0098] Step (S11): Determine the x-axis coordinates of the target discrete function corresponding to the maximum error obtained by interpolation calculation based on the division point.
[0099] What needs to be explained here is that in step (S11), after comparing all parameters of the target discrete function with all parameters obtained by interpolation calculation for the division point, the x-axis coordinate corresponding to the maximum error is determined.
[0100] Step (S12): Increase the sampling points in the segment interval where the x-axis coordinate corresponding to the maximum error is located, and the sampling points are for dividing the interval of the segment interval by 2.
[0101] Here, the segment interval is two adjacent division points; the interval of the segment interval represents the distance between two adjacent sampling points in the segment interval; the division point is determined as the sampling point, and in the initial stage, the interval of the segment interval represents the distance between two division points of the segment interval.
[0102] For example, the x-axis coordinate corresponding to the maximum error is located between the first and second division points, and the x-axis coordinate of the first division point may be 1024 and the x-axis coordinate of the second division point may be 2048. If there is no sampling point between the first and second division points, the interval between the first and second division points may be 2048 - 1024 = 1024. In this case, the interval of the corresponding segment interval can be divided by 2 by increasing one sampling point. The x-axis coordinate of the newly increased sample is 1536.
[0103] When there is one sampling point between the first and second dividing points, the interval between the first and second dividing points is 512. In this case, the interval of the segment interval can be divided by 2 by increasing the two sampling points. The x-axis coordinates of the two newly increased sampling points are 1280 and 1792, respectively.
[0104] Step (S13): Determine the x-axis coordinates of the target discrete function corresponding to the maximum error obtained by interpolation calculation based on the division point and the sampling point.
[0105] In step (S13), the sampling points can be increased to proceed with the interpolation calculation.
[0106] Step (S14): Increase the sampling points in the segment interval where the x-axis coordinate corresponding to the maximum error is located, and the sampling points are for dividing the interval of the segment interval by 2.
[0107] Since the implementation process of step (S14) and step (S12) is identical, the explanation regarding this is omitted here.
[0108] In one embodiment, the step may further include: determining whether the number of sampling points has reached a preset number; if the preset number has not been reached, continuing to determine the x-axis coordinate of the target discrete function corresponding to the maximum error obtained by interpolation calculation based on the division point and the sampling point; and increasing the sampling point in the segment interval where the x-axis coordinate corresponding to the maximum error is located. Here, the sampling point is intended to divide the interval of the segment interval by 2.
[0109] It is to be explained here that a preset number is set as the maximum required number of sampling points (MaxEntry), and the value of the preset number can be set according to the actual situation. For example, the preset number may be 20, 30, or 50, but the present application is not limited thereto. When the number of sampling points reaches the preset number, the addition of more can be stopped.
[0110] As can be seen from this, the precision of the LUT generated subsequently can be improved without increasing the number of split points through the above-mentioned secondary addition method.
[0111] After performing the above second addition step, the step of constructing an LUT based on the coordinates of the split point of the target discrete function correspondingly may include the step of constructing an LUT based on the coordinates of the split point of the target discrete function and the interval of each segment interval.
[0112] What needs to be explained here is that the LUT constructed based on the coordinates of the division points of the target discrete function and the intervals of each segment interval can be referenced in Table 1, so the present application omits a description thereof.
[0113] Optionally, the step of constructing the LUT based on the coordinates of the split point of the target discrete function and the interval of each segment interval may specifically include the step of determining whether the intervals of two adjacent segment intervals are the same; if they are the same, the step of deleting the split point between the two adjacent segment intervals; and the step of constructing the LUT based on the coordinates of the remaining split point of the target discrete function and the intervals of each of the remaining segments.
[0114] After the second addition, there are many adjacent intervals with the same value, so it is necessary to filter them to save register resources. As a specific strategy, determine whether the intervals between two segment intervals are the same in order from front to back, and if they are the same, delete the split point between the two adjacent segment intervals, subtract 1 from the split count, i.e., become Count-1.
[0115] For example, assuming that after a second addition, the interval between the first segment and the second segment is 64, only the first and second segments are merged, that is, the split point between the first and second segments is removed. Through this method, the number of split points is reduced, thereby saving register resources.
[0116] Referring to FIG. 11, FIG. 11 is an exemplary diagram illustrating the completion process of a self-adapting table generation method according to an embodiment of the present application. First, a target primitive function and a preset number of segment divisions are obtained. Next, the target primitive function is discretized to obtain the first derivative and the inverse of the first derivative. Then, the division points are determined based on the first derivative and the inverse of the first derivative, and the division points are adjusted based on the position of the data points. Subsequently, a second addition is performed, and finally, by filtering the same interval again, optimized division points and intervals can be output.
[0117] Referring to FIG. 12, an embodiment of the present application further provides a self-adaptive table generation device (200) based on the same inventive concept. The self-adaptive table generation device includes an acquisition module (210), a processing module (220), a confirmation module (230), and a construction module (240).
[0118] The above acquisition module (210) is intended to acquire a target discrete function that is deployed in a dedicated function unit to proceed with mission processing.
[0119] The processing module (220) is intended to process the target discrete function to obtain the first derivative of the target discrete function.
[0120] The above-mentioned determination module (230) is intended to determine the coordinates of the division points of the target discrete function based on the first derivative and the preset number of segment divisions.
[0121] The above construction module (240) is for constructing an LUT based on the coordinates of the division points of the target discrete function.
[0122] Optionally, the determination module (230) specifically divides the y-axis of the first derivative equally based on the preset number of segment divisions; determines the coordinates of the division point of the target discrete function based on the coordinates of the division point of the first derivative; wherein the coordinates of the division point of the first derivative are the coordinates of the division point of the target discrete function; and the coordinates of the division point of the first derivative can be obtained by dividing the x-axis of the inverse function of the first derivative equally based on the preset number of segment divisions.
[0123] Optionally, the target discrete function includes N discrete data points. Specifically, the determination module (230) moves the split point of the first derivative onto the data point of the first derivative to obtain the target split point of the first derivative; wherein the order of the target split point of the first derivative and the order of the split point of the first derivative are identical; and the coordinates of the target split point of the first derivative are the coordinates of the split point of the target discrete function.
[0124] When combining the technical proposal according to the second embodiment above, in some possible implementation methods, the determination module (230) specifically determines whether the division point of the first derivative is located on the data point; if it is located on the data point, the division point of the first derivative is determined as the target division point of the first derivative; and if it is not located on the data point, the division point of the first derivative is moved to the data point of the first derivative to obtain the target division point of the first derivative.
[0125] Optionally, the determination module (230) moves the division point of the first derivative onto the data point of the first derivative to obtain the target division point of the first derivative, then equally divides the y-axis of the first derivative located to the right of the target division point to form a new division point, and determines the new division point as the division point of the first derivative; wherein the number of equally divided segments is the number of segment divisions minus m from the preset number of segment divisions; and m is the value obtained by subtracting 1 from the number of divisions.
[0126] Optionally, the determination module (230) determines the coordinates of the first division point of the first derivative based on the first derivative and the preset number of segment divisions; determines whether the difference between the coordinates of two adjacent first division points in the first derivative satisfies 2n; if it does not satisfy 2n, inserts a new division point into the two adjacent first division points so that the difference between the coordinates of any two adjacent division points after the new division point is inserted satisfies 2n; and determines the coordinates of the division point of the target discrete function; wherein the division point of the target discrete function includes the first division point of the first derivative and a new division point on the first derivative.
[0127] Optionally, the device further includes a second additional module. The second additional module determines the coordinates of the split point of the target discrete function, and then determines the x-axis coordinate of the target discrete function corresponding to the maximum error obtained by interpolation calculation based on the split point; increases the sampling point in the segment interval where the x-axis coordinate corresponding to the maximum error is located; - the sampling point is for dividing the interval of the segment interval by 2; where, the end point of the segment interval is two adjacent split points; the interval of the segment interval indicates the distance between two adjacent sampling points within the segment interval; initially, the interval of the segment interval indicates the distance between two split points in the segment interval -; determines the x-axis coordinate of the target discrete function corresponding to the maximum error obtained by interpolation calculation based on the split point and the sampling point; and increases the sampling point in the segment interval where the x-axis coordinate corresponding to the maximum error is located; Here, the above sampling point is intended to divide the interval of the corresponding segment interval by 2.
[0128] Optionally, the second additional module determines whether the number of sampling points has reached a preset number; if not, continues to determine the x-axis coordinate of the target discrete function corresponding to the maximum error obtained by interpolation calculation based on the division point and the sampling point; and increases the sampling points in the segment interval where the x-axis coordinate corresponding to the maximum error is located; wherein the sampling points are intended to divide the interval of the segment interval by 2.
[0129] Optionally, the construction module (240) constructs the LUT based on the coordinates of the split points of the target discrete function and the intervals of each segment interval.
[0130] Optionally, the construction module (240) determines whether the intervals of two adjacent segment intervals are the same; if they are the same, deletes the dividing point between the two adjacent segment intervals; and constructs the LUT based on the coordinates of the remaining dividing point of the target discrete function and the intervals of the remaining segments.
[0131] As those skilled in the art to which this application pertains will understand that, for the convenience and brevity of explanation, the specific operation process of the system, device, and unit described above may be referred to in the corresponding process in the aforementioned method embodiment, a description thereof is omitted here.
[0132] Embodiments of the present application may further provide a computer-readable storage medium in which a computer program is stored based on the same inventive concept. When the computer program is running, it may execute the method according to the embodiment.
[0133] The above storage medium may be any usable medium readable by a computer, or may be a data storage facility including a server, data center, etc. in which one or more usable media are integrated. The above usable medium may be a magnetic medium (e.g., soft disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., semiconductor disk; Solid State Disk (SSD)).
[0134] It should be understood that in the embodiments according to the present application, the disclosed apparatus and method may be realized through other means. The apparatus embodiments described above are merely exemplary, and, for example, the compartments of the unit may be merely compartments of logic functions, and there may be other compartmentalization methods when actually realized, and, for example, a plurality of units or assemblies may be combined or integrated into another system, or some features may be ignored or not performed. Furthermore, the electrical coupling or direct electrical coupling or communication connection between the shown or discussed may be indirectly electrically coupled or communication connected through a partial communication interface, device or unit, and may be electrical, mechanical, or other forms.
[0135] Additionally, the unit described as a separated part may be physically separated or not physically separated, and the part indicated as a unit may be a physical unit or not a physical unit, and may be located in a single location or deployed across multiple network units. The purpose of the technical proposal of this embodiment can be realized by selecting some or all of these units according to actual demand.
[0136] 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, and two or more modules may be integrated to form a single independent part.
[0137] In this specification, relational terms such as first, second, etc. are merely for distinguishing one entity or action from another entity or action, and do not require or imply that any such actual relationship or order exists between these entities or actions.
[0138] The foregoing description is merely an example of the present application and does not limit the scope of protection of the present application. To those skilled in the art to which the present application pertains, various modifications and improvements may be made to the present application. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present application shall be included within the scope of protection of the present application. Explanation of the symbols
[0139] 100-Electronic equipment; 110-Processor; 120-Memory; 200-Self-adaptive table generation unit; 210-Acquisition module; 220-Processing module; 230-Determination module; 240-Construction module.
Claims
Claim 1 A method for generating a self-adaptive table performed by a processor equipped in electronic equipment, comprising: a step of obtaining a target discrete function that is deployed in a dedicated functional unit and performs task processing; a step of processing the target discrete function to obtain a first derivative of the target discrete function; a step of determining the coordinates of the division points of the target discrete function based on the first derivative and a preset number of segment divisions; and a step of constructing an LUT based on the coordinates of the division points of the target discrete function; wherein the step of determining the coordinates of the division points of the target discrete function based on the first derivative and a preset number of segment divisions comprises: a step of evenly dividing the y-axis of the first derivative based on the preset 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. A self-adapting table generation method comprising, wherein the coordinates of the division point of the first derivative are the coordinates of the division point of the target discrete function, and the coordinates of the division point of the first derivative are obtained by equally dividing the x-axis of the inverse function of the first derivative based on the preset number of segment divisions. Claim 2 delete Claim 3 A method for generating a self-adapting table according to claim 1, wherein the target discrete function comprises discretized N data points, and the step of determining the coordinates of the split point of the target discrete function based on the coordinates of the split point of the first derivative comprises the step of moving the split point of the first derivative onto the data point of the first derivative to obtain the target split point of the first derivative, wherein the order of the target split point of the first derivative and the order of the split point of the first derivative are identical, and the coordinates of the target split point of the first derivative are the coordinates of the split point of the target discrete function. Claim 4 A method for generating a self-adapting table according to claim 3, wherein the step of moving the division point of the first derivative onto the data point of the first derivative to obtain the target division point of the first derivative comprises: a step of determining whether the division point of the first derivative is on the data point; a step of confirming the division point of the first derivative as the target division point of the first derivative if the division point of the first derivative is on the data point; and a step of moving the division point of the first derivative onto the data point of the first derivative to obtain the target division point of the first derivative if the division point of the first derivative is not on the data point. Claim 5 In claim 4, after the step of moving the division point of the first derivative onto the data point of the first derivative to obtain the target division point of the first derivative, the self-adapting table generating method further comprises the step of forming a new division point by equally dividing the y-axis of the first derivative located to the right of the target division point, and confirming the new division point as the division point of the first derivative, wherein the number of equally divided segments is the number of segment divisions set in advance minus m, and m is the value obtained by subtracting 1 from the number of divisions. Claim 6 In claim 1, the step of determining the coordinates of the division points of the target discrete function based on the first derivative and the preset number of segment divisions comprises: the step of determining the coordinates of the initial division points of the first derivative based on the first derivative and the preset number of segment divisions; and the difference value between the coordinates of two adjacent initial division points of the first derivative is 2 n A step of determining whether it satisfies; the difference value is 2 n If it is not satisfied, a new division point is inserted between the two adjacent initial division points, and the difference between the coordinates of any two adjacent division points after the insertion of the new division point is 2 n A method for generating a self-adapting table, comprising: a step of satisfying; and a step of determining the coordinates of the dividing point of the target discrete function; wherein the dividing point of the target discrete function includes the first dividing point of the first derivative and a new dividing point on the first derivative. Claim 7 In claim 6, after the step of determining the coordinates of the split point of the target discrete function, the self-adapting table generation method comprises: the step of determining the x-axis coordinate of the target discrete function corresponding to the maximum error obtained by interpolation calculation based on the split point; the step of increasing sampling points in the segment interval where the x-axis coordinate corresponding to the maximum error is located; - the sampling points are for dividing the interval of the segment interval by 2, the ends of the segment interval are two adjacent split points, the interval of the segment interval represents the distance between two adjacent sampling points in the segment interval, and in the initial step, the interval of the segment interval represents the distance between two split points of the segment interval -; the step of determining the x-axis coordinate of the target discrete function corresponding to the maximum error obtained by interpolation calculation based on the split point and the sampling points; and the step of increasing sampling points in the segment interval where the x-axis coordinate corresponding to the maximum error is located; A self-adapting table generation method characterized by further including, wherein the sampling point is for dividing the interval of the segment interval by 2. Claim 8 In claim 7, the self-adaptive table generation method further comprises: a step of determining whether the number of sampling points has reached a preset number; a step of, if the number has not reached the preset number, continuously determining the x-axis coordinate of the target discrete function corresponding to the maximum error obtained by interpolation calculation based on the dividing point and the sampling point; and a step of increasing the sampling point in the segment interval where the x-axis coordinate corresponding to the maximum error is located; wherein the sampling point is for dividing the interval of the segment interval by 2. Claim 9 A method for generating a self-adapting table according to claim 7, wherein the step of constructing an LUT based on the coordinates of the split point of the target discrete function comprises the step of constructing the LUT based on the coordinates of the split point of the target discrete function and the interval of each segment interval. Claim 10 A method for generating a self-adapting table according to claim 9, wherein the step of constructing the LUT based on the coordinates of the split point of the target discrete function and the interval of each segment interval comprises: a step of determining whether the intervals of two adjacent segment intervals are the same; a step of deleting the split point between the two adjacent segment intervals if the intervals of the two adjacent segment intervals are the same; and a step of constructing the LUT based on the coordinates of the remaining split point of the target discrete function and the intervals of each of the remaining segments. Claim 11 A self-adaptive table generating device comprising: an acquisition module for acquiring a target discrete function that is deployed in a dedicated functional unit and performs mission processing; a processing module for processing the target discrete function to obtain a first derivative of the target discrete function; a determination module for determining the coordinates of a division point of the target discrete function based on the first derivative and a preset number of segment divisions; and a construction module for constructing an LUT based on the coordinates of the division point of the target discrete function; wherein the determination module equally divides the y-axis of the first derivative based on the preset number of segment divisions and determines the coordinates of the division point of the target discrete function based on the coordinates of the division point of the first derivative, wherein the coordinates of the division point of the first derivative are the coordinates of the division point of the target discrete function, and the coordinates of the division point of the first derivative are obtained by equally dividing the x-axis of the inverse function of the first derivative based on the preset number of segment divisions. Claim 12 delete Claim 13 A self-adapting table generating device according to claim 11, wherein the target discrete function comprises N discrete data points, and the determination module moves the division point of the first derivative onto the data point of the first derivative to obtain the target division point of the first derivative, wherein the order of the target division point of the first derivative and the order of the division point of the first derivative are identical, and the coordinates of the target division point of the first derivative are the coordinates of the division point of the target discrete function. Claim 14 A self-adapting table generating device according to claim 13, wherein the determination module determines whether the division point of the first derivative is on the data point, and if the division point of the first derivative is on the data point, determines the division point of the first derivative as the target division point of the first derivative, and if the division point of the first derivative is not on the data point, moves 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. Claim 15 A self-adapting table generating device according to claim 14, wherein the determination module moves the division point of the first derivative onto the data point of the first derivative to obtain a target division point of the first derivative, then equally divides the y-axis of the first derivative located to the right of the target division point to form a new division point, and determines the new division point as the division point of the first derivative, and the number of equally divided segments is the number of segment divisions minus m, where m is the value obtained by subtracting 1 from the number of divisions. Claim 16 In claim 11, the determination module determines the coordinates of the first division point of the first derivative based on the first derivative and the preset number of segment divisions, and the difference value between the coordinates of two adjacent first division points of the first derivative is 2 n Determines whether it satisfies, and the above difference value is 2 n If it is not satisfied, a new division point is inserted between the two adjacent initial division points, and the difference between the coordinates of any two adjacent division points after the insertion of the new division point is 2 n A self-adapting table generating device characterized by satisfying [ ], determining the coordinates of the division points of the target discrete function, and wherein the division points of the target discrete function include the initial division point of the first derivative and a new division point on the first derivative. Claim 17 In claim 16, the self-adapting table generating device further comprises a second additional module, wherein the second additional module determines the coordinates of the split point of the target discrete function, determines the x-axis coordinate of the target discrete function corresponding to the maximum error obtained by interpolation calculation based on the split point, increases sampling points in the segment interval where the x-axis coordinate corresponding to the maximum error is located, wherein the sampling points are for dividing the interval of the segment interval by 2, the end points of the segment interval are two adjacent split points, and the interval of the segment interval represents the distance between two adjacent sampling points in the segment interval, and in the initial stage, the interval of the segment interval represents the distance between two split points of the segment interval, determines the x-axis coordinate of the target discrete function corresponding to the maximum error obtained by interpolation calculation based on the split point and the sampling points, increases sampling points in the segment interval where the x-axis coordinate corresponding to the maximum error is located, and the sampling points are for dividing the interval of the segment interval by 2 A self-adapting table generating device characterized by being for Claim 18 A self-adapting table generating device according to claim 17, wherein the second additional module determines whether the number of sampling points has reached a preset number, and if it has not reached the preset number, continues to determine the x-axis coordinate of the target discrete function corresponding to the maximum error obtained by interpolation calculation based on the division point and the sampling point, increases the sampling points in the segment interval where the x-axis coordinate corresponding to the maximum error is located, and the sampling points are for dividing the interval of the segment interval by 2. Claim 19 A self-adapting table generation device according to claim 17, wherein the construction module constructs the LUT based on the coordinates of the division points of the target discrete function and the intervals of each segment interval. Claim 20 A self-adapting table generation device according to claim 19, wherein the construction module determines whether the spacing between two adjacent segment intervals is the same, and if the spacing between two adjacent segment intervals is the same, deletes the dividing point between the two adjacent segment intervals, and constructs the LUT based on the coordinates of the remaining dividing point of the target discrete function and the respective spacing of the remaining segments. Claim 21 An electronic device comprising a processor and a memory connected to the processor and storing a program, wherein when the program stored in the memory is operated by the processor, the method for generating a self-adapting table according to any one of claims 1, 3 to 10 is executed. Claim 22 A computer-readable storage medium having a computer program stored therein, wherein when the computer program is operated by a computer, the computer-readable storage medium is characterized by executing a self-adapting table generation method according to any one of claims 1, 3 to 10.