Shader Execution Distribution for Video Stream Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current video processing systems face limitations in efficiently utilizing both server and client GPU processing power for video stream processing, particularly in dynamically adapting shader execution based on network topology, device capabilities, and use case characteristics.

Innovation Solution

A method where shaders are applied in a video stream processing system by dividing their execution between a video stream processing device and a client device, with the video stream processing device transmitting necessary shaders to the client for further processing, allowing dynamic or static division based on available resources and network conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If all shader processing is performed on the server, then processing power utilization is simplified, but client device GPU resources remain underutilized

Engineering Contradiction:
Improveserver processing throughputVSAvoiddevice resource utilization flexibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The shader processing workload is segmented between server and client devices. The server transmits video streams and shader programs to clients, while clients execute shaders locally using their GPU resources. This segmentation allows both server and client processing powers to be utilized effectively.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically determines which device (server or client) should execute specific shaders based on real-time conditions such as network bandwidth, client device capabilities, and processing requirements. This dynamic allocation optimizes resource utilization across the distributed system.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If shader execution is distributed between server and client, then device resource utilization is optimized, but system complexity increases

Engineering Contradiction:
Improvedevice resource utilization flexibilityVSAvoidprocessing distribution management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system incorporates feedback mechanisms where the server receives information about client device capabilities and performance, and adjusts shader distribution decisions accordingly. This feedback loop helps manage system complexity by enabling adaptive decision-making based on actual system state.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The server acts as an intermediary that manages the complexity of shader distribution. It transmits shader programs to clients, receives feedback about client capabilities, and makes centralized decisions about which shaders should be executed where, thereby simplifying the overall system architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If shaders are transmitted to client devices, then client-side processing capability is enhanced, but network bandwidth requirements increase

Engineering Contradiction:
Improveclient-side processing throughputVSAvoidnetwork data transmission volume
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

Instead of transmitting all shader programs to all clients, the system transmits only the necessary shaders to specific clients based on their capabilities and the specific video processing requirements. This partial action approach reduces unnecessary network traffic while still enabling client-side processing where beneficial.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10049424B2Method and device for post processing of a video stream
Publication Date: 2018.08.14 AXIS
  • US10049424B2 patent drawing
  • US10049424B2 patent drawing
  • US10049424B2 patent drawing

AI summary

The present invention relates to the field of processing a video stream, and more particular to the field of post processing of a video stream using shaders. The processing of the video stream is divided between a video stream processing device and a client device.