Local Audio Caching for Synchronous Playback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributing high-resolution audio content to multiple wireless playback devices via wireless networks is prone to network congestion, leading to audio playback 'drop out' due to significantly higher transmission bandwidth requirements compared to standard-resolution audio, causing susceptibility to delays and incomplete packet delivery.

Innovation Solution

Implementing a local audio caching system where each playback device in a group maintains a cache of audio tracks, allowing the group coordinator to transmit playback timing instead of the actual audio content when the track is already cached, reducing network bandwidth and routing resource consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If high-resolution audio content is distributed via wireless networks to multiple playback devices, then audio quality is improved, but network bandwidth consumption increases significantly causing congestion and playback dropouts

Engineering Contradiction:
Improveaudio qualityVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
Measurement precisionVSLoss of energy

Solution Approach 1:

The system pre-distributes high-resolution audio content to local caches of playback devices before actual playback. When a track is cached locally, only lightweight playback timing data needs to be transmitted over the network during playback, rather than continuously streaming the full audio content. This preliminary caching action resolves the contradiction by enabling high-quality audio reproduction while dramatically reducing real-time network bandwidth consumption.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If audio content is continuously streamed to multiple playback devices, then synchronized playback is maintained, but network routing resources are overwhelmed causing delays and incomplete packet delivery

Engineering Contradiction:
Improvesynchronized playbackVSAvoidnetwork routing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The invention extracts the audio content transmission from the real-time playback process by pre-caching audio tracks locally at each playback device. During synchronized playback, only essential timing synchronization data is transmitted over the network, while the actual audio content is played from local caches. This separation resolves the contradiction by maintaining reliable synchronized playback through timing data while preserving network routing efficiency by eliminating continuous audio content streaming.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If high-resolution audio is transmitted to multiple devices simultaneously, then groupwise playback capability is enabled, but transmission bandwidth requirements cause network congestion

Engineering Contradiction:
Improvegroupwise playback capabilityVSAvoidtransmission bandwidth
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The system creates local copies of audio tracks in the cache memory of each playback device within the group. Once cached, these local copies enable each device to play high-resolution audio independently while the group coordinator transmits only timing synchronization data. This copying approach resolves the contradiction by enabling versatile groupwise playback functionality while minimizing transmission bandwidth requirements to only the essential timing data.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20230317118A1Audio Caching for Synchronous Playback
Publication Date: 2023.10.05 SONOS INC
  • US20230317118A1 patent drawing
  • US20230317118A1 patent drawing
  • US20230317118A1 patent drawing

AI summary

Disclosed embodiments include a playback device configured to: (i) maintain a cache comprising a plurality of tracks, wherein an individual track comprises a series of frames, and an individual frame comprises a portion of audio; (ii) after receiving a request to play a particular track, determining whether the particular track is in the cache at the playback device; (iii) when the particular track is in the cache at the playback device, (a) identify playback timing for each frame of the series of frames stored in the cache based at least in part on a current clock time of a clock at the playback device, and (b) play individual frames in the series of frames according to the playback timing for the individual frames; and (iv) when the particular track is not in the cache, obtain the particular track from an audio information source.