Web Browser Stream Manager for Multiplexed Video Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current web browsers are unable to support real-time streaming and decoding of multiple simultaneous video streams due to their single-threaded nature, which restricts the use of multiple decoders and limits processing to a single stream at a time, leading to inefficiencies in bandwidth management and display.

Innovation Solution

A system and method within a web browser that employs a stream manager to maintain decoder context data for multiple streams, allowing an h.264 decoder to decode and display frames from multiple streams simultaneously, utilizing JavaScript for implementation and enabling efficient handling of multiple streams through context data management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a web browser uses a single-threaded architecture, then it ensures simplicity and ease of operation, but it cannot support multiple simultaneous video stream decoders

Engineering Contradiction:
Improvebrowser simplicityVSAvoidmulti-stream decoding capability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent segments the video processing architecture by separating the stream management function from the decoding function. The stream manager handles multiple streams at the management layer, while the decoder processes individual frames at the execution layer. This segmentation allows a single-threaded browser to support multiple simultaneous decoders by organizing them in a hierarchical structure where the stream manager coordinates between multiple stream contexts and the decoder implementation.

Inventive Principle:
Principle #1Segmentation

2Reliability

If a decoder maintains separate context data for each stream, then it enables accurate decoding of multiple streams, but it increases device complexity

Engineering Contradiction:
Improvedecoding accuracyVSAvoidcontext management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The stream manager serves as an intermediary between multiple stream contexts and the decoder. It maintains the context data for multiple streams and manages the flow of frame data to the decoder. This intermediary layer abstracts the complexity of managing multiple contexts, allowing the decoder to process frames without directly handling the complexity of multiple stream states. The stream manager coordinates context switching and data flow, reducing the burden on the decoder implementation.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If external plugins are used for video decoding, then real-time streaming is supported, but it reduces ease of operation and increases device complexity

Engineering Contradiction:
Improvereal-time streaming capabilityVSAvoidplugin requirement
Core Design Contradiction:
SpeedVSEase of operation

Solution Approach 1:

The patent merges the stream management functionality and decoder implementation into a unified system that operates within the browser's native environment. Instead of using separate external plugins, the stream manager and decoder are integrated as coordinated components that work together within the browser architecture. This merging eliminates the need for multiple external plugins while maintaining real-time streaming capability, as the integrated system handles both stream coordination and decoding in a unified manner.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10855741B2System and method for multiplexed video stream decoding in web browser
Publication Date: 2020.12.01 TYCO FIRE & SECURITY GMBH
  • US10855741B2 patent drawing
  • US10855741B2 patent drawing
  • US10855741B2 patent drawing

AI summary

A system and method for real time streaming and decoding of multiple simultaneous streams within a web browser is disclosed. In a preferred embodiment, a stream manager of the web browser stores decoder context data for each of the streams. The stream manager then provides the frames in conjunction with the decoder context data for consumption by a decoder of the web browser, which decodes the frames, presents the frames for display, and updates the decoder context data with the frame data of the decoded frames. In another embodiment, the stream manager is integrated within the decoder.