Browser Video Decoding via Base and Enhancement Layer Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video decoding technologies require significant software updates and hardware upgrades to improve video quality, leading to increased power usage and latency, and many browsers struggle to render video content encoded in certain formats.
Innovation Solution
A method and system for decoding multi-layer video streams within a browser by extracting and combining encoded base and enhancement streams using markup video elements, allowing for improved video quality without requiring hardware updates, and utilizing script-based decoding functions when native capabilities are absent.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If video quality is increased by improving encoding and decoding procedures, then video quality is improved, but power usage increases and latency increases
Solution Approach 1:
The video stream is divided into base layer and enhancement layer components. The base layer is decoded using standard hardware decoders while the enhancement layer is processed separately through JavaScript-based super-resolution algorithms. This segmentation allows quality improvement without requiring the entire decoding pipeline to use high-power resources.
Solution Approach 2:
A JavaScript-based intermediate processing layer is introduced between the hardware decoder and the final video output. This intermediary takes the decoded base layer video and applies enhancement algorithms to improve quality, acting as a mediator that adds value without requiring complete hardware replacement.
2Manufacturing precision
If video quality is increased by improving encoding and decoding procedures, then video quality is improved, but latency increases
Solution Approach 1:
The decoding process is segmented into parallel operations: hardware-based base layer decoding occurs simultaneously with JavaScript-based enhancement processing. This reduces overall latency compared to sequential processing while maintaining quality improvements.
Solution Approach 2:
The system applies partial enhancement by processing only the enhancement layer through complex algorithms while the base layer is handled by fast hardware decoders. This selective application of complex processing reduces overall latency while still achieving quality improvement.
3Adaptability or versatility
If advanced video decoding capabilities are added to browsers, then support for various video coding formats is improved, but device complexity increases
Solution Approach 1:
The JavaScript-based decoding module provides universal support for multiple video coding formats through software-based decoding capabilities. This allows a single browser implementation to handle various formats without requiring separate hardware decoders for each format, managing complexity through software versatility.
Solution Approach 2:
A JavaScript intermediary layer is introduced between the video stream and the rendering pipeline, providing format conversion and decoding capabilities. This mediator handles format compatibility issues without requiring complex changes to the core browser architecture, managing complexity through a dedicated intermediate layer.
4Manufacturing precision
If hardware upgrades are performed to improve video decoding, then video quality is improved, but cost increases
Solution Approach 1:
The system uses existing hardware decoder capabilities to decode the base layer, and then applies software-based enhancement algorithms to improve quality further. This self-service approach leverages existing hardware investments while adding value through software, avoiding the need for expensive hardware upgrades.
Solution Approach 2:
The solution uses software-based enhancement layers that can be updated and modified without hardware changes. These software components act as disposable, updatable elements that provide quality improvement without the long-term commitment and cost of hardware upgrades.
Data Source
AI summary
Certain examples described herein relate to decoding a video stream within a browser. An encoded multi-layer video stream is received in a source buffer. An encoded base stream is extracted from the source buffer and decoded using a markup video element to obtain a decoded base stream. The decoded base stream is rendered in a first markup video display region, wherein the first markup video display region is hidden. An encoded enhancement stream is extracted from the source buffer and decoded to obtain a decoded enhancement stream. The decoded base stream is obtained from the first markup video display region and combined with the decoded enhancement stream to generate a reconstructed video stream, which is rendered in a second markup video display region that is visible within the browser.


