VDI Framebuffer Encoding via UI Region Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current server-based computing and Virtual Desktop Infrastructure (VDI) environments face inefficiencies in image encoding, leading to suboptimal use of computing resources and reduced support for multiple client devices, due to reliance on complex image processing algorithms.
Innovation Solution
The use of user interface (UI) information, obtained through an application programming interface (API), to determine an encoding configuration for framebuffer encoders, which enhances image encoding efficiency by optimizing motion vectors, encoding modes, and reference frames, thereby improving resource utilization and seamless window application support.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If complex image processing algorithms are used for framebuffer encoding, then image quality is maintained, but server computing resources are excessively consumed and fewer client devices can be supported
Solution Approach 1:
The patent segments the framebuffer into multiple regions based on UI element types (e.g., video regions, UI regions, static regions). Different encoding algorithms are applied to different segments: simple algorithms for static regions and complex algorithms only for dynamic video regions. This segmentation allows maintaining image quality in critical areas while reducing overall computational load to support more client devices.
Solution Approach 2:
The patent applies local quality by using different encoding strategies for different regions of the framebuffer. UI-heavy regions use more aggressive compression, while video or graphics-intensive regions use higher quality encoding. This localized approach ensures that image quality is maintained where needed while reducing resource consumption in less critical areas.
2Reliability
If complex image processing algorithms are used for framebuffer encoding, then image quality is maintained, but computing resource utilization is reduced
Solution Approach 1:
The patent applies partial action by using complex image processing algorithms only for specific framebuffer regions that require high quality (e.g., video regions), while using simpler algorithms for other regions (e.g., static UI regions). This partial application of complex algorithms maintains image quality where necessary while significantly reducing overall server computing resource consumption.
Solution Approach 2:
The patent dynamically changes encoding parameters based on the content of different framebuffer regions. For example, it adjusts compression ratios, block sizes, and algorithm complexity according to the detected UI element types and motion activity in each region. This parameter adaptation maintains image quality in critical areas while optimizing resource usage across the entire framebuffer.
3Ease of manufacture
If traditional encoding methods are used, then implementation is simpler, but seamless window application support and resource utilization are improved through UI-based optimization
Solution Approach 1:
The patent performs preliminary action by analyzing UI element information and determining encoding parameters before the actual encoding process. The system pre-processes the framebuffer to identify regions of interest, determines appropriate encoding algorithms for each region, and prepares encoding parameters in advance. This preliminary analysis enables the system to achieve high resource utilization efficiency without significantly increasing implementation complexity, as the complex decisions are made once before encoding rather than during the encoding process itself.
Data Source
AI summary
A method is provided to perform enhanced image encoding in a virtual desktop infrastructure (VDI) environment that includes a client device having a first graphical user interface (GUI) and a server device having a second GUI associated with the first GUI. One example method may include receiving, from the client device, user interface (UI) events based on which the first GUI is to be updated, and obtaining, by an agent on the server device, UI information relating to a UI element on the second GUI. The method may further include determining, by the agent on the server device, an encoding configuration for an encoder based at least in part on the UI information, encoding image data of the second GUI based on the encoding configuration, and sending encoded image data to the client device to update the first GUI on a screen of the client device.


