Cubiform Color Lookup Table Generation for Real-Time Image Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for modifying images, either through per-pixel processing or color lookup tables (C-LUTs), face inefficiencies and resource competition, making real-time modifications impractical due to increased compute time and resource competition between GPU and CPU processing.

Innovation Solution

A method that generates a new color lookup table based on user input parameters, allowing for efficient replacement of current tables, using a Cubiform method that creates sparse or full-sized C-LUTs to efficiently remap pixel values without direct editing of the current table, enabling real-time image processing with fixed and low render times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If per-pixel mathematical processing is used to modify image chrominance and luminance, then complex pixel transform operations can be performed, but compute time increases significantly

Engineering Contradiction:
Improvepixel transform operation complexityVSAvoidcompute time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent pre-calculates and stores transform results in a color lookup table (C-LUT) during an offline phase. During real-time processing, instead of performing complex mathematical operations on each pixel, the system simply performs a table lookup using the pixel's color values as indices, dramatically reducing compute time while maintaining the ability to apply various pixel transform operations.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If a color lookup table is used for efficient pixel transform operations, then compute time is reduced, but real-time editing of the C-LUT consumes processing resources

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidprocessing resources
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent segments the C-LUT into multiple smaller sub-tables or planes, each handling a portion of the color space or a specific transform operation. This allows the system to edit or regenerate only the necessary sub-tables when parameters change, rather than regenerating the entire C-LUT, thus reducing the processing resources consumed during real-time editing while maintaining high processing efficiency.

Inventive Principle:
Principle #1Segmentation

3Loss of energy

If the C-LUT is treated as a static data model, then resource consumption during operation is minimized, but adaptability to different pixel transform operations is reduced

Engineering Contradiction:
Improveresource consumptionVSAvoidpixel transform operation flexibility
Core Design Contradiction:
Loss of energyVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic C-LUT system where the lookup table can be regenerated or updated in real-time based on user-selected pixel transform operations and their parameters. The system maintains a library of pre-computed C-LUTs for different operations and dynamically selects or generates the appropriate table during processing, balancing resource consumption with operational flexibility and adaptability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10855886B2Cubiform method
Publication Date: 2020.12.01 BENDING SPOONS US INC
  • US10855886B2 patent drawing
  • US10855886B2 patent drawing
  • US10855886B2 patent drawing

AI summary

A method performed by a module executing on a computing device. The method includes receiving a request to generate a new color lookup table (“C-LUT”). The request includes at least one parameter value indicating a parameter change input by a user. The request may also indicate a number of data-points in the new C-LUT. The method includes generating a new color value for each of the data-points based on the at least one parameter value. The module appends the new color value for each of the data-points to a data structure and generates the new C-LUT from the data structure. The new color lookup table is operable to replace a current color lookup table.