Data processing method and equipment

By determining the target type information and mapping unit information of pixel data in the three-dimensional lookup table, only the required target sub-mapping unit vertex data is obtained for interpolation processing, the high power consumption problem caused by excessive vertex data reading in the color tuning process in the prior art is solved, and more efficient data processing is achieved.

CN120107448APending Publication Date: 2025-06-06SMARTER SILICON (SHANGHAI) TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510239155.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-28
Publication Date
2025-06-06

AI Technical Summary

Technical Problem

The existing three-dimensional lookup table (3D-LUT) needs to read out a lot of vertex data during the color adjustment process, resulting in higher power consumption.

Method used

By determining the target type information and mapping unit information of the pixel data, only the target vertex data corresponding to the required target sub-mapping unit is obtained for interpolation processing, thereby reducing the amount of data read from the storage module.

Benefits of technology

It reduces the number of read operations of the memory module, reduces power consumption, and completes interpolation processing in a short time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120107448A_ABST
    Figure CN120107448A_ABST
Patent Text Reader

Abstract

The invention discloses a data processing method and device, and the method comprises the steps: obtaining pixel data; determining target type information of the pixel data according to the pixel data, wherein the target type information represents the type of a target sub-mapping unit to which the pixel data belongs; based on the target type information and mapping unit information determined according to the pixel data, target vertex data corresponding to a target sub-mapping unit is obtained, the mapping unit information represents the target mapping unit to which the pixel data belongs, and the target sub-mapping unit is one of multiple sub-mapping units included in the target mapping unit; the target vertex data is a part of multiple pieces of vertex data corresponding to the target mapping unit; interpolation processing is carried out on the pixel data according to the target vertex data, a toning result corresponding to the pixel data is obtained, and the processing result is used for toning processing on the pixel data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data processing technology, and in particular to a data processing method and device. Background Art

[0002] A 3D Look Up Table (3D-LUT) is a color mapping table commonly used when coloring pixels in images and videos. A 3D look up table contains multiple vertex data, each of which is equivalent to a set of color data (for example, a set of RGB data).

[0003] In the related art, the vertex data of the three-dimensional lookup table can be stored in a memory (such as SRAM). For a pixel that needs to be colored, multiple vertex data close to the pixel can be searched and read out from the memory, and the color adjustment result corresponding to the pixel can be calculated based on the found vertex data.

[0004] The problem with the above solution is that a lot of vertex data needs to be read out each time the color adjustment result is calculated, resulting in higher power consumption during the color adjustment process. Summary of the invention

[0005] To this end, this application discloses the following technical solutions:

[0006] The first aspect of the present application provides a data processing method, comprising:

[0007] Get pixel data;

[0008] Determining target type information of the pixel data according to the pixel data, wherein the target type information represents a type of a target sub-mapping unit to which the pixel data belongs;

[0009] Based on the target type information and mapping unit information determined according to the pixel data, acquiring target vertex data corresponding to the target sub-mapping unit, the mapping unit information represents the target mapping unit to which the pixel data belongs, the target sub-mapping unit is one of a plurality of sub-mapping units included in the target mapping unit, and the target vertex data is a part of a plurality of vertex data corresponding to the target mapping unit;

[0010] The pixel data is interpolated according to the target vertex data to obtain a color adjustment result corresponding to the pixel data.

[0011] Optionally, acquiring target vertex data corresponding to the target sub-mapping unit based on the target type information and mapping unit information determined according to the pixel data includes:

[0012] Determine storage unit information of a storage module according to the target type information, wherein the storage unit information indicates a target storage unit in the storage module that stores target vertex data corresponding to the target sub-mapping unit;

[0013] Determining a target storage address of the target vertex data in the target storage unit using mapping unit information determined according to the pixel data;

[0014] The target vertex data is read from the target storage unit according to the storage unit information and the target storage address.

[0015] Optionally, determining storage unit information of the storage module according to the target type information includes:

[0016] Obtaining address decoding information of the pixel data, wherein the address decoding information represents a storage unit where vertex data corresponding to the smallest color component in the target mapping unit is located;

[0017] Storage unit information is determined in a storage module according to the address decoding information and the target type information.

[0018] Optionally, obtaining address decoding information of the pixel data includes:

[0019] The data of the first bit of the most significant bits of each color component of the pixel data are combined to obtain address decoding information of the pixel data.

[0020] Optionally, determining the target type information of the pixel data according to the pixel data includes:

[0021] Obtaining the least significant bit data of each color component of the pixel data as a pixel data difference value of each color component;

[0022] Determine feature information corresponding to each color component according to pixel data difference and interval information of each color component, wherein the interval information represents the difference between different vertex data in the target mapping unit;

[0023] The characteristic information corresponding to different color components is compared to determine the target type information of the pixel data based on the comparison result.

[0024] Optionally, also include:

[0025] The characteristic information corresponding to each of the color components is stored in a register for a target duration, and the characteristic information corresponding to each of the color components is read out from the register after the target duration, so as to interpolate the pixel data according to the characteristic information, and the target duration is the duration required to read out the target vertex data from the storage module.

[0026] Optionally, determining mapping unit information according to the pixel data includes:

[0027] Obtaining data at the most significant bit of each color component of the pixel data;

[0028] The mapping unit information is determined according to the data at the most significant bit in each of the color components.

[0029] Optionally, also include:

[0030] Writing the plurality of vertex data alternately into the plurality of storage units of the storage module;

[0031] Wherein, every two adjacent vertex data of corresponding color components are written into different storage units respectively.

[0032] Optionally, performing interpolation processing on the pixel data according to the target vertex data to obtain a color adjustment result corresponding to the pixel data includes:

[0033] Determine a target algorithm corresponding to the target type information;

[0034] The pixel data is interpolated according to the target vertex data and the target algorithm to obtain a color adjustment result corresponding to the pixel data.

[0035] A second aspect of the present application provides an electronic device, including:

[0036] A storage module, used for storing multiple vertex data;

[0037] Interpolation module for:

[0038] Get pixel data;

[0039] Determining target type information of the pixel data according to the pixel data, wherein the target type information represents a type of a target sub-mapping unit to which the pixel data belongs;

[0040] A decoding module, configured to obtain target vertex data corresponding to the target sub-mapping unit based on the target type information and mapping unit information determined according to the pixel data, wherein the mapping unit information represents the target mapping unit to which the pixel data belongs, the target sub-mapping unit is one of a plurality of sub-mapping units included in the target mapping unit, and the target vertex data is a part of a plurality of vertex data corresponding to the target mapping unit;

