An Apple patent (number 8239748) for a synchronization manager synchronizes multiple media streams. has appeared at the U.S. Patent & Trademark Office. It relates to synchronization of media streams, and more specifically to utilizing clocks on multiple media devices and on a single host to synchronize multiple media streams.
The synchronization manager queries a media stream output device associated with each media stream to synchronize, and in response receives the current device clock time of each device, each device's next available media stream output time, and each device's delta between available media stream output times. The synchronization manager uses this timing information to determine an earliest available media stream output time common to each media stream output device, and synchronizes the output of the media streams by providing each stream to its associated output device at the earliest available common output time.
Here's Apple's background on the invention: "In a multimedia environment, it is often necessary to synchronize multiple streams of data (e.g., a video stream and an audio stream). Although synchronizing video with audio is a common example, such a challenge occurs whenever it is desired to simultaneously output at least two streams of data of any type that is metered by time.
"Although it is desirable to start each stream at the same time, simply simultaneously sending each media stream to its physical output hardware will not necessarily ensure synchronization. Physical output devices typically have constraints binding available output start times. For example, a video output device can only begin outputting received data at the beginning of a vertical synchronization cycle.
"Other devices such as audio are somewhat more flexible, but still have some inherent latency between the time data is received and the subsequent output time. Latency and constraints on possible output start times are a function of the specific hardware, and thus vary a great deal, not only between media types, but also from device to device.
"When the video and audio streams are output by a common device, synchronization can be achieved by the associated device driver delaying the audio output until a vertical synchronization cycle begins, adjusted for the time of the audio output latency. However, this solution only works for a single device. The synchronizing device driver is not aware of other output devices, and the other output devices and their controlling software have no information concerning the operations of the synchronizing device driver.
"What is needed are methods, systems and computer program products that synchronize multiple media streams, even where the media streams are processed by separate devices."
The inventors are Jeff Moore, Jean-michael Berthoud and Tim Cherma.
° Patent number 8239749 is for allowing a graphics object to be expressed using procedural language embedded in a markup language document.
° Patent number 8239867 is for techniques for implementing an atomic FIFO queue and system for processing queue elements.
° Patent number 8238608 is for a computer-implemented method including receiving input specifying an image frame from among a series of image frames, and automatically detecting one or more points in the specified image frame that would be suitable for tracking a point in the series of image frames.
° Patent number 8238831 is for mitigating interference in a mobile wireless communication device by using an estimation of the performance impact of interfering signals generated by a wireless cellular transmitter and received by a co-located Bluetooth receiver.
° Patent number 8238811 is for an authentication controller coupled to a first communication port of a portable media device to provide authentication on behalf of an accessory device coupled to a second communication port of the portable media device.
° Patent number 8238482 is for a technique for performing channel tracking and/or channel estimation in a wireless communication device includes receiving a reference signal and one or more non-error propagation physical channel signals.
° Patent number 8238087 is for the design of a portable computing device that can take many forms such as a laptop computer, a tablet computer, and so on. The portable computing device can include a single piece housing and a display module.
° Patent number 8237087 is for methods for operating a built-in digital camera of a portable, handheld electronic device.
° Patent number 8238893 is for techniques for controlling a portable media device having a radio frequency tuner. (Think the iPod nano).
° Patent number 8239153 is for dynamic compass calibration in a portable device.
° Patent number 823504 is for systems, methods and computer readable media for synchronization of electronic message accounts.
° Patent number 8239605 is for an interface and protocol that allow a media player to communicate with external accessories over a transport link.
° Patent number 8239605 is for allowing a host device and an accessory to exchange information (e.g., commands and data) via an intermediate device.