Synchronized Media Playback via Lag-Based Seek Adjustment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing media rendering technologies face challenges in synchronizing media playback across multiple clients due to network lag and other factors, making it difficult for users to experience the same content simultaneously, especially when not physically close to the media source.

Innovation Solution

A system and process for synchronized media playback involving a synchronization group where media clients communicate with a synchronization server to calculate relative lag values and adjust playback timing, ensuring that all clients within the group can play media content in sync by providing target seek times based on the server's clock values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If media clients retrieve and playback media content independently over the network, then each client can access media content flexibly and independently, but network lag and transmission delays cause playback desynchronization among clients

Engineering Contradiction:
ImproveIndependent media accessVSAvoidPlayback synchronization
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The synchronization server periodically requests clock values from all synchronization clients and uses these feedback values to calculate relative lag values. The server then provides target seek times to clients based on their lag calculations, creating a closed-loop feedback system that continuously monitors and corrects playback timing to maintain synchronization across the network

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

A synchronization server is introduced as an intermediary between media clients and the media content. This server receives clock values from clients, calculates relative lag values, determines target seek times, and provides timing corrections to clients. The intermediary coordinates playback timing across all clients without requiring direct peer-to-peer communication, resolving the synchronization problem while preserving independent media access

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a synchronization server continuously monitors and adjusts playback timing for all clients, then playback synchronization is maintained, but network communication overhead and system complexity increase

Engineering Contradiction:
ImprovePlayback synchronizationVSAvoidSynchronization system complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system changes the parameter of time by periodically requesting clock values from synchronization clients and calculating relative lag values. The synchronization server adjusts playback timing by providing target seek times based on these lag calculations, dynamically modifying the time parameter to maintain synchronization without requiring complex structural changes to the system

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Each synchronization client independently provides its clock value to the server and receives target seek times in response. The client then autonomously adjusts its playback timing based on the received target seek times without requiring direct coordination with other clients. This self-service approach reduces system complexity by distributing the synchronization adjustment responsibility to individual clients

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11632583B2System and process for synchronized media play
Publication Date: 2023.04.18 EARBUDS INC
  • US11632583B2 patent drawing
  • US11632583B2 patent drawing
  • US11632583B2 patent drawing

AI summary

Embodiments include processes for media object rendering, including the steps of providing a plurality of clients, the clients including a media client and the clients in communication with a synchronization client, the clients defining a synchronization group. The media clients include instructions for receiving media object content over a network from a content server, rendering the media object content, and random access to the media object content in response to synchronization client seek time instructions. The synchronization client includes instructions to calculate a relative lag and provide seek time instructions to the media clients for a media object being rendered, the relative lag being a running measurement of its offset relative to the synchronization server's clock. The synchronization client periodically queries the clock of a synchronization server. The synchronization server responds to the synchronization client queries with internal clock value as a timestamp and a timestamp for a target time reference within said media object content for the synchronization group, whereby the synchronization client provides seek time to its paired media clients for the media client to move to that offset, establishing and maintaining playback synchronization among the synchronization group.