Pre-calculated Block Hashes for Video Compression Latency
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
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
Data Source
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.

