Stream Processor Video Encoding via Sweep Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current central processing units (CPUs) are insufficient for fast processing of digital video compression and transcoding tasks, leading to slow performance for both high-end professionals and consumers, and existing stream processor architectures fail to provide performance improvements due to dependencies on neighboring blocks in block-based codec algorithms.

Innovation Solution

Implementing a parallel stream processing architecture with scheduling of software threads on multiple processors and using SIMD operations to process macroblocks concurrently, while maintaining neighbor dependencies through techniques like sweep processing and kernel-based prediction and transform calculations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional block-based codec algorithms are used on stream processors, then parallel processing capability is wasted, but processing speed does not improve

Engineering Contradiction:
Improvevideo processing speedVSAvoidalgorithm complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The video frame is divided into multiple independent regions that can be processed in parallel. By segmenting the processing task into region-level operations rather than block-level operations, the algorithm enables parallel execution on stream processors while maintaining the necessary neighbor dependencies within each region.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The algorithm transitions from traditional 2D block processing to 3D volumetric processing by introducing a temporal dimension through reference frame management. This allows multiple blocks across different frames to be processed simultaneously while maintaining proper dependency relationships through the reference frame structure.

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

2Productivity

If specialized hardware is used for video compression, then processing speed improves, but hardware cost increases

Engineering Contradiction:
Improvevideo compression speedVSAvoidhardware cost
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The algorithm is designed to run on general-purpose stream processors that are already present in consumer graphics cards. By making the algorithm universal and compatible with existing hardware architectures, it eliminates the need for specialized video compression hardware while achieving high processing speeds through efficient parallelization.

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

Solution Approach 2:

The patent replaces dedicated video compression hardware with software-based algorithms running on general-purpose stream processors. This substitution leverages the existing parallel processing capabilities of consumer graphics cards, eliminating the need for expensive specialized hardware while maintaining high performance.

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

3Productivity

If CPU sequential processing is used, then hardware cost remains low, but processing speed becomes insufficient

Engineering Contradiction:
Improvetranscoding speedVSAvoidwaiting time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The algorithm ensures continuous utilization of stream processor resources by maintaining an efficient pipeline of parallel operations. Multiple regions and blocks are processed concurrently in a continuous manner, eliminating idle processor cycles and maximizing the throughput of the parallel architecture.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

Reference frames are prepared and organized in advance to enable efficient parallel access during the compression process. By pre-organizing the data structure and making reference information readily available, the algorithm minimizes processing delays and ensures continuous high-speed operation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8437407B2Method for efficiently executing video encoding operations on stream processor architectures
Publication Date: 2013.05.07 ELEMENTAL TECHNOLOGIES LLC
  • US8437407B2 patent drawing
  • US8437407B2 patent drawing
  • US8437407B2 patent drawing

AI summary

Techniques are disclosed for employing a set of stream processors to greatly accelerate common video encoding and transcoding tasks, with the goal of making these tasks run at a reasonable rate on off-the-shelf hardware. Stream processors are most commonly found in the graphics processing unit (GPU), a commodity piece of computer hardware used to generate images for display. Embodiments of the invention are particularly advantageous to accelerate video encoding and transcoding tasks in which the blocks being processed have dependencies on their neighboring blocks.