Descriptor-Based Stream Processor for Image Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveprocessing flexibilityVSAvoidhardware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
ImproveadaptabilityVSAvoiddata loss prevention
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvenumber of kernelsVSAvoidhardware resources
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS9241142B2Descriptor-based stream processor for image processing and method associated therewith
Publication Date: 2016.01.19 ANALOG DEVICES INT UNLTD CO
  • US9241142B2 patent drawing
  • US9241142B2 patent drawing
  • US9241142B2 patent drawing

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.