Screen Remoting Motion Estimation via Pivot Hashing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional motion estimation techniques for video encoding in screen remoting scenarios are inefficient, particularly when dealing with screen capture content involving scrolling or window movement, as they consume significant processing resources and fail to detect large magnitude movements effectively, leading to increased latency and reduced compression efficiency.

Innovation Solution

A video encoder uses innovative methods such as finding pivot points with hashing functions, calculating derivative sample values, focusing on changed regions, and utilizing global motion metadata to speed up motion estimation while accurately detecting uniform motion, thereby reducing the need for block-based comparisons and improving encoding efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional block-based motion estimation is used for screen capture video, then motion detection can be performed, but processing complexity and time consumption increase significantly

Engineering Contradiction:
Improvemotion detection accuracyVSAvoidprocessing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The screen capture video is divided into multiple blocks, and motion estimation is performed independently for each block. This segmentation allows the system to process only relevant regions with potential motion, rather than analyzing the entire frame, thereby reducing overall processing complexity while maintaining motion detection accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different motion estimation strategies are applied to different blocks based on their characteristics. Blocks identified as containing motion (through techniques like checking for non-zero coefficients or variance thresholds) receive more detailed analysis, while static blocks use simpler methods. This local differentiation optimizes the balance between accuracy and computational cost.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If conventional block-based motion estimation is used for screen capture video, then motion detection can be performed, but encoding time increases

Engineering Contradiction:
Improvemotion detection accuracyVSAvoidencoding time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary analysis on blocks to identify those containing motion before applying full motion estimation. Techniques such as checking for non-zero transform coefficients or calculating variance thresholds serve as preliminary filters that quickly identify candidate blocks, avoiding unnecessary computation on static regions and significantly reducing overall encoding time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Blocks determined to be static or containing no significant motion are skipped over using simpler encoding paths. The system rushes through these regions with minimal processing (e.g., using direct copy or simple intra-prediction) rather than applying computationally intensive motion estimation, thereby reducing encoding time while maintaining sufficient quality.

Inventive Principle:
Principle #21Skipping (Rushing through)

3Quantity of substance

If conventional block-based motion estimation is used for screen capture video, then compression can be applied, but compression efficiency decreases

Engineering Contradiction:
Improvebit rate reductionVSAvoidmotion detection accuracy
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The system dynamically adjusts motion estimation parameters such as block size, search range, and precision levels based on the detected motion characteristics. For regions with large magnitude motion (common in screen capture), the system adapts parameters to improve detection accuracy, while for static regions it uses more aggressive compression settings, optimizing the balance between compression efficiency and motion detection precision.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10390039B2Motion estimation for screen remoting scenarios
Publication Date: 2019.08.20 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10390039B2 patent drawing
  • US10390039B2 patent drawing
  • US10390039B2 patent drawing

AI summary

Innovations in motion estimation adapted for screen remoting scenarios are described herein. For example, as part of motion estimation for a current picture, a video encoder finds a pivot point in the current picture, calculates a hash value for the pivot point, and searches for a matching area in a previous picture. In doing so, the video encoder can calculate a hash index from the hash value and look up the hash index in a data structure to find candidate pivot points in the previous picture. The video encoder can compare the hash value for the pivot point in the current picture to a hash value for a candidate pivot point in the previous picture and, when the hash values match, compare sample values around the respective pivot points. In this way, the video encoder can quickly detect large areas of exact-match blocks having uniform motion.