Synchronization of one or more source RTP streams at multiple receiver destinations
First Claim
1. A method comprising:
- synchronizing to a common reference timeframe between a sender node and a plurality of receiver nodes connected over a packet-based network;
sending, by the sender node, Real-Time Protocol (RTP) frames to the receiver nodes via a multicast transport or multiple unicast transports;
sending, by the sender node, an RTP Control Protocol (RTCP) sender report (SR) to each receiver node, the RTCP SR containing an offset value, each receiver node rendering each of the RTP frames at a rendering time approximately equal to a sampling time of each RTP frame, as measured in units of the common reference timeframe, plus the offset value, the offset value being greater than a maximum delay between a sample time of an RTP frame at the sender node and a rendering time of the RTP frame at any of the receiver nodes;
receiving receiver messages from each receiver node, each receiver message containing associated rendering delay information;
computing a maximum current rendering delay from the rendering delay information received from the receiver nodes;
adjusting the offset value to be substantially equal to the maximum current rendering delay; and
sending, by the sender node, a new RTCP SR to each receiver node that contains the adjusted offset value.
1 Assignment
0 Petitions
Accused Products
Abstract
In one embodiment, a method includes synchronizing to a common reference timeframe between a sender node and a plurality of receiver nodes connected over a packet-based network. The sender node sends Real-Time Protocol (RTP) frames to the receiver nodes, and also sends a RTP Control Protocol (RTCP) sender report to each receiver node that contains a rendering offset value, each receiver node rendering the RTP frames at a render time equal to a sampling time in units of the common reference timeframe plus the rendering offset value. It is emphasized that this abstract is provided to comply with the rules requiring an abstract that will allow a searcher or other reader to quickly ascertain the subject matter of the technical disclosure.
-
Citations
7 Claims
-
1. A method comprising:
-
synchronizing to a common reference timeframe between a sender node and a plurality of receiver nodes connected over a packet-based network; sending, by the sender node, Real-Time Protocol (RTP) frames to the receiver nodes via a multicast transport or multiple unicast transports; sending, by the sender node, an RTP Control Protocol (RTCP) sender report (SR) to each receiver node, the RTCP SR containing an offset value, each receiver node rendering each of the RTP frames at a rendering time approximately equal to a sampling time of each RTP frame, as measured in units of the common reference timeframe, plus the offset value, the offset value being greater than a maximum delay between a sample time of an RTP frame at the sender node and a rendering time of the RTP frame at any of the receiver nodes; receiving receiver messages from each receiver node, each receiver message containing associated rendering delay information; computing a maximum current rendering delay from the rendering delay information received from the receiver nodes; adjusting the offset value to be substantially equal to the maximum current rendering delay; and sending, by the sender node, a new RTCP SR to each receiver node that contains the adjusted offset value.
-
-
2. The method of claim 1 further comprising adjusting the sampling time to compensate for skew between a sampling timeframe of the sender node and a rendering timeframe of a receiver nods.
-
3. The method of claim 1, wherein the rendering delay information comprises an amount of time, in units of the common reference timeframe, between the sampling time and the rendering time.
-
4. The method of claim 1, wherein the receiver message comprises an RTP Control Protocol (RTCP) receiver report (SR).
-
5. A non-transitory computer readable medium encoded with a computer program, when executed the computer program operable to:
-
synchronize a sender node to a common reference timeframe, a plurality of receiver nodes connected with the sender node over a packet-based network also being synchronized to the common reference timeframe; send Real-Time Protocol (RTP) frames from the sender node to the receiver nodes; send a RTP Control Protocol (RTCP) sender report to each receiver node that contains an offset value, each receiver node rendering each of the RTP frames at a render time approximately equal to a sampling time of the RTP frames, as measured in units of the common reference timeframe, plus the offset value, the offset value being greater than a maximum delay between a sample time of an RTP frame at the sender node and a rendering time of the RTP frame at any of the receiver nodes; receive RTCP receiver reports from each receiver node, each RTCP receiver report containing associated sample-to-render delay information; compute a maximum current sample-to-render delay from the sample-to-render delay information received from the receiver nodes; adjust the offset value to be substantially equal to the maximum current sample-to-render delay; and send a new RTP Control Protocol (RTCP) sender report to each receiver node that contains the adjusted offset value.
-
-
6. The non-transitory computer readable medium of claim 5 wherein the RTP frames are sent via a multicast transport or multiple unicast transports.
-
7. A system comprising:
-
a source operable to synchronize a common reference timeframe using a time synchronization protocol; a plurality of receivers; wherein the source is operable to send a Real-Time Protocol (RTP) stream containing RTP frames over a packet-based network to the receivers, and send a RTP Control Protocol (RTCP) sender report to each receiver node that contains a rendering offset value, each receiver being operable to synchronize to a common reference timeframe using the time synchronization protocol and to render each of the RTP frames at a render time equal to a sampling time, as measured in units of the common reference timeframe, of each of the RTP frames plus the rendering offset value, the rendering offset value being greater than a maximum rendering delay of any of the receivers; and each receiver being further operable to send an RTCP receiver report to the source, the RTCP receiver report containing rendering delay information that includes a current sample-to-render delay, the source being further operable to adjust the offset value based on the current sample-to-render delay of each receiver, and to send a new RTCP sender report to each receiver that contains the adjusted offset value, the receivers applying the adjusted offset value to generate a new render time.
-
Specification