DMA Engine Pixel Data Preprocessing and Skipping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face inefficiencies in processing pixel data from non-byte boundary devices, such as color and depth cameras, due to the need for extensive image processing operations that consume energy and resources, particularly when dealing with 10-bit or 12-bit data values that do not align with byte boundaries.

Innovation Solution

The implementation of a Direct Memory Access (DMA) engine that performs preprocessing operations on pixel data during transfer from a first memory to a second memory, including determining valid or invalid pixels based on thresholds and embedding metadata within unused bits, allowing for efficient data handling and reduced processing requirements by skipping irrelevant data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If extensive image processing operations are performed on pixel data from non-byte boundary devices, then processing accuracy is improved, but energy consumption increases

Engineering Contradiction:
Improveprocessing accuracyVSAvoidenergy consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The DMA engine performs preliminary processing of pixel data during the memory transfer operation itself, validating pixels against minimum and maximum thresholds and embedding validity information in unused bits before the data reaches the processor. This preliminary action prevents unnecessary processing of invalid pixels, reducing subsequent energy consumption while maintaining processing accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The DMA engine utilizes its own idle resources and unused bandwidth during memory transfers to perform pixel validation and metadata embedding without requiring additional dedicated processing hardware. The DMA engine serves itself by performing preprocessing tasks during its normal operation, thereby reducing the processing burden on the main processor and lowering overall system energy consumption.

Inventive Principle:
Principle #25Self-service

2Reliability

If pixel data from non-byte boundary devices is processed using traditional methods, then data integrity is maintained, but processing efficiency decreases

Engineering Contradiction:
Improvedata integrityVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent embeds pixel validity information in the unused bits of the pixel data structure itself, adding a new dimension of information without increasing the overall data size. This allows the processor to quickly identify and skip invalid pixels during processing, dramatically improving efficiency while maintaining data integrity through the embedded validity markers.

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

Solution Approach 2:

The DMA engine extracts and validates individual pixels from the pixel data stream during transfer, identifying valid pixels based on threshold criteria. By separating valid from invalid pixels through extraction and validation during transfer, the system maintains data integrity for valid pixels while enabling efficient skipping of invalid ones, thereby improving processing efficiency.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If all pixel data is transferred and processed, then complete image processing is achieved, but time consumption increases

Engineering Contradiction:
Improvecomplete processingVSAvoidtime consumption
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The processor uses the embedded validity information in pixel data to skip over invalid pixels during processing operations. By rushing through invalid data regions and only processing valid pixels, the system achieves complete processing of necessary image data while significantly reducing time consumption compared to processing every pixel uniformly.

Inventive Principle:
Principle #21Skipping (Rushing through)

Data Source

PatentUS10181175B2Low power DMA snoop and skip
Publication Date: 2019.01.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10181175B2 patent drawing
  • US10181175B2 patent drawing
  • US10181175B2 patent drawing

AI summary

Methods for preprocessing pixel data using a Direct Memory Access (DMA) engine during a data transfer of the pixel data from a first memory (e.g., a DRAM) to a second memory (e.g., an SRAM) are described. The pixel data may derive from a color camera or a depth camera in which individual pixel values are not a multiple of eight bits. In some cases, the DMA engine may perform a variety of image processing operations on the pixel data prior to the pixel data being written into the second memory. In one embodiment, the DMA engine may be configured to determine whether one or more pixels corresponding with the pixel data may be invalidated or skipped based on a minimum pixel value threshold and a maximum pixel value threshold and to embed pixel skipping information within unused bits of the pixel data.