IP Library › Granted Patent US 12,348,605
Granted Patent B1
US 12,348,605 · App. 18/419,360 · Granted Jul 1, 2025

Method and system for time-aligned media playback

Inventors: Stephen E. Pinto (Mountain View, CA); Yasser Rihan (Redwood City, CA)
Assignee: Apple Inc.
H04L7/0008G06F3/165H04L7/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,348,605
App. No.
18/419,360
Granted
Jul 1, 2025
Kind
B1
Abstract

A method performed by a first electronic device. The method generates, at the first electronic device that is sharing a global clock with a second electronic device, a first timebase information that includes a first timebase that defines a relationship between the shared clock and an internal clock of the first electronic device, the first timebase information for synchronizing playback of a first piece of media content associated with a first application between the first and second electronic devices. The method receives, from a second application, a second timebase information that includes a second timebase that defines a relationship between the first timebase and a second piece of media content, generates a third timebase information that includes the first timebase and the second timebase, and transmits the third timebase information to the second electronic device.

Claims (46)

1. A method comprising:

receiving, from a first application that is being executed on a first electronic device, timebase information that includes a first timebase that defines a relationship between a playback state of audio content of the first application and an internal clock of the first electronic device or another timebase;

receiving metadata that indicates a logical function that is to be performed by a second application;

generating, based on the metadata, a second timebase that defines a relationship between the first timebase and a performance of the logical function by the second application; and

providing the second timebase to the first application.

2. The method of claim 1 , wherein the performance of the logical function comprises displaying an image or animation, wherein the second timebase is configured to synchronize the playback state of the audio content with the displaying of the image or animation.

3. The method of claim 1 , wherein the metadata is associated with the second application that is configured to perform the logical function, wherein the second timebase is provided, by the second application, to the first application that is being executed on the first electronic device via an application programming interface (API).

4. The method of claim 3 , wherein providing the second timebase comprises:

establishing, by the second application that is being executed on a second electronic device, a communication data link via the API; and

transmitting, over the communication data link, the second timebase to the first electronic device.

5. The method of claim 1 , wherein the method is performed by the second application that is a third-party application with respect to the first application that is being executed by the first electronic device.

6. The method of claim 1 , wherein the second timebase synchronizes the playback state of the audio content with the performance of the logical function on the first electronic device and a second electronic device, wherein the method further comprises:

after providing the second timebase, adjusting the relationship between the first timebase and the performance of the logical function; and

providing the second timebase with the adjusted relationship to the first application to resynchronize the playback state of the audio content with the performance of the logical function on the first and second electronic devices.

7. The method of claim 1 further comprising determining an alignment to perform the logical function with respect to the playback state of the audio content to synchronize the performance of the logical function with the audio content during playback by the first electronic device and a second electronic device, wherein the second timebase is generated based on the determined alignment.

8. A first electronic device, comprising:

at least one processor; and

memory that has instructions which when executed by the at least one processor causes the first electronic device to:

receive, from a first application that is being executed on the first electronic device, timebase information that includes a first timebase that defines a relationship between a playback state of audio content of the first application and an internal clock of the first electronic device or another timebase;

receive metadata that indicates a logical function that is to be performed by a second application;

generate, based on the metadata, a second timebase that defines a relationship between the first timebase and a performance of the logical function by the second application; and

provide the second timebase to the first application.

9. The first electronic device of claim 8 , wherein the performance of the logical function comprises displaying an image or animation, wherein the second timebase is configured to synchronize the playback state of the audio content with the displaying of the image or animation.

10. The first electronic device of claim 8 , wherein the metadata is associated with the second application that is configured to perform the logical function, wherein the second timebase is provided, by the second application, to the first application that is being executed on the first electronic device via an application programming interface (API).

11. The first electronic device of claim 10 , wherein the second timebase is provided by:

establishing a communication data link via the API; and

transmitting, over the communication data link, the second timebase to the first electronic device.

12. The first electronic device of claim 8 , wherein operations of receiving the timebase information, receiving the metadata, generating the second timebase, and providing the second timebase are performed by the second application that is a third-party application with respect to the first application that is being executed by the first electronic device.

13. The first electronic device of claim 8 , wherein the second timebase synchronizes the playback state of the audio content with the performance of the logical function on the first electronic device and a second electronic device, wherein the memory comprises further instructions to:

after providing the second timebase, adjust the relationship between the first timebase and the performance of the logical function; and

provide the second timebase with the adjusted relationship to the first application to resynchronize the playback state of the audio content with the performance of the logical function on the first and second electronic devices.

