Image Data Interleaving and Transpose for Parallel Cluster Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data processing systems face challenges in efficiently distributing and rearranging image data for processing by multiple clusters, particularly in applications requiring low latency and reduced memory usage, such as self-driving cars, due to high memory requirements and prolonged reaction times.

Innovation Solution

A method and system for rearranging and distributing image data by logically partitioning the image into uniform regions, interleaving data units across memory positions, transposing them into K-byte words, and transferring bytes to processing clusters in parallel, optimizing data distribution for multi-core parallelization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If image data is distributed to multiple processing clusters for parallel processing, then processing speed and productivity are improved, but memory requirements and device complexity increase

Engineering Contradiction:
Improveprocessing speedVSAvoidmemory requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The image data is divided into multiple tiles or regions that can be independently processed by different processing clusters. Each cluster receives a specific portion of the image data, enabling parallel processing while reducing the memory burden on each individual cluster. The segmentation allows the system to process large images by breaking them into manageable chunks that fit within the memory constraints of individual processing units.

Inventive Principle:
Principle #1Segmentation

2Productivity

If image data is distributed to multiple processing clusters, then processing throughput is improved, but reaction time and latency increase

Engineering Contradiction:
Improveprocessing throughputVSAvoidreaction time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-processing and preparing image data before it reaches the main processing clusters. This includes initial filtering, formatting, and organization of data that reduces the computational burden during critical processing phases. By performing these preparatory actions in advance, the system minimizes latency while maintaining high throughput in the main processing pipeline.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If more memory is allocated for image processing, then data availability for processing is improved, but manufacturing costs and device complexity increase

Engineering Contradiction:
Improvedata availabilityVSAvoidmanufacturing costs
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces a time dimension to the data storage and processing architecture by implementing a time-multiplexed memory system. Instead of providing all image data simultaneously to all processing clusters, the system allocates memory resources dynamically across different time periods. This allows the same memory resources to serve multiple processing operations sequentially, effectively increasing data availability without proportionally increasing physical memory capacity or manufacturing costs.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS12561259B2Method and system for rearranging and distributing data of an incoming image for processing by multiple processing clusters
Publication Date: 2026.02.24 TELESIS INNOVATION AB
  • US12561259B2 patent drawing
  • US12561259B2 patent drawing
  • US12561259B2 patent drawing

AI summary

A system configured to rearrange and distribute data of an incoming image for processing by a number, K≥4, of processing clusters. The incoming image has a number of scanlines, each scanline being arrangeable as a plurality of data units. The system is configured to logically partition the incoming image into K uniform regions corresponding to the number of processing clusters, wherein the K regions are defined by a number, R≥2, of rows and a number, C≥2, of columns, by i) dividing each scanline into a number, C≥2, of uniform line segments, the length of a line segment being equal to the width of a region, ii) dividing each line segment into a number, W≥2, of data units, each having a number, Q≥2, of bytes, i.e. Q-byte data units, and iii) defining a region height of a number, H≥2, of scanlines for each region. The system is configured to store, in an associated memory, data units from different regions interleaved with respect to each other, while consecutive data units of each line segment of each row of regions of the incoming image are stored with an offset of K memory positions such that the consecutive data units are stored K memory addresses apart. The system is configured to transpose each assembly of K number of Q-byte data units stored in said memory into a transposed assembly of Q number of K-byte words, each K-byte word including one byte per cluster, and transfer the bytes of each K-byte word to said processing clusters in parallel, one byte per cluster.