Hardware Codec Accelerators for Video Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern video encoding standards, such as AV1, offer advanced prediction options for higher quality video but increase computational complexity, making real-time encoding of high-definition videos challenging due to increased dependencies in the encoding process.

Innovation Solution

A hardware architecture that performs sequential processing of blocks of a specific size followed by parallel processing of other block sizes, reducing dependencies and accelerating the encoding process by limiting block sizes and using parallel processing threads to determine optimal partitions and prediction modes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If advanced prediction options are used to improve video quality, then video quality is improved, but computational complexity increases

Engineering Contradiction:
Improvevideo qualityVSAvoidcomputational complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent segments the video encoding process into distinct functional modules including motion estimation, motion compensation, intra-picture prediction, and transformation. Each module handles specific prediction tasks independently, allowing advanced prediction options to be processed in an organized manner that manages computational complexity while maintaining video quality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-calculating prediction modes and storing reference blocks before actual encoding. Motion estimation results are computed in advance, and prediction modes are selected beforehand, which reduces the computational burden during real-time encoding while preserving video quality through advanced prediction techniques.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If advanced prediction options are used to improve video quality, then video quality is improved, but real-time encoding becomes difficult

Engineering Contradiction:
Improvevideo qualityVSAvoidreal-time encoding capability
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The encoding process is divided into parallel processing stages where different prediction modes (inter-picture and intra-picture) are evaluated simultaneously. This segmentation allows the system to explore multiple advanced prediction options without serially processing each one, thereby maintaining real-time encoding capability while improving video quality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by selecting a limited set of promising prediction modes from the full range of possibilities. Instead of exhaustively evaluating all advanced prediction options, the system identifies and processes the most relevant modes, achieving good video quality while maintaining real-time encoding performance.

Inventive Principle:
Principle #16Partial or excessive action

3Speed

If sequential processing is used for blocks of specific size, then processing speed is improved, but dependencies in encoding process increase

Engineering Contradiction:
Improveprocessing speedVSAvoiddependencies in encoding process
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments blocks into specific sizes (e.g., 64x64, 128x128, 256x256 pixels) and processes them sequentially, while within each segment, multiple prediction modes are evaluated in parallel. This segmentation reduces inter-block dependencies by establishing clear boundaries, allowing faster processing while managing complexity through structured organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different block sizes are processed with different strategies tailored to local requirements. Larger blocks use more aggressive compression with advanced prediction options, while smaller blocks use simpler methods. This local quality approach optimizes processing speed for each block type while managing dependencies appropriately for each region.

Inventive Principle:
Principle #3Local quality

4Productivity

If parallel processing is used for other block sizes, then encoding efficiency is improved, but computational requirements increase

Engineering Contradiction:
Improveencoding efficiencyVSAvoidcomputational requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the frame into multiple block sizes and processes them in parallel using separate processing pipelines. Each pipeline is optimized for specific block sizes, allowing efficient parallel execution while distributing computational requirements across multiple independent units, thereby improving overall encoding efficiency without concentrating excessive computational demands in a single processor.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds the dimension of parallel processing by simultaneously evaluating multiple prediction modes across different block sizes. This dimensional expansion transforms the encoding process from sequential mode evaluation to parallel hypercube processing, significantly improving encoding efficiency while distributing computational requirements across multiple processing dimensions.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS12170757B2Hardware codec accelerators for high-performance video encoding
Publication Date: 2024.12.17 NVIDIA CORP
  • US12170757B2 patent drawing
  • US12170757B2 patent drawing
  • US12170757B2 patent drawing

AI summary

Disclosed are apparatuses, systems, and techniques for real-time codec encoding of video files using hardware-assisted accelerators that utilize a combination of parallel and sequential processing, in which at least a part of intra-frame block prediction is performed with parallel processing.