Tile Change List Buffer for Frame Buffer Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In remote computing systems, decoding and rendering image data requires significant resources, leading to inefficiencies such as image tearing and slowed rendering processes due to the need to transfer unchanged tiles, which can be avoided by tracking and managing changed tiles effectively.

Innovation Solution

Implementing a system that uses a tile change list buffer to track changed tiles and their locations, allowing for efficient retrieval and updating of frame buffers, reducing memory traffic by avoiding the copying of unchanged tile data and utilizing virtual buffer management to drive display controllers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If only changed tiles are stored in the buffer, then memory traffic is reduced, but unchanged tiles contain stale data causing image tearing

Engineering Contradiction:
Improvememory trafficVSAvoidimage quality
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The image buffer is divided into multiple tile buffers, each storing data for a specific tile region. This segmentation allows the system to track which tiles have changed and transfer only those tiles between buffers, rather than copying the entire frame. The tile change list buffer further segments the tracking mechanism by maintaining individual change records for each tile, enabling precise identification of only the modified regions that need transfer.

Inventive Principle:
Principle #1Segmentation

2Reliability

If unchanged tiles are transferred from one buffer to the other, then image quality is maintained, but rendering speed is reduced

Engineering Contradiction:
Improveimage qualityVSAvoidrendering speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system extracts only the changed tiles from the full frame data and transfers them to the next buffer, rather than copying the entire frame. The tile change list buffer identifies which tiles have changed, and only those specific tiles are copied between buffers. This extraction of only necessary data maintains image quality while significantly reducing the data transfer volume and improving rendering speed.

Inventive Principle:
Principle #2Taking out (Extraction)

3Loss of energy

If a tile change list buffer is used to track changed tiles, then memory traffic is reduced, but device complexity increases

Engineering Contradiction:
Improvememory trafficVSAvoidbuffer management complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The tile change list buffer serves multiple functions: it tracks which tiles have changed, stores frame number information for synchronization, and provides indexing data for efficient tile retrieval. By consolidating these multiple functions into a single data structure, the system reduces overall complexity compared to having separate mechanisms for each function, while still achieving efficient memory traffic reduction.

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

Data Source

PatentUS8638337B2Image frame buffer management
Publication Date: 2014.01.28 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8638337B2 patent drawing
  • US8638337B2 patent drawing
  • US8638337B2 patent drawing

AI summary

Disclosed are methods and systems for tracking which data tiles have changed within an image frame. In an embodiment, each cell of a tile change list buffer may contain a frame number and updated when a tile is received from encoder. The frame number may be used as a base pointer for a particular frame buffer. When a frame is decoded, the contents of the tile change list buffer may be copied from the current tile change list buffer to the next buffer. This process may reduce memory traffic because the unchanged tile data does not have to be copied from frame to frame.