Bitmap Fragmentation for RDP Bandwidth and Tearing Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In server-client systems, large and dynamically updating bitmaps often cause tearing effects and inefficient compression when transmitted over protocols like RDP, leading to bandwidth issues and desynchronization of metadata with the graphics stream, particularly affecting window positioning and memory management at the client computer.
Innovation Solution
A method that allows the client computer to inform the server about its capabilities for receiving bitmaps, enabling the server to structure and transmit bitmaps as multi-fragment protocol data units with synchronized metadata, which can be reassembled and processed efficiently, using protocols like RDP and TCP/IP, and employing a decoder to manage the state of the data stream for seamless interruption handling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If the bitmap is broken down into smaller pieces and communicated to the client computer, then the client computer can display or process each piece individually, but this causes a tearing effect when displaying large graphics images
Solution Approach 1:
The patent applies segmentation by dividing the large bitmap into multiple smaller bitmap pieces that can be transmitted separately over the network. Each piece is processed and displayed individually by the client computer, enabling efficient handling of large graphics images while maintaining display quality through proper synchronization of the segmented pieces.
2Ease of operation
If the bitmap is sent at one time to the client computer, then the client computer can decide how the bitmap is displayed with specific constraints, but the bitmap may have to be compressed which degrades the graphics image
Solution Approach 1:
The patent segments the large bitmap into multiple smaller pieces before transmission. This segmentation allows the client computer to receive and process pieces individually without requiring aggressive compression of the entire large bitmap, thereby preserving image quality while enabling client-side display control.
3Adaptability or versatility
If the compressed bitmap is further decompressed into a standardized uncompressed format to allow a communication protocol encoder to compress the bitmap for transmission, then the bitmap can be transmitted using a communication protocol, but this involves significant and redundant work for the server computer and results in lower compression ratios
Solution Approach 1:
The patent applies preliminary action by performing the compression of bitmap pieces at the server computer before transmission. The server computer compresses each bitmap piece using an appropriate compression algorithm, then transmits the already-compressed pieces directly to the client computer. This eliminates the redundant decompression and re-compression steps, significantly improving server processing efficiency while maintaining protocol compatibility.
4Quantity of substance
If a separate channel or virtual channel is implemented to provide metadata information related to the bitmap, then metadata can be transmitted, but this channel is not synchronous with the bitmaps or graphics stream which limits synchronization capability
Solution Approach 1:
The patent merges the metadata transmission with the bitmap piece transmission by including metadata as accompanying data within the same data stream. Each bitmap piece is transmitted together with its associated metadata, ensuring that both the graphical data and its descriptive information arrive synchronously at the client computer, thereby eliminating synchronization issues.
5Ease of operation
If the buffer at the client computer is used to accommodate the bitmaps and/or bitmap pieces, then the bitmaps can be received and reassembled, but the buffer may not be sufficiently large enough to accommodate the bitmaps and/or bitmap pieces
Solution Approach 1:
The patent segments the large bitmap into multiple smaller pieces that fit within the client computer's available buffer capacity. Each piece is received, processed, and displayed individually without requiring the entire large bitmap to be held in memory simultaneously. This segmentation approach enables efficient memory management at the client computer while still supporting large graphics images.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A server computer (102) provides objects (122) such as bitmaps representing graphics image for processing by a client computer or device. The object may be of any arbitrary size or format, and is converted to a data structure (122) that can be received by the client computer. Synchronized metadata may be included in the data structure, where such metadata data is used by an application in the client computer or device (104).