Video Server Parallel Rendering with Client Qualification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current server-side rendering of game video technologies face challenges in efficiently managing multiple video streams and client qualifications, leading to suboptimal video quality and latency in multiplayer gaming environments.
Innovation Solution
A video server system that utilizes a single graphics processing unit to render multiple video streams in parallel, with dynamic encoding pipelines and shared memory management, along with a client qualifier to ensure video streams are delivered to clients capable of meeting minimum quality standards, allowing for geographically distributed video server systems to provide optimized streaming.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a single GPU is used to render multiple video streams in parallel, then resource utilization and productivity are improved, but system complexity and difficulty of managing multiple video streams increase
Solution Approach 1:
The patent segments the video streaming system into distinct functional modules: a single GPU for rendering, multiple encoding pipelines for video encoding, and a shared memory system for data exchange. Each module operates independently but coordinates through standardized interfaces, allowing parallel processing of multiple video streams while managing complexity through modular architecture.
Solution Approach 2:
The patent implements a universal shared memory system that serves multiple encoding pipelines simultaneously. This shared memory acts as a common resource that can be accessed by any encoding pipeline, eliminating the need for separate memory systems for each pipeline and reducing overall system complexity while maintaining high productivity.
2Adaptability or versatility
If dynamic encoding pipelines are implemented to adapt to client needs, then video quality and adaptability are improved, but device complexity and processing overhead increase
Solution Approach 1:
The patent implements dynamic encoding pipelines that can adjust their encoding parameters and formats based on real-time client capabilities and network conditions. The system dynamically selects appropriate video formats, resolutions, and bitrates to match client requirements, ensuring optimal video quality and compatibility while managing complexity through adaptive algorithms.
Solution Approach 2:
The patent changes encoding parameters dynamically based on client qualifications. The client qualifier determines client capabilities, and this information is used to adjust encoding parameters such as video format, resolution, and bitrate. This parameter adaptation allows the system to serve diverse clients with varying capabilities without requiring complex hardware for each client type.
3Reliability
If client qualification is implemented to ensure minimum quality standards, then video quality reliability is improved, but processing time and system complexity increase
Solution Approach 1:
The patent performs client qualification in advance before video streaming begins. The client qualifier assesses client capabilities, network conditions, and hardware specifications beforehand, storing this information for rapid retrieval during streaming. This preliminary action ensures video quality reliability by pre-identifying compatible clients while minimizing real-time processing delays.
Data Source
AI summary
A video server is configured to provide streaming video to players of computer games over a computing network. The video server can provided video of different games to different players simultaneously. This is accomplished by rendering several video streams in parallel using a single GPU. The output of the GPU is provided to graphics processing pipelines that are each associated with a specific client/player and are dynamically allocated as needed. A client qualifier may be used to assure that only clients capable of presenting the streaming video to a player at a minimum level of quality receive the video stream.


