Bilateral Filter Using Histogram Rectangular Regions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for applying bilateral filters to images are computationally inefficient, requiring O(n^2) operations due to the use of Gaussian filters, which leads to slow performance especially when the filter radius is large.
Innovation Solution
The method employs a 2-D box filter as the spatial component and utilizes histogram techniques to reduce computational complexity, allowing for O(n) operations by selecting rectangular regions and constructing and adjusting histograms to compute new pixel values.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If Gaussian function approximation is used for spatial component of bilateral filter, then filtering accuracy is improved, but computational complexity increases to O(n^2)
Solution Approach 1:
The patent divides the 2D filtering problem into sequential 1D filtering operations. First, a horizontal pass filters along each row, then a vertical pass filters along each column. This segmentation reduces computational complexity from O(n^2) to O(n) while maintaining filtering accuracy by applying the Gaussian function approximation in two separate one-dimensional passes rather than computing all 2D pixel contributions simultaneously.
2Area of stationary object
If filter radius is increased to cover larger area, then filtering quality is improved, but processing speed decreases due to O(n^2) complexity
Solution Approach 1:
The patent applies segmentation by separating the 2D filter into two sequential 1D filter passes. The first pass processes horizontal neighbors across the entire image width, and the second pass processes vertical neighbors across the entire image height. This allows the filter to cover a large radius area while maintaining O(n) computational complexity per pixel, thereby preserving processing speed even when filter coverage area is increased.
Solution Approach 2:
The patent performs preliminary filtering in the horizontal direction before performing the vertical filtering pass. By pre-computing the horizontal contributions and storing intermediate results, the second vertical pass can efficiently combine these with vertical contributions without re-computing horizontal relationships, thus maintaining fast processing speed for large filter radii.
3Measurement precision
If individual pixel contributions are computed separately, then filtering precision is improved, but computational time increases significantly
Solution Approach 1:
The patent segments the computation into two independent 1D passes rather than computing all 2D pixel contributions individually. Each pass processes one dimension at a time, accumulating contributions along rows or columns. This segmentation maintains precise pixel value computation by considering all relevant neighbors while reducing total computational time from O(n^2) to O(n) operations per pixel.
Solution Approach 2:
The patent maintains continuity of useful action by processing pixels in systematic sweeps across the image. The horizontal pass continuously processes all pixels from left to right, and the vertical pass continuously processes all pixels from top to bottom. This continuous processing approach efficiently computes precise pixel values without the computational overhead of individual pixel evaluation, keeping computational time low while maintaining accuracy.
Data Source
AI summary
One embodiment of the present invention provides a system for applying a bilateral filter to an image. During operation, the system selects a first region within the image which is associated with a first pixel. Next, the system constructs a first histogram using pixel values within the first region. The system then computes a new value for the first pixel using the current value of the first pixel and the first histogram. The system then selects a second region within the image which is associated with a second pixel. Next, the system determines a non-overlapping region between the first region and the second region. The system then constructs a second histogram using the first histogram and pixel values in the non-overlapping region. Next, the system computes a new value for the second pixel using the current value of the second pixel and the second histogram.


