Compositing Window System Region Segmentation for Bandwidth Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Compositing window systems require significant resources in terms of memory bandwidth and power consumption, particularly due to the high time spent on User Interface (UI) generation and composition, with most of the time spent on generating and recomposing output surfaces that are largely unchanged.

Innovation Solution

The method involves generating an output surface by determining which regions of the input surfaces contribute to the output surface and only regenerating those regions that have changed, rather than recomposing the entire surface, thereby reducing unnecessary bandwidth and power usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire output surface is regenerated from input surfaces in each frame, then the output surface is always up-to-date, but memory bandwidth and power consumption increase significantly

Engineering Contradiction:
Improveoutput surface update accuracyVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The output surface is divided into multiple regions, and the system determines which specific regions need regeneration by checking if their contributing input surface regions have changed. Only the necessary regions are regenerated rather than the entire output surface, reducing power consumption while maintaining update accuracy.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the entire output surface is regenerated from input surfaces in each frame, then the output surface is always up-to-date, but memory bandwidth consumption increases significantly

Engineering Contradiction:
Improveoutput surface update accuracyVSAvoidmemory bandwidth
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The output surface is segmented into multiple regions, and the system selectively regenerates only those regions whose contributing input surface regions have changed. This segmentation approach reduces the quantity of data transferred in memory bandwidth while ensuring update accuracy is maintained for all necessary regions.

Inventive Principle:
Principle #1Segmentation

3Use of energy by moving object

If unchanged regions are not regenerated, then power consumption and memory bandwidth are reduced, but the system complexity increases due to change detection requirements

Engineering Contradiction:
Improvepower consumptionVSAvoidchange detection mechanism
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by generating signatures for input surface regions in advance and storing them. Before regeneration, it compares current signatures with stored signatures to detect changes. This preliminary action simplifies the change detection mechanism while enabling selective regeneration to reduce power consumption.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses signature comparison as a feedback mechanism to determine whether input surface regions have changed. This feedback informs the regeneration decision for corresponding output surface regions, creating a controlled process that reduces power consumption without requiring complex change detection.

Inventive Principle:
Principle #23Feedback

4Use of energy by moving object

If selective region regeneration is implemented, then power consumption and memory bandwidth are reduced, but the time to determine which regions need regeneration increases

Engineering Contradiction:
Improvepower consumptionVSAvoidregion determination time
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The system creates simplified copies of input surface regions in the form of signatures (hash values or checksums). Comparing these signature copies is much faster than comparing actual pixel data or determining region changes directly. This copying approach reduces the time loss while enabling selective regeneration to save power.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9195426B2Method and apparatus for generating an output surface from one or more input surfaces in data processing systems
Publication Date: 2015.11.24 ARM LTD
  • US9195426B2 patent drawing
  • US9195426B2 patent drawing
  • US9195426B2 patent drawing

AI summary

In a data processing system, an output surface, such as frame to be displayed, is generated as a plurality of respective regions with each respective region of the output surface being generated from a respective region or regions of one or more input surfaces. When a new version of the output surface is to be generated 80, for each region of the output surface it is determined which region or regions of the input surface or surfaces contribute to the region of the output surface 84 and then checked whether the contributing region or regions of the input surface or surfaces have changed since the previous version of the output surface region was generated 85. If there has been a change in the contributing region or regions of the input surface or surfaces since the previous version of the region in the output surface was generated 86, the region of the output surface is regenerated 87.