[0041] The interpolation module performs interpolation processing on the pixel data according to the target vertex data to obtain a color adjustment result corresponding to the pixel data. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.

[0043] Figure 1 is a flow chart of a data processing method provided in an embodiment of the present application;

[0044] Figure 2 is a schematic diagram of a target mapping unit provided in an embodiment of the present application;

[0045] Figure 3 is a schematic diagram of a sub-mapping unit provided in an embodiment of the present application;

[0046] Figure 4 is a schematic diagram of writing vertex data into a storage module provided by an embodiment of the present application;

[0047] Figure 5 is a flow chart of a method for reading target vertex data from a storage module provided by an embodiment of the present application;

[0048] Figure 6 is a flow chart of a method for determining target type information of pixel data provided by an embodiment of the present application;

[0049] Figure 7 It is a structural schematic diagram of an electronic device provided in an embodiment of the present application;

[0050] Figure 8 is a schematic diagram of the structure of another electronic device provided in an embodiment of the present application;

[0051] Fig. 9 It is a structural schematic diagram of another electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0052] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0053] The following uses the RGB color space as an example to explain how the 3D-LUT table is used in related technologies. Figure 2For any pixel data (r, g, b), the 8 adjacent vertex data closest to the pixel data can be determined in the 3D-LUT table. These 8 vertex data can be used Figure 2 The (R0, G0, B0), (R0, G0, B1), (R0, G1, B0), (R1, G0, B0), (R1, G1, B0), (R0, G1, B1), (R1, G0, B1), (R1, G1, B1) shown in the figure represent that R0 is smaller than R1, G0 is smaller than G1, and B0 is smaller than B1. These 8 vertex data can be constructed as follows in the RGB color space. Figure 2 The cube shown is equivalent to the target mapping unit to which the pixel data belongs.

[0054] In the related art, after determining the target mapping unit to which pixel data that needs to be adjusted belongs, the processor can simultaneously read out 8 vertex data of the target mapping unit from the storage module within one beat, perform interpolation processing based on the 8 vertex data, and obtain the color adjustment result of the pixel data.

[0055] However, by analyzing the interpolation process of pixel data, it is found that when interpolating any pixel data, only 4 vertex data out of the 8 vertex data contained in the target mapping unit are actually needed. These 4 vertex data required for interpolation can form a tetrahedron in the RGB color space, which is equivalent to the target sub-mapping unit to which the pixel data belongs.

[0056] In other words, half of the 8 vertex data read out by the processor in one beat will be discarded during the interpolation process. The more vertex data read out in one beat means that the storage module needs to process more read operations, which will obviously increase the power consumption of the storage module.

[0057] Based on the above problems, the embodiment of the present application provides a data processing method, which can be executed by a processor of any electronic device (including but not limited to a computer, a smart phone, a tablet computer, etc.), such as a graphics processor GPU, a neural network processor NPU, or a dedicated processing module. The following description is made by taking the execution subject as an example.

[0058] See also Figure 1 , the method may include the following steps.

[0059] S101, obtaining pixel data.

[0060] The data processing method of this embodiment can be applied to various scenarios including but not limited to image processing, film and television production, game development, virtual reality, etc. The pixel data obtained in S101 can be the pixel data that needs to be processed in these scenarios.

[0061] For example, in an image processing scenario, the method of this embodiment can be used to adjust the color of a frame of photo, and the pixel data can refer to each pixel data in the frame of photo; in a film and television production scenario, the method of this embodiment can be used to adjust the color of any video frame of a film and television work, and the pixel data can refer to each pixel data in the video frame; in a game development scenario, this embodiment can be used to adjust the color of any frame of rendered game screen, and the pixel data can refer to each pixel data in the game screen.

[0062] The obtained pixel data may be any pixel data that needs to be subjected to color adjustment processing.

[0063] For example, when a frame of image A needs to be color-adjusted, each pixel data contained in the image A can be obtained one by one, and each pixel data obtained is processed according to the method of this embodiment to obtain the color adjustment result of each pixel data. The image obtained by combining these color adjustment results is the color-adjusted image A'.

[0064] This embodiment can be applied to color adjustment of pixel data in any color space, including but not limited to HSL (hue, saturation, value), RGB (red, green, blue), etc. For ease of explanation, the processing method of this embodiment is described below using the RGB color space as an example.

[0065] As an example, the pixel data obtained in this embodiment can be data represented in hexadecimal in the RGB color space, for example (FF8, FFF, 5), where FF8, FFF and 5 correspond to the data of the R color component, G color component and B color component in the pixel data respectively.

[0066] S102, determining target type information of the pixel data according to the pixel data, where the target type information represents the type of the target sub-mapping unit to which the pixel data belongs.

[0067] Depending on the different pixel data to be interpolated, the relative positions of the four vertex data required for interpolation in the target mapping unit are different, and the types of the target sub-mapping units are also different. For example, for any pixel data, the type of the corresponding target sub-mapping unit can be Figure 3 Any one of the tetrahedrons shown in (1) to (6).

[0068] In step S102, based on the currently obtained pixel data, it can be determined that the target sub-mapping unit to which the pixel data belongs is Figure 3 The result of determining which type of (1) to (6) is selected can be represented by the target type information described above.

[0069] The form of the target type information is not limited. As an example, the target type information can be represented by a binary target type signal point_sel[7:0]. The signal contains 8 binary bits and can be represented as 8'b10110001, where each binary bit corresponds to a vertex data in the target mapping unit. If the value of a binary bit is 0, it means that the vertex data does not belong to the target sub-mapping unit. If the value of a binary bit is 1, it means that the vertex data belongs to the target sub-mapping unit. Therefore, the type of the target sub-mapping unit to which the pixel data belongs can be determined by the target type signal.

[0070] The advantage of using point_sel[7:0] as the target type information is that after obtaining the address decoding information of the pixel data, the target type information can be directly mapped to the storage unit information based on the address decoding information, thereby determining the storage unit where the target vertex data is located.

[0071] As another example, the types of the above 6 sub-mapping units may also be numbered, for example: Figure 3 The types of (1) to (6) are numbered T1 to T6 in sequence, and then the target type number can be used to indicate the type of the target sub-mapping unit to which the pixel data belongs. For example, if the target type number of the pixel data is T3, it means that the target sub-mapping unit to which the pixel data belongs is Figure 3 The type shown in (3).