14. The first electronic device of claim 8 , wherein the memory comprises further instructions to determine an alignment to perform the logical function with respect to the playback state of the audio content to synchronize the performance of the logical function with the audio content during playback by the first electronic device and a second electronic device, wherein the second timebase is generated based on the determined alignment.

15. A non-transitory machine-readable storage medium comprising instructions stored therein that configure an electronic device to:

receive, from a first application that is being executed on a first electronic device, timebase information that includes a first timebase that defines a relationship between a playback state of audio content of the first application and an internal clock of the first electronic device or another timebase;

receive metadata that indicates a logical function that is to be performed by a second application;

generate, based on the metadata, a second timebase that defines a relationship between the first timebase and a performance of the logical function by the second application; and

provide the second timebase to the first application.

16. The non-transitory machine-readable storage medium of claim 15 , wherein the performance of the logical function comprises displaying an image or animation, wherein the second timebase is configured to synchronize the playback state of the audio content with the displaying of the image or animation.

17. The non-transitory machine-readable storage medium of claim 15 , wherein the metadata is associated with the second application that is configured to perform the logical function, wherein the second timebase is provided, by the second application, to the first application that is being executed on the first electronic device via an application programming interface (API).

18. The non-transitory machine-readable storage medium of claim 17 , wherein providing the second timebase comprises:

establishing, by the second application that is being executed on a second electronic device, a communication data link via the API; and

transmitting, over the communication data link, the second timebase to the first electronic device.

19. The non-transitory machine-readable storage medium of claim 15 , wherein the second timebase synchronizes the playback state of the audio content with the performance of the logical function on the first electronic device and a second electronic device, wherein the non-transitory machine-readable storage medium comprises further instructions to:

after providing the second timebase, adjust the relationship between the first timebase and the performance of the logical function; and

provide the second timebase with the adjusted relationship to the application to resynchronize the playback state of the audio content with the performance of the logical function on the first and second electronic devices.

20. The non-transitory machine-readable storage medium of claim 15 comprises further instructions to determine an alignment to perform the logical function with respect to the playback state of the audio content to synchronize the performance of the logical function with the audio content during playback by the first electronic device and a second electronic device, wherein the second timebase is generated based on the determined alignment.

Continuity (3)
Division 17530306 · Nov 18, 2021
Continuation In Part 17478712 · Sep 17, 2021
Provisional Application 63083784 · Sep 25, 2020
References Cited (29)
US 7765315B2 · Batson et al. · 2010 [cited by applicant]
US 8694670B2 · Batson et al. · 2014 [cited by applicant]
US 8762580B2 · Rajapakse · 2014 [cited by applicant]
US 9300713B2 · Wang et al. · 2016 [cited by applicant]
US 9979998B1 · Pogue et al. · 2018 [cited by applicant]
US 10237008B2 · Butterworth et al. · 2019 [cited by applicant]
US 10313041B2 · Butterworth et al. · 2019 [cited by applicant]
US 11924317B1 · Pinto et al. · 2024 [cited by applicant]
US 20060280182A1 · Williams et al. · 2006 [cited by applicant]
US 20080168470A1 · Bushell et al. · 2008 [cited by applicant]
US 20080174662A1 · Choi · 2008 [cited by examiner]
US 20120219099A1 · Loukianov · 2012 [cited by applicant]
US 20130117597A1 · Batson et al. · 2013 [cited by applicant]
US 20150049248A1 · Wang · 2015 [cited by examiner]
US 20170180803A1 · Lee et al. · 2017 [cited by applicant]
US 20180196393A1 · Oda et al. · 2018 [cited by applicant]
US 20180350374A1 · Butterworth et al. · 2018 [cited by applicant]
US 20190324713A1 · Millington · 2019 [cited by applicant]
US 20210104211A1 · John et al. · 2021 [cited by applicant]
US 20210243716A1 · Ma et al. · 2021 [cited by applicant]
US 20210405962A1 · Mackay et al. · 2021 [cited by applicant]
US 20210409138A1 · Galuten · 2021 [cited by applicant]
US 20220030214A1 · Sinharoy et al. · 2022 [cited by applicant]
US 20230103012A1 · Zinner · 2023 [cited by applicant]
US 20230214025A1 · Lessman et al. · 2023 [cited by applicant]
EP 1758308A1 · 2007 [cited by applicant]
WO 2016207428A1 · 2016 [cited by applicant]
https://developer.apple.com/videos/play/wwdc2019/603/—Introducing Realitykit and Reality Composer, 2019. [cited by applicant]
https://developer.apple.com/documentation/realitykit/synchronizationservice—Apple's Realitykit Synchroniztion Service, 2019. [cited by applicant]