Clock synchronization for shared media playback
US-9094564-B2 · Jul 28, 2015 · US
US2017041357A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2017041357-A1 |
| Application number | US-201514820363-A |
| Country | US |
| Kind code | A1 |
| Filing date | Aug 6, 2015 |
| Priority date | Aug 6, 2015 |
| Publication date | Feb 9, 2017 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems and methods are described herein for providing a virtual conference using a master device implemented with a personal communication device (PCD), including determining, by the master device, a latency for each of a plurality of satellite devices connected to the master device. The master device then determines an uplink buffer duration based on a difference between a highest latency and a lowest latency among the plurality of satellite devices. The master device determines a processing time for an uplink data packet, the processing time being determined based, at least in part, on the uplink buffer duration. The master device then performs signal processing at the processing time for the received uplink data packets.
Opening claim text (preview).
What is claimed is: 1 . A method for providing a virtual conference using a master device implemented with a personal communication device (PCD), comprising: determining, by a processor of the master device, a latency for each of a plurality of satellite devices connected to the master device; determining, by the processor of the master device, an uplink buffer duration based, at least in part, on a difference between a highest latency and a lowest latency among the plurality of satellite devices; determining, by the processor of the master device, a processing time for an uplink data packet, the processing time being determined based, at least in part, on the uplink buffer duration; and performing, by the processor of the master device, signal processing at the processing time for the received uplink data packets. 2 . The method of claim 1 , further comprising receiving the uplink data packet and an uplink timestamp associated with the uplink data packet from each of the plurality of satellite devices, wherein determining the processing time further comprises determining a processing time for the uplink data packet further based, at least in part, on the uplink timestamp associated with the uplink data packet. 3 . The method of claim 2 , wherein the latency is determined by calculating a generation timestamp and a receiving timestamp of a previously-generated uplink data packet or a test packet. 4 . The method of claim 3 , wherein the generation timestamp is the uplink timestamp of the previously-generated uplink data packet or a test packet. 5 . The method of claim 1 , wherein the uplink buffer duration is a predetermined margin plus the difference between the highest latency and the lowest latency. 6 . The method of claim 5 , wherein the margin is a frame. 7 . The method of claim 2 , further comprising generating, by the processor of the master device, an uplink data packet at the same uplink timestamp, wherein the processing time determined correspond to the uplink data packet generated by the master device. 8 . The method of claim 7 , wherein the signal processing is performed at the processing time for the received uplink data packets received from the satellite devices and the uplink data packet generated by the master device. 9 . The method of claim 1 , wherein the signal processing comprises one or both of channel selection or channel mixing of at least the uplink data packets received from the satellite devices. 10 . The method of claim 3 , wherein the processing time is the uplink timestamp plus the uplink buffer duration. 11 . The method of claim 3 , wherein: the latency comprises a network-related latency and a local framework latency; and the uplink timestamp is adjusted for the local framework latency. 12 . The method of claim 11 , wherein the local framework latency may be determined by: outputting an audio bit stream at a generation timestamp; capturing sound signals including the bit stream outputted at a receiving timestamp; and determining the local framework latency based on a difference between the receiving timestamp and the generation timestamp. 13 . The method of claim 12 , wherein the bit stream is captured at the receiving timestamp when at least a portion of a pattern of the captured sound signals match with a pattern of the outputted bit stream at the receiving timestamp. 14 . The method of claim 1 , further comprising: determining an ambience noise level associated with the master device; and proceeding with the latency determination, uplink buffer determination, uplink data reception, processing time determination, and signal processing when the ambience noise level is below a predetermined threshold. 15 . The method of claim 14 , further comprising prompting the user to move to a quiet location when the ambience noise level is above the predetermined threshold. 16 . The method of claim 1 , wherein the uplink data packet is at least one of an audio packet or video packet. 17 . A non-transitory computer-readable medium having computer-readable instructions such that, when executed by a processor of a master device implemented with a personal communication device (PCD), cause the processor to perform a process for providing a virtual conference, comprising: determining a latency for each of a plurality of satellite devices connected to the master device; determining an uplink buffer duration based, at least in part, on a difference between a highest latency and a lowest latency among the plurality of satellite devices; determining a processing time for an uplink data packet, the processing time being determined based, at least in part, on the uplink buffer duration; and performing signal processing at the processing time for the received uplink data packets. 18 . The non-transitory computer-readable medium of claim 17 , wherein the process further comprises receiving the uplink data packet and an uplink timestamp associated with the uplink data packet from each of the plurality of satellite devices, wherein determining the processing time further comprises determining a processing time for the uplink data packet further based, at least in part, on the uplink timestamp associated with the uplink data packet. 19 . The non-transitory computer-readable medium of claim 18 , wherein the latency is determined by calculating a generation timestamp and a receiving timestamp of a previously-generated uplink data packet or a test packet. 20 . The non-transitory computer-readable medium of claim 19 , wherein the generation timestamp is the uplink timestamp of the previously-generated uplink data packet or a test packet. 21 . The non-transitory computer-readable medium of claim 17 , wherein the uplink buffer duration is a predetermined margin plus the difference between the highest latency and the lowest latency. 22 . The non-transitory computer-readable medium of claim 18 , the process further comprises generating an uplink data packet at the same uplink timestamp, wherein the processing time is also determined for the uplink data packet generated by the master device. 23 . The non-transitory computer-readable medium of claim 22 , wherein signal processing is performed at the processing time for the received uplink data packets received from the satellite devices and the uplink data packet generated by the master device. 24 . The non-transitory computer-readable medium of claim 17 , wherein the signal processing comprises one or both of channel selection or channel mixing of at least the uplink data packets received from the satellite devices. 25 . A method for providing a virtual conference using a satellite device implemented with a personal communication device (PCD), comprising: obtaining, by a processor of the master device, a time offset with respect to a master clock maintained by a master device without changing a system clock of the satellite device; determining, by the processor of the master device, a first timestamp associated with an uplink data packet, wherein the first timestamp corresponds to the system clock of the satellite device; converting, by the processor of the master device, the first timestamp to a second timestamp using the time offset, wherein the second timestamp corresponds to the master clock; and transmitting, by the processor of the master device, the uplink data packet with the second timestamp to the
Arrangements for multi-party communication, e.g. for conferences (data switching systems for conference H04L12/18; arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities H04M3/56; television conferencing systems H04N7/15) · CPC title
where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference · CPC title
Delays · CPC title
Network arrangements for conference optimisation or adaptation · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.