[0072] In another example, different tags may be used to represent different types of sub-mapping units. Correspondingly, the target type information may be tags corresponding to the target sub-mapping units, for example, tags 1 to 6 may be used to represent the sub-mapping units in sequence. Figure 3 6 sub-mapping units, if the target sub-mapping unit to which the pixel data belongs is Figure 3 If the type is shown in (3), the target type information obtained can be tag3.

[0073] S103, based on the target type information and the mapping unit information determined according to the pixel data, obtain the target vertex data corresponding to the target sub-mapping unit, the mapping unit information represents the target mapping unit to which the pixel data belongs, the target sub-mapping unit is one of the multiple sub-mapping units contained in the target mapping unit, and the target vertex data is a part of the multiple vertex data corresponding to the target mapping unit.

[0074] In step S103, the vertex data is pre-stored in a storage module, such as SRAM, and the storage address of the target vertex data corresponding to the target sub-mapping unit in the storage module, that is, the target storage address, can be determined based on the target type information and mapping unit information, and then the target vertex data is read from the storage module according to the target storage address.

[0075] The mapping unit information may be determined based on the pixel data before the target type information is determined, or may be determined after the target type information is determined, or may be determined simultaneously with the target type information, without limitation.

[0076] The 3D-LUT table contains multiple vertex data, which can be composed of multiple Figure 2 The mapping unit shown, the mapping unit information can indicate the target mapping unit to which the current pixel data belongs among multiple mapping units.

[0077] The form of the mapping unit information is not limited. In some embodiments, the mapping unit information can be represented by the index of the vertex data with the smallest color components in the target mapping unit, combined with Figure 2 For example, the mapping unit information may be the index of the vertex data (R0, G0, B0) with the smallest color component in the target mapping unit.

[0078] In the 3D-LUT table, the value range of the pixel data may be divided according to specific interval information to form the aforementioned plurality of vertex data.

[0079] As an example, when the interval information is 255, 17 data can be divided from the value range of 0 to 4095 in the R color component, the G color component and the B color component, which are 0, 256, 512, 768, 1024...3840, 4095 respectively. By arranging and combining the 17 data of the three color components, 17*17*17 vertex data in the 3D-LUT table can be obtained, such as (0, 0, 0), (0, 256, 256), (512, 768, 1024), etc. Further, the 17 data of each color component can be numbered from 0 to 16 from small to large, so that the vertex data in the 3D-LUT table is represented by an index (i, j, k) composed of the numbers of each color component, where i is the number of the R color component, j is the number of the G color component, and k is the number of the B color component. For example, the index corresponding to the vertex data (0, 256, 256) is (0, 1, 1), and the index corresponding to the vertex data (512, 768, 1024) is (2, 3, 4).

[0080] In other words, the 3D-LUT table contains multiple vertex data, equivalent to:

[0081] In the coordinate system formed by the three color components of the color space, multiple vertex data are obtained by uniformly sampling from the origin according to the interval information, and each vertex data corresponds to a color in the color space.

[0082] The above method of dividing vertex data in the RGB color space can also be applied to other color spaces, not limited to the RGB color space.

[0083] S104, performing interpolation processing on the pixel data according to the target vertex data to obtain a color adjustment result corresponding to the pixel data.

[0084] In step S104, different interpolation processing modes may be used for pixel data according to different types of target sub-mapping units. The interpolation algorithm used for interpolation processing in this embodiment may be any interpolation algorithm in the related art, without limitation. The following is an example of an available interpolation algorithm.

[0085] As some examples, if the target sub-mapping unit belongs to Figure 3 For the type of T1, the pixel data can be interpolated according to the following formula (1).

[0086] (1), V(r,g,b)=(1-Δg)*(R0,G0,B0)+(Δg-Δb)*(R0,G1,B0)+(Δb-Δr)*(R0,G1,B1)+Δr*(R1,G1,B1);

[0087] If the target sub-mapping unit belongs to Figure 3 For the type T2, the pixel data can be interpolated according to the following formula (2).

[0088] (2), V(r,g,b)=(1-Δb)*(R0,G0,B0)+(Δb-Δr)*(R0,G0,B1)+(Δr-Δg)*(R1,G0,B1)+Δg*(R1,G1,B1);

[0089] If the target sub-mapping unit belongs to Figure 3 For the type T3, the pixel data can be interpolated according to the following formula (3).

[0090] (3), V(r,g,b)=(1-Δb)*(R0,G0,B0)+(Δb-Δg)*(R0,G0,B1)+(Δg-Δr)*(R0,G1,B1)+Δr*(R1,G1,B1);

[0091] If the target sub-mapping unit belongs to Figure 3 For the type T4, the pixel data can be interpolated according to the following formula (4).

[0092] (4), V(r,g,b)=(1-Δr)*(R0,G0,B0)+(Δr-Δg)*(R1,G0,B0)+(Δg-Δb)*(R1,G1,B0)+Δb*(R1,G1,B1);

[0093] If the target sub-mapping unit belongs to Figure 3For the type T5, the pixel data can be interpolated according to the following formula (5).

[0094] (5), V(r,g,b)=(1-Δg)*(R0,G0,B0)+(Δg-Δr)*(R0,G1,B0)+(Δr-Δb)*(R1,G1,B0)+Δr*(R1,G1,B1);

[0095] If the target sub-mapping unit belongs to Figure 3 For the type T6, the pixel data can be interpolated according to the following formula (6).

[0096] (6), V(r,g,b)=(1-Δr)*(R0,G0,B0)+(Δr-Δb)*(R1,G0,B0)+(Δb-Δg)*(R1,G0,B1)+Δg*(R1,G1,B1).

[0097] like Figure 2 As shown, (R0, G0, B0), (R0, G0, B1), (R0, G1, B0), (R1, G0, B0), (R1, G1, B0), (R0, G1, B1), (R1, G0, B1), (R1, G1, B1) respectively represent the 8 vertex data of the target mapping unit to which the pixel data belongs in the RGB color space.

[0098] V(r, g, b) represents the color adjustment result obtained after interpolation processing of the pixel data (r, g, b), Δr, Δg and Δb respectively represent the feature information corresponding to the R color component, the feature information corresponding to the G color component and the feature information corresponding to the B color component, these feature information represent the distance between the pixel data (r, g, b) and the vertex data (R0, G0, B0), the greater the deviation between (r, g, b) and the vertex data (R0, G0, B0) on the R color component, the greater the Δr, the greater the deviation between the G color component, the greater the Δg, the greater the deviation between the B color component, the greater the Δb. For the determination method of the above feature information, please refer to the relevant part below.

