Descriptor-Based Stream Processor for Image Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional stream image processors struggle to efficiently process image frames using multiple kernels without requiring additional hardware, often missing data during kernel switching.
Innovation Solution
A method for defining a kernel pattern involving kernel blocks, descriptors, and link tables allows an image processor to seamlessly process image frames using multiple kernels, with the number of kernels limited only by memory size, and a stream controller directs the execution of these kernels using a kernel switch lookup table.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple kernels are used to process different portions of an image frame, then processing flexibility and adaptability are improved, but hardware complexity increases and data loss may occur during kernel switching
Solution Approach 1:
The image frame is divided into multiple portions, with each portion processed by a dedicated kernel. The frame memory is segmented into multiple banks, and each kernel has associated descriptor memory and link table memory for independent configuration. This segmentation allows flexible processing of different image regions without requiring a single complex processing unit.
Solution Approach 2:
A stream controller is introduced as an intermediary component that manages kernel switching between different kernels. The stream controller uses a kernel switch lookup table to determine which kernel to activate for each image portion, eliminating the need for complex hardware switching logic and preventing data loss during transitions.
2Adaptability or versatility
If kernel switching is implemented to handle different image processing requirements, then adaptability is improved, but data loss may occur during the switching process
Solution Approach 1:
Kernel descriptors and link tables are pre-configured in dedicated memory structures before processing begins. The kernel switch lookup table is pre-populated with the correct kernel selections for each image portion, allowing the stream controller to perform reliable kernel switching without complex real-time decision-making that could cause data loss.
3Adaptability or versatility
If the number of kernels is increased to handle diverse processing requirements, then adaptability is improved, but hardware resources and costs increase
Solution Approach 1:
Multiple kernels share common hardware resources including the stream processor unit, frame memory banks, and control logic. Each kernel is configured through software descriptors rather than dedicated hardware, allowing the same physical hardware to perform multiple different processing functions. The kernel switch lookup table enables dynamic selection among kernels without requiring separate hardware paths for each kernel.
Data Source
AI summary
The present disclosure provides a stream processor, an associated stream controller and compiler, and associated methods for data processing, such as image processing. In some embodiments, a method includes defining a kernel pattern associated with an image frame, and processing the image frame using the defined kernel pattern. The method can further include generating a kernel switch lookup table based on the defined kernel pattern. In various implementations, the stream controller is operable to direct execution of kernels on the image frame according to the defined kernel pattern and the kernel switch lookup table.


