Multi-Stream Vision Processing via Tagged Synchronization Manager

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern advanced vision processing algorithms, such as deep learning neural networks, introduce high computation and memory workloads that limit the number of vision streams that can be simultaneously processed by a controller, leading to inefficient use of processing capacity and increased costs due to unsynchronized computations across multiple CPUs and accelerators in advanced autonomous vehicle and ADAS applications.

Innovation Solution

A system and method that improves synchronization of computations by using a controller to read and process multiple perception streams with unique identification tags, applying a predetermined policy for scheduling and processing, and dispatching processed streams to appropriate destinations, allowing for efficient use of shared hardware resources and pipelining of processing algorithms across multiple devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple perception streams are processed simultaneously using multiple CPUs and accelerators, then processing capacity increases, but computation synchronization becomes poor resulting in lost processing capacity

Engineering Contradiction:
Improveprocessing capacityVSAvoidcomputation synchronization
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

A synchronization manager is introduced as an intermediary component that coordinates computations across multiple CPUs and accelerators. The synchronization manager receives computation requests, determines synchronization requirements, and manages the synchronization process to ensure proper coordination while maintaining processing capacity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments computation management into distinct functional components: a synchronization manager that handles coordination logic, computation units that execute processing, and a queue manager that handles request prioritization. This segmentation allows each component to specialize in its function while maintaining overall system synchronization.

Inventive Principle:
Principle #1Segmentation

2Productivity

If advanced vision processing algorithms are used, then processing capability improves, but computation and memory workloads increase limiting the number of vision streams

Engineering Contradiction:
Improvevision streams processedVSAvoidcomputation and memory workload
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system applies partial processing by breaking down vision stream processing into discrete computation requests that can be handled incrementally. The queue manager processes requests in priority order, allowing the system to handle multiple streams with varying computational demands without requiring all resources to be allocated simultaneously, thus reducing peak memory workload.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system dynamically adjusts resource allocation based on real-time computation requirements. The synchronization manager and queue manager work together to allocate computation and memory resources dynamically to different vision streams based on their current priority and workload, allowing efficient handling of multiple streams without static over-provisioning.

Inventive Principle:
Principle #15Dynamics

3Productivity

If multiple CPUs and accelerators are used for multiple perception streams, then processing throughput increases, but computation synchronization deteriorates leading to higher costs

Engineering Contradiction:
Improveprocessing throughputVSAvoidcomputation synchronization complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The synchronization manager serves multiple functions: it acts as a request receiver, a synchronization coordinator, a priority manager, and a resource allocation controller. This universal component manages all synchronization aspects across different CPU and accelerator types, reducing overall system complexity despite the diversity of processing units.

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

Solution Approach 2:

The system implements feedback mechanisms where the synchronization manager monitors computation progress and synchronization status across multiple processors. Based on this feedback, the manager dynamically adjusts scheduling and resource allocation to maintain proper synchronization, enabling complex multi-processor operations with simplified coordination logic.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11074081B2Architecture and method supporting multiple vision stream using shared server on embedded platform
Publication Date: 2021.07.27 GM GLOBAL TECHNOLOGY OPERATIONS LLC
  • US11074081B2 patent drawing
  • US11074081B2 patent drawing
  • US11074081B2 patent drawing

AI summary

A method in a multiprocessor system for processing multiple perception streams is disclosed. The method comprises: reading data from a plurality of perception streams according to a reading schedule determined by a predetermined policy, each perception stream comprising perception data from a different perception sensor; assigning a unique identification tag to each perception stream; writing each perception stream with its unique identification tag to a server input queue based on the predetermined policy; and processing the tagged perception streams using a server. The processing includes: retrieving tagged perception streams from the server input queue; applying a processing algorithm to process the retrieved tagged perception streams; and outputting the processed perception streams to a server output queue. The method further includes retrieving the processed perception streams from the server output queue and dispatching each retrieved processed perception stream to an appropriate post-processing destination based on the tag associated with the retrieved processed perception stream.