Low-Complexity Bilateral Filter Implementation for Edge Preservation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Low-processing-capability data processing devices, such as mobile devices, face challenges in efficiently implementing bilateral filters due to their high computational complexity, which limits edge preservation and increases silicon costs.
Innovation Solution
A low-complexity bilateral filter implementation is achieved by separating the filter into spatial and range components, using a reduced complexity function for the spatial filter and determining filter tap values based on radiometric distance with pre-computed data, and constraining these values to a form i×base to reduce computational overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a standard bilateral filter with Gaussian functions is implemented, then edge preservation is achieved, but computational complexity increases
Solution Approach 1:
The bilateral filter is segmented into two independent components: spatial filtering and range filtering. The spatial filter uses a simplified rectangular window function instead of Gaussian, while the range filter uses a lookup table based on radiometric distance. This segmentation allows each component to be optimized independently, reducing overall computational complexity while maintaining edge preservation capabilities.
Solution Approach 2:
Radiometric distance values are pre-computed and stored in a lookup table before filtering operations. This preliminary action eliminates the need for real-time computation of exponential range functions during filtering, significantly reducing computational complexity while preserving the range-based edge detection capability.
2Productivity
If computational complexity is reduced for mobile devices, then processing capability is improved, but filtering accuracy may deteriorate
Solution Approach 1:
The spatial filter parameter is changed from a Gaussian function to a rectangular window function, which has fewer computational requirements. The range filter uses discrete radiometric distance bins with pre-computed weights instead of continuous Gaussian calculations. These parameter changes reduce processing complexity while maintaining sufficient filtering accuracy for mobile applications.
Solution Approach 2:
Instead of computing complex Gaussian functions in real-time, the patent uses a lookup table that stores pre-computed range filter weights. This copying approach replaces expensive real-time calculations with simple table lookups, improving processing capability while preserving the essential filtering behavior.
3Measurement precision
If a full bilateral filter implementation is used, then image quality is maintained, but silicon cost increases
Solution Approach 1:
The filter is segmented into simple spatial weighting and separate range-based filtering components. The spatial component uses a straightforward rectangular window that requires minimal hardware, while the range component uses a compact lookup table. This segmentation enables efficient hardware implementation with reduced silicon area compared to a full Gaussian bilateral filter.
Solution Approach 2:
The patent replaces expensive continuous Gaussian function computations with inexpensive discrete lookup table entries. The lookup table uses simplified radiometric distance bins and pre-computed weights that require minimal storage and computation resources, reducing silicon cost while maintaining acceptable image quality.
Data Source
AI summary
A method includes implementing, through a processor communicatively coupled to a memory and/or a hardware block, a Bilateral Filter (BF) including a spatial filter component and a range filter component, and implementing the spatial filter component with a low-complexity function to allow for focus on the range filter component. The method also includes determining, through the processor, filter tap value(s) related to the range filter component as a function of radiometric distance between a pixel of a video frame and/or an image and other pixels thereof based on a pre-computed corpus of data related to execution of an application in accordance with a filtering requirement of the pixel by the application. Further, the method includes constraining, through the processor, the filter tap value(s) to a form i×base based on the BF implementation. i is an integer and base is a floating point base.


