Pre-calculated Block Hashes for Video Compression Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video compression methods for display remoting protocols face high latency due to the brute force approach in block matching algorithms, which is computationally expensive and inefficient, especially for fast-moving content, leading to increased distortion and reduced performance.

Innovation Solution

The system employs a full screen exact block search using pre-calculated block hashes in the latest frame of a video to reduce latency, by creating a hash map for previous frame pixels and comparing it with current frame blocks, allowing for faster identification of matching blocks and reduced CPU consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a brute force approach is used to search for matching blocks by computing SAD distance between reference block and all candidate blocks, then the block matching accuracy is improved, but the processing time and computational cost increase significantly

Engineering Contradiction:
Improveblock matching accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent pre-calculates and stores hash values for all possible blocks in the reference frame before the actual block matching process. This preliminary action allows the system to quickly identify candidate matching blocks by comparing hash values rather than computing full SAD distances for all blocks, thereby reducing processing time while maintaining matching accuracy

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces hash values as an intermediary element between the reference block and candidate blocks. Instead of directly comparing pixel values using SAD for all blocks, the system first compares hash values to identify potential matches, then performs detailed SAD computation only on these candidates. This intermediary step significantly reduces the number of computationally expensive operations

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the search area is limited to a small region around the search point to reduce computations, then the processing speed is improved, but the ability to find globally minimum distance and handle fast moving content deteriorates

Engineering Contradiction:
Improveprocessing speedVSAvoidblock matching accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

By pre-calculating hash values for the entire reference frame rather than just a local search region, the system enables fast comparison across the full search area. This preliminary computation allows the system to maintain both high processing speed and the ability to search globally for the best match, even for fast-moving content where the matching block may be far from the search point

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If video data is compressed and transmitted through multiple steps (compression, transmission, decompression), then the network bandwidth usage is reduced, but the latency increases

Engineering Contradiction:
Improvenetwork bandwidth usageVSAvoidlatency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system performs block matching and identifies motion vectors before video compression, allowing the client to reconstruct moving images using reference frames and motion compensation. This preliminary analysis enables more efficient compression by focusing on residual differences rather than transmitting full frames, reducing both bandwidth usage and processing latency

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11317123B2Systems and methods for using pre-calculated block hashes for image block matching
Publication Date: 2022.04.26 OMNISSA LLC
  • US11317123B2 patent drawing
  • US11317123B2 patent drawing

AI summary

A server accesses a previous frame of an image in a video and obtains hash values for each pixel in the previous frame and creates a hash map that stores each of the hash values. The server receives a current frame of the image and separates the current frame into a plurality of current blocks of pixels. The server calculates, using a hash function, a hash value for each of the current blocks of pixels. The server compares the hash values in the hash map with the hash values associated with the current frame and identifies a hash value in the hash map that matches a hash value in the current frame. The server compresses the current frame for transmission to a client using the identified matching hash values and pre-calculates a new hash map based on the current frame for use in compressing a next frame of the video.