Streaming Media Player Clock Synchronization for Buffer Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing streaming media players experience disruptive playback pauses due to buffer underflow and data loss from overflow, as they struggle to maintain optimal buffer sizes and adjust playback rates effectively in varying network conditions.

Innovation Solution

A streaming media player that compares the server's clock value with its own clock value to generate a clock state, dynamically adjusting the output media stream rate to prevent buffer underflow or overflow, using a formula to smoothly synchronize playback rates with the server's clock, ensuring continuous and smooth playback with minimal data loss.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the media player uses a fixed buffer size and playback rate, then the system is simple to operate, but playback pauses occur due to buffer underflow or overflow in varying network conditions

Engineering Contradiction:
Improvecontinuous playbackVSAvoidbuffer management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic buffer size adjustment and variable playback rate control based on real-time network conditions. The buffer size is adaptively changed according to network throughput measurements, and the playback rate is dynamically adjusted to match the actual data arrival rate, preventing both underflow and overflow conditions while maintaining continuous playback.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system continuously monitors network throughput and buffer occupancy levels, using this feedback information to adjust buffer size and playback rate decisions. The throughput measurement unit provides real-time network condition feedback, which is fed back to the buffer management unit to optimize buffer parameters and prevent playback disruptions.

Inventive Principle:
Principle #23Feedback

2Reliability

If the player increases buffer size to prevent underflow, then playback continuity improves, but memory usage and device resource consumption increase

Engineering Contradiction:
Improveplayback continuityVSAvoidbuffer memory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Instead of using a statically large buffer, the system dynamically adjusts buffer size based on measured network throughput characteristics. During high throughput periods, the buffer can be smaller, while during low throughput periods, it is automatically enlarged to maintain playback continuity, optimizing memory utilization while ensuring reliable playback.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The buffer size parameter is changed dynamically based on network conditions rather than being fixed. The system measures throughput and uses this information to adjust the buffer size parameter adaptively, allowing the same buffer to serve multiple operational states efficiently without requiring excessive memory for all possible conditions simultaneously.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If the player drops video and audio data to handle buffer overflow, then buffer overflow is prevented, but visible and audible quality loss occurs

Engineering Contradiction:
Improvebuffer overflow preventionVSAvoidmedia quality
Core Design Contradiction:
ReliabilityVSManufacturing precision

Solution Approach 1:

The playback rate is dynamically adjusted downward when the buffer approaches overflow conditions, rather than dropping data. This variable playback rate approach allows the system to maintain all received data in the buffer while slowing down playback to match the data arrival rate, preventing overflow without quality loss.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Instead of treating buffer overflow as a problem requiring data loss, the system uses variable playback rate control to convert the potential overflow condition into a controlled playback speed adjustment. The buffer becomes a buffer zone that naturally regulates data flow, and playback rate variation becomes the mechanism to prevent overflow while preserving all data quality.

Inventive Principle:
Principle #22Blessing in disguise (Convert harm into benefit)

4Reliability

If the player pauses playback to refill the buffer during underflow, then buffer underflow is handled, but playback disruption and user experience deteriorate

Engineering Contradiction:
Improvebuffer underflow handlingVSAvoidplayback efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system uses dynamic buffer size adjustment to prevent underflow conditions before they occur. By enlarging the buffer when network throughput decreases, the system maintains sufficient data in the buffer to continue playback without pausing, eliminating playback disruptions while handling varying network conditions effectively.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system takes preliminary action by proactively adjusting buffer size based on measured network conditions before underflow occurs. Throughput measurement and buffer parameter adjustment happen continuously in advance, preparing the buffer to accommodate variations in data arrival rate before playback disruption can occur.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8195829B2Streaming media player and method
Publication Date: 2012.06.05 VESTEL ELEKTRONIK SANAYI & TICARET ANONIM SIRKETI
  • US8195829B2 patent drawing
  • US8195829B2 patent drawing
  • US8195829B2 patent drawing

AI summary

A streaming media player receives a media stream from a server. A clock comparator of the media player compares a clock value of the server with a clock value of the media player and generates a clock state value representing how much the server's clock value lags or leads the player's clock value. An output component of the media player generates an output media stream corresponding to the input media stream. A rate component of the media player receives the clock state value from the clock comparator and varies the rate of output of the media stream from the output component in dependency on the clock state value.