Motion Detection for Image Remoting Bandwidth Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Remote presentation systems face inefficiencies due to high processing resource and bandwidth requirements, particularly when handling large amounts of image data for screen changes like window movements and document scrolls, leading to delayed user interactions and server performance degradation.

Innovation Solution

Implementing a technique that detects identical areas between consecutive frames and reuses existing information by calculating 2D hashes for each pixel, determining pivot points, and comparing hash values to identify matching rectangles, allowing the client to recreate matching areas without receiving redundant data, thus reducing CPU and bandwidth usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If motion detection is implemented to reduce data transmission, then bandwidth requirements are reduced, but processing time and complexity increase

Engineering Contradiction:
Improvebandwidth requirementsVSAvoidprocessing time
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The patent divides the screen into multiple blocks and calculates motion detection independently for each block. This segmentation allows parallel processing of different screen regions, reducing overall processing time while maintaining effective motion detection to minimize bandwidth transmission.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs motion detection on previously received screen data before the actual screen update arrives. This preliminary action identifies areas that are likely to change, allowing the system to prepare for efficient data transmission and processing by focusing resources on dynamic regions rather than static areas.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If full screen data is transmitted to ensure image quality, then image quality is maintained, but CPU usage and bandwidth consumption increase

Engineering Contradiction:
Improveimage qualityVSAvoidCPU usage
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts and transmits only the motion-detected portions of the screen that have actually changed, rather than transmitting the entire screen data. This extraction approach maintains image quality for dynamic regions while eliminating redundant transmission of static areas, thereby reducing CPU usage and bandwidth consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies motion detection with a threshold that identifies only significant changes, transmitting slightly more data than strictly necessary to ensure quality while avoiding the excessive transmission of all screen data. This partial action approach balances image quality requirements with reduced processing overhead.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP2577499B1Motion detection techniques for improved image remoting
Publication Date: 2021.11.03 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2577499B1 patent drawingFigure 1
  • EP2577499B1 patent drawingFigure 2
  • EP2577499B1 patent drawingFigure 3A

AI summary

Techniques are disclosed for acceleration techniques for improved image remoting. A rolling 2D hash of a first image sent to a client is computed. When the server has a second image to send to the client, it calculates a rolling 2D hash of the new image. It also calculates "pivot points" for the images based on the rolling 2D hashes. Based on the pivot points, it determines possible matching hash windows between the two images that correspond to window moves or scrolls. Where a match is confirmed, it determines whether a "larger" a larger matching rectangle exists between the two images. It then instructs the client to display the matching rectangle that exists in the first image that the client has in the appropriate location in the second image, thereby saving the bandwidth requirements to re-transmit it to the client.