Parallel Video Encoding Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional video encoding systems face challenges in achieving good compression quality while meeting real-time processing requirements, as motion estimation is a computationally intensive task that consumes significant resources and often results in suboptimal bit rates and visual quality.

Innovation Solution

A system that dynamically allocates computing resources between an estimator component and a coder component, using parallel processing to generate initial motion estimations and refine them within predefined time constraints, selecting appropriate refinement modes based on available resources and encoding criteria to achieve optimal compression quality within target time frames.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If motion estimation is performed with high precision to improve compression quality, then bit rate reduction and visual quality improve, but computing power consumption increases significantly

Engineering Contradiction:
Improvecompression qualityVSAvoidcomputing power consumption
Core Design Contradiction:
Manufacturing precisionVSUse of energy by moving object

Solution Approach 1:

The video frame is divided into multiple slices, and each slice is further divided into blocks that can be processed independently. This segmentation allows parallel processing of different regions, distributing the computational load and reducing the computing power required for full-frame motion estimation while maintaining compression quality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Motion estimation is performed in stages: first an initial motion estimation is generated, then only selected blocks that benefit from refinement undergo further processing. This preliminary action identifies which regions require detailed motion compensation, avoiding unnecessary computation on already well-estimated regions and reducing overall computing power consumption.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If conventional encoding systems perform comprehensive motion estimation to achieve good compression quality, then visual quality improves, but real-time processing requirements are not met

Engineering Contradiction:
Improvecompression qualityVSAvoidprocessing speed
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The encoding process is segmented into independent slice-level operations that can be executed in parallel. Each slice is processed separately with its own motion estimation and compensation operations, enabling simultaneous processing of multiple slices and significantly increasing overall processing speed to meet real-time requirements.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of performing exhaustive motion estimation on all blocks, the system applies refined motion estimation only to selected blocks where it provides significant benefit. This partial action approach achieves good compression quality for the most important regions while maintaining processing speed within real-time constraints.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If parallel processing is used to increase processing speed, then real-time encoding is achieved, but resource allocation complexity increases

Engineering Contradiction:
Improveprocessing speedVSAvoidresource allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The parallel processing architecture is organized into distinct functional units (motion estimation units, compensation units, encoding units) that operate on segmented slices. This structured segmentation simplifies resource allocation by assigning specific processing tasks to specific units, reducing the complexity of managing parallel resources while maintaining high processing speed.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9100657B1Encoding time management in parallel real-time video encoding
Publication Date: 2015.08.04 GOOGLE LLC
  • US9100657B1 patent drawing
  • US9100657B1 patent drawing
  • US9100657B1 patent drawing

AI summary

Techniques for efficient coding of digital media data are presented. A resource controller component dynamically allocates computing resources between an estimator component and a coder component. The estimator component generates an initial motion estimation of a raw video frame of a sequence of raw video frames based on a previous raw video frame. The coder component encodes the previous raw video frame to generate a reconstructed video frame in parallel with the generation of the initial motion estimation. When the previous raw video frame is reconstructed, the coder component dynamically determines whether and/or how to refine the motion estimation to encode the raw video frame based on a predefined encoding criterion. In making that determination, the coder component selects and uses a mode(s) of motion estimation refinement from a plurality of available motion estimation refinement modes to encode the raw video frame.