Remote Desktop Window Transparency Rendering via Dual Graphics Surfaces

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Remote desktop systems face challenges in accurately rendering windows with transparency characteristics across different computing devices due to differences in display characteristics, leading to incorrect rendering of transparent windows.

Innovation Solution

The system determines if a window is a top-level window, identifies its sub-components, and encodes those with transparency using a specific encoding scheme, while others are encoded differently, ensuring accurate transmission and rendering on a client device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a single encoding scheme is used for all window components in remote desktop transmission, then the encoding process is simple and fast, but transparent windows cannot be rendered correctly on client devices with different display characteristics

Engineering Contradiction:
Improverendering accuracyVSAvoidencoding complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments window components into transparent and non-transparent sub-components, applying different encoding schemes to each segment. This allows the system to maintain simple encoding for the majority non-transparent components while using specialized encoding only where transparency is required, thus improving rendering accuracy without proportionally increasing overall encoding complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different encoding qualities to different parts of the window based on their transparency properties. Transparent sub-components receive enhanced encoding treatment with alpha channel information to ensure correct rendering, while non-transparent sub-components use standard encoding. This local differentiation resolves the contradiction by providing high reliability only where needed rather than uniformly across all components

Inventive Principle:
Principle #3Local quality

2Reliability

If display characteristics are standardized across all computing devices, then rendering would be consistent, but device versatility and display capabilities would be limited

Engineering Contradiction:
Improverendering consistencyVSAvoiddisplay characteristic diversity
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent changes the encoding parameters dynamically based on the transparency properties of window components. By detecting whether a sub-component is transparent and adjusting the encoding scheme accordingly (using alpha channel encoding for transparent parts, standard encoding for opaque parts), the system maintains rendering consistency across diverse display devices without limiting display characteristic diversity

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces an intermediary encoding layer that translates window component transparency information into a format suitable for transmission across devices with different display characteristics. This intermediary encoding process, particularly the use of alpha channels, acts as a mediator that preserves rendering intent regardless of the client device's specific display capabilities

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10026144B2Rendering windows having transparent properties from a remote desktop environment
Publication Date: 2018.07.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10026144B2 patent drawing
  • US10026144B2 patent drawing
  • US10026144B2 patent drawing

AI summary

Embodiments of the present disclosure relate to a remote desktop system which allows an application that executes on a remote computing device to be presented to a remote terminal as if the application is executing on the remote terminal. This system determines which of the remote computing device's application windows are top-level windows, and creates a rendering target for each top-level window. The rendering target is a graphics surface that is marshaled to the remote terminal. A PDU (Protocol Data Channel) is produced over this first graphics surface that includes a mapping of the location of the top-level window. A second graphics surface containing transparency information is created for a top-level window that contains a transparency characteristic. This second graphics surface is encoded and marshaled to the remote terminal separately from the first graphics surface. The client computing device receives and merges the two graphics surfaces, and renders a window with the expected transparency.