Offloading Video Stream Processing to Parallel Units
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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.
3Productivity
If the number of CPU cores dedicated to video stream processing is increased, then the processing capacity increases, but the system complexity increases
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.
Data Source
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).


