Shared Video Encoder Architecture for VVC Coding Tools

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video coding technologies face inefficiencies in designing dedicated hardware circuits for each coding tool, particularly in supporting multiple coding modes like Bi-prediction with CU-level Weights (BCW) in the Versatile Video Coding (VVC) standard.

Innovation Solution

A video encoder system is developed that uses an interleaving search pattern to find the best weighting parameter value for BCW encoding, employing a low-complexity (LC) rate-distortion optimization stage (LC-RDO) to identify candidates and a high-complexity (HC) RDO stage to finalize selections, allowing circuits to be shared across multiple coding tools.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If dedicated hardware circuits are designed for each coding tool, then coding performance is improved, but hardware complexity and cost increase

Engineering Contradiction:
Improvecoding performanceVSAvoidhardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a unified hardware architecture that can perform multiple coding tools (AMVP, MMVD, DMVR, BCW) using the same core circuits. The motion compensation engine, prediction unit, and rate-distortion optimization circuits are designed to be reconfigurable and shared across different coding modes, eliminating the need for separate dedicated hardware for each tool while maintaining full coding performance.

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

2Productivity

If multiple coding modes are supported with separate circuits, then coding efficiency is improved, but manufacturing cost increases

Engineering Contradiction:
Improvecoding efficiencyVSAvoidmanufacturing cost
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent merges the hardware implementation of multiple coding tools into a single integrated architecture. The motion vector prediction circuits, blending operations, and rate-distortion optimization engines are combined into shared resources that can be dynamically configured for different coding modes (AMVP, MMVD, DMVR, BCW), reducing the total component count and manufacturing complexity while preserving coding efficiency.

Inventive Principle:
Principle #5Merging (Combining)

3Measurement precision

If separate hardware is allocated for each prediction mode, then prediction accuracy is improved, but device complexity increases

Engineering Contradiction:
Improveprediction accuracyVSAvoiddevice complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent employs dynamic resource allocation where the same hardware circuits are reconfigured based on the active coding mode. The motion compensation engine and prediction units can dynamically switch between handling AMVP, MMVD, DMVR, and BCW operations, maintaining high prediction accuracy for each mode while avoiding the complexity of static dedicated hardware for each prediction mode.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12335517B2Shared architecture for multiple video coding modes
Publication Date: 2025.06.17 MEDIATEK INC
  • US12335517B2 patent drawing
  • US12335517B2 patent drawing
  • US12335517B2 patent drawing

AI summary

A video encoder receives raw pixel data to be encoded as a current block of a current picture of a video into a bitstream. The video encoder identifies multiple candidate bi-prediction positions for the current block, including a center position, a first set of offset positions, and a second set of offset positions. The first set of offset positions and the second set of offset positions interleave each other. The encoder computes distortion values for each of the candidate bi-prediction positions based on several possible weighting parameter values. The distortion values for the center position are based on each of the several possible weighting parameter values. The distortion values for the first set of offset positions are based on a first subset of the possible weighting parameter values. The distortion values for the second set of offset positions are based on a second subset of the possible weighting parameter values.