Overlapping Bin Rendering for GPU Filtering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional graphics processing unit (GPU) architectures face challenges in efficiently rendering graphics due to the need for large data transfers and limited bandwidth, particularly in mobile architectures, which can be addressed by employing tile-based rendering techniques. However, these techniques struggle with accurate application of filters, especially when scaling graphics data, as they often require access to source pixels across bin boundaries, which is not feasible in tile-based schemes.

Innovation Solution

The GPU renders a sequence of overlapping bins, allowing for filtering operations by including pixels from adjacent bins in the border regions during the rendering process, thereby avoiding the need for additional copy operations typically required when filtering graphics data stored in a frame buffer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If tile-based rendering is used to reduce data transfer and improve mobile GPU efficiency, then bandwidth consumption is reduced and rendering performance is improved, but the ability to accurately apply filters (especially scaling operations) deteriorates because source pixels across bin boundaries cannot be accessed

Engineering Contradiction:
Improverendering performanceVSAvoidfiltering accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The image is divided into multiple bins (tiles) that can be independently rendered and stored in on-chip memory. Each bin contains a portion of the image data, allowing the GPU to process smaller data units efficiently. This segmentation enables mobile GPUs to render individual bins without transferring entire frame buffers, improving bandwidth efficiency while maintaining the ability to apply filters within each bin's data structure

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The GPU performs preliminary rendering of multiple bins and stores them in on-chip memory before filtering operations are applied. This preliminary action allows the system to have all necessary source pixels available in fast memory when filtering is needed, eliminating the need for additional memory access during filter application. The bins are prepared in advance with their pixel data ready for filtering operations

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If traditional frame buffer rendering is used to maintain simple rendering processes, then ease of operation is maintained, but device complexity increases due to large data transfers and limited bandwidth in mobile architectures

Engineering Contradiction:
Improverendering process simplicityVSAvoiddata transfer complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The rendering process is segmented into independent bin renderings that can be processed separately and stored in on-chip memory. This segmentation reduces the amount of data that needs to be transferred across the memory interface, as only essential bin data is moved rather than entire frame buffers. The segmentation approach maintains operational simplicity while reducing data transfer complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

On-chip memory serves as an intermediary between the GPU rendering units and the frame buffer. Bins are first rendered to on-chip memory, which acts as a temporary storage and processing buffer. This intermediary structure allows filtering and other operations to be performed in fast memory before final output, reducing the need for repeated transfers to and from main memory and simplifying the overall data flow

Inventive Principle:
Principle #24Intermediary (Mediator)

3Manufacturing precision

If additional copy operations are performed to enable filtering in tile-based rendering, then filtering accuracy is improved, but rendering efficiency deteriorates due to increased copy operations

Engineering Contradiction:
Improvefiltering accuracyVSAvoidrendering efficiency
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The rendering and filtering operations are merged into a unified process that operates on bin data stored in on-chip memory. Instead of rendering to frame buffer and then performing separate filtering operations that require additional copy operations, the system combines these functions by performing filtering directly on the bin data in fast memory. This merging eliminates redundant data transfers and improves rendering efficiency while maintaining filtering accuracy

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Multiple bins are preliminarily rendered and stored in on-chip memory before filtering operations are applied. This preliminary rendering action ensures that all source pixels needed for filtering are already available in fast memory, eliminating the need for additional copy operations during the filtering stage. The preliminary preparation of bin data in on-chip memory allows filtering to proceed efficiently without repeated memory transfers

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9569811B2Rendering graphics to overlapping bins
Publication Date: 2017.02.14 QUALCOMM INC
  • US9569811B2 patent drawing
  • US9569811B2 patent drawing
  • US9569811B2 patent drawing

AI summary

In an example, a method for rendering graphics data includes rendering pixels of a first bin of a plurality of bins, wherein the pixels of the first bin are associated with a first portion of an image, and rendering, to the first bin, one or more pixels that are located outside the first portion of the image and associated with a second, different bin of the plurality of bins. The method also includes rendering the one or more pixels associated with the second bin to the second bin, such that the one or more pixels are rendered to both the first bin and the second bin.