Configurable Multi-Tap Filter Memory Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current configurable vertical filters in image processing have inefficient RAM usage due to underutilization, especially when handling different scaling factors and pixel formats, leading to wasted die space in integrated circuit designs.
Innovation Solution
A configurable multi-tap filter that includes a parallel-to-serial formatter to transform pixel streams into component streams, a configurable memory with multiple channels to store these streams efficiently, and a multi-tap filter to process pixel components, allowing for flexible configurations as two-tap, three-tap, or five-tap filters for RGB or YUV pixel streams.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a configurable vertical filter uses a single large memory to support multiple filter configurations, then the filter can handle different scaling factors and pixel formats, but the memory becomes underutilized in certain configurations leading to wasted die space
Solution Approach 1:
The memory is divided into multiple separate line stores (first line store, second line store, third line store) instead of using a single large memory. Each line store can be independently configured and utilized based on the specific filter requirements, allowing the system to allocate only the necessary memory resources for each configuration rather than provisioning for the maximum possible configuration.
Solution Approach 2:
The system dynamically configures the number of line stores and their connections based on the required filter type (two-tap, three-tap, or five-tap). The configurable vertical filter can reconfigure which line stores are active and how they are connected to the filter logic, optimizing memory utilization for each specific operation rather than maintaining a fixed large memory structure.
2Adaptability or versatility
If the line store width is designed to support the widest pixel format, then all pixel formats can be processed, but narrower formats result in unused memory width and wasted die space
Solution Approach 1:
The line store width is dynamically adjusted based on the pixel format being processed. The configurable vertical filter can reconfigure the line store width to match the specific pixel format requirements (e.g., narrower width for RGB, wider width for YUV422), eliminating the need to always provision for the maximum width and reducing die space waste when processing narrower formats.
Solution Approach 2:
Different portions of the memory system are configured with different widths appropriate for the specific pixel format being processed. Rather than uniformly provisioning all memory for the widest format, the system locally adapts the memory width to match the actual data width requirements, optimizing die space utilization.
Data Source
AI summary
One embodiment of a configurable multi-tap filter includes a parallel-to-serial formatter configured to transform a pixel stream into a first component pixel stream and a second component pixel stream, a configurable memory that includes a first channel and a second channel, wherein pixels from the first component pixel stream are stored in the first channel and pixels from the second component pixel stream are stored in the second channel, and a multi-tap filter configured to process a component of a pixel from the first channel and a like component of a pixel from the second channel. In various embodiments, the configurable multi-tap filter may be implemented as a two-tap, three-tap or five-tap filter and may be used to process either RGB or YUV pixels streams. One advantage of the disclosed configurable multi-tap filter is that it uses memory more efficiently than prior art filters.


