Block Test Pattern Encoding for Frame Buffer Change Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for detecting changes in image data within frame buffers in computing systems are inefficient, particularly in real-time systems and virtualized environments, due to high CPU consumption and lack of support for determining changed elements in managed data structures.

Innovation Solution

A method involving a sequence of block test patterns is used to identify and encode changed image blocks by comparing portions of the input image with a reference image, minimizing CPU overhead and enabling efficient change detection and encoding.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If raster scanning is used to detect changes in frame buffer, then complete coverage of image blocks is achieved, but CPU consumption and processing time increase significantly

Engineering Contradiction:
Improvechange detection completenessVSAvoidCPU processing efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent divides the frame buffer into multiple image blocks and further segments each block into sub-regions using block test patterns. Instead of scanning every pixel systematically, the method segments the detection task into manageable blocks with selective sub-region testing, reducing the overall detection complexity and CPU burden while maintaining adequate change detection coverage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by using block test patterns that identify only specific portions of each image block rather than examining every pixel. This selective sampling approach performs sufficient detection for practical purposes without the exhaustive effort of complete raster scanning, thereby reducing processing time and CPU consumption.

Inventive Principle:
Principle #16Partial or excessive action

2Measurement precision

If specialized support hardware and operating system support are implemented for change detection, then change detection accuracy improves, but device complexity and processing overhead increase

Engineering Contradiction:
Improvechange detection accuracyVSAvoidhardware and software overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent implements a self-service approach where the change detection mechanism operates independently without requiring specialized hardware support or operating system involvement. The block test patterns and comparison logic are implemented in software, allowing the system to detect changes autonomously using readily available computational resources, thus avoiding the complexity overhead of specialized hardware and OS support.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If third party software is granted access to managed data structures, then software versatility improves, but security risks and system stability decrease

Engineering Contradiction:
Improvesoftware accessibilityVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces an intermediary mechanism that allows third party software to access and monitor changes in managed data structures through a controlled interface. The block test pattern comparison system acts as a mediator that exposes change detection capabilities to external software without requiring direct access to the underlying frame buffer, thereby maintaining system stability and security while enabling software versatility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8861875B1Method and apparatus for encoding changed image regions
Publication Date: 2014.10.14 HP TECHNOLOGY HOLDINGS LLC
  • US8861875B1 patent drawing
  • US8861875B1 patent drawing
  • US8861875B1 patent drawing

AI summary

A method of encoding an input image divided into a set of image blocks and stored in computer readable memory. In one embodiment, the method comprises determining a sequence of block test patterns, each (i) identifying, for each image block of the set, a separate portion of the image block; and (ii) determined to minimize a maximum unidentified portion size of the input image when used on all image blocks of the set; assembling an active block test pattern comprising one of the block test patterns; comparing, based on the active block test pattern, at least one image block of the set with a reference image comprising a previously encoded copy of the input image to generate a block change detection; and encoding, based on the block change detection, a changed image block of the at least one image block to generate a portion of an encoded image.