Method and apparatus for detecting packet loss in staggercasting
In a staggercasting system, a receiver estimates a delivery time of a packet from a main stream and, if the packet from the main stream is not received at the estimated delivery time, the receiver substitutes a corresponding packet from the stagger stream. As a result, a loss can be detected quicker since the receiver does not have to wait until detection of a missing sequence number and, therefore, the receiver can accommodate the time of presentation such that the user does not suffer a loss in quality of service.
1. A method for use in a staggercasting receiver, comprising:
receiving a staggercast content comprising at least two packet streams, wherein one packet stream is a main stream, used in presenting the content and another packet stream is a stagger stream, the stagger stream being received before the main stream;
estimating a delivery time of a packet from the main stream as a function of delivery times of two contiguous packets respectively, comprising a first and a second sequence number, the second sequence number being the first sequence number incremented by one; and
if the packet from the main stream is not received at the estimated delivery time, substituting, at the estimated delivery time, a corresponding packet from the received stagger stream.
2. The method of claim 1 , wherein the estimated time of delivery uses a value determined by subtracting said delivery times of two contiguous packets.
3. The method of claim 2 , wherein the two contiguous packets are both in either the main stream or the stagger stream.
4. The method of claim 2 , wherein the estimated time of delivery includes the addition of a wait time.
5. The method of claim 2 , wherein the value is determined by averaging a number of subtractions.
6. The method of claim 2 , wherein the value is a function of a stagger cast delay.
7. The method of claim 1 , wherein the receiving step includes demultiplexing the received staggercast content for providing the main stream and the stagger stream.
8. An apparatus comprising:
a receiver for receiving a staggercast content comprising at least two packet streams, wherein one packet stream is a main stream, used in presenting the content and another packet stream is a stagger stream, the stagger stream being received before the main stream; and
a processor configured to estimate a delivery time of a packet from the main stream as a function of delivery times of two contiguous packets respectively, comprising a first and a second sequence number, the second sequence number being the first sequence number incremented by one; and
if the packet from the main stream is not received at the estimated delivery time, to substitute, at the estimated delivery time, a corresponding packet from the received stagger.
9. The apparatus of claim 8 , wherein the estimated time of delivery uses a value determined by subtracting said delivery times of the two contiguous packets.
10. The apparatus of claim 9 , wherein the two contiguous packets are both in either the main stream or the stagger stream.
11. The apparatus of claim 9 , wherein the estimated time of delivery includes the addition of a wait time.
12. The apparatus of claim 9 , wherein the value is determined by averaging a number of subtractions.
13. The apparatus of claim 9 , wherein the value is a function of a stagger cast delay.
14. The apparatus of claim 8 , wherein the receiver comprises a demultiplexer for demultiplexing the received staggercast content for providing the main stream and the stagger stream.
15. The apparatus of claim 8 , wherein the processor represents a staggercast selector for selecting packets between the main stream and the stagger stream for presentation.
16. A method for use in a staggercasting receiver, comprising:
receiving a staggercast content comprising at least two packet streams, wherein one packet stream is a main stream, used in presenting the content and another packet stream is a stagger stream, the stagger stream being received before the main stream;
estimating a delivery time of a packet from the main stream as a function of delivery times of two contiguous packets respectively, comprising a first and a second sequence number, the second sequence number being the first sequence number incremented by one;
determining, at the estimated delivery time, that the packet from the main stream is not received at the estimated delivery time; and
substituting, a corresponding packet from the received stagger stream.
17. The method of claim 16 , wherein the estimated time of delivery uses a value determined by subtracting said delivery times of two contiguous packets.
18. The method of claim 17 , wherein the two contiguous packets are both in either the main stream or the stagger stream.
19. The method of claim 17 , wherein the estimated time of delivery includes the addition of a wait time.
20. The method of claim 16 , wherein receiving the staggercast content includes demultiplexing the received staggercast content for providing the main stream and the stagger stream.