[0099] The above formulas (1) to (6) are equivalent to six algorithms corresponding to different types of target sub-mapping units. Correspondingly, when executing S104, it is possible to:

[0100] Determine the target algorithm corresponding to the target type information;

[0101] The pixel data is interpolated according to the target vertex data and the target algorithm to obtain the color adjustment result corresponding to the pixel data.

[0102] The beneficial effects of this embodiment are:

[0103] When color processing is performed on pixel data, only the vertex data of the target sub-mapping unit to which the pixel data belongs can be read from the storage module, without the need to read the vertex data of the entire target mapping unit. Therefore, the solution of this embodiment can reduce the amount of data read from the storage module when color processing is performed on each pixel data, thereby achieving the effect of reducing the read operation on the storage module and reducing the power consumption of the storage module.

[0104] Before executing the data processing method provided in this embodiment, the vertex data in the 3D-LUT table may be written into the storage module in advance, so that the corresponding target vertex data can be read out from the storage module in step S103.

[0105] The storage module may include multiple storage units. When the processor reads out vertex data from the storage module, it may read out one vertex data from each storage unit simultaneously within a unit time period (each unit time period may be referred to as a beat). For example, assuming there are 8 storage units, the processor may read out one vertex data from each storage unit simultaneously within a beat, that is, the processor may read out at most 8 vertex data from the storage module within one beat.

[0106] On the basis that 8 vertex data can be read out in one beat, the processor can apply the method of this embodiment to determine the target vertex data actually needed to be used in the interpolation processing of any one of the 8 vertex data, thereby reading less than 8 (for example 4) target vertex data in one beat, which can not only reduce the number of vertex data read out from the storage module, but also complete the interpolation processing in a short time.

[0107] Based on the above characteristics, in order to enable the processor to read out the 8 vertex data of the target mapping unit from the storage module within one beat, the vertex data of the 3D-LUT table can be written into the storage module as follows:

[0108] Writing the plurality of vertex data alternately into the plurality of storage units of the storage module;

[0109] Wherein, every two adjacent vertex data of corresponding color components are written into different storage units respectively.

[0110] The above writing method is described below by taking a storage module including 8 storage units for storing vertex data as an example.

[0111] The eight storage units of the storage module may be numbered from 0 to 7 in sequence, and recorded as storage unit 0 (mem0) to storage unit 7 (mem7).

[0112] Take 17*17*17 vertex data as an example, see Figure 4First, we can find the vertex data with i=0 and j=0 in the index, and write these vertex data alternately into storage unit 0 and storage unit 1 in the order of increasing k, where the vertex data with odd k is written into storage unit 1, and the vertex data with even k is written into storage unit 0. For example, the vertex data with indexes (0, 0, 0), (0, 0, 2) are written into storage unit 0, and the vertex data with indexes (0, 0, 1), (0, 0, 3) are written into storage unit 1.

[0113] After all the vertex data with i=0 and j=0 are written, the vertex data with i=0 and j=1 in the index can be found, and these vertex data can be written alternately into storage unit 2 and storage unit 3 in the same order of increasing k, where the vertex data with odd k is written into storage unit 3, and the vertex data with even k is written into storage unit 2.

[0114] After that, for the vertex data where i=0 and j is an even number, mem0 and mem1 are written alternately in the manner of i=0 and j=0, and for the vertex data where i=0 and j is an odd number, mem2 and mem3 are written alternately in the manner of i=0 and j=0. In the order of increasing j, the vertex data where i=0 is written to the corresponding storage unit in the above manner.

[0115] After all the vertex data of i=0 are written, the vertex data of i=1 and j=0 in the index can be found, and these vertex data are also written alternately into storage unit 4 and storage unit 5 in the order of increasing k, where the vertex data with odd k is written into storage unit 5, and the vertex data with even k is written into storage unit 4; after all the vertex data of i=1 and j=0 are written, the vertex data of i=1 and j=1 in the index can be found, and these vertex data are also written alternately into storage unit 6 and storage unit 7 in the order of increasing k, where the vertex data with odd k is written into storage unit 7, and the vertex data with even k is written into storage unit 6.

[0116] Then, in order of increasing j, write the vertex data of i=1 and j=2, the vertex data of i=1 and j=3... the vertex data of i=1 and j=16, until all the vertex data of i=1 is written. The writing method of the vertex data when j is an even number refers to the case of i=1 and j=0 above, and the writing method of the vertex data when j is an odd number refers to the case of i=1 and j=1 above.

[0117] Then, the vertex data of i=2, i=3...i=16 are written into the corresponding storage units in sequence in the order of increasing i until all the vertex data are written. The writing method of the vertex data when i is an even number refers to the case of i=0 above, and the writing method of the vertex data when i is an odd number refers to the case of i=1 above.

[0118] Figure 4Each dot in the figure represents a vertex data, and the color of the dot represents the storage unit that stores the vertex data. Vertex data of the same color are stored in the same storage unit, and vertex data of different colors are stored in different storage units.

[0119] By writing vertex data in the above manner, two adjacent vertex data in any direction of R, G and B in the color space can be stored in different storage units, and the 8 vertex data of any mapping unit can be stored in 8 different storage units respectively. Based on this, for any type of target sub-mapping unit, the processor can find the target vertex data corresponding to the target sub-mapping unit in multiple different storage units, so as to read these target vertex data from multiple different storage units at the same time in one beat.

[0120] See also Figure 5 , a method of reading out target vertex data based on target type information and mapping unit information determined according to pixel data may be:

[0121] S501, determining storage unit information of a storage module according to target type information, where the storage unit information indicates a target storage unit in the storage module that stores target vertex data corresponding to a target sub-mapping unit.

[0122] S502: Determine a target storage address of target vertex data in a target storage unit by using mapping unit information and storage unit information determined according to pixel data.

[0123] S503, reading target vertex data from the target storage unit according to the storage unit information and the target storage address.

[0124] In S501, the storage unit information can be represented in various forms. For example, the storage unit information can be an array, each element in the array corresponds to a target vertex data, and the value of each element represents the number of the target storage unit storing the target vertex data; or, the storage unit information can be an N-bit binary number, N is equal to the number of storage units used to store vertex data, each binary bit in the binary number corresponds to a storage unit, if the value of a binary bit is 0, it means that the corresponding storage unit is not the target storage unit, and the target vertex data does not exist in the storage unit, if the value of a binary bit is 1, it means that the corresponding storage unit is the target storage unit, and the target vertex data exists in the storage unit.

