Curvature Interpolation for Lookup Table Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing lookup tables (LUTs) used in image processing often require a large memory footprint to achieve precise results, especially when dealing with complex functions, as they need to store numerous entries to ensure accurate interpolation, which can be impractical due to memory constraints.

Innovation Solution

The implementation of curvature interpolation allows for the derivation of output values for input sets not explicitly defined in the LUT by using mathematical relationships between adjacent entries, enabling precise image processing with a reduced number of entries in the LUT, thus optimizing memory usage while maintaining image quality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If linear interpolation is used with a lookup table containing fewer entries, then memory consumption is reduced, but interpolation precision deteriorates for complex functions

Engineering Contradiction:
Improvenumber of LUT entriesVSAvoidinterpolation precision
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent changes the interpolation parameter from linear to curvature-based interpolation. By using curvature interpolation that accounts for the second derivative of the function, the system achieves higher precision with fewer LUT entries. This parameter change allows the system to capture non-linear behavior more accurately without increasing memory usage.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies curvature interpolation that models the function behavior using curved relationships rather than straight lines. By incorporating curvature information (second derivatives) into the interpolation process, the system can accurately represent complex non-linear functions with sparse LUT entries, resolving the contradiction between memory usage and precision.

Inventive Principle:
Principle #14Spheroidality (Curvature)

2Measurement precision

If an LUT with more entries is used to represent complex functions, then interpolation precision is improved, but memory consumption increases significantly

Engineering Contradiction:
Improveinterpolation precisionVSAvoidnumber of LUT entries
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent changes the interpolation approach from linear to curvature-based, which allows achieving high precision with fewer entries. By using curvature interpolation that incorporates second derivative information, the system can represent complex functions accurately without requiring dense LUT coverage, thus reducing memory requirements while maintaining precision.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent replaces the mechanical approach of storing every possible function value in the LUT with a mathematical model-based approach. Instead of relying on exhaustive tabulation, the system uses curvature interpolation formulas that compute function values on-the-fly based on a few stored reference points, substituting data storage with computational modeling.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS11682364B2Curvature interpolation for lookup table
Publication Date: 2023.06.20 APPLE INC
  • US11682364B2 patent drawing
  • US11682364B2 patent drawing
  • US11682364B2 patent drawing

AI summary

An electronic device includes an electronic display configured to present an image based on image data and a display pipeline having image processing circuitry to process the image data for display on the electronic display by receiving the image data, referencing a lookup table (LUT) to determine output values based on a plurality of input value sets associated with the image data, the LUT including entries respectively mapping an output value to a defined input value set, determining whether an input value set of the plurality of input value sets is represented by the entries of the LUT, performing curvature interpolation to determine an interpolated output value associated with the input value set in response to determining the input value set of the image data is not represented by the entries of the LUT, and applying the interpolated output value to the input value set to generate updated image data.