Shared Motion Search in Multi-Profile Real-Time Video Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional video encoding systems require multiple instances of encoding engines to support different frame rates or profiles, leading to increased silicon cost, power consumption, and DRAM bandwidth costs, while motion vector searching significantly affects coding quality.

Innovation Solution

A single encoding engine shares motion vector search results and mode decisions across parallel encoding operations to generate multiple encoded streams with different frame rates or profiles, reducing silicon and DRAM costs without increasing processing speed beyond real-time rates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple instances of encoding engines are used to support different frame rates or profiles, then coding quality and versatility are improved, but silicon cost, power consumption, and device complexity increase

Engineering Contradiction:
Improvesupport for different frame rates and profilesVSAvoidmultiple encoding engine instances
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a single encoding engine that can operate in multiple modes to support different frame rates (e.g., 60fps, 30fps, 15fps) and different video profiles (e.g., High Profile, Main Profile, Baseline Profile). The engine dynamically configures its internal parameters and processing pipelines based on the target output requirements, eliminating the need for separate dedicated encoding engines for each profile or frame rate while maintaining full functionality for each mode.

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

Solution Approach 2:

The encoding engine employs dynamic parameter adjustment and reconfiguration during operation. It can switch between different encoding modes, adjust motion vector search ranges, modify macroblock processing parameters, and change quantization settings based on the desired output profile and frame rate. This dynamic adaptability allows one engine to replace multiple static engines, reducing silicon cost and power consumption while maintaining versatility.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If multiple instances of encoding engines are used, then support for different profiles is improved, but power consumption increases

Engineering Contradiction:
Improvesupport for different video profilesVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The single encoding engine is designed with universal support for multiple video profiles (High Profile, Main Profile, Baseline Profile, and advanced profiles like RC Profile and SR Profile). It contains all necessary processing components and parameter sets required for each profile, enabling it to generate compliant encoded streams for any target profile without requiring separate dedicated engines, thereby reducing overall power consumption.

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

Solution Approach 2:

The engine dynamically changes its operational parameters based on the target profile. It adjusts motion vector precision, macroblock partitioning strategies, quantization matrices, and entropy coding parameters according to the specific requirements of each profile. This parameter adaptation allows the same hardware/software engine to efficiently encode for different profiles without the energy overhead of multiple specialized engines.

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If motion vector searching is performed for each stream, then coding quality is maintained, but processing time and computational load increase

Engineering Contradiction:
Improvecoding qualityVSAvoidprocessing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent performs motion vector searching at the highest frame rate (e.g., 60fps) to generate a comprehensive set of motion vectors that capture all motion information in the video sequence. These pre-computed motion vectors serve as a foundation for generating lower frame rate streams (e.g., 30fps, 15fps). When creating reduced frame rate streams, the system selectively uses or scales these pre-computed vectors rather than performing redundant motion searches, significantly reducing processing time while maintaining coding quality through accurate motion compensation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system merges the motion vector search operations across multiple output streams by performing a single comprehensive search that serves all frame rates and profiles. The motion compensation logic is shared across different encoding pipelines, allowing the same motion vector data to be reused for generating multiple encoded streams simultaneously. This consolidation eliminates redundant computational work while preserving the quality benefits of thorough motion analysis.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12506908B2Real-time video coding system of multiple temporally scaled video and of multiple profile and standards based on shared video coding information
Publication Date: 2025.12.23 AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE LTD
  • US12506908B2 patent drawing
  • US12506908B2 patent drawing
  • US12506908B2 patent drawing

AI summary

In one embodiment, a method comprising receiving at a single encoding engine an input video stream according to a first version of a video characteristics, such as frame rate, profile and level, and coding standard, and generating by the single encoding engine, in parallel, a plurality of streams comprising a first encoded stream according to a first version of the video characteristic and a second encoded stream according to a second version of the video characteristic, the second encoded stream generated based on video coding information used to generate the first encoded stream.