Video Surveillance Load Distribution Module GPU Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing video surveillance systems face inefficiencies in decoding multiple video streams due to uneven load distribution between hardware and software decoding resources, leading to performance bottlenecks and increased latency when handling high-bitrate streams.

Innovation Solution

A load distribution module that selects the most suitable GPU for decoding based on current load and maximum bitrate capacity, ensuring that streams are decoded on GPUs connected directly to display devices to minimize memory copying and maximize performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If video decoding is carried out by software running on the CPU, then the system can handle multiple streams, but the decoding efficiency is low

Engineering Contradiction:
Improvedecoding efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the video decoding workload by introducing multiple independent GPU devices, each capable of handling decoding tasks. The load distribution module divides incoming video streams and assigns them to appropriate GPUs based on current load conditions, thereby improving decoding efficiency while maintaining manageable system complexity through modular architecture

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The load distribution module acts as an intermediary between the CPU and multiple GPU devices. It receives decoding requests from the CPU, evaluates the current state of each GPU, and dynamically assigns streams to the most suitable GPU. This intermediary layer enables efficient utilization of hardware resources without requiring complex changes to the existing CPU-based software decoding architecture

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple hardware decoders (GPUs) are provided, then decoding efficiency increases, but load allocation becomes complex

Engineering Contradiction:
Improvenumber of streams decodedVSAvoidload allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Each GPU device maintains self-information about its current decoding load and capacity. The load distribution module queries these self-reported status metrics from each GPU and uses them to make autonomous load allocation decisions. This self-service approach eliminates the need for complex centralized control mechanisms while enabling efficient dynamic load balancing across multiple hardware decoders

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements a feedback mechanism where each GPU continuously reports its current load status to the load distribution module. Based on this feedback, the module dynamically adjusts stream assignment to optimize resource utilization. This feedback-driven approach simplifies load allocation by using real-time status information rather than complex predictive algorithms

Inventive Principle:
Principle #23Feedback

3Productivity

If video streams are decoded on GPUs not connected to display devices, then load distribution is flexible, but memory copying increases latency

Engineering Contradiction:
Improvestream handling capacityVSAvoiddecoding latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The load distribution module applies local quality optimization by considering the specific characteristics of each GPU-display device connection when making assignment decisions. Streams destined for display on a particular device are preferentially assigned to the GPU connected to that display, minimizing memory copying operations. This localized optimization reduces latency for display-bound streams while maintaining flexible load distribution across the system

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20240214583A1Video surveillance system having a load distribution module
Publication Date: 2024.06.27 MILESTONE SYSTEMS
  • US20240214583A1 patent drawing
  • US20240214583A1 patent drawing
  • US20240214583A1 patent drawing

AI summary

A video surveillance system comprising an operator client including a system memory, a plurality of display devices for displaying video data and resources for decoding of encoded video data for display, including a plurality of GPUs, wherein each of the display devices is connected to a graphics output port of one of the GPUs. A load distribution module is configured to send a stream of encoded video data to one of the decoding resources by determining a first display device the stream of video data is to be displayed after decoding, and sending the stream of video data to a first GPU for decoding and display on the selected display device, wherein the first GPU is connected to the first display device, unless the first GPU is overloaded. If the first GPU is overloaded, the load distribution module sends the stream of video data to a second GPU for decoding.