Synthesized Audio Clock Synchronization Without System Clock Drift

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for synchronized audio or video playback in peer-to-peer computer networks lack accuracy and require synchronization of system clocks or specialized hardware, leading to imprecise timing across devices.

Innovation Solution

The implementation of a virtual clock system that synchronizes audio/video devices without relying on primary system clocks, using a helper clock for extrapolation and sample rate adjustment, allowing direct synchronization between audio clocks and enabling precise timing without specialized hardware.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If system clocks are synchronized across devices, then playback synchronization can be achieved, but synchronization accuracy deteriorates due to system clock drift and lack of precision

Engineering Contradiction:
Improvesynchronization accuracyVSAvoidclock timing precision
Core Design Contradiction:
ReliabilityVSMeasurement precision

Solution Approach 1:

The patent introduces an audio clock as an intermediary timing reference that operates independently from system clocks. Each device generates its own audio clock based on the audio stream's sample rate, and synchronization is achieved by exchanging audio clock timestamps between devices. This intermediary audio clock mechanism eliminates direct dependence on imprecise system clocks while maintaining reliable synchronization across the network.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If specialized hardware is used for each node, then synchronization precision is improved, but device complexity and cost increase

Engineering Contradiction:
Improvetiming precisionVSAvoidhardware requirements
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent replaces specialized hardware clocking systems with a software-based audio clock synthesis approach. Instead of requiring dedicated hardware timers or clock generators at each node, the system uses the audio software pipeline to generate and synchronize timestamps. The audio clock is synthesized from the audio stream's sample rate information, eliminating the need for complex hardware while maintaining precise timing through software-controlled timestamp generation and exchange.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Ease of operation

If system clock adjustments are made for synchronization, then playback coordination is improved, but audio quality deteriorates due to resampling and timing disruptions

Engineering Contradiction:
Improveplayback coordinationVSAvoidaudio playback precision
Core Design Contradiction:
Ease of operationVSManufacturing precision

Solution Approach 1:

The patent segments the timing function into two independent components: system clock operations and audio clock operations. The audio clock is derived separately from the audio stream's sample rate rather than being tied to system clock adjustments. This segmentation allows playback coordination to be achieved through audio clock timestamp exchange without disrupting the audio rendering pipeline, preventing resampling artifacts and timing disruptions that would otherwise degrade audio quality.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10979757B2Synchronization with synthesized audio clock
Publication Date: 2021.04.13 ROKU INC
  • US10979757B2 patent drawing
  • US10979757B2 patent drawing
  • US10979757B2 patent drawing

AI summary

The invention provides a method for providing a synchronization in a computer network for synchronized playback of audio an/or video by a plurality of separate devices. Each separate device generates a virtual clock in response to a timing of the audio codec of a received audio stream. Especially, segmented time is used as reference time. Either the virtual clock is generated directly in response to the tick counter of the audio codec, or by a periodic measurement of the timing of the audio codec extrapolated by a monotonic clock. A sample rate converter may be used to slightly adjust the frequency of the virtual clock.