[0125] In conjunction with the aforementioned example of writing vertex data to the 8 storage units of the storage module, the storage unit information may be an 8-bit binary number, represented by mem_sel[7:0]. Exemplarily, the storage unit information mem_sel[7:0] determined according to the target type information point_sel[7:0]=8'b10110001 may be 8'b11101000, and the 8 binary bits from right to left in the storage unit information correspond to the aforementioned storage units 0 to 7, wherein the storage unit corresponding to the binary bit with a value of 1 is the target storage unit. In this example, the values ​​of the 4th, 6th, 7th and 8th binary bits from the right end are 1, indicating that the target storage units include storage unit 3, storage unit 5, storage unit 6 and storage unit 7.

[0126] In S501, the method of determining the storage unit information of the storage module according to the target type information may be:

[0127] Obtaining address decoding information of the pixel data, the address decoding information representing a storage unit where vertex data corresponding to the smallest color component in the target mapping unit is located;

[0128] The storage unit information is determined in the storage module according to the address decoding information and the target type information.

[0129] For any pixel data, the first way to obtain the address decoding information of the pixel data may be:

[0130] Each color component of the pixel data is represented by a binary number, and then all the binary bits required to represent the interval information of the 3D-LUT table are determined from low to high in the binary number, and the lowest bit of the remaining binary bits except the binary bits required to represent the interval information is obtained. The information obtained by combining the lowest bits of each color component obtained in this way can be used as the address decoding information of the pixel data.

[0131] As an example, when the value range of each color component of the pixel data is 0 to 4095, the interval information of the 3D-LUT table is 255, and the color space is RGB, each color component can be represented by a 12-bit binary number, where the representation of 255 requires the 0th binary bit to the 7th binary bit. Therefore, the lowest bit of the remaining binary bits except the 0th to 7th binary bits can be obtained, that is, the 8th binary bit of each color component is obtained and combined to obtain the address decoding information.

[0132] For pixel data in the RGB color space, the combination method can be to combine the 8th binary bit of the B color component (which can be represented by dat_b[8]), the 8th binary bit of the G color component (which can be represented by dat_g[8]), and the 8th binary bit of the R color component (which can be represented by dat_r[8]) in order from high to low to obtain a three-digit binary number. This binary number is the number of the storage unit where the vertex data with the smallest color component in the target mapping unit is located.

[0133] In some embodiments, when each color component of the pixel data is represented by a hexadecimal number, the value range of each color component of the pixel data is 0 to 4095, and the interval information of the 3D-LUT table is 255, the second method of obtaining the address decoding information may also be:

[0134] The data of the first bit in the most significant bit (MSB) of each color component of the pixel data is combined to obtain the address decoding information of the pixel data.

[0135] The first bit in the most significant bit refers to the lowest binary bit in the binary number after the most significant bit is converted into a binary number.

[0136] For example, if the R color component of a pixel data is a hexadecimal number F94, then the most significant bit (MSB) of the color component is the first bit F on the left. After converting F to the binary number 1111, the first binary bit on the right of the binary number is the first bit in the most significant bit (MSB) of the color component.

[0137] The merging method can refer to the first method, which will not be described in detail.

[0138] It can be seen that when the value range is 0 to 4095, the 8th binary bit in the color component represented by the binary number is the same as the first bit of the most significant bit in the color component represented by the hexadecimal number, so the above second method of obtaining the address decoding information can be regarded as a special case of the first method of obtaining the address decoding information when the color component is represented by a hexadecimal number and the interval information is 255.

[0139] As an example, a pixel data obtained in S101 may be (FF8, DFF, 5), the R color component of the pixel data is the hexadecimal number FF8, the G color component is the hexadecimal number DFF, and the B color component is the hexadecimal number 005; the highest bit of the R color component is F, which is converted to a binary number of 1111, and its first bit is 1, the highest bit of the G color component is D, which is converted to a binary number of 1101, and its first bit is 1, the highest bit of the B color component is 0, which is converted to a binary number of 0000, and its first bit is 0. The binary number obtained by combining these three data in the order of B, G, and R is 011, that is, the address decoding information of the pixel data (FF8, DFF, 5) is 011, indicating that the storage unit where the vertex data with the smallest color component corresponding to the target mapping unit is located is storage unit 3 (that is, mem3).

[0140] The vertex data with the smallest corresponding color component in the target mapping unit refers to the vertex data in the target mapping unit whose each color component is less than or equal to the other vertex data. Figure 2 For example, the vertex data corresponding to the smallest color component in the target mapping unit can be Figure 2 The vertex data (R0, G0, B0) is shown.

[0141] Since each color component of the vertex data corresponds to the numbers i, j, k in the index in sequence, combined with the aforementioned method of writing vertex data to the storage module, after determining the storage unit where the vertex data with the smallest color component corresponding to the target mapping unit is located, the storage unit where the target vertex data in the target mapping unit is located can be determined in sequence.

[0142] Combination Figure 2 In the example, after determining that (R0, G0, B0) exists in memory cell 3, based on Figure 4 The writing method shown can determine that (R0, G0, B1) adjacent to (R0, G0, B0) on the B color component exists in storage unit 2;

[0143] (R1, G0, B0) adjacent to (R0, G0, B0) on the R color component is stored in storage unit 7;

[0144] The (R0, G1, B0) adjacent to (R0, G0, B0) on the G color component is stored in storage unit 1;

[0145] There is storage unit 6 in (R1, G0, B1) adjacent to (R0, G0, B1), and there is storage unit 0 in (R0, G1, B1);

[0146] There is storage unit 5 in (R1, G1, B0) adjacent to (R0, G1, B0);

[0147] There is a memory cell 4 in (R1, G1, B1) adjacent to (R0, G1, B1).

[0148] When obtaining storage unit information, it is assumed that the target type information indicates Figure 2 In the target mapping unit, the target vertex data include (R0, G0, B0), (R1, G0, B0), (R1, G1, B1) and (R1, G1, B0). It can be determined that these four target vertex data are respectively stored in storage unit 3, storage unit 7, storage unit 4 and storage unit 5, and the corresponding storage unit information is 8'b10111000.

[0149] In step S502, according to the correspondence between the color component of the vertex data and the index of the vertex data, the index of the target vertex data in the target mapping unit can be determined based on the index of the vertex data with the smallest color component in the target mapping unit, and then according to the mapping relationship between the index and the storage address of the vertex data in the storage unit, the target storage address of each target vertex data in the target mapping unit can be determined.

