Hardware Encoder Rewind Mechanism for Multi-Standard Video Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current video encoding technologies face challenges in supporting multiple standards due to the need for separate hardware encoders, which are costly and power-intensive, and struggle with real-time processing, especially for standards like H.264 that require rewind functionality.

Innovation Solution

Implementing a multistandard video encoder with shared buffers and hardware-enabled rewind functionality, allowing the transform engine to reprocess video data without requesting it from other stages, and using a GPU with a dedicated encoder that can support multiple video standards efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If separate hardware encoders are used for each video standard, then each standard can be supported with optimized performance, but hardware redundancy and power consumption increase significantly

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

Solution Approach 1:

The patent implements a universal hardware encoder architecture that can operate in multiple modes: standard encoding mode and rewind mode. The same hardware components (transform engine, quantization engine, entropy encoding engine) serve multiple video standards by switching between different operational states, eliminating the need for separate dedicated hardware for each standard while maintaining optimized performance.

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

Solution Approach 2:

The encoder dynamically switches between different operational modes (standard encoding and rewind) based on the requirements of the current video standard being processed. The pipeline architecture allows flexible reconfiguration of data flow and processing stages, enabling the hardware to adapt its behavior rather than requiring static dedicated hardware for each standard.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If separate hardware encoders are used for each video standard, then each standard can be supported with optimized performance, but device complexity and manufacturing costs increase

Engineering Contradiction:
Improvesupport for multiple video standardsVSAvoidhardware redundancy
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal hardware encoder architecture that can operate in multiple modes: standard encoding mode and rewind mode. The same hardware components (transform engine, quantization engine, entropy encoding engine) serve multiple video standards by switching between different operational states, eliminating the need for separate dedicated hardware for each standard while maintaining optimized performance.

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

Solution Approach 2:

The patent merges the rewind functionality into the existing encoding pipeline rather than implementing it as a separate system. The transform buffer and rewind control module are integrated components that work with the standard encoding engines, combining multiple functions (standard encoding, rewind, and data reprocessing) into a single unified hardware structure.

Inventive Principle:
Principle #5Merging (Combining)

3Device complexity

If software implementation is used for video encoding, then hardware costs are reduced, but real-time processing capability is lost due to computational expense

Engineering Contradiction:
Improvehardware costsVSAvoidreal-time processing speed
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent replaces software-based encoding operations with dedicated hardware engines (transform engine, quantization engine, entropy encoding engine) that perform the same functions in hardware. This substitution provides real-time processing capability while avoiding the computational expense and latency associated with software implementation on general-purpose processors.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Adaptability or versatility

If rewind functionality is implemented by requesting data from other stages in the encoder pipeline, then data can be reprocessed, but processing time and pipeline efficiency are reduced

Engineering Contradiction:
Improverewind functionalityVSAvoidprocessing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements a transform buffer that stores processed macroblocks before they are fully encoded. This preliminary storage allows the rewind control module to retrieve and reprocess data without requiring backtracking through the entire encoding pipeline. The buffer acts as a staging area that enables quick reaccess of intermediate results, avoiding the time penalty of reprocessing entire stages.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The transform buffer serves as an intermediary component between the transform engine and the entropy encoding engine. It decouples these stages, allowing the transform engine to produce data independently while enabling the rewind function to retrieve and reprocess data from the buffer without blocking the overall pipeline flow. This intermediary buffer maintains pipeline efficiency during rewind operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8923385B2Rewind-enabled hardware encoder
Publication Date: 2014.12.30 NVIDIA CORP
  • US8923385B2 patent drawing
  • US8923385B2 patent drawing
  • US8923385B2 patent drawing

AI summary

Described herein are a number of approaches for implementing a video encoder with hardware-enabled rewind functionality. In several embodiments, rewind functionality can be implemented in hardware, in a manner which allows the transform engine of the encoder to reprocess video data, without requesting data from other stages in the encoder. Such rewind functionality is useful in implementing some video standards in a pipeline architecture, such as the H.264 standard. In one embodiment, a method of encoding video data is described, which involves obtaining a first portion of video data from a first location in a buffer, and performing an encoding operation on it. The second portion of video data is obtained from a second location in the buffer, and encoding operations begin on the second portion. The first portion of video data can be retrieved from the first location, in order to reprocess the first portion if necessary.