MSE Inband Event Parsing and Dispatch via Dual Buffers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Media Source Extensions (MSE) specifications do not support parsing and processing inband events embedded in Dynamic Adaptive Streaming over HTTP (DASH) or Common Media Application Format (CMAF) media segments, preventing browsers or user agents from natively processing these events.

Innovation Solution

The proposed solution enables Media Source Extensions (MSE) to natively process DASH and CMAF inband event boxes by parsing and processing inband events contained in media segments, allowing browsers or user agents to dispatch these events to the respective application.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If current MSE specifications are used, then browser compatibility is maintained, but native processing of DASH and CMAF inband events is not supported

Engineering Contradiction:
Improvenative processing capabilityVSAvoidspecification complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the event processing functionality into distinct components: event parsing, event buffering, and event dispatching. This allows the MSE to handle inband events through modular additions without requiring complete specification rewriting, thus improving adaptability while managing complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary event processing layer between the media segment parsing and the application dispatch. This intermediary buffer and processing mechanism enables native event handling without directly modifying core MSE specifications, resolving the contradiction between versatility and complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If event start time is used for time synchronization, then event timing accuracy is improved, but network overhead and computational overhead increase

Engineering Contradiction:
Improvetime synchronization accuracyVSAvoidnetwork overhead
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

The patent uses partial time information (offset start time relative to media segment) rather than complete absolute timing data. This partial action approach maintains sufficient time synchronization accuracy for event dispatch while significantly reducing the amount of time data that needs to be transmitted and processed, thereby reducing network and computational overhead.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If event segments are appended to event processing buffer, then event processing capability is improved, but memory usage increases

Engineering Contradiction:
Improveevent processing throughputVSAvoidmemory consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements a buffer management strategy where event segments are appended to the event processing buffer for active processing, and processed events are subsequently removed or discarded. This allows the buffer to maintain a manageable size while still providing continuous event processing capability, balancing productivity with memory consumption.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS12225070B2Extended W3C media extensions for processing DASH and CMAF inband events
Publication Date: 2025.02.11 TENCENT AMERICA LLC
  • US12225070B2 patent drawing
  • US12225070B2 patent drawing
  • US12225070B2 patent drawing

AI summary

There is included a method and apparatus comprising computer code configured to cause a processor or processors to perform obtaining media data, generating, from the media data, one or more event segments, appending the one or more event segments, to a first event processing buffer, the one or more event segments comprising an event start offset for each of the one or more event segments based on a time at which the each of the one or more event segments is appended to the first event processing buffer, appending the one or more event segments, to a second event processing buffer, the one or more event segments comprising event dispatch information for the each of the one or more event segments, and dispatching the one or more event segments based on the first event processing buffer and the event dispatch information in the second event processing buffer.