GPU Texture Pipe Offloading Block-Based Image Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current image processing on GPUs relies heavily on shader processors for block-based operations such as convolutions and sums of absolute differences, which can lead to performance bottlenecks as these processors are often busy with other instructions, limiting the acceleration of commonly-used image processing functions.

Innovation Solution

Utilizing a texture pipe within the GPU to perform generic block-based operations concurrently with shader processor tasks, allowing the GPU to offload and accelerate image processing functions like convolutions, sums of absolute differences, and other block-based operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If shader processors are used to perform block-based image processing operations, then image processing functionality is achieved, but processing speed and performance are limited due to shader processors being occupied with other instructions

Engineering Contradiction:
Improveimage processing throughputVSAvoidprocessing delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the GPU architecture into separate functional units: shader processors for graphics rendering tasks and texture units for specialized image processing operations. This segmentation allows concurrent execution of different operation types without resource contention, directly resolving the performance limitation caused by shader processors being occupied with other instructions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces texture units as intermediary specialized processors that handle block-based image processing operations. These texture units act as mediators between the shader processors and memory, offloading specific image processing tasks from the shader processors and enabling parallel execution, thereby improving throughput and reducing processing delays.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If shader processors handle all image processing tasks, then versatility is maintained, but device utilization efficiency decreases

Engineering Contradiction:
Improveprocessing capabilityVSAvoiddevice utilization efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements texture units with multi-functional capability to perform various block-based operations including convolutions, sums of absolute differences, and other image processing functions. This universal design within the specialized texture units maintains versatility while improving overall device utilization efficiency by dedicating these units specifically for image processing tasks.

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

3Productivity

If more shader processors are allocated to image processing, then processing speed improves, but complexity of the GPU architecture increases

Engineering Contradiction:
Improveprocessing speedVSAvoidGPU architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Rather than increasing the number of shader processors, the patent segments the GPU into specialized texture units that handle image processing. This approach improves processing speed through dedicated hardware without increasing overall architectural complexity, as the texture units are integrated as separate but coordinated components with defined interfaces to the existing shader processor system.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3161781B1Texture unit as an image processing engine
Publication Date: 2020.12.23 QUALCOMM INC
  • EP3161781B1 patent drawingFigure 1
  • EP3161781B1 patent drawingFigure 2
  • EP3161781B1 patent drawingFigure 3

AI summary

A texture pipe of a graphics processing unit (GPU) may receive a texture data. The texture pipe may perform a block-based operation on the texture data, wherein the texture data comprises one or more blocks of texels. Shader processors of the GPU may process graphics data concurrently with the texture pipe performing the block-based operation. The texture pipe may output a result of performing the block-based operation on the one or more texture data.