[0150] Among them, the mapping relationship between the index and the storage address of the vertex data in the storage unit can be recorded when writing the vertex data to the storage module. The method of determining the storage address based on the index and the mapping relationship can refer to the relevant technology and will not be described in detail.

[0151] In step S503, based on the storage unit information, the storage address of each target vertex data in the corresponding target storage unit can be output to the storage module, and the read enable signal of each target storage unit can be output, so that multiple target vertex data can be read out from multiple different target storage units of the storage module at the same time in one beat.

[0152] See also Figure 6 In step S102, in one embodiment, the method of determining the target type information of the pixel data according to the pixel data may be:

[0153] S601, obtaining a pixel data difference corresponding to each color component in the pixel data.

[0154] S602, determining feature information corresponding to each color component according to the pixel data difference and interval information of each color component, wherein the interval information represents the difference between different vertex data in the target mapping unit.

[0155] S603, comparing feature information corresponding to different color components to determine target type information of the pixel data based on the comparison result.

[0156] The pixel data difference value of the pixel data on any color component may be understood as the difference value between the pixel data on the color component and the vertex data (R0, G0, B0) with the smallest color component in the target mapping unit where the pixel data is located.

[0157] Taking RGB color space as an example, combined with Figure 2 For any pixel data (r, g, b), the pixel data difference of the pixel in the R color component is the difference between r and (R0, G0, B0) of the pixel data, that is, r-R0. Similarly, the pixel data difference in the G color component is g-G0, and the pixel data difference in the B color component is b-B0.

[0158] In S601, the method of obtaining the pixel data difference of a color component in the pixel data may be:

[0159] The color component of the pixel data is represented by a binary number, and data of all the binary bits required to represent the interval information in the binary number are obtained, and this part of the data is used as the pixel data difference of the color component.

[0160] For example, assuming that the value range of the color component of each pixel data is 0 to 4095, it can be represented as a binary number containing 12 binary bits (i.e., bits 0 to 11) in binary. If the interval information is 255, then in the 12-bit binary number representing the color component, all the binary bits required to represent the interval information include bits 0 to 7 (i.e., the lower 8 binary bits), so bits 0 to 7 of the 12-bit binary number representing the color component can be obtained as the pixel data difference of the color component. As an example, assuming that the color component r of the pixel data is represented in binary as: 001101001100, then the pixel data difference of the pixel data in the R color component can be represented as: 01001100, and the corresponding decimal number is 76.

[0161] When the color component of the pixel data is represented by hexadecimal and the interval information is 255, the data of the least significant bit LSB of the color component is equivalent to the data of all binary bits required to represent the interval information when the color component is represented by binary. Therefore, when the color component of the pixel data is represented by hexadecimal and the interval information is 255, the method of obtaining the pixel data difference of each color component of the pixel data can also be:

[0162] The data at the least significant bit of each color component of the pixel data is obtained as the pixel data difference value of each color component.

[0163] The least significant bit (LSB) of the color component may include other bits in the color component except the most significant bit. Exemplarily, for the pixel data (FF8, DFF, 5) represented in hexadecimal, the least significant bit data in the data FF8 of the R color component may be F8, the least significant bit data in the data DFF of the G color component may be FF, and the least significant bit data in the data 5 (equivalent to 005) of the B color component may be 05.

[0164] In S602, the color components corresponding to the vertex data with the largest color component and the vertex data with the smallest color component can be subtracted, and the result obtained can be used as the interval information. Alternatively, the interval information can be pre-recorded when writing the 3D-LUT table to the storage module, and the recorded interval information can be directly read in S602.

[0165] Combination Figure 2 The interval information obtained in S602 may include R1-R0 corresponding to the R color component, G1-G0 corresponding to the G color component, and B1-B0 corresponding to the B color component.

[0166] The characteristic information corresponding to each color component can be obtained by dividing the pixel data difference corresponding to the color component by the interval information corresponding to the color component.

[0167] Taking the RGB color space as an example, Δr, Δg and Δb respectively represent the feature information corresponding to the R color component, the feature information corresponding to the G color component and the feature information corresponding to the B color component. The above feature information can be determined according to the following formulas (7) to (9).

[0168] (7), Δr=(r-R0) / (R1-R0);

[0169] (8), Δg=(g-G0) / (G1-G0);

[0170] (9), Δb=(b-B0) / (B1-B0).

[0171] In step S603, the target type information of the pixel data may be determined based on the following strategy in combination with the comparison result:

[0172] If the comparison result is: Δb>Δr>Δg, it can be determined that the type of the target sub-mapping unit is T1, and the target type information can be 8'b11010001;

[0173] If the comparison result is: Δb>Δg>Δr, it can be determined that the type of the target sub-mapping unit is T2, and the target type information can be 8'b11000101;

[0174] If the comparison result is: Δr>Δg>Δb, it can be determined that the type of the target sub-mapping unit is T3, and the target type information can be 8'b10110001;

[0175] If the comparison result is: Δr>Δb>Δg, it can be determined that the type of the target sub-mapping unit is T4, and the target type information can be 8'b10001101;

[0176] If the comparison result is: Δr>Δg>Δb, it can be determined that the type of the target sub-mapping unit is T5, and the target type information can be 8'b10100011;

[0177] If the comparison result is not one of the above five results, the type of the target sub-mapping unit is determined to be T6, and the target type information may be 8'b10001011.

[0178] Optionally, after directly obtaining the least significant bit of each color component as feature information, in order to simultaneously input the feature information and the target vertex data into an interpolation module for interpolation processing and jointly participate in the interpolation calculation, the obtained feature information may be stored as follows:

[0179] The characteristic information corresponding to each color component is stored in the register for a target duration, and the characteristic information corresponding to each color component is read from the register after the target duration. At this time, the target vertex data has been obtained from the storage module to interpolate the pixel data according to the characteristic information. The target duration is the duration required to read the target vertex data from the storage module.

[0180] The above-mentioned target duration can be determined according to the structure of the electronic device that executes the method of this embodiment. In some embodiments, after obtaining the characteristic information, the target vertex data can be read from the storage module with two clock cycles, that is, the duration of two beats, where one beat is used to determine the storage address and the storage unit where the target vertex data is located, and one beat is used to read the target vertex data according to the storage address and the storage unit where it is located. Therefore, the target duration can be the duration of two beats.

[0181] Optionally, determining the mapping unit information according to the pixel data may include:

[0182] Obtaining data at the most significant bit of each color component of the pixel data;

[0183] The mapping unit information is determined according to the data at the most significant bit in each color component.

[0184] In this embodiment, when each color component of the pixel data is represented by a hexadecimal number, the value range of each color component of the pixel data is 0 to 4095, and the interval information of the 3D-LUT table is 255, for each color component, the data of the most significant bit of the color component can be obtained, and the data is used as the corresponding number in the index of the vertex data. The index composed of the numbers of the three color components obtained in this way can be used as the mapping unit information of the pixel data.

[0185] For example, for the pixel data (FF8, FFF, 5), for the R color component, its hexadecimal representation is FF8, the data of the most significant bit is F, so the corresponding number is 16, for the G color component, its hexadecimal representation is FFF, the data of the most significant bit is F, so the corresponding number is 16, for the B color component, its hexadecimal representation is 005, the data of the most significant bit is 0, so the corresponding number is 0, the index composed of these three numbers (16, 16, 0) is the index of the vertex data with the smallest color components in the target mapping unit.

[0186] When at least one of the two conditions that the value range of each color component of the pixel data is 0 to 4095 and the interval information of the 3D-LUT table is 255 is not met, the mapping unit information can be determined as follows:

[0187] The color component is represented in binary, and then the data of the remaining binary bits in the color component except the binary bits required to represent the interval information are obtained, and these data are used to replace the data in the most significant bit used in the above method for determining the mapping unit information, and then the mapping unit information is determined based on the above method.

[0188] The data processing method provided in this embodiment can be applied to electronic devices that perform color adjustment based on any interpolation algorithm among tetrahedral interpolation, prismatic interpolation and pyramid interpolation.

[0189] The present application also provides an electronic device. Figure 7 , the device may include:

[0190] A storage module 701 (also referred to as a 3D LUT SRAM) is used to store multiple vertex data;

[0191] The interpolation module 702 (also referred to as tetrahedral interpolation) is used to:

[0192] Get pixel data;

[0193] Determine target type information of the pixel data according to the pixel data, where the target type information represents the type of the target sub-mapping unit to which the pixel data belongs;

[0194] A decoding module 703 is used to read out target vertex data corresponding to a target sub-mapping unit from a storage module based on target type information and mapping unit information determined according to pixel data, wherein the mapping unit information represents a target mapping unit to which the pixel data belongs, the target sub-mapping unit is one of a plurality of sub-mapping units included in the target mapping unit, and the target vertex data is a part of a plurality of vertex data corresponding to the target mapping unit;

[0195] The interpolation module 702 is further used to perform interpolation processing on the pixel data according to the target vertex data to obtain a color adjustment result corresponding to the pixel data.

[0196] See also Figure 8 The decoding module 703 may include a first mapping unit 7031 (also referred to as point to memmapping logic), a second mapping unit 7032 (also referred to as mem to point mapping logic), and a decoding unit 7033 (also referred to as address decode).

[0197] Optionally, the decoding module 703 reads the target vertex data corresponding to the target sub-mapping unit from the storage module based on the target type information and the mapping unit information determined according to the pixel data, including:

[0198] The first mapping unit 7031 determines storage unit information of the storage module according to the target type information, where the storage unit information indicates a target storage unit in the storage module that stores target vertex data corresponding to the target sub-mapping unit;

[0199] The decoding unit 7033 determines the target storage address of the target vertex data in the target storage unit by using the mapping unit information and the storage unit information determined according to the pixel data;

[0200] The decoding unit 7033 reads the target vertex data from the target storage unit according to the storage unit information and the target storage address.

[0201] The read target vertex data can first enter the second mapping unit 7032. The second mapping unit 7032 maps the data read from the target storage unit to the corresponding target vertex data according to the address decoding information, that is, determines which vertex in the target mapping unit the vertex data read from each target storage unit is. Then, the second mapping unit 7032 can provide the target vertex data to the interpolation module 702.

[0202] Exemplarily, it is determined that the target storage unit includes storage unit 3, storage unit 7, storage unit 4 and storage unit 5, and after the target storage address is determined, the decoding unit 7033 reads out four vertex data from storage units 3, 7, 5 and 4 according to the target storage address. After the second mapping unit 7032 obtains the four vertex data, it determines based on the address decoding information that the vertex data of storage unit 3 belongs to the target mapping unit (R0, G0, B0), the vertex data of storage unit 7 belongs to the target mapping unit (R1, G0, B0), the vertex data of storage unit 4 belongs to the target mapping unit (R1, G1, B1), and the data of storage unit 5 belongs to the target mapping unit (R1, G1, B0). At this point, the mapping of the data read out from the target storage unit to the target vertex data is completed. After the above target vertex data are input into the interpolation module 702, the interpolation module 702 can directly use these target vertex data to interpolate the pixel data.

[0203] The manner of mapping the vertex data read out of each target storage unit to the target vertex data can refer to the manner of determining the storage unit information based on the target type information and the address decoding information mentioned above, which will not be described in detail.

[0204] Optionally, the first mapping unit 7031 determines the storage unit information of the storage module according to the target type information, including:

[0205] The address decoding information of the pixel data output by the decoding unit 7033 is obtained, and the address decoding information represents the storage unit where the vertex data corresponding to the smallest color component in the target mapping unit is located; the storage unit information is determined in the storage module according to the address decoding information and the target type information.

[0206] Optionally, the decoding unit 7033 obtains the address decoding information of the pixel data, including: combining the data of the first bit of the most significant bit of each color component of the pixel data to obtain the address decoding information of the pixel data.

[0207] Optionally, the interpolation module 702 determines the target type information of the pixel data based on the pixel data, including: obtaining the data at the least significant bit in each color component of the pixel data as the pixel data difference of each color component; determining the feature information corresponding to each color component based on the pixel data difference and interval information of each color component, the interval information representing the difference between different vertex data in the target mapping unit; comparing the feature information corresponding to different color components to determine the target type information of the pixel data based on the comparison result.

[0208] Optionally, the interpolation module 702 includes a register, and the interpolation module 702 is further used for:

[0209] The characteristic information corresponding to each color component is stored in a register for a target duration, and the characteristic information corresponding to each color component is read from the register after the target duration, so as to interpolate the pixel data according to the characteristic information. The target duration is the duration required to read the target vertex data from the storage module.

[0210] Optionally, the mapping unit information may be determined by the decoding unit 7033, and the decoding unit 7033 determines the mapping unit information according to the pixel data, including:

[0211] Obtaining data at the most significant bit of each color component of the pixel data;

[0212] The mapping unit information is determined according to the data at the most significant bit in each color component.

[0213] Optionally, the interpolation module 702 performs interpolation processing on the pixel data according to the target vertex data to obtain a color adjustment result corresponding to the pixel data, including:

[0214] Determine the target algorithm corresponding to the target type information;

[0215] The pixel data is interpolated according to the target vertex data and the target algorithm to obtain the color adjustment result corresponding to the pixel data.

[0216] See also Fig. 9 In some electronic devices, a writing module 901 (also called RegConfiguration) may be further included to:

[0217] Alternately write multiple vertex data into multiple storage units of the storage module 701;

[0218] Wherein, every two adjacent vertex data of corresponding color components are written into different storage units respectively.

[0219] See also Fig. 9 , the working principle of the above electronic device is explained below with an example.

[0220] The interpolation module 702 determines the target type information point_sel[7:0] according to the LSB of the pixel data, the decoding unit 7033 determines the address decoding information adr_sel according to the MSB of the pixel data, the first mapping unit 7031 obtains point_sel[7:0] and adr_sel, and determines the storage unit information mem_sel[7:0] based on point_sel[7:0], the decoding unit 7033 determines the mapping unit information of the pixel data based on the MSB of the pixel data, and determines the target storage address mem_adr of the target vertex data corresponding to the pixel data in the storage module 701 in combination with mem_sel[7:0], and outputs the target storage address to the storage module 701, so as to read out the vertex data according to the target storage address in each target storage unit of the storage module 701.

[0221] The second mapping unit 7032 obtains the address decoding information adr_sel, maps the vertex data output by each target storage unit to the target vertex data corresponding to the pixel data based on adr_sel, transmits the target vertex data to the interpolation module 702, and the interpolation module 702 interpolates the pixel data based on the target vertex data to obtain a color adjustment result.

[0222] The working principle of the above electronic device can refer to the relevant steps of the data processing method in the above embodiment.

[0223] It should be noted that the various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0224] For the convenience of description, the above system or device is described by dividing it into various modules or units according to its functions. Of course, when implementing the present application, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0225] It can be known from the description of the above implementation methods that those skilled in the art can clearly understand that the present application can be implemented by means of software plus a necessary general hardware platform. Based on such an understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product can be stored in a storage medium such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes several instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in the various embodiments of the present application or certain parts of the embodiments.

[0226] Finally, it should be noted that, in this article, relational terms such as first, second, third and fourth are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the statement "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0227] The above is only a preferred implementation of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.

Claims

1. A data processing method, comprising: Get pixel data; Determining target type information of the pixel data according to the pixel data, wherein the target type information represents a type of a target sub-mapping unit to which the pixel data belongs; Based on the target type information and mapping unit information determined according to the pixel data, acquiring target vertex data corresponding to the target sub-mapping unit, the mapping unit information represents the target mapping unit to which the pixel data belongs, the target sub-mapping unit is one of a plurality of sub-mapping units included in the target mapping unit, and the target vertex data is a part of a plurality of vertex data corresponding to the target mapping unit; The pixel data is interpolated according to the target vertex data to obtain a color adjustment result corresponding to the pixel data.

2. The method according to claim 1, wherein the step of acquiring target vertex data corresponding to the target sub-mapping unit based on the target type information and the mapping unit information determined according to the pixel data comprises: Determine storage unit information of a storage module according to the target type information, wherein the storage unit information indicates a target storage unit in the storage module that stores target vertex data corresponding to the target sub-mapping unit; Determining a target storage address of the target vertex data in the target storage unit using mapping unit information determined according to the pixel data; The target vertex data is read from the target storage unit according to the storage unit information and the target storage address.

3. The method according to claim 2, wherein determining the storage unit information of the storage module according to the target type information comprises: Obtaining address decoding information of the pixel data, wherein the address decoding information represents a storage unit where vertex data corresponding to the smallest color component in the target mapping unit is located; Storage unit information is determined in a storage module according to the address decoding information and the target type information.

4. The method according to claim 3, wherein obtaining the address decoding information of the pixel data comprises: The data of the first bit of the most significant bits of each color component of the pixel data are combined to obtain address decoding information of the pixel data.

5. The method according to claim 1, wherein determining the target type information of the pixel data according to the pixel data comprises: Obtaining the least significant bit data of each color component of the pixel data as a pixel data difference value of each color component; Determine feature information corresponding to each color component according to pixel data difference and interval information of each color component, wherein the interval information represents the difference between different vertex data in the target mapping unit; The characteristic information corresponding to different color components is compared to determine the target type information of the pixel data based on the comparison result.

6. The method according to claim 5, further comprising: The characteristic information corresponding to each of the color components is stored in a register for a target duration, and the characteristic information corresponding to each of the color components is read out from the register after the target duration, so as to interpolate the pixel data according to the characteristic information, and the target duration is the duration required to read out the target vertex data from the storage module.

7. The method according to claim 1, determining mapping unit information according to the pixel data, comprising: Obtaining data at the most significant bit of each color component of the pixel data; The mapping unit information is determined according to the data at the most significant bit in each of the color components.

8. The method according to claim 1, further comprising: Writing the plurality of vertex data alternately into the plurality of storage units of the storage module; Wherein, every two corresponding vertex data with adjacent coordinate information are written into different storage units respectively.

9. The method according to claim 1, wherein the interpolation processing is performed on the pixel data according to the target vertex data to obtain a color adjustment result corresponding to the pixel data, comprising: Determine a target algorithm corresponding to the target type information; The pixel data is interpolated according to the target vertex data and the target algorithm to obtain a color adjustment result corresponding to the pixel data.

10. An electronic device, comprising: A storage module, used for storing multiple vertex data; Interpolation module for: Get pixel data; Determining target type information of the pixel data according to the pixel data, wherein the target type information represents a type of a target sub-mapping unit to which the pixel data belongs; A decoding module, configured to obtain target vertex data corresponding to the target sub-mapping unit based on the target type information and mapping unit information determined according to the pixel data, wherein the mapping unit information represents the target mapping unit to which the pixel data belongs, the target sub-mapping unit is one of a plurality of sub-mapping units included in the target mapping unit, and the target vertex data is a part of a plurality of vertex data corresponding to the target mapping unit; The interpolation module performs interpolation processing on the pixel data according to the target vertex data to obtain a color adjustment result corresponding to the pixel data.

Citation Information

Cited By

  • DATA PROCESSING PROCEDURES AND SETUP

    DE102026108099A1