System for dynamic jitter buffer management based on synchronized clocks
First Claim
1. In a packet switched network in which a real-time media signal is encoded into a sequence of packets and the packets are sequentially transmitted over the network from a transmitting-end and destined for a receiving-end, each packet being marked at the transmitting-end with a sender-time based on a first clock signal at the transmitting-end, a method of improving end-to-end communication of said real-time media signal comprising, in combination, at said receiving-end:
- maintaining a second clock signal substantially synchronized to the first clock signal, so that the second clock signal reflects substantially the same time as the first clock signal; and
for each of at least a plurality of incoming packets, retaining said packet for a buffer period, and releasing said packet for play-out in response to said second clock signal indicating a time that is substantially a predetermined delay period after said sender-time.
5 Assignments
0 Petitions
Accused Products
Abstract
A system for dynamically jitter buffering a sequence of packets based on substantially synchronized time signals maintained at the transmitting and receiving ends of a communication system. The time signals may be synchronized, for instance, by equipping both the transmitting and receiving ends with global positioning system receivers. The transmitting end may mark each outgoing packet with a sender-time based on the time signal at the transmitting end. Dynamic jitter buffering may then be provided by scheduling delayed play-out of each packet. For instance, the jitter buffer at the receiving end may be configured to delay play-out of each packet until the time signal at the receiving end indicates a time that is substantially a predetermined end-to-end delay period after the sender-time for the packet.
-
Citations
36 Claims
-
1. In a packet switched network in which a real-time media signal is encoded into a sequence of packets and the packets are sequentially transmitted over the network from a transmitting-end and destined for a receiving-end, each packet being marked at the transmitting-end with a sender-time based on a first clock signal at the transmitting-end, a method of improving end-to-end communication of said real-time media signal comprising, in combination, at said receiving-end:
-
maintaining a second clock signal substantially synchronized to the first clock signal, so that the second clock signal reflects substantially the same time as the first clock signal; and
for each of at least a plurality of incoming packets, retaining said packet for a buffer period, and releasing said packet for play-out in response to said second clock signal indicating a time that is substantially a predetermined delay period after said sender-time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
determining a network transmission delay for said packet, said network transmission delay being based at least in part on a comparison of said sender-time with a receiver-time based on said second clock signal, and setting said buffer period for said packet, said buffer period being based at least in part on a difference between said network transmission delay and said predetermined delay period, whereby, said buffer period may vary from packet to packet based at least in part on a variance in said network transmission delay from packet to packet.
-
-
3. A method as claimed in claim 2, wherein said predetermined delay period is a predetermined end-to-end transmission delay.
-
4. A method as claimed in claim 2, wherein the receiver-time for a given packet identifies a time when said given packet is received at said receiving-end.
-
5. A method as claimed in claim 2, wherein the receiver-time for a given packet identifies a time when said given packet is received by a jitter buffer at said receiving-end.
-
6. A method as claimed in claim 1, wherein the sender-time for a given packet identifies a time when a first sample of payload in said given packet is taken.
-
7. A method as claimed in claim 1, wherein the sender-time for a given packet identifies a time when said given packet is sent to the network from said transmitting-end.
-
8. A method as claimed in claim 1, wherein said network comprises an IP network.
-
9. A method as claimed in claim 1, wherein said real-time media signal comprises a telephony signal.
-
10. A method as claimed in claim 1, wherein said real-time media signal comprises a video signal.
-
11. A method as claimed in claim 1, wherein said real-time media signal comprises a voice-band signal.
-
12. A method as claimed in claim 11, wherein said voice-band signal comprises a fax signal.
-
13. A method as claimed in claim 11, wherein said voice-band signal comprises a modem signal.
-
14. A method as claimed in claim 1, wherein said real-time media signal comprises a voice signal.
-
15. A method as claimed in claim 1, wherein said first clock signal and said second clock signal originate from a common time clock.
-
16. A method as claimed in claim 15, wherein said common time clock provides said first and second clock signals via satellite transmission, and wherein maintaining said second clock signal at said receiving-end comprises receiving said satellite transmission.
-
17. A method as claimed in claim 15, wherein said common time clock is maintained by a global positioning system (GPS), and wherein receiving said satellite transmission comprises employing a GPS receiver.
-
18. A method as claimed in claim 15, wherein said common time clock provides said first and second clock signals via an out-of-band transmission.
-
19. In a packet switched network in which (i) a real-time media signal is encoded into a sequence of packets, (ii) the packets are sequentially transmitted over the network from a transmitting-end and destined for receipt at a receiving-end, each packet being marked at the transmitting-end with a sender-time based on a first clock signal at the transmitting-end, and (iii) at least a plurality of the packets are each received at the receiving-end, retained by a jitter buffer for a buffer delay period, and played out, a method of improving end-to-end communication of said real-time media signal comprising, in combination, at said receiving-end:
-
maintaining a second clock signal substantially synchronized to the first clock signal; and
for each of at least a plurality of incoming packets, (a) determining a network transmission delay for said packet, said network transmission delay being based at least in part on a comparison of said sender-time with a receiver-time based on said second clock signal, and (b) setting said buffer delay period for said packet, said buffer delay period being based at least in part on a difference between said network transmission delay and a predetermined end-to-end transmission delay, whereby, said buffer delay period may vary from packet to packet based at least in part on a variance in said network transmission delay from packet to packet. - View Dependent Claims (20)
-
-
21. In a packet switched network in which a real-time media signal is encoded into a sequence of packets and the packets arc sequentially transmitted over the network from a transmitting-end and destined for a receiving-end, said transmitting-end including a first time signal, each of said packets being marked at said transmitting-end with a sender-time based on said first time signal,
a receiving device at said receiving-end, said receiving device receiving at least a plurality of said packets as incoming packets, and said receiving device comprising, in combination: -
a processor;
a memory;
a second time signal substantially synchronized to the first time signal, so that the second time signal reflects substantially the same time as the first time signal; and
a plurality of machine language instructions stored in said memory and executable by said processor for performing at least the following functions with respect to each of at least a plurality of said incoming packets;
(a) delaying play-out of said incoming packet for a buffer period, and (b) releasing said incoming packet for play-out in response to said second time signal indicating a time that is substantially a predetermined delay period after said sender-time. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
(i) identifying a receiver-time for said incoming packet based on said second time signal;
(ii) determining a network transmission delay for said incoming packet, said network transmission delay being based at least in part on a comparison of the sender-time for said incoming packet with the receiver-time for said incoming packet, and (iii) computing said buffer period for said incoming packet, said buffer period being based at least in part on a difference between said network transmission delay and said predetermined delay period, whereby, said buffer period may vary from packet to packet based at least in part on a variance in said network transmission delay from packet to packet.
-
-
23. A device as claimed in claim 22, wherein the receiver-time for a given packet identifies a time when said packet is received at said receiving-end.
-
24. A device as claimed in claim 21, wherein the sender-time for a given packet identifies a time when a first sample of payload-in said given packet is taken.
-
25. A device as claimed in claim 21, wherein the sender-time for a given packet identifies a time when said given packet is sent to the network from said transmitting-end.
-
26. A device as claimed in claim 21, wherein said network comprises an IP network.
-
27. A device as claimed in claim 21, wherein said real-time media signal comprises a telephony signal.
-
28. A device as claimed in claim 21, wherein said real-time media signal comprises a voice signal.
-
29. A device as claimed in claim 21, wherein said real-time media signal comprises a video signal.
-
30. A device as claimed in claim 21, wherein said real-time media signal comprises a voice-band signal.
-
31. A device as claimed in claim 30, wherein said voice-band signal comprises a fax signal.
-
32. A device as claimed in claim 30, wherein said voice-band signal comprises a modem signal.
-
33. A device as claimed in claim 21, wherein said first time signal and said second signal originate from a common time clock.
-
34. A device as claimed in claim 33, wherein said common time clock provides said first and second clock signals via satellite transmission, and wherein said receiving device is coupled with an antenna for receiving said satellite transmission.
-
35. A device as claimed in claim 33, wherein said common time clock provides said first and second clock signals via out-of-band transmission.
-
36. In a packet switched network in which a real-time media signal is encoded into a sequence of packets and the packets are sequentially transmitted over the network from a transmitting-end and destined for a receiving-end, said transmitting-end including a first time signal, each of said packets being marked at said transmitting-end with a sender-time based on said first time signal,
a receiving device at said receiving-end, said receiving device receiving at least a plurality of said packets as incoming packets, and said receiving device comprising, in combination: -
a processor;
a memory;
a second time signal substantially synchronized to the first time signal; and
a plurality of machine language instructions stored in said memory and executable by said processor for performing at least the following functions with respect to each of at least a plurality of said incoming packets;
(a) identifying a receiver-time for said incoming packet based on said second time signal;
(b) determining a network transmission delay for said incoming packet, said network transmission delay being based at least in part on a comparison of the sender-time for said incoming packet with the receiver-time for said incoming packet, (c) computing a buffer delay period for said incoming packet, said buffer delay period being based at least in part on a difference between said network transmission delay and a predetermined end-to-end transmission delay, and (d) upon expiration of said buffer delay period, releasing said packet for play-out, whereby, said buffer delay period may vary from packet to packet based at least in part on a variance in said network transmission delay from packet to packet.
-
Specification