SDK Intercepting Graphics Function Calls for Image Capture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for capturing graphical image data on portable devices require extensive modifications to software applications and graphics engines, are time-consuming, and often result in performance degradation, especially when dealing with licensed third-party graphics engines and operating systems that restrict data access through sandboxing.

Innovation Solution

A Software Development Kit (SDK) that intercepts and modifies function calls to graphics engines and libraries, allowing for the capture of graphical image data without modifying the software applications or graphics engines, and can be integrated into the operating system to provide system-wide graphics capturing capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional methods modify software applications and graphics engines to capture graphical image data, then capturing capability is achieved, but device complexity and development time increase significantly

Engineering Contradiction:
Improvegraphics capturing capabilityVSAvoidsoftware modification complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary component (graphics capturing module or wrapper) that sits between the application/graphics engine and the graphics library. This intermediary intercepts function calls to the graphics library and captures graphical image data without requiring modifications to the application or graphics engine itself, thereby achieving capturing capability while minimizing complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The graphics capturing module is designed as a universal solution that can be integrated into the operating system to provide system-wide graphics capturing capabilities across all applications, rather than requiring application-specific modifications. This multi-functional approach enables one component to serve multiple applications simultaneously

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

2Adaptability or versatility

If extensive modifications are made to software applications and graphics engines for graphics capture, then capturing functionality is enabled, but development time and implementation effort increase

Engineering Contradiction:
Improvegraphics capturing capabilityVSAvoiddevelopment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-configuring the graphics capturing module within the operating system or as a system-level component. This allows the capturing functionality to be ready in advance and automatically available to all applications without requiring time-consuming modifications to each application or graphics engine during development or deployment

Inventive Principle:
Principle #10Preliminary action

3Reliability

If third-party licensed graphics engines are used with sandboxing restrictions, then security and stability are improved, but access to graphical image data for capture becomes difficult

Engineering Contradiction:
Improvesystem stabilityVSAvoiddata access capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent uses an intermediary graphics capturing module that operates at the system level, between the sandboxed graphics engine and the graphics library. This intermediary can access graphical image data through the graphics library interface without violating the sandboxing restrictions, thereby maintaining system stability while enabling data access capability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The graphics capturing module is designed to work within the existing system architecture and sandboxing framework, using the provided interfaces and protocols to achieve its purpose. It serves itself by leveraging the system's own mechanisms rather than attempting to bypass restrictions, thus maintaining reliability while achieving adaptability

Inventive Principle:
Principle #25Self-service

4Adaptability or versatility

If graphics capturing is implemented through application modifications, then capturing functionality is achieved, but performance degradation occurs

Engineering Contradiction:
Improvegraphics capturing capabilityVSAvoidgraphics processing performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent extracts the graphics capturing functionality from the application layer and places it at the system level, separating the capturing operation from the application's graphics processing pipeline. This extraction allows capturing to occur without interfering with the application's performance-critical graphics operations, maintaining productivity while achieving capturing capability

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9430251B2Software development kit for capturing graphical image data
Publication Date: 2016.08.30 UNITY TECH SF
  • US9430251B2 patent drawing
  • US9430251B2 patent drawing
  • US9430251B2 patent drawing

AI summary

A software development kit for capturing graphical image data is provided. The SDK is arranged to be employed in a device that includes computing hardware that is operable to execute one or more software applications for generating graphical image data. The SDK is arranged to execute concurrently with the software applications. The one or more software applications are operable to make one or more function calls to a graphics engine and/or a graphics library to generate the graphical image data. Meanwhile, the SDK is operable to intercept the function calls made by the one or more software applications to the graphics engine and/or the graphics library. Moreover, the SDK is operable to modify the function calls before these function calls are received by the graphics engine and/or the graphics library to enable the SDK to access, read, copy and/or modify the graphical image data and/or otherwise modify the function calls in any way to control the operations of the graphics engine and/or graphics library.