Video Codec Parallel Macroblock Processing via GPU Gather Operation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional video codecs face inefficiencies in processing latency and throughput due to their inability to fully leverage parallel processing capabilities, especially in handling massive vector operations.

Innovation Solution

Implementing video encoding and decoding processes on a graphics processing unit (GPU) or other hardware devices to facilitate massively parallel processing operations, including a novel gather operation for entropy coding, which increases throughput and reduces latency while achieving high compression ratios.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If video encoding and decoding processes are implemented on a traditional CPU-based codec, then device complexity is lower and ease of operation is maintained, but processing latency is high and throughput is limited due to inability to leverage parallel processing capabilities

Engineering Contradiction:
ImprovethroughputVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent replaces traditional CPU-based sequential processing with GPU-based parallel processing. The video codec leverages the GPU's massively parallel architecture to perform video encoding and decoding operations, substituting the mechanical sequential execution model with a parallel computational model that can handle multiple video processing tasks simultaneously, thereby dramatically increasing throughput.

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

Solution Approach 2:

The patent segments the video processing workload into independent parallel tasks that can be executed simultaneously on multiple GPU cores. By dividing the video frame processing into separate macroblock processing units and entropy coding operations that can run in parallel, the system maximizes utilization of the GPU's parallel processing capabilities while maintaining manageable device complexity.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If video encoding and decoding processes are implemented on a GPU for parallel processing, then throughput is increased and processing latency is reduced, but device complexity increases

Engineering Contradiction:
Improveprocessing latencyVSAvoiddevice complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent performs preliminary actions by pre-calculating and storing macroblock data in intermediate buffers before the final entropy coding stage. This allows the computationally intensive parallel processing to be completed in advance, reducing the critical path latency for the final output generation while managing device complexity through staged processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces intermediary data structures and buffer memory systems that facilitate efficient data transfer and processing between different stages of the video codec. These intermediaries manage the complexity of coordinating multiple parallel processing streams while maintaining low latency by optimizing data flow through the processing pipeline.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If traditional sequential processing is used in video codecs, then device complexity is lower, but productivity is reduced due to inability to perform massive vector operations in parallel

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidhardware architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent transitions from one-dimensional sequential processing to multi-dimensional parallel processing by utilizing the GPU's three-dimensional thread hierarchy (thread blocks, grids, and warps). This dimensional expansion allows massive vector operations to be performed simultaneously across thousands of processing elements, dramatically improving productivity while the abstraction layers manage the underlying hardware complexity.

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

Data Source

PatentUS8396122B1Video codec facilitating writing an output stream in parallel
Publication Date: 2013.03.12 OTOY INC
  • US8396122B1 patent drawing
  • US8396122B1 patent drawing
  • US8396122B1 patent drawing

AI summary

Methods, apparatuses and systems directed to a video codec that facilitates parallel processing operations is implemented on a graphics processing unit or other hardware device. The codec encodes video frames by dividing a frame into macroblocks and processing the macroblocks in parallel either via plane fitting operations or by motion estimation adjustments. A gathering operation writes the data of each macroblock onto an output stream in a parallel processing operation to accelerate writing the output from the memory of the graphics processing unit to a main memory of a hardware system.