Offloading Video Stream Processing to Parallel Units

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional streaming systems face challenges in processing multiple encoded video streams generated by GPUs, as this requires significant CPU resources and can increase latency, especially when the CPU needs to dedicate multiple cores to each video stream.

Innovation Solution

The system determines and coordinates the offloading of processing tasks from the CPU to a parallel processing unit (PPU), such as a GPU, using profiles that include processing metrics and specific processes to be offloaded, thereby reducing CPU resource usage and latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple encoded video streams are processed using the CPU, then the video streams can be fully processed through the processing stack, but the CPU resource consumption increases significantly and processing latency increases

Engineering Contradiction:
Improvevideo stream processing capacityVSAvoidprocessing latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts specific processing tasks from the CPU and relocates them to the GPU. The GPU is assigned to handle encoding and specific packet processing operations, while the CPU focuses on higher-level coordination and protocol management. This extraction of computational workload from the CPU reduces processing latency and enables parallel processing of multiple video streams without proportionally increasing CPU resource consumption.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If multiple encoded video streams are processed using the CPU, then the video streams can be fully processed through the processing stack, but the CPU resource consumption increases significantly

Engineering Contradiction:
Improvevideo stream processing capacityVSAvoidCPU resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent segments the video processing pipeline into distinct functional blocks handled by different processing units. The GPU handles encoding and packetization operations, while the CPU handles protocol processing and coordination. This segmentation allows each component to specialize in specific tasks, improving overall system productivity while reducing the resource burden on any single component, particularly the CPU.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts computationally intensive encoding and packet processing tasks from the CPU and relocates them to the GPU. This extraction significantly reduces CPU resource consumption while maintaining or improving overall processing capacity through parallel execution on the GPU.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If the number of CPU cores dedicated to video stream processing is increased, then the processing capacity increases, but the system complexity increases

Engineering Contradiction:
Improvevideo stream processing capacityVSAvoidCPU core configuration complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts packet processing operations from the CPU and implements them in the GPU. This extraction eliminates the need to dedicate multiple CPU cores to packet processing tasks, as the GPU handles these operations through its parallel architecture. Consequently, the system achieves high processing capacity without increasing CPU core configuration complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS20250135335A1Offloading stream processing tasks to parallel processing units for content streaming systems and applications
Publication Date: 2025.05.01 NVIDIA CORP
  • US20250135335A1 patent drawing
  • US20250135335A1 patent drawing
  • US20250135335A1 patent drawing

AI summary

In various examples, processing content data using parallel processing units for content streaming systems and applications is described herein. Systems and methods are disclosed that determine when to offload at least a portion of the processing that is typically performed by a central processing unit (CPU) to a parallel processing unit (PPU). For example, and for an application, a profile may be generated that includes information associated the application, such as one or more processing metrics associated with the application and/or which processes, if any, should be offloaded. In some examples, the profile may be generated using processing statistics associated with one or more previous streaming sessions associated with the application. The systems and methods may then use the profile and/or other data to determine whether to offload one or more processes from the CPU to the PPU (and/or, in some examples, from the PPU to the CPU).