DASH MPD Wall-Clock Timing for Live Streaming Sync

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing live streaming technologies, such as HLS and SmoothStreaming, face challenges in providing accurate timing information for media segment creation and synchronization, leading to potential delays and desynchronization between client devices during live media streaming.

Innovation Solution

The proposed solution involves a source device advertising wall-clock times and synchronization methods, such as NTP or HTTP Timing Protocol, in a media presentation description (MPD) file, allowing client devices to synchronize their clocks and ensure accurate timing, enabling closer operation to the live edge and synchronized playback with other clients.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If existing live streaming technologies (HLS, SmoothStreaming) are used, then media content can be transmitted and received, but accurate timing information for media segment creation and synchronization is lost, leading to delays and desynchronization between client devices

Engineering Contradiction:
Improvetiming information accuracyVSAvoidstreaming delay
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The server performs preliminary actions by generating wall-clock time values for media segments before actual playback, and embeds these time values in the MPD manifest. This allows client devices to pre-synchronize their clocks with the server's timing, ensuring accurate timing information is available before streaming begins, thus eliminating synchronization delays without requiring real-time time synchronization protocols.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If wall-clock time synchronization is implemented, then client devices can synchronize their clocks with the server, but the system complexity increases due to additional synchronization protocols and methods

Engineering Contradiction:
Improvesynchronization accuracyVSAvoidsynchronization system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Instead of implementing complex real-time time synchronization protocols between server and clients, the server creates copies of wall-clock time values and embeds them directly in the MPD manifest files. Client devices simply read these embedded time values and synchronize their clocks accordingly. This copying approach achieves reliable synchronization while avoiding the complexity of continuous time synchronization protocol exchanges.

Inventive Principle:
Principle #26Copying

3Productivity

If media segments are prepared only after recording and encoding, then the streaming system operates efficiently with minimal preprocessing, but the live edge cannot be approached closely due to preparation delays

Engineering Contradiction:
Improvestreaming efficiencyVSAvoidsegment preparation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The server performs preliminary actions by generating and embedding wall-clock time values in the MPD manifest before media segments are fully prepared. This allows client devices to know in advance when segments will be ready, enabling them to initiate retrieval operations optimally. The server can then prepare segments in the background without blocking the streaming workflow, reducing perceived preparation delays while maintaining efficient processing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2941892B1Live timing for dynamic adaptive streaming over HTTP (DASH)
Publication Date: 2018.12.12 QUALCOMM INC
  • EP2941892B1 patent drawingFigure 1
  • EP2941892B1 patent drawingFigure 2
  • EP2941892B1 patent drawingFigure 3

AI summary

In one example, a client device for receiving information for streaming of media data includes a clock, and one or more processors configured to receive a media presentation description (MPD) for media content, wherein the MPD includes data indicative of wall-clock times at which the client device can retrieve data of the media content from a source device, and wherein the data indicates a synchronization method by which the client device is to synchronize the wall-clock times with the clock, synchronize the clock with the wall-clock times using the method indicated by the MPD, and request data of the media content from the source device using the synchronized clock. A server device or source device may form and provide such an MPD to a client device.