Multi-level Lookup Tables for Image Processing Resource Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional image processing methods using lookup tables (LUTs) require significant computing and memory resources due to the large number of control point values, leading to high costs in processing images, especially when each frame of a video sequence necessitates different LUTs or histograms, resulting in substantial resource utilization.
Innovation Solution
The implementation of multi-level LUTs, where a first LUT stores control point values for all pixel values and a second LUT, specific to each image block, uses fewer control points in a distorted space, reducing the overall computational cost by applying control point values only where necessary, thereby optimizing resource usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If conventional LUTs with large number of control point values are used for image processing, then processing accuracy is maintained, but computing resources and memory usage increase significantly
Solution Approach 1:
The image is divided into multiple blocks, and the LUT processing is segmented into two levels: a first LUT processes all blocks with full precision control points, while a second LUT processes individual blocks with reduced control points. This segmentation allows different precision levels for different regions, reducing overall computational complexity while maintaining necessary accuracy.
Solution Approach 2:
Different blocks of the image are processed with different LUT configurations based on their specific characteristics. The second LUT uses fewer control point values tailored to the local requirements of each block, rather than applying uniform high-precision processing to the entire image, thus optimizing the balance between accuracy and resource usage.
2Measurement precision
If conventional LUTs with large number of control point values are used for image processing, then processing accuracy is maintained, but memory resources increase significantly
Solution Approach 1:
The memory storage is segmented into two LUT structures: the first LUT stores control point values for all pixel values across the entire image, while the second LUT stores reduced control point values for individual blocks. This segmentation reduces the total quantity of stored data while preserving accuracy where needed.
Solution Approach 2:
The second LUT stores fewer control point values tailored to specific block requirements rather than uniform high-precision storage for all blocks. This local optimization reduces the total memory footprint while maintaining processing accuracy for each block's specific characteristics.
3Measurement precision
If different LUTs are applied to each frame of video sequence, then processing accuracy is maintained, but processing time increases substantially
Solution Approach 1:
The processing time is reduced by segmenting the LUT application into two efficient stages: the first LUT is applied once to transform all blocks into a common distorted space, and then the smaller second LUT is applied to each block. This segmented approach is more efficient than applying a full-precision LUT to each frame individually, reducing processing time while maintaining accuracy.
4Stability of the object's composition
If conventional LUT processing is applied to all blocks uniformly, then processing consistency is maintained, but computational cost increases to Cost=A*B
Solution Approach 1:
The uniform processing is segmented into two stages with different LUTs: the first LUT provides consistent transformation across all blocks, while the second LUT optimizes individual block processing with reduced control points. This maintains processing consistency through the first stage while reducing computational cost in the second stage.
Solution Approach 2:
Instead of uniform high-precision processing for all blocks, the solution applies local optimization where the second LUT uses fewer control point values tailored to each block's specific characteristics. This reduces the overall computational cost from A*B to A+(N*B) while maintaining necessary processing quality.
Data Source
AI summary
Multiple lookup tables (LUTs) storing different numbers of control point values are used to process pixels within different blocks of an image, such as after image processing using tone mapping and/or tone control, and/or to collect histogram information or implement 3D LUTs. First control point values stored within a first LUT are applied against pixels of a given block of an image to produce a distorted image block. Second control point values stored within a second lookup table are applied against a pixel of the distorted image block to produce a processed pixel. The second LUT is one of a plurality of second LUTs and stores fewer values than the first LUT. A processed image is produced using the processed pixel. The processed image is then output for further processing or display.


