Polynomial Function Rendering With Control-Point Memory Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for computing mathematical functions in floating point units require large memory storage for polynomial functions due to the need to store multiple polynomial coefficients, which is costly and inefficient.
Innovation Solution
Represent polynomial curves using control points instead of polynomial coefficients, reducing memory requirements by storing only a single control point per section and generating coefficients through arithmetic manipulation, using B-Spline piecewise curves and multiple look-up tables.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If polynomial functions are stored in terms of their coefficients in look-up tables, then the function evaluation can be performed directly, but the memory requirements increase significantly, especially for high-order polynomials
Solution Approach 1:
The patent extracts only the essential information needed to define polynomial curves by storing control points instead of complete coefficient sets. For a polynomial of order n, only n+1 control points are stored rather than all possible coefficients, significantly reducing memory while preserving the ability to reconstruct and evaluate the polynomial functions accurately.
Solution Approach 2:
The patent changes the representation parameters from storing complete polynomial coefficients to storing control points that define the polynomial curves. This parameter transformation allows the same mathematical information to be encoded more compactly, reducing memory requirements by up to three or four times while maintaining continuity and accuracy across piecewise sections.
2Quantity of substance
If large look-up tables are replaced with smaller tables storing control points, then memory requirements are reduced, but additional arithmetic operations are needed to generate coefficients
Solution Approach 1:
The patent segments the polynomial evaluation process into two distinct stages: first, storing compact control point data in reduced-size look-up tables; second, using arithmetic blocks to generate coefficients from these control points when evaluation is needed. This segmentation separates the memory storage function from the computation function, allowing optimization of both aspects independently.
Solution Approach 2:
The patent performs preliminary action by pre-computing and storing only the control points that define the polynomial curves, rather than pre-computing all possible coefficient values. This preliminary storage of essential defining parameters enables on-demand coefficient generation through arithmetic operations, reducing memory requirements while maintaining the capability for accurate function evaluation.
3Quantity of substance
If piecewise polynomial sections are used to reduce memory, then continuity across section boundaries must be maintained, but this constrains the polynomial representation
Solution Approach 1:
The patent merges multiple polynomial sections into a continuous piecewise function by ensuring that adjacent sections share common control points. This merging approach guarantees continuity across section boundaries because the shared control points serve as connecting elements, allowing the function to transition smoothly from one polynomial section to the next without discontinuities.
Solution Approach 2:
The patent applies local quality by allowing different polynomial orders and characteristics in different sections while maintaining global continuity through shared control points. Each section can be optimized locally for specific function behavior, while the shared control points ensure that the overall function maintains stability and continuity across all sections.
Data Source
AI summary
An aspect includes an apparatus for evaluating a mathematical function at an input value. The apparatus includes a selector for selecting a mathematical function, an input for a value at which to evaluate the function, an identifier for identifying an interval containing the input value. The interval is described by at least one polynomial function. At least one control point representing the polynomial function is retrieved from at least one look up table, and the polynomial function can be derived from the control points. The function is evaluated at the input value and an output of the evaluation is used as a value of the function at that input value.


