[go: up one dir, main page]

CN102799657B - System and method for realizing real-time data point mapping processing based on three-dimensional checking - Google Patents

System and method for realizing real-time data point mapping processing based on three-dimensional checking Download PDF

Info

Publication number
CN102799657B
CN102799657B CN201210232455.7A CN201210232455A CN102799657B CN 102799657 B CN102799657 B CN 102799657B CN 201210232455 A CN201210232455 A CN 201210232455A CN 102799657 B CN102799657 B CN 102799657B
Authority
CN
China
Prior art keywords
dimensional
coordinates
module
centered cubic
tetrahedron
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210232455.7A
Other languages
Chinese (zh)
Other versions
CN102799657A (en
Inventor
诸悦
陈晓春
刘翔
章旭东
刘行
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI FULHAN MICROELECTRONICS Co Ltd
Original Assignee
SHANGHAI FULHAN MICROELECTRONICS Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHANGHAI FULHAN MICROELECTRONICS Co Ltd filed Critical SHANGHAI FULHAN MICROELECTRONICS Co Ltd
Priority to CN201210232455.7A priority Critical patent/CN102799657B/en
Publication of CN102799657A publication Critical patent/CN102799657A/en
Application granted granted Critical
Publication of CN102799657B publication Critical patent/CN102799657B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Processing (AREA)

Abstract

The invention relates to a system and a method for realizing real-time data point mapping processing based on three-dimensional checking, and belongs to the technical field of image data processing. According to the system, firstly coordinates of four peaks of a tetrahedron to which an input point belongs is determined, secondly a corresponding relationship of four one-dimensional checking tables and the peaks of the tetrahedron is determined through a three-dimensional to one-dimensional address mapping module; four one-dimensional checking table modules respectively obtain data (with appointed positions) of the address from an internal storage space according to respective obtained one-dimensional address; and finally an output internal inserting value is calculated by a tetrahedron internal inserting module so as to realize the real-time mapping processing to an image data point. The system and the method provided by the invention are relatively low in error rate and relatively good in performance under the condition of the one-dimensional checking table modules with same capacity; and under the condition of the same error rate, a required one-dimensional checking table module is relatively small in capacity, relatively low in requirements on hardware and relatively small in complexity; and meanwhile, the system and the method have relatively high throughput rate, are convenient in realization mode, low in cost and relatively wid in application range.

Description

System and method for realizing data point real-time mapping processing based on three-dimensional lookup table
Technical Field
The invention relates to the technical field of data processing, in particular to the technical field of data processing based on a lookup table, and specifically relates to a system and a method for realizing real-time mapping processing of data points based on a three-dimensional lookup table.
Background
In the art of image or other data processing using embedded systems, look-up tables, often referred to as LUTs (look-up tables), relate index numbers to output values. The color table, which is a common LUT, is used to determine the color and intensity to be displayed for a particular image. The LUT typically employs a RAM. After writing data into RAM in advance, the RM inputs a signal to input an address for looking up the table, finds out the content corresponding to the address, and then outputs the corresponding pixel color and intensity.
The three-dimensional lookup table (3D LUT) can realize linear or nonlinear mapping processing in all three-dimensional spaces, and is widely applied to high-end image processing hardware due to the characteristics of high flexibility, high precision and multiple functions.
However, in practical applications, especially in real-time processing devices, it is often not possible to store a mapping value for each point in the input space in a three-dimensional look-up table, subject to hardware complexity. Therefore, it is common practice to divide the input space into a plurality of subspaces, and apply an interpolation method in each subspace to calculate a mapping value of each sample point from a small number of data points. But this is clearly an approximate implementation and there is an error from storing the mapped values for each input sample. The performance of each type of 3D LUT is expressed by its error, with lower errors giving better performance and worse otherwise.
Han discloses a Real-Time full-color domain matching Method for enhancing the Display Quality of Digital TV (Real-Time color Mapping Method for Digital TV Display Quality enhancement IEEE Transactions on Consumer Electronics, MAY2004, Vol.50, No. 2p691-699). A scheme for realizing a 3D LUT in real time is provided, wherein a subspace is a cube, lattice point data of the cube is stored in the LUT, and an internal sampling point mapping value is calculated through trilinear interpolation. As shown in fig. 1, the mapped value of point X is obtained by trilinear interpolation from the microcube ABCDEFGH in which it is located. The scheme can realize a real-time three-dimensional lookup table meeting the high throughput rate under the complexity allowed by an embedded system, has the defects of being limited by the hardware complexity and only adopting larger division, uses 9 multiplied by 9 lattice points in the method to divide an input space into 512 blocks, and the precision is insufficient under the occasions of fine adjustment required by color correction and the like. If a 17 x 17 grid point is used the look-up table would have up to 4913 entries, requiring up to 14739 bytes of LUT per 24bit entry. Also trilinear interpolation requires 8 data reads per cycle, which means that each point corresponds to 8 RAM accesses. In a design of one point per cycle, the method needs to be implemented by using 8 one-dimensional LUTs, and has adverse effects on power consumption and back-end layout.
Zhangming, Pengye and Schchen (tetrahedral interpolation method based on four-input one-dimensional lookup table, Chinese science and technology information 2007 Vol.18p342-344) improve the method by further partitioning the cubic subspace, and replacing the trilinear interpolation with a tetrahedral interpolation technique called diagonal interpolation as shown in FIG. 2. This reduces the number of accesses per cycle to the LUT from 8 to 4, allowing trilinear interpolation using 4 one-dimensional LUTs. This allows for a reduced complexity of the hardware implementation and at the same time a reduced power consumption. However, although diagonal interpolation in a specific direction has good performance on average, due to the limitation of hardware architecture, the embodiment of the method can only realize the mixture of diagonal interpolation in 4 directions, which affects the error performance, so that only performance equivalent to trilinear interpolation can be obtained finally.
James M.Kasson (Tetrahedral interpolation algorithm accuracy, SPIE Vol.2170, p 24-35), discusses various three-dimensional interpolation algorithms and analyzes their errors. The result shows that under the premise of the same LUT capacity, the interpolation effect of dividing the space into the square double sphenes has obvious advantages compared with the error performance of the trilinear interpolation on the cubic division, because the square double sphenes are divided into the parts closer to the single shape. This means that the error performance can be improved on the premise of the same LUT capacity by using a square double titanic body to insert a replacement cube, or the error performance can be kept without significant loss under the condition of reducing the LUT capacity.
Disclosure of Invention
The present invention aims to overcome the defects in the prior art, and provides a system and a method for realizing real-time mapping processing of data points based on a three-dimensional lookup table, wherein the system and the method have the advantages of lower error rate and better performance under the condition of an LUT with the same capacity, smaller required LUT capacity, lower hardware requirement, lower complexity, higher throughput rate, simple implementation mode, low cost and wide application range under the condition of the same error rate.
In order to achieve the above object, the system for realizing real-time mapping processing of data points based on a three-dimensional lookup table according to the present invention comprises:
the system comprises: the system comprises a body-centered cubic mapping module, a local coordinate generating module, a tetrahedron vertex generating module, a three-dimensional to one-dimensional address mapping module, four one-dimensional lookup table modules and a tetrahedron interpolation module. Wherein,
the body-centered cubic mapping module is used for receiving the three-dimensional coordinates of the input points, calculating body-centered cubic unit cells to which the input points belong by using the three-dimensional coordinates, and obtaining the central coordinates of the body-centered cubic unit cells;
the local coordinate generating module is used for receiving the three-dimensional coordinates of the input point, calculating the distance between the input point and the center of the body-centered cubic unit cell in three dimensions from the center coordinates of the body-centered cubic unit cell of the body-centered cubic mapping module, determining the direction of each axis of the local coordinate system in the input coordinate system according to the distance, and converting the three-dimensional coordinates of the input point to the local coordinates to generate the local coordinates;
the tetrahedron vertex generation module is used for acquiring the local coordinate from the local coordinate generation module and the direction of each axis of the local coordinate system in an input coordinate system, acquiring a body-centered cubic unit cell center coordinate from the body-centered cubic mapping module, judging whether a vertex exceeding the space range of an input signal appears according to the body-centered cubic unit cell center coordinate, determining to adopt square double-sphene interpolation or half square double-sphene interpolation, and calculating the coordinates of four vertexes of the tetrahedron in the input coordinate system;
the three-dimensional to one-dimensional address mapping module is used for obtaining the coordinates of the four vertexes of the tetrahedron from the tetrahedron vertex generating module, calculating the corresponding relation between the four one-dimensional lookup tables and the tetrahedron vertexes according to a specified mapping mode, and mapping the three-dimensional coordinates of the four vertexes to the one-dimensional addresses of the four one-dimensional lookup tables;
each one-dimensional lookup table module of the four one-dimensional lookup table modules is used for obtaining a corresponding one-dimensional address from the three-dimensional to one-dimensional address mapping module and taking out data of a position appointed by the address from an internal storage space;
the tetrahedron interpolation module is used for acquiring four one-dimensional lookup tables and a tetrahedron vertex corresponding relation from the three-dimensional to one-dimensional address mapping module, acquiring the body-centered cubic unit cell center coordinate from the body-centered cubic mapping module, acquiring the direction of each axis of the local coordinate system in an input coordinate system from the local coordinate generating module, acquiring the data from the four one-dimensional lookup tables respectively, calculating the weight of the data of the four one-dimensional lookup tables, and calculating an output interpolation value by using the weight and the data of the four one-dimensional lookup tables.
The invention also provides a method for realizing real-time mapping processing of data points based on the three-dimensional lookup table based on the system, which comprises the following steps:
(1) the body-centered cubic mapping module calculates the center coordinates of the body-centered cubic unit cell to which the input point belongs according to the received three-dimensional coordinates of the input point, and sends the center coordinates of the body-centered cubic unit cell to the local coordinate generation module, the tetrahedron vertex generation module and the tetrahedron interpolation module;
(2) the local coordinate generating module determines the direction of each axis of a local coordinate system in the input coordinate system according to the three-dimensional coordinates of the input point and the central coordinates of the body-centered cubic unit cell, converts the three-dimensional coordinates of the input point to the local coordinates to generate local coordinates, and then sends the local coordinates and the directions of each axis of the local coordinate system in the input coordinate system to the tetrahedron vertex generating module;
(3) the tetrahedron vertex generation module determines the tetrahedron shape adopted by tetrahedron interpolation, calculates the coordinates of four vertices of a tetrahedron in an input coordinate system, and sends the coordinates of the four vertices of the tetrahedron to the three-dimensional to one-dimensional address mapping module;
(4) the three-dimensional to one-dimensional address mapping module determines the corresponding relation between four one-dimensional lookup tables and a tetrahedron vertex, maps the three-dimensional coordinates of the four vertices to the one-dimensional addresses of the four one-dimensional lookup tables, respectively sends the obtained four one-dimensional coordinates to the corresponding one-dimensional lookup table modules in the four one-dimensional lookup table modules, and sends the corresponding relation between the four one-dimensional lookup tables and the tetrahedron vertex to the tetrahedron interpolation module;
(5) the four one-dimensional lookup table modules take out the data of the address designated position from the internal storage space according to the obtained one-dimensional addresses respectively and send the data to the tetrahedral interpolation module;
(6) the tetrahedron interpolation module calculates the weight of the data of the four one-dimensional lookup tables, and calculates an output interpolation value by using the weight and the data of the four one-dimensional lookup tables.
In the method for implementing real-time mapping processing of data points based on the three-dimensional lookup table, the step (1) specifically comprises the following steps:
(11) the body-centered cubic mapping module receives three-dimensional coordinates X (X, y, z) of an input point;
(12) the body-centered cubic mapping module calculates the body-centered cubic unit cell to which the input point belongs by using the three-dimensional coordinates;
(13) the body-centered cubic mapping module obtains the center coordinates of the body-centered cubic unit cell;
(14) the body-centered cubic mapping module sends the center coordinates of the body-centered cubic unit cell to the local coordinate generation module, the tetrahedral vertex generation module and the tetrahedral interpolation module.
In the method for realizing real-time mapping processing of data points based on the three-dimensional lookup table, the space lattice point distance of the three-dimensional lookup table is 1, and the body-centered cubic mapping module calculates the body-centered cubic unit cell to which the input point belongs by using the three-dimensional coordinates, specifically: the body-centered cubic mapping module determines that the three-dimensional coordinates X (X, y, z) are located within a 2X 2 block in the three-dimensional look-up table space.
In the method for realizing the real-time mapping processing of the data points based on the three-dimensional lookup table, the body-centered cubic mapping module obtains the center coordinates of the body-centered cubic unit cell, and the method specifically comprises the following steps: the body-centered cubic mapping module calculates the center coordinates D of a determined 2x 2 block in the three-dimensional look-up table space.
In the method for implementing real-time mapping processing of data points based on the three-dimensional lookup table, the step (2) specifically comprises the following steps:
(21) the local coordinate generating module receives the three-dimensional coordinates of the input point;
(22) the local coordinate generating module receives the center coordinates of the body-centered cubic unit cells from the body-centered cubic mapping module;
(23) the local coordinate generating module calculates the distance between the input point and the center of the body-centered cubic unit cell in three dimensions;
(24) the local coordinate generating module determines the direction of each axis of a local coordinate system in an input coordinate system according to the distance between the input point and the center of the body-centered cubic unit cell in three dimensions;
(25) the local coordinate generating module converts the three-dimensional coordinates of the input point to the local coordinates to generate local coordinates;
(26) and the local coordinate generation module sends the local coordinates and the directions of all axes of the local coordinate system in an input coordinate system to the tetrahedron vertex generation module.
In the method for realizing the real-time mapping processing of the data points based on the three-dimensional lookup table, the local coordinate generating module calculates the distance between the input point and the center of the body-centered cubic unit cell in three dimensions, and the method specifically comprises the following steps: the local coordinate generation module calculates the distance D between the coordinates X (X, y, z) of the input point and the coordinates D of the center in three dimensionsx、DyAnd Dz
In the method for realizing real-time mapping processing of data points based on the three-dimensional lookup table, the local coordinate generating module determines the direction of each axis of a local coordinate system in an input coordinate system according to the distance between the input point and the center of the body-centered cubic unit cell in three dimensions, specifically, the local coordinate generating module determines the direction of each axis of the local coordinate system in the input coordinate system according to the distance Dx、DyAnd DzThe directions of the axes of the local coordinate system in the input coordinate system are determined.
In the method for implementing real-time mapping processing of data points based on the three-dimensional lookup table, the step (3) specifically comprises the following steps:
(31) the tetrahedron vertex generation module judges whether a vertex exceeding the space range of the input signal appears according to the body-centered cubic unit cell center coordinate, if not, square double-sphene interpolation is adopted, and if so, half square double-sphene interpolation is adopted;
(32) the tetrahedron vertex generation module calculates the coordinates of the four vertexes of the square frame or the half square frame in an input coordinate system;
(33) and the tetrahedron vertex generation module sends the coordinates of the four vertexes of the square double-titanium body or the half square double-titanium body to the three-dimensional to one-dimensional address mapping module.
In the method for realizing real-time mapping processing of data points based on the three-dimensional lookup table, the tetrahedral vertex generating module judges whether a vertex exceeding the space range of the input signal appears according to the body-centered cubic unit cell center coordinate, and the method specifically comprises the following steps: and the tetrahedron vertex generation module judges whether the point A on the dimension DA with the maximum distance between the coordinate X (X, y, z) and the central coordinate D exceeds the space range of the three-dimensional lookup table.
In the method for implementing real-time mapping processing of data points based on the three-dimensional lookup table, the step (4) specifically comprises the following steps:
(41) the three-dimensional to one-dimensional address mapping module calculates the corresponding relation between four one-dimensional lookup tables and tetrahedral vertexes according to a specified mapping mode;
(42) the three-dimensional to one-dimensional address mapping module maps the three-dimensional coordinates of the four vertexes to the one-dimensional addresses of the four one-dimensional lookup tables;
(43) the three-dimensional to one-dimensional address mapping module respectively sends the obtained four one-dimensional coordinates to corresponding one-dimensional lookup table modules in the four one-dimensional lookup table modules, and sends the corresponding relation between the four one-dimensional lookup tables and the tetrahedron vertex to the tetrahedron interpolation module.
In the method for implementing real-time mapping processing of data points based on the three-dimensional lookup table, the three-dimensional to one-dimensional address mapping module respectively sends the obtained four one-dimensional coordinates to corresponding one-dimensional lookup table modules in the four one-dimensional lookup table modules, and the method specifically comprises the following steps: the three-dimensional to one-dimensional address mapping module respectively sends the one-dimensional coordinate of the A and the one-dimensional coordinate of the D to different one-dimensional lookup table modules of the four one-dimensional lookup table modules for lookup, and respectively sends the one-dimensional coordinate of the B and the one-dimensional coordinate of the C to different one-dimensional lookup table modules of the four one-dimensional lookup table modules for lookup.
In the method for implementing real-time mapping processing of data points based on the three-dimensional lookup table, the step (6) specifically comprises the following steps:
(61) the tetrahedron interpolation module acquires four one-dimensional lookup tables and a tetrahedron vertex corresponding relation from the three-dimensional to one-dimensional address mapping module;
(62) said tetrahedral interpolation module obtaining said body centered cubic unit cell center coordinates from said body centered cubic mapping module;
(63) the tetrahedral interpolation module acquires the direction of each axis of the local coordinate system in the input coordinate system from the local coordinate generation module;
(64) the tetrahedron interpolation module respectively acquires the data from the four one-dimensional lookup tables;
(65) the tetrahedron interpolation module calculates the weight of the data of the four one-dimensional lookup tables;
(66) and the tetrahedral interpolation module calculates an output interpolation value according to the weight and the data of the four one-dimensional lookup tables.
The body-centered cubic mapping module, the local coordinate generating module and the tetrahedron vertex generating module of the system determine the coordinates of four vertexes of a tetrahedron to which an input point belongs after converting the three-dimensional coordinates of the input point into local coordinates according to the three-dimensional coordinates of the input point, then the three-dimensional to one-dimensional address mapping module determines the corresponding relation between the four one-dimensional lookup tables and the vertexes of the tetrahedron, and the four one-dimensional lookup table modules respectively take out the data of the address designated position from an internal storage space according to the obtained one-dimensional addresses; and finally, calculating an output interpolation value by the tetrahedron interpolation module to realize real-time mapping processing of the image data points. Compared with the prior art, the system and the method have the advantages that the error rate is lower and the performance is better under the condition of the one-dimensional lookup table module with the same capacity, the required one-dimensional lookup table module has smaller capacity, lower hardware requirement and smaller complexity under the condition of the same error rate, and simultaneously has higher throughput rate.
Drawings
FIG. 1 is a schematic diagram of a three-dimensional lookup table based on cube partitioning and an interpolation method in the prior art.
FIG. 2 is a diagram of diagonal interpolation versus cubic division in the prior art.
FIG. 3 is a block diagram of a system for real-time mapping data points based on a three-dimensional lookup table according to the present invention.
FIG. 4 is a flowchart illustrating the steps of a method for real-time mapping data points based on a three-dimensional look-up table according to the present invention.
FIG. 5 is a schematic diagram of a method of the present invention for extracting cube lattice points to obtain body centered cube lattice points in practical applications.
FIG. 6 is a schematic diagram of a square frame on a cube-centered cubic lattice point according to the method of the present invention.
Fig. 7 is a schematic diagram showing the relationship between the point X and each plane in the square titanic body in the practical application of the method of the present invention.
Fig. 8 is a schematic diagram of the boundary correction in practical application of the method of the present invention.
Detailed Description
In order to clearly understand the technical contents of the present invention, the following examples are given in detail.
Fig. 3 is a block diagram of a system for implementing real-time mapping processing of data points based on a three-dimensional lookup table according to the present invention.
In one embodiment, the system for realizing real-time mapping processing of data points based on the three-dimensional lookup table comprises: the system comprises a body-centered cubic mapping module, a local coordinate generating module, a tetrahedron vertex generating module, a three-dimensional to one-dimensional address mapping module, four one-dimensional lookup table modules and a tetrahedron interpolation module. Wherein, the function of each module is as follows:
and the body-centered cubic mapping module is used for receiving the three-dimensional coordinates of the input point, calculating the body-centered cubic unit cell to which the input point belongs by using the three-dimensional coordinates, and obtaining the central coordinates of the body-centered cubic unit cell.
The local coordinate generating module is used for receiving the three-dimensional coordinates of the input point, calculating the distance between the input point and the center of the body-centered cubic unit cell in three dimensions from the center coordinates of the body-centered cubic unit cell of the body-centered cubic mapping module, determining the direction of each axis of the local coordinate system in the input coordinate system according to the distance, and converting the three-dimensional coordinates of the input point to the local coordinates to generate the local coordinates.
And the tetrahedron vertex generation module is used for acquiring the local coordinates and the directions of all axes of the local coordinate system in the input coordinate system from the local coordinate generation module, acquiring body-centered cubic unit cell center coordinates from the body-centered cubic mapping module, judging whether a vertex exceeding the space range of the input signal appears according to the body-centered cubic unit cell center coordinates, determining to adopt square double-sphene interpolation or half square double-sphene interpolation, and calculating the coordinates of four vertexes of the tetrahedron in the input coordinate system.
And the three-dimensional to one-dimensional address mapping module is used for obtaining the coordinates of the four vertexes of the tetrahedron from the tetrahedron vertex generating module, calculating the corresponding relation between the four one-dimensional lookup tables and the tetrahedron vertexes according to a specified mapping mode, and mapping the three-dimensional coordinates of the four vertexes to the one-dimensional addresses of the four one-dimensional lookup tables.
And each one-dimensional lookup table module is used for acquiring a corresponding one-dimensional address from the three-dimensional to one-dimensional address mapping module and taking out the data of the position appointed by the address from the internal storage space.
A tetrahedron interpolation module, configured to obtain four one-dimensional lookup tables and a tetrahedron vertex corresponding relationship from the three-dimensional to one-dimensional address mapping module, obtain the body-centered cubic unit cell center coordinates from the body-centered cubic mapping module, obtain the directions of the axes of the local coordinate system in the input coordinate system from the local coordinate generation module, respectively obtain the data from the four one-dimensional lookup tables, calculate weights of the data of the four one-dimensional lookup tables, and calculate an output interpolation value by using the weights and the data of the four one-dimensional lookup tables.
The invention also provides a method for realizing real-time mapping processing of data points based on the three-dimensional lookup table based on the system. In one embodiment, the method, as shown in FIG. 4, includes the steps of:
(1) the body-centered cubic mapping module calculates the center coordinates of the body-centered cubic unit cell to which the input point belongs according to the received three-dimensional coordinates of the input point, and sends the center coordinates of the body-centered cubic unit cell to the local coordinate generation module, the tetrahedron vertex generation module and the tetrahedron interpolation module;
(2) the local coordinate generating module determines the direction of each axis of a local coordinate system in the input coordinate system according to the three-dimensional coordinates of the input point and the central coordinates of the body-centered cubic unit cell, converts the three-dimensional coordinates of the input point to the local coordinates to generate local coordinates, and then sends the local coordinates and the directions of each axis of the local coordinate system in the input coordinate system to the tetrahedron vertex generating module;
(3) the tetrahedron vertex generation module determines the tetrahedron shape adopted by tetrahedron interpolation, calculates the coordinates of four vertices of a tetrahedron in an input coordinate system, and sends the coordinates of the four vertices of the tetrahedron to the three-dimensional to one-dimensional address mapping module;
(4) the three-dimensional to one-dimensional address mapping module determines the corresponding relation between four one-dimensional lookup tables and a tetrahedron vertex, maps the three-dimensional coordinates of the four vertices to the one-dimensional addresses of the four one-dimensional lookup tables, respectively sends the obtained four one-dimensional coordinates to the corresponding one-dimensional lookup table modules in the four one-dimensional lookup table modules, and sends the corresponding relation between the four one-dimensional lookup tables and the tetrahedron vertex to the tetrahedron interpolation module;
(5) the four one-dimensional lookup table modules take out the data of the address designated position from the internal storage space according to the obtained one-dimensional addresses respectively and send the data to the tetrahedral interpolation module;
(6) the tetrahedron interpolation module calculates the weight of the data of the four one-dimensional lookup tables, and calculates an output interpolation value by using the weight and the data of the four one-dimensional lookup tables.
In a more preferred embodiment, the step (1) specifically comprises the following steps:
(11) the body-centered cubic mapping module receives three-dimensional coordinates X (X, y, z) of an input point;
(12) the body-centered cubic mapping module calculates the body-centered cubic unit cell to which the input point belongs by using the three-dimensional coordinates;
(13) the body-centered cubic mapping module obtains the center coordinates of the body-centered cubic unit cell;
(14) the body-centered cubic mapping module sends the center coordinates of the body-centered cubic unit cell to the local coordinate generation module, the tetrahedral vertex generation module and the tetrahedral interpolation module.
In a further preferred embodiment, the space lattice point distance of the three-dimensional lookup table is 1, and the body-centered cubic mapping module of step (12) calculates the body-centered cubic unit cell to which the input point belongs by using the three-dimensional coordinates, specifically: the body-centered cubic mapping module determines that the three-dimensional coordinates X (X, y, z) are located within a 2X 2 block in the three-dimensional look-up table space. And the body-centered cubic mapping module of step (13) obtains the center coordinates of the body-centered cubic unit cell, specifically: the body-centered cubic mapping module calculates the center coordinates D of a determined 2x 2 block in the three-dimensional look-up table space.
In another preferred embodiment, the step (2) specifically comprises the following steps:
(21) the local coordinate generating module receives the three-dimensional coordinates of the input point;
(22) the local coordinate generating module receives the center coordinates of the body-centered cubic unit cells from the body-centered cubic mapping module;
(23) the local coordinate generating module calculates the distance between the input point and the center of the body-centered cubic unit cell in three dimensions;
(24) the local coordinate generating module determines the direction of each axis of a local coordinate system in an input coordinate system according to the distance between the input point and the center of the body-centered cubic unit cell in three dimensions;
(25) the local coordinate generating module converts the three-dimensional coordinates of the input point to the local coordinates to generate local coordinates;
(26) and the local coordinate generation module sends the local coordinates and the directions of all axes of the local coordinate system in an input coordinate system to the tetrahedron vertex generation module.
In a further preferred embodiment, the local coordinate generating module in step (23) calculates the distance between the input point and the body-centered cubic unit cell center in three dimensions, specifically: the local coordinate generation module calculates the distance D between the coordinates X (X, y, z) of the input point and the coordinates D of the center in three dimensionsx、DyAnd Dz. The local coordinate generating module of the step (24) determines the direction of each axis of the local coordinate system in the input coordinate system according to the distance between the input point and the center of the body-centered cubic unit cell in three dimensions, specifically, the local coordinate generating module determines the direction of each axis of the local coordinate system in the input coordinate system according to the distance Dx、DyAnd DzThe directions of the axes of the local coordinate system in the input coordinate system are determined.
In another preferred embodiment, the step (3) specifically comprises the following steps:
(31) the tetrahedron vertex generation module judges whether a vertex exceeding the space range of the input signal appears according to the body-centered cubic unit cell center coordinate, if not, square double-sphene interpolation is adopted, and if so, half square double-sphene interpolation is adopted;
(32) the tetrahedron vertex generation module calculates the coordinates of the four vertexes of the square frame or the half square frame in an input coordinate system;
(33) and the tetrahedron vertex generation module sends the coordinates of the four vertexes of the square double-titanium body or the half square double-titanium body to the three-dimensional to one-dimensional address mapping module.
In a more preferred embodiment, the tetrahedral vertex generating module in step (31) determines whether a vertex beyond the spatial range of the input signal appears according to the body-centered cubic unit cell center coordinates, specifically: and the tetrahedron vertex generation module judges whether the point A on the dimension DA with the maximum distance between the coordinate X (X, y, z) and the central coordinate D exceeds the space range of the three-dimensional lookup table.
In another preferred embodiment, the step (4) specifically comprises the following steps:
(41) the three-dimensional to one-dimensional address mapping module calculates the corresponding relation between four one-dimensional lookup tables and tetrahedral vertexes according to a specified mapping mode;
(42) the three-dimensional to one-dimensional address mapping module maps the three-dimensional coordinates of the four vertexes to the one-dimensional addresses of the four one-dimensional lookup tables;
(43) the three-dimensional to one-dimensional address mapping module respectively sends the obtained four one-dimensional coordinates to corresponding one-dimensional lookup table modules in the four one-dimensional lookup table modules, and sends the corresponding relation between the four one-dimensional lookup tables and the tetrahedron vertex to the tetrahedron interpolation module.
In a further preferred embodiment, the step (43) of sending the obtained four one-dimensional coordinates to corresponding one-dimensional lookup table modules in the four one-dimensional lookup table modules by the three-dimensional to one-dimensional address mapping module, specifically: the three-dimensional to one-dimensional address mapping module respectively sends the one-dimensional coordinate of the A and the one-dimensional coordinate of the D to different one-dimensional lookup table modules of the four one-dimensional lookup table modules for lookup, and respectively sends the one-dimensional coordinate of the B and the one-dimensional coordinate of the C to different one-dimensional lookup table modules of the four one-dimensional lookup table modules for lookup.
In a more preferred embodiment, the step (6) specifically comprises the following steps:
(61) the tetrahedron interpolation module acquires four one-dimensional lookup tables and a tetrahedron vertex corresponding relation from the three-dimensional to one-dimensional address mapping module;
(62) said tetrahedral interpolation module obtaining said body centered cubic unit cell center coordinates from said body centered cubic mapping module;
(63) the tetrahedral interpolation module acquires the direction of each axis of the local coordinate system in the input coordinate system from the local coordinate generation module;
(64) the tetrahedron interpolation module respectively acquires the data from the four one-dimensional lookup tables;
(65) the tetrahedron interpolation module calculates the weight of the data of the four one-dimensional lookup tables;
(66) and the tetrahedral interpolation module calculates an output interpolation value according to the weight and the data of the four one-dimensional lookup tables.
In practical applications, the system and method of the present invention are often applied to computer digital image processing. The system first analyzes how to construct a square double-sphene body, and extracts the cube lattice points of the body center in units of cubes of 2 × 2 × 2 as shown in fig. 5, wherein the cube lattice points comprise 8 lattice points and one center lattice point. After the grid points are extracted, although the number of the grid points is reduced, the performance loss is compensated to a great extent due to the fact that internal interpolation of the square frame has higher error performance (average error is lower) compared with trilinear interpolation, and the performance can still achieve the error performance which is almost different from that of the trilinear interpolation on the grid points of the original cube. If the division is further refined, the lattice point number is increased to the same cubic lattice point number, and the error performance of the lattice point is better than that of the cubic lattice point.
Then, as shown in fig. 6, the connecting body-centered cubic lattice point can divide the space into square double sphenes, wherein A/D is two adjacent central lattice points, and B/C is the edge of a cube. Therefore, AD =2, BC =2, and any one surface is isosceles triangle, so ABCD is a square double sphene body.
As shown in fig. 7, any one point X (X, y, z) in the color space must be contained within a certain such tetrahedron. The coordinates (x, y, z) are defined on a local coordinate system. Wherein the mapping value p on the four points of ABCD is known, and the mapping value p corresponding to the interpolated acquisition point X needs to be usedx
Performing a tetrahedral interpolation of point X in a tetrahedral ABCD yields:
p x = ( p A V A + p B V B + p C V C + p D V D ) V
p x = p A ( 1 - z - x ) + p B ( y + z ) + p C ( z - y ) + p D ( 1 - z + x ) 2
p x = p B ( y + z ) + p C ( z - y ) 2 + p A ( 1 - z - x ) + p D ( 1 - z + x ) 2
in the case where boundary correction is required, as shown in fig. 8, the a/D may be located outside the three-dimensional space boundary (B/C is always on the cube and therefore cannot exceed the boundary). Without loss of generality, assuming that D is located inside and A exceeds the boundary, then the tetrahedron has only three valid vertices. The solution is to store the value of the origin O in a three-dimensional look-up table, i.e. let a = O, i.e. the so-called extended body-centered cube, where the OBCD forms a tetrahedron (but no longer a square double cone, but a half square double cone). If D is outside the boundary, it can be guaranteed that D is inside by exchanging A/D and modifying the definition of the local coordinate system, so that the following discussion assumes that D is inside. The modified interpolation formula is then:
p x = ( p O V O + p B V B + p C V C + p D V D ) V
p x = p O ( 1 - z - x ) + p D ( x ) + p B ( y + z ) + p C ( z - y ) 2
in the process of calculating the vertex of the tetrahedron, firstly, the vertex of the square titanite to which the tetrahedron belongs is calculated according to the coordinates of an input point, and the method specifically comprises the following steps:
1. the addresses input to the three channels are clipped into the LUT range: if the lattice point distance is 1, the values in three directions are all ensured to be in the range of [0, SIZE-1 ]. To simplify the hardware design, the upper bound may be selected as an open bound, i.e. for the case of SIZE =17, the input is limited to [0,16 ], but at this time, there is still a value corresponding to 16 in the LUT.
2. Identifying point D, calculating which 2 × 2 × 2 block the input point X belongs to, D being its center point:
3. and determining a point A, calculating a dimension DA with the largest distance between the input point X and the input point D in three dimensions, wherein A is a point with the distance D in the dimension of DA being 2, and if A exceeds the range of the LUT, reducing the distance to 1. In dimension DA, the A to D directions are the same as the X-D directions (the difference is of the same sign). B/C is always a distance of 1 in the DA direction.
Of the remaining two dimensions, excluding DA, the one with the greater projection X to D distance DB represents the B/C direction, and the B/C coordinate is coordinate-1 of D in this dimension DB
On the remaining dimension DC, the coordinates of B/C are the coordinates of D-1/+ 1, and the order is not so long as the local coordinate system is defined.
So far the 3D coordinates of all 4 vertices have been determined.
Converting the 3D coordinates into a one-dimensional lookup table for implementation using RAM, the mapping process of the 3D coordinates to the 1D LUT is as follows:
the A/D must be the neighbor of the center grid point, but the direction of the AD may be parallel to any of the three dimensions. The same B/C must also be the neighbors of the cubic lattice, and it is possible to store the cubic lattice in two LUTs on the principle that the neighbors are stored in different lattices, so it is sufficient to use 4 RAMs, labeled LUT0/1/2/3, to achieve a throughput of one point per cycle. The following analysis is based on a 17 × 17 × 17 lattice point as an example, and can be easily extended to other accuracies.
We store the center bin and extended face bins in LUT0/1, so the A/Ds are stored in LUT 0/1. The central lattice point V of 8 multiplied by 8cPossible values of point-by-coordinate xc+yc+zcAre alternately decimated and stored in two LUTs, (x)c+yc+zc) %2=0 is stored in LUT0 and vice versa in LUT1, for 256 entries each. Each LUT internally presses (x)c+8yc+64zc) The/2 way. Wherein (x)c+yc+zc) Coordinates on the central grid point of the 2 × 2 × 2 cube correspond to the coordinates of the original grid point (2 × 2 ×)c+1,2yc+1,2zc+1)。
A is also stored in 0/1, but some coordinate of A may be out of range, i.e. less than 0 or greater than 16, when this occurs, i.e. the mapping value representing A needs to be obtained from the face extension table. VcThe 6 planes of (2) have 8 x 8 points each, which means that the two LUTs store half of 6 planes each after 256 entries, which are also designed to be stored alternately, but whose coordinates are more complex. For the sake of uniformity, the order in which these planes are stored (address increment, the same applies below) is agreed to: x = -1 → y = -1 → z = -1 → x =17 → y =17 → z =17 (this is only a virtual coordinate, the actual stored mapping value is clipped to within 0~16 of the coordinate in the original grid point). On either side, one coordinate equal to the constant is removed, stored in raster fashion in the direction of the other two coordinate increments, and the raster coordinate increments are stored alternately in the two LUTs in x → y → z priority, with assurance of the closest VcStored in different LUTs. For example, the x =0 plane uses 256-287 entries of LUT0/1, where 256 entries of LUT1 are (y)c,zc) = (0,0) (because of the most recent (x)c,yc,zc) = (0,0,0) is stored in LUT 0), LUT0 has entries of (1, 0); 257 entries of LUT1 are (2,0), the corresponding entries of LUT0 are (3,0), and so on. In summary, all points stored in LUT0 are satisfiedAnd LUT1Point (2) of (c). Where (x, y, z) are the coordinates on the original cube lattice points. Obviously the two points a/D must belong to two LUTs that are different.
The LUT2/3 stores the face grid points V of a 2x 2 cubecI.e., points B/C. Its address decoding is simpler: (x)v+yv+zv) The grid point of% 2=0 is stored in the LUT2 with an index of (x)v+9yv+81zv) /2, otherwise (x)v+yv+zv) The grid point of% 2=1 is stored in the LUT3, which also has an index of (x)v+9yv+81zv)/2。(xv+yv+zv) Is 2x 2 cube face lattice point coordinates, and the corresponding original lattice point coordinates are (2 x)v+2yv+2zv). LUT2 has one more entry than LUT 3.
The above is one practical embodiment of the invention in practical application, but many different other embodiments exist. It is not necessary to describe herein that for any input point x, the a/D of the four vertices of the tetrahedron ABCD included in the input point x are stored in different LUTs, and the B/C is stored in different LUTs.
The body-centered cubic mapping module, the local coordinate generating module and the tetrahedron vertex generating module of the system determine the coordinates of four vertexes of a tetrahedron to which an input point belongs after converting the three-dimensional coordinates of the input point into local coordinates according to the three-dimensional coordinates of the input point, then the three-dimensional to one-dimensional address mapping module determines the corresponding relation between the four one-dimensional lookup tables and the vertexes of the tetrahedron, and the four one-dimensional lookup table modules respectively take out the data of the address designated position from an internal storage space according to the obtained one-dimensional addresses; and finally, calculating an output interpolation value by the tetrahedron interpolation module to realize real-time mapping processing of the image data points. Compared with the prior art, the system and the method have the advantages that the error rate is lower and the performance is better under the condition of the one-dimensional lookup table module with the same capacity, the required one-dimensional lookup table module has smaller capacity, lower hardware requirement and smaller complexity under the condition of the same error rate, and simultaneously has higher throughput rate.
In this specification, the invention has been described with reference to specific embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

