Synchronization of audio and video signals from remote sources over the internet
First Claim
Patent Images
1. A means for providing synchronous delivery and playback of three or more electronic audio or video files from multiple clients, having differing arrival latencies, from clients from multiple locations communicating through the internet, during an on-line session, the synchronous delivery and playback means comprising:
- a. a session server having a list of Network Time Protocol (NTP) servers, the list is passed to each client through the internet so that each client can acquire its own time reference;
b. a client application, said client application connecting each client to each other and to the session server, each client utilizing a formalized Internet time standard, said Internet time standard being the NTP, each client having an NTP clock which is shared with all clients;
c. a timing mechanism, said timing mechanism adjusting each client'"'"'s NTP timestamp in the client application of all clients; and
d. a file calibrating mechanism in each client application, said file calibrating mechanism having a buffer, a mixer, and a n offset NTP timestamp, said buffer having a means for analyzing the difference in arrival latencies of streams by all clients, and a means for synchronizing the streams, by which the arrival latency of any client'"'"'s stream may be increased so that all streams by all clients arrive at the same time, and said mixer returns each stream to all clients, and said adjusted timestamp from all clients being the timing means of each stream.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention is an architecture and technology for a method for synchronizing multiple streams of time-based digital audio and video content from separate and distinct remote sources, so that when the streams are joined, they are perceived to be in unison.
-
Citations
13 Claims
-
1. A means for providing synchronous delivery and playback of three or more electronic audio or video files from multiple clients, having differing arrival latencies, from clients from multiple locations communicating through the internet, during an on-line session, the synchronous delivery and playback means comprising:
-
a. a session server having a list of Network Time Protocol (NTP) servers, the list is passed to each client through the internet so that each client can acquire its own time reference; b. a client application, said client application connecting each client to each other and to the session server, each client utilizing a formalized Internet time standard, said Internet time standard being the NTP, each client having an NTP clock which is shared with all clients; c. a timing mechanism, said timing mechanism adjusting each client'"'"'s NTP timestamp in the client application of all clients; and d. a file calibrating mechanism in each client application, said file calibrating mechanism having a buffer, a mixer, and a n offset NTP timestamp, said buffer having a means for analyzing the difference in arrival latencies of streams by all clients, and a means for synchronizing the streams, by which the arrival latency of any client'"'"'s stream may be increased so that all streams by all clients arrive at the same time, and said mixer returns each stream to all clients, and said adjusted timestamp from all clients being the timing means of each stream. - View Dependent Claims (2)
-
-
3. An apparatus to provide synchronous delivery and playback of three or more electronic audio or video files from multiple clients, having differing arrival latencies, from clients from multiple locations communicating through the Internet, during an on-line session, the synchronous delivery and playback apparatus comprising:
-
a. a session server having a list of Network Time Protocol (NTP) servers, the list is passed to each client through the internet so that each client can acquire its own time reference; b. a client application, said client application connecting each client to each other and to the session server, each client utilizing a formalized Internet time standard, said Internet time standard being the NTP, each client having an NTP clock which is shared with all clients; c. a timing mechanism, said timing mechanism adjusting each client'"'"'s NTP timestamp in the client application of all clients; and d. a file calibrating mechanism in each client application, said file calibrating mechanism having a buffer, a mixer, and an offset NTP timestamp, said buffer having a means for analyzing the difference in arrival latencies of streams by all clients, and a means for synchronizing the streams, by which the arrival latency of any client'"'"'s stream may be increased so that all streams by all clients arrive at the same time, and said mixer returns each stream to all clients, and said adjusted timestamp from all clients being the timing means of each stream. - View Dependent Claims (4, 5, 6, 7, 8)
-
-
9. A method to provide synchronous delivery and playback of three or more electronic audio or video files from multiple clients, having differing arrival latencies, from clients from multiple locations, during an on-line session, the synchronous delivery and playback method comprising:
-
a. creating a session on each client; b. allowing clients to request to join the session; c. approving or denying the client'"'"'s request to join the session; d. acquiring a Network Time Protocol (NTP) server and timestamp; e. only after approval, joining the client to the session and time stamping the participant'"'"'s session; f. enabling a client application, the client application calculating the NTP server'"'"'s timestamp and factoring in a delay time; g. starting an NTP clock, the clock synchronized to the timestamp of its chosen NTP serve and is given to all clients; h. connection by the client application to the client application of the other participants and determination of each client'"'"'s time differentials; i. adjusting constantly the NTP timestamps to the changes in the network conditions; j. buffering and synchronizing the clients'"'"' multimedia streams so that all streams are transmitted so as to arrive at the same time as the slowest stream; k. creating a time stamped stream, said time stamped stream is buffered and synchronized multimedia streams; l. utilizing the embedded time stamp within the transmitted streams to determine which stream has the greatest latency as compared to its ow NTP timestamp; m. decoding all streams as they arrive at each client; n. designating the stream with the greatest latency as the delay reference stream; o. buffering all other streams until each stream'"'"'s time stamp matches that of the delay reference stream; and p. rendering the all outgoing streams to all clients such that the client with the least latency receives its stream at the same time as the participant with the greatest latency. - View Dependent Claims (10, 11, 12, 13)
-
Specification