Bilateral Filter Weight Lookup Table for Image Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional bilateral filtering for image processing has high computation complexity, leading to large semiconductor area requirements for hardware implementations or high CPU loading for software implementations, due to the complex equation for generating weights on-the-fly.
Innovation Solution
The use of pre-computed combined 2D weights stored in a 2D weight lookup table (LUT) reduces computation complexity by eliminating the need for on-the-fly weight calculation, with optional quantization to further reduce LUT size.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If conventional bilateral filtering uses direct formula implementation with on-the-fly weight calculation, then filtering accuracy is maintained, but computation complexity increases leading to large semiconductor area or high CPU loading
Solution Approach 1:
The patent pre-computes bilateral filter weights offline and stores them in lookup tables before actual image filtering operations. This preliminary action eliminates the need for complex on-the-fly weight calculations during real-time filtering, thereby reducing computation complexity while preserving filtering accuracy through the pre-computed weight values.
Solution Approach 2:
The patent creates simplified copies of the complex weight calculation by storing pre-computed weight values in lookup tables. Instead of executing the full bilateral filter equation during filtering, the system copies and applies pre-stored weight values that correspond to different spatial and range configurations, significantly reducing computational burden while maintaining filtering performance.
2Device complexity
If pre-computed weights are stored in a detailed 2D weight lookup table, then computation complexity is reduced, but memory storage requirements increase
Solution Approach 1:
The patent applies quantization to the pre-computed weight values in the lookup table, transforming them from high-precision floating-point numbers to lower-precision fixed-point or integer representations. This parameter change reduces the memory storage requirements for the lookup table while maintaining sufficient accuracy for practical filtering applications.
Solution Approach 2:
The patent employs non-uniform quantization where finer precision is allocated to weight values that have greater impact on filtering results (e.g., weights corresponding to nearby pixels or significant intensity differences), while coarser precision is used for less critical values. This local quality approach optimizes the balance between memory storage and filtering accuracy.
Data Source
Figure 1~2A
Figure 2B~3A
Figure 3B~3C
AI summary
In described examples, a method (400) for filtering noise for imaging includes receiving (401) an image frame having position and range data. A filter size divides (402) the frame into filter windows for processing each of the filter windows. For the first pixel, a space to the center pixel and a range difference between this pixel and the center pixel is determined (403) and used for choosing (404) a selected weight from weights in a 2D weight LUT including weighting for space and range difference, a filtered range value is calculated (405) by applying the selected 2D weight to the pixel, and the range, filtered range value and selected 2D weight are summed (406). The determining, choosing, calculating and summing are repeated (407) for at least the second pixel. A total sum of contributions from the first and second pixel are divided (408) by the sum of selected 2D weights to generate a final filtered range value for the center pixel.