Claims (2)

1. A system for realizing real-time mapping processing of image data points based on a three-dimensional lookup table is characterized in that the space lattice point spacing of the three-dimensional lookup table is 1, and the system comprises:
a body-centered cubic mapping module for receiving the three-dimensional coordinates X (X, y, z) of the input point, calculating a body-centered cubic unit cell to which the input point belongs by using the three-dimensional coordinates, i.e., determining that the three-dimensional coordinates X (X, y, z) are located in a 2 × 2 × 2 block in the three-dimensional lookup table space, and obtaining the center coordinates of the body-centered cubic unit cell, i.e., calculating the center coordinates D of a determined 2 × 2 × 2 block in the three-dimensional lookup table space;
a local coordinate generating module for receiving the three-dimensional coordinates of the input point and calculating the distance between the input point and the center of the body-centered cubic unit cell in three dimensions from the center coordinates of the body-centered cubic unit cell of the body-centered cubic mapping module, i.e. calculating the distance D between the coordinates X (X, y, z) of the input point and the center coordinates D of the body-centered cubic unit cell in three dimensionsx、DyAnd DzAnd determining the orientation of the axes of the local coordinate system in the input coordinate system based on said distance Dx、DyAnd DzDetermining the directions of all axes of a local coordinate system in an input coordinate system in a size sequence, and converting the three-dimensional coordinates of the input point to the local coordinates to generate local coordinates;
a tetrahedron vertex generation module, configured to obtain the local coordinate and the orientation of each axis of the local coordinate system in an input coordinate system from the local coordinate generation module, obtain a body-centered cubic unit cell center coordinate from the body-centered cubic mapping module, determine whether a vertex exceeding a spatial range of an input signal appears according to the body-centered cubic unit cell center coordinate, determine to use square double sphene interpolation or half square double sphene interpolation, that is, determine whether a point a on a dimension DA where a distance between the coordinate X (X, y, z) and the center coordinate D is the largest exceeds a spatial range of a three-dimensional lookup table, if not, use square double sphene interpolation, if so, use half square double sphene interpolation, and calculate coordinates of four vertices ABCD of a tetrahedron in the input coordinate system;
the three-dimensional to one-dimensional address mapping module is used for obtaining the coordinates of four vertexes of the tetrahedron from the tetrahedron vertex generating module, calculating the corresponding relation between four one-dimensional lookup tables and the tetrahedron vertex ABCD according to a specified mapping mode, mapping the three-dimensional coordinates of the four vertexes to the one-dimensional addresses of the four one-dimensional lookup tables, namely respectively sending the obtained four one-dimensional coordinates to the corresponding one-dimensional lookup table modules in the four one-dimensional lookup table modules, respectively sending the one-dimensional coordinate of A and the one-dimensional coordinate of D to different one-dimensional lookup table modules in the four one-dimensional lookup table modules for lookup, and respectively sending the one-dimensional coordinate of B and the one-dimensional coordinate of C to different one-dimensional lookup table modules in the four one-dimensional lookup table modules for lookup;
each one-dimensional lookup table module is used for obtaining a corresponding one-dimensional address from the three-dimensional to one-dimensional address mapping module and taking out data of a position appointed by the address from an internal storage space;
a tetrahedron interpolation module, configured to obtain four one-dimensional lookup tables and a tetrahedron vertex corresponding relationship from the three-dimensional to one-dimensional address mapping module, obtain the body-centered cubic unit cell center coordinates from the body-centered cubic mapping module, obtain the directions of the axes of the local coordinate system in the input coordinate system from the local coordinate generation module, respectively obtain the data from the four one-dimensional lookup tables, calculate weights of the data of the four one-dimensional lookup tables, and calculate an output interpolation value by using the weights and the data of the four one-dimensional lookup tables.
2. A method for carrying out real-time mapping processing on image data points based on a three-dimensional lookup table is applied to a system for realizing the real-time mapping processing on the image data points based on the three-dimensional lookup table, and the system comprises a body-centered cubic mapping module, a local coordinate generating module, a tetrahedral vertex generating module, a three-dimensional to one-dimensional address mapping module, four one-dimensional lookup table modules and a tetrahedral interpolation module, and is characterized by comprising the following steps of:
(1) the body-centered cubic mapping module calculates the center coordinates of the body-centered cubic unit cell to which the input point belongs according to the received three-dimensional coordinates of the input point, and sends the center coordinates of the body-centered cubic unit cell to the local coordinate generation module, the tetrahedron vertex generation module and the tetrahedron interpolation module; the method specifically comprises the following steps:
(11) the body-centered cubic mapping module receives three-dimensional coordinates X (X, y, z) of an input point;
(12) the body-centered cubic mapping module calculates the body-centered cubic unit cell to which the input point belongs by using the three-dimensional coordinates; the space lattice point distance of the three-dimensional lookup table is 1, the body-centered cubic mapping module calculates the body-centered cubic unit cell to which the input point belongs by using the three-dimensional coordinates, and the method specifically comprises the following steps:
said body-centered cubic mapping module determining that said three-dimensional coordinates X (X, y, z) are located within a 2X 2 block within said three-dimensional look-up table space;
(13) the body-centered cubic mapping module obtains the center coordinates of the body-centered cubic unit cell, and specifically comprises the following steps:
said body-centered cubic mapping module calculates the center coordinates D of a determined 2x 2 block in said three-dimensional look-up table space;
(14) the body-centered cubic mapping module sends the center coordinates of the body-centered cubic unit cells to the local coordinate generation module, the tetrahedron vertex generation module and the tetrahedron interpolation module;
(2) the local coordinate generating module determines the direction of each axis of a local coordinate system in the input coordinate system according to the three-dimensional coordinates of the input point and the central coordinates of the body-centered cubic unit cell, converts the three-dimensional coordinates of the input point to the local coordinates to generate local coordinates, and then sends the local coordinates and the directions of each axis of the local coordinate system in the input coordinate system to the tetrahedron vertex generating module; the method specifically comprises the following steps:
(21) the local coordinate generating module receives the three-dimensional coordinates of the input point;
(22) the local coordinate generating module receives the center coordinates of the body-centered cubic unit cells from the body-centered cubic mapping module;
(23) the local coordinate generating module calculates the distance between the input point and the body-centered cubic unit cell center in three dimensions, specifically:
the local coordinate generation module calculates the distance D between the coordinate X (X, y, z) of the input point and the coordinate D of the center of the body-centered cubic unit cell in three dimensionsx、DyAnd Dz
(24) The local coordinate generating module determines the direction of each axis of the local coordinate system in the input coordinate system according to the distance between the input point and the center of the body-centered cubic unit cell in three dimensions,
the local coordinate generation module generates a local coordinate according to the distance Dx、DyAnd DzDetermining the directions of all axes of the local coordinate system in the input coordinate system in the size sequence;
(25) the local coordinate generating module converts the three-dimensional coordinates of the input point to the local coordinates to generate local coordinates;
(26) the local coordinate generation module sends the local coordinates and the directions of all axes of the local coordinate system in an input coordinate system to the tetrahedron vertex generation module;
(3) the tetrahedron vertex generation module determines the tetrahedron shape adopted by tetrahedron interpolation, calculates the coordinates of four vertexes ABCD of the tetrahedron in an input coordinate system, and sends the coordinates of the four vertexes of the tetrahedron to the three-dimensional to one-dimensional address mapping module; the method specifically comprises the following steps:
(31) the tetrahedron vertex generation module judges whether a vertex exceeding the space range of the input signal appears according to the body-centered cubic unit cell center coordinate, if not, square double-sphene interpolation is adopted, and if so, half square double-sphene interpolation is adopted;
the tetrahedron vertex generation module judges whether a vertex exceeding the space range of the input signal appears according to the body-centered cubic unit cell center coordinate, and specifically comprises the following steps:
the tetrahedron vertex generation module judges whether a point A on a dimension DA with the maximum distance between the coordinate X (X, y, z) and the central coordinate D exceeds the space range of the three-dimensional lookup table;
(32) the tetrahedron vertex generation module calculates the coordinates of the four vertexes of the square frame or the half square frame in an input coordinate system;
(33) the tetrahedron vertex generation module sends the coordinates of the four vertexes of the square double-titanic body or the half square double-titanic body to the three-dimensional to one-dimensional address mapping module;
(4) the three-dimensional to one-dimensional address mapping module determines the corresponding relation between four one-dimensional lookup tables and a tetrahedron vertex ABCD, maps the three-dimensional coordinates of the four vertices to the one-dimensional addresses of the four one-dimensional lookup tables, respectively sends the obtained four one-dimensional coordinates to the corresponding one-dimensional lookup table modules in the four one-dimensional lookup table modules, and sends the corresponding relation between the four one-dimensional lookup tables and the tetrahedron vertex to the tetrahedron interpolation module; the method specifically comprises the following steps:
(41) the three-dimensional to one-dimensional address mapping module calculates the corresponding relation between four one-dimensional lookup tables and tetrahedral vertexes according to a specified mapping mode;
(42) the three-dimensional to one-dimensional address mapping module maps the three-dimensional coordinates of the four vertexes to the one-dimensional addresses of the four one-dimensional lookup tables;
(43) the three-dimensional to one-dimensional address mapping module sends the obtained four one-dimensional coordinates to corresponding one-dimensional lookup table modules in the four one-dimensional lookup table modules respectively, sends the corresponding relation between the four one-dimensional lookup tables and the vertex of the tetrahedron to the tetrahedron interpolation module, and sends the obtained four one-dimensional coordinates to corresponding one-dimensional lookup table modules in the four one-dimensional lookup table modules respectively, specifically:
the three-dimensional to one-dimensional address mapping module respectively sends the one-dimensional coordinate of the A and the one-dimensional coordinate of the D to different one-dimensional lookup table modules in the four one-dimensional lookup table modules for lookup, and respectively sends the one-dimensional coordinate of the B and the one-dimensional coordinate of the C to different one-dimensional lookup table modules in the four one-dimensional lookup table modules for lookup; (5) the four one-dimensional lookup table modules take out the data of the address designated position from the internal storage space according to the obtained one-dimensional addresses respectively and send the data to the tetrahedral interpolation module;
(6) the tetrahedral interpolation module calculates the weight of the data of the four one-dimensional lookup tables, and calculates an output interpolation value by using the weight and the data of the four one-dimensional lookup tables, which specifically comprises the following steps:
(61) the tetrahedron interpolation module acquires four one-dimensional lookup tables and a tetrahedron vertex corresponding relation from the three-dimensional to one-dimensional address mapping module;
(62) said tetrahedral interpolation module obtaining said body centered cubic unit cell center coordinates from said body centered cubic mapping module;
(63) the tetrahedral interpolation module acquires the direction of each axis of the local coordinate system in the input coordinate system from the local coordinate generation module;
(64) the tetrahedron interpolation module respectively acquires the data from the four one-dimensional lookup tables;
(65) the tetrahedron interpolation module calculates the weight of the data of the four one-dimensional lookup tables;
(66) and the tetrahedral interpolation module calculates an output interpolation value according to the weight and the data of the four one-dimensional lookup tables.
CN201210232455.7A 2012-07-05 2012-07-05 System and method for realizing real-time data point mapping processing based on three-dimensional checking Active CN102799657B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210232455.7A CN102799657B (en) 2012-07-05 2012-07-05 System and method for realizing real-time data point mapping processing based on three-dimensional checking

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210232455.7A CN102799657B (en) 2012-07-05 2012-07-05 System and method for realizing real-time data point mapping processing based on three-dimensional checking

Publications (2)

Publication Number Publication Date
CN102799657A CN102799657A (en) 2012-11-28
CN102799657B true CN102799657B (en) 2015-04-08

Family

ID=47198767

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210232455.7A Active CN102799657B (en) 2012-07-05 2012-07-05 System and method for realizing real-time data point mapping processing based on three-dimensional checking

Country Status (1)

Country Link
CN (1) CN102799657B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106407301A (en) * 2016-08-30 2017-02-15 南京巨鲨显示科技有限公司 System and method for realizing real-time mapping of data based on one-dimensional lookup table
CN106910168B (en) * 2017-01-09 2020-02-28 中国科学院自动化研究所 Parallel Image Color Enhancement Method
CN109615666A (en) * 2018-11-12 2019-04-12 北京中科慧眼科技有限公司 A kind of three-dimensional color space data transfer device and device
CN109521434B (en) * 2018-12-27 2020-09-08 合肥泰禾光电科技股份有限公司 Laser measurement method and control processor
CN113034622A (en) * 2019-12-09 2021-06-25 深圳市万普拉斯科技有限公司 Three-dimensional lookup table generation method and device and display equipment
CN112017105B (en) * 2020-08-13 2024-03-26 深圳市洲明科技股份有限公司 Color correction FPGA implementation device and method, color correction equipment and storage medium
CN114998150B (en) * 2022-06-15 2024-04-30 北京理工大学 Method and device for three-dimensional reconstruction of ultrasonic images

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101872485A (en) * 2009-04-27 2010-10-27 鸿富锦精密工业(深圳)有限公司 Surface coordinate value conversion method
CN102393965A (en) * 2011-06-01 2012-03-28 博雅智汇国际有限公司 Method for realizing color correction of color measurement colorimeter by using tetrahedral interpolation method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4255449B2 (en) * 2005-03-01 2009-04-15 株式会社ソニー・コンピュータエンタテインメント Drawing processing apparatus, texture processing apparatus, and tessellation method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101872485A (en) * 2009-04-27 2010-10-27 鸿富锦精密工业(深圳)有限公司 Surface coordinate value conversion method
CN102393965A (en) * 2011-06-01 2012-03-28 博雅智汇国际有限公司 Method for realizing color correction of color measurement colorimeter by using tetrahedral interpolation method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于四输入一维查找表的四面体插值方法;张明勇等;《中国科技信息》;20070903(第18期);342-344 *

Also Published As

Publication number Publication date
CN102799657A (en) 2012-11-28

Similar Documents

Publication Publication Date Title
CN102799657B (en) System and method for realizing real-time data point mapping processing based on three-dimensional checking
CN108229645B (en) Convolution acceleration and calculation processing method and device, electronic equipment and storage medium
CN105354809B (en) A kind of pre-distortion method and device based on output image location of pixels index
CN111009027B (en) Method for realizing color correction by using 3D LUT and display equipment
CN102769758A (en) A processing method and system for RGB data
CN101123080A (en) A color gamut mapping real-time processing method and real-time processing circuit
CN109255774B (en) Image fusion method, device and equipment
CN100504923C (en) Texture engine, graphics processor and method for texture video processing
CN116092423A (en) Method and device for color correction of display panel
CN109615666A (en) A kind of three-dimensional color space data transfer device and device
WO2020216085A1 (en) Tetrahedral interpolation calculation method and apparatus, gamut conversion method and apparatus, and medium
CN102186044A (en) Edge correlation image stepless scaling algorithm and hardware realization device thereof
CN103209331A (en) System and method for strengthening image color saturation
CN107860312A (en) A kind of the embedded of structural light three-dimensional Measurement Algorithm realizes system and method
CN117750003A (en) FPGA-based real-time high-resolution binocular camera distortion correction implementation method
US20150091929A1 (en) Relevant method and device for compression, decompression and progressive transmission of spatial data
US10127887B2 (en) Acceleration of color conversion
CN105160622B (en) The implementation method of image super-resolution based on FPGA
Ustukov et al. Modification of Retinex algorithm and its stream implementation on FPGA
Greisen et al. Analysis and VLSI implementation of EWA rendering for real-time HD video applications
CN106407301A (en) System and method for realizing real-time mapping of data based on one-dimensional lookup table
CN104883477B (en) A kind of video data predistortion processing method, device and head-mounted display
CN114244969B (en) Image brightness correction method and hardware system
CN103533327A (en) DIBR (depth image based rendering) system realized on basis of hardware
Lee et al. A real time color gamut mapping using tetrahedral interpolation for digital tv color reproduction enhancement

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB02 Change of applicant information

Address after: 201103 room 703, block A, No. 1050, Wuzhong Road, Shanghai, Minhang District

Applicant after: SHANGHAI FULHAN MICROELECTRONICS CO., LTD.

Address before: 201103 room 703, block A, No. 1050, Wuzhong Road, Shanghai, Minhang District

Applicant before: Shanghai Fullhan Microelectronics Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant