Using a plurality of buffers to provide audio for synchronized playback to multiple audio devices having separate device clocks

US9569169B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9569169-B2
Application numberUS-201514930601-A
CountryUS
Kind codeB2
Filing dateNov 2, 2015
Priority dateJun 25, 2004
Publication dateFeb 14, 2017
Grant dateFeb 14, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

According to one embodiment, a media system communicates with an aggregate device that includes multiple media output devices. When providing media data for presentation, the system adjusts for device clock drift by resampling the media data provided to a media output device based at least in part on a device clock rate difference between a device clock of one of the media output devices and a device clock of another of the media output devices.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method comprising: reading, by a device-side audio handling input/output unit (DIO) of an audio playback device, audio data from a buffer at a DIO position of the buffer during playing back audio from the buffer; wrapping the DIO position to a start of the buffer upon reaching an end of the buffer; generating timestamp information usable by a system-side audio handling input/output unit (SIO) to estimate the DIO position, the timestamp information including a clock time of a central processing unit (CPU) clock of the SIO and an indication of which audio samples have been processed by the DIO; and providing the timestamp information by the DIO to the SIO. 2. The method of claim 1 , wherein the buffer is a ring buffer. 3. The method of claim 1 , wherein the SIO is an audio hardware abstraction layer provided in a core audio framework of an operating system. 4. The method of claim 1 , wherein generating the timestamp information occurs at time the DIO performs the wrapping. 5. The method of claim 1 , wherein the timestamp information is further usable by the SIO to determine an insertion point, the insertion point including a point at which to insert audio data with the buffer. 6. An audio playback device comprising: a device-side audio handling input/output unit (DIO); and a non-transitory computer-readable medium storing instructions operable to cause the DIO to perform operations comprising: reading audio data from a buffer at a DIO position of the buffer during playing back audio from the buffer; wrapping the DIO position to a start of the buffer upon reaching an end of the buffer; generating timestamp information usable by a system-side audio handling input/output unit (SIO) to estimate the DIO position, the timestamp information including a clock time of a central processing unit (CPU) clock of the SIO and an indication of which audio samples have been processed by the DIO; and providing the timestamp information by the DIO to the SIO. 7. The audio playback device of claim 6 , wherein the buffer is a ring buffer. 8. The audio playback device of claim 6 , wherein the SIO is an audio hardware abstraction layer provided in a core audio framework of an operating system. 9. The audio playback device of claim 6 , wherein generating the timestamp information occurs at time the DIO performs the wrapping. 10. The audio playback device of claim 6 , wherein the timestamp information is further usable by the SIO to determine an insertion point, the insertion point including a point at which to insert audio data with the buffer. 11. A non-transitory computer-readable medium storing instructions operable to cause a device-side audio handling input/output unit (DIO) to perform operations comprising: reading, by a device-side audio handling input/output unit (DIO) of an audio playback device, audio data from a buffer at a DIO position of the buffer during playing back audio from the buffer; wrapping the DIO position to a start of the buffer upon reaching an end of the buffer; generating timestamp information usable by a system-side audio handling input/output unit (SIO) to estimate the DIO position, the timestamp information including a clock time of a central processing unit (CPU) clock of the SIO and an indication of which audio samples have been processed by the DIO; and providing the timestamp information by the DIO to the SIO. 12. The non-transitory computer-readable medium of claim 11 , wherein the buffer is a ring buffer. 13. The non-transitory computer-readable medium of claim 11 , wherein the SIO is an audio hardware abstraction layer provided in a core audio framework of an operating system. 14. The non-transitory computer-readable medium of claim 11 , wherein generating the timestamp information occurs at time the DIO performs the wrapping. 15. The non-transitory computer-readable medium of claim 11 , wherein the timestamp information is further usable by the SIO to determine an insertion point, the insertion point including a point at which to insert audio data with the buffer.

Assignees

Inventors

Classifications

  • involving video buffer management, e.g. video decoder buffer or video display buffer · CPC title

  • involving special audio data, e.g. different tracks for different languages · CPC title

  • in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title

  • {embedded in a} Personal Computer [PC] · CPC title

  • Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9569169B2 cover?
According to one embodiment, a media system communicates with an aggregate device that includes multiple media output devices. When providing media data for presentation, the system adjusts for device clock drift by resampling the media data provided to a media output device based at least in part on a device clock rate difference between a device clock of one of the media output devices and a …
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/165. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 14 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).