Client Playback Rate Adjustment for Live Streaming Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing streaming media content delivery systems face challenges in delivering live events with low latency, often resulting in significant delays, which can be frustrating for users, particularly when server and client clocks do not synchronize properly.

Innovation Solution

A client system detects differences between the server's and client's media segment production and consumption rates by analyzing timestamps and adjusting playback rates to synchronize with the server rate, thereby reducing latency and preventing buffer overloading or depletion.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If the streaming media system uses conventional HTTP playlists to deliver media segments, then the system can present streaming media content, but the latency between live event and displayed content becomes large (15 seconds or more)

Engineering Contradiction:
ImprovelatencyVSAvoidclock synchronization
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The client system continuously monitors the difference between server rate and client rate using timestamps on media segments and playlists, then uses this feedback to dynamically adjust the playback rate. This closed-loop control allows the system to reduce latency by speeding up playback when the server is fast, while automatically correcting clock desynchronization issues through rate adjustment.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The playback rate is made dynamic rather than fixed. The system adjusts the playback rate in real-time based on the detected difference between server and client rates, allowing the client to adapt to varying network conditions and clock differences. This dynamic adjustment enables latency reduction without compromising reliability.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If the client system increases playback rate to reduce latency, then latency is reduced, but the client buffer may be overloaded with too many media segments

Engineering Contradiction:
ImprovelatencyVSAvoidbuffered media segments
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The system uses feedback from timestamp analysis to determine the appropriate playback rate. By continuously monitoring the difference between server and client rates, the system adjusts playback speed to match actual server production rate, preventing buffer overload while maintaining low latency. The feedback mechanism ensures playback rate is optimized based on real-time conditions.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The playback rate parameter is changed dynamically based on detected clock differences. When the server rate differs from the client rate, the system adjusts the playback rate parameter to compensate, allowing the client to consume media segments at the appropriate speed. This parameter adjustment prevents both latency buildup and buffer overload.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If the client system decreases playback rate to avoid buffer overload, then buffer management is improved, but latency increases

Engineering Contradiction:
Improvebuffered media segmentsVSAvoidlatency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The playback rate is dynamically adjusted based on real-time detection of server-client rate differences. Rather than using a fixed low playback rate that would increase latency, the system adapts the rate to match server conditions. This dynamic approach allows the system to maintain low latency while preventing buffer overload through intelligent rate modulation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The playback rate parameter is changed in response to detected clock differences. When the server is producing segments faster than the client consumes them, the system increases the playback rate parameter to reduce latency. Conversely, when the server is slower, the rate is decreased to prevent buffer overload. This parameter adaptation resolves the contradiction between latency and buffer management.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If the system uses timestamps to detect rate differences, then clock synchronization can be achieved, but the device complexity increases

Engineering Contradiction:
Improveclock synchronizationVSAvoidrate detection mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system uses timestamps that are already present in the media segment metadata, copying existing timing information rather than creating new complex synchronization mechanisms. By leveraging the timestamp data that is already part of the HLS/DASH streaming protocol, the system achieves clock synchronization without adding significant complexity to the device architecture.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The client system uses its own existing clock and the timestamps provided by the server to perform rate difference detection. The system serves itself by using readily available timing data to automatically adjust playback rate, eliminating the need for complex external synchronization hardware or protocols. This self-service approach achieves reliability without excessive complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11178202B2Clock compensation for streaming media systems
Publication Date: 2021.11.16 APPLE INC
  • US11178202B2 patent drawing
  • US11178202B2 patent drawing
  • US11178202B2 patent drawing

AI summary

In one embodiment, systems, methods and non-transitory machine readable media detect differences between the rate of production, by a server, of media segments identified in an HTTP compliant playlist and the rate of consumption, by a client device, of the media segments in streaming media content. These differences, once detected, can be used to adjust a playback rate at the client to reduce the difference between the server rate and the client rate. This detection can be used in low latency streaming media contexts in which the client device is playing back content that is live, such as a live sports event happening during the playback by the client device. The adjustment of the client's playback rate can avoid running out of buffered media segments (when the client's rate is much faster than the server's rate) and can avoid increasing latency at the client device and overloading a buffer with too many media segments (when the client's rate is much slower than the server's rate).