Hardware Accelerated Video Encoding Block Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video encoding systems face challenges in efficiently processing video data due to limitations in hardware processing speed and flexibility, particularly in portable devices, and require significant updates when new video encoding parameters or block sizes are introduced.

Innovation Solution

A hybrid hardware-software video encoding system that includes a hardware accelerator to divide video frames into blocks, compute encoding assist data, and store it across multiple database tables, which are then provided to video encoding software for efficient data retrieval and processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If video encoding is performed using traditional software-only processing, then flexibility in handling new encoding parameters is maintained, but processing speed and efficiency are insufficient

Engineering Contradiction:
Improvevideo encoding speedVSAvoidflexibility to new encoding parameters
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The video encoding process is divided into two distinct segments: a hardware accelerator that performs computationally intensive tasks (motion estimation, block matching) and a software encoder that handles encoding logic and new parameter implementation. This segmentation allows the hardware to provide speedup while the software maintains flexibility for new encoding standards and parameters.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A data structure interface layer is introduced as an intermediary between the hardware accelerator and the software encoder. This interface uses standardized data structures that can accommodate different encoding parameters and block sizes, allowing the hardware to operate at fixed speed while the software adapts to new encoding standards through software updates alone.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If hardware accelerator is designed to support specific video encoding parameters and block sizes, then processing efficiency is improved, but significant updates are required when new parameters are introduced

Engineering Contradiction:
Improveencoding processing efficiencyVSAvoidhardware update requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The hardware accelerator is designed with universal data structures that can handle multiple block sizes and encoding parameters through a unified interface. The hardware performs generic operations (block matching, motion estimation) that can be applied to any block size or parameter set, while the software configures the specific parameters, eliminating the need for hardware updates when new encoding standards are introduced.

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

3Loss of information

If all encoding assist data is loaded into memory for processing, then complete data availability is achieved, but data retrieval operations and memory usage increase

Engineering Contradiction:
Improvedata availability for encodingVSAvoiddata retrieval operations
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The system extracts only the essential encoding assist data (motion vectors, block matching results) from the hardware accelerator and stores it in optimized data structures. The software encoder retrieves only the specific data needed for the current encoding task rather than loading all possible data, reducing memory operations while maintaining data availability.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12339902B2Hardware accelerated video encoding
Publication Date: 2025.06.24 MELLANOX TECHNOLOGIES LTD(IL)
  • US12339902B2 patent drawing
  • US12339902B2 patent drawing
  • US12339902B2 patent drawing

AI summary

In one embodiment, a system includes a hardware accelerator to receive video data of multiple video frames, divide each of the video frames into respective blocks, compute encoding assist data including at least one video encoding parameter type for each of the respective blocks of each of the video frames, and store respective portions of the encoding assist data across respective database tables, and an interface to provide the respective database tables to video encoding software running on a processor.