Advanced Motion Estimation for High-Resolution Video Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current motion estimation techniques for video encoding are inefficient for high-resolution videos, leading to high bandwidth utilization, limited search areas, and reduced compression efficiency, especially for ultra-high resolution videos like 4K, which exceeds the capabilities of many decoding devices and reduces the number of reference frames that can be used.

Innovation Solution

Advanced motion estimation methods that include efficiently encoding block sizes from 64×64 to 4×4, supporting large search areas, and utilizing fewer resources by generating and caching reference frame data, allowing for direct access from external memory, and performing sub-pixel motion estimation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If current motion estimation techniques are used for high-resolution video encoding, then bandwidth utilization is high and compression efficiency is reduced, but if advanced motion estimation is implemented, then encoder cost, power consumption, and size increase

Engineering Contradiction:
Improvecompression efficiencyVSAvoidencoder cost and size
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The video frame is divided into blocks of various sizes (64×64, 32×32, 16×16, 8×8, 4×4) that can be independently processed. This segmentation allows the encoder to apply motion estimation selectively to different block sizes based on content complexity, improving compression efficiency without requiring full advanced motion estimation across the entire frame, thus reducing overall encoder complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements advanced motion estimation with selective block size support (64×64 to 4×4) rather than requiring all block sizes simultaneously. By supporting a subset of block sizes and using simplified motion estimation for certain cases, the system achieves improved compression efficiency while avoiding the full computational overhead of complete advanced motion estimation, thereby controlling encoder cost and power consumption

Inventive Principle:
Principle #16Partial or excessive action

2Measurement precision

If large search areas are supported for motion estimation, then motion accuracy improves, but memory requirements and bandwidth utilization increase

Engineering Contradiction:
Improvemotion estimation accuracyVSAvoidmemory requirements
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

Reference frame data is pre-loaded into buffer memory before the motion estimation process begins. This preliminary action ensures that when large search areas are needed for accurate motion estimation, the required reference data is already available in fast memory, avoiding increased memory requirements during actual encoding while still enabling large search areas for improved motion accuracy

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A buffer memory structure is introduced as an intermediary between external memory and the motion estimation logic. This buffer acts as a mediator that holds frequently accessed reference frame data, allowing large search areas to be searched without proportionally increasing the total memory requirements, as only the necessary portions are loaded into the buffer for each estimation operation

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If more reference frames are used for encoding, then compression efficiency improves, but the number of reference frames that can be used is limited by decoding device capabilities

Engineering Contradiction:
Improvecompression efficiencyVSAvoidreference frame compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The motion estimation logic is designed to universally support multiple block sizes (64×64, 32×32, 16×16, 8×8, 4×4) and various reference frame configurations within a single encoder architecture. This multi-functionality allows the system to efficiently use multiple reference frames for improved compression while maintaining compatibility with diverse decoding devices, as the same logic can adapt to different reference frame counts and configurations

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Productivity

If efficient block encoding from 64×64 to 4×4 is implemented, then compression efficiency improves, but device complexity and power consumption increase

Engineering Contradiction:
Improvecompression efficiencyVSAvoidencoder power consumption
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The encoder dynamically selects which block sizes (64×64, 32×32, 16×16, 8×8, 4×4) to process based on the actual video content characteristics. Rather than uniformly applying efficient block encoding to all blocks at all resolutions, the system adapts the block size selection and motion estimation intensity to match content complexity, improving compression efficiency while avoiding unnecessary computational work that would increase power consumption

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10356426B2Advanced motion estimation
Publication Date: 2019.07.16 GOOGLE LLC
  • US10356426B2 patent drawing
  • US10356426B2 patent drawing
  • US10356426B2 patent drawing

AI summary

Encoding and decoding using advanced motion estimation includes generating a first encoded frame by encoding a first frame from the input video stream, generating a reconstructed frame based on the first encoded frame, generating an encoded reference frame by encoding the reconstructed frame, wherein encoding the reconstructed frame includes storing the encoded reference frame in an external memory such that respective blocks from the encoded reference frame are directly accessible, generating a second encoded frame by encoding a second frame from the input video stream, and transmitting or storing the second encoded frame. Encoding the second frame includes generating reconstructed reference frame data, wherein generating the reconstructed reference frame data includes directly retrieving a block from the encoded reference frame from the external memory, and encoding the second frame using the reconstructed reference frame data.