IP Library Granted Patent US 9,800,908
Granted Patent B2
US 9,800,908 · App. 14/903,208 · Granted Oct 24, 2017

Synchronized data processing of broadcast streams between receivers, including synchronized data processing between a receiver that is in the process of processing a stream and a receiver that wants to join the stream

Inventors: Menno Bangma (The Hague, NL); Ray Van Brandenburg (The Hague, NL)
Assignees: KONINKLIJKE KPN N.V.; NEDERLANDSE ORGANISATIE VOOR TOEGEPAST-NATUURWETENSCHAPPELIJK ONDERZOEK TNO
H04N21/242H04N21/4263H04N21/43H04N21/4302
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,800,908
App. No.
14/903,208
Granted
Oct 24, 2017
Kind
B2
Abstract

In an embodiment, synchronization of data processing by a first and second receiver is enabled by the first receiver processing data units of a first broadcast stream, with a play-out delay Δtp defining a time interval between transmission of a data unit to the first receiver and the processing of the data unit by the first receiver. Transmission of data units of a second broadcast stream is initiated to the second receiver, a common timeline correlating one or more data unit in the first stream with one or more corresponding data unit in the second stream. One or more data units is selected from stored data units corresponding to the second stream. At least part of the selected data units have corresponding data units of the first stream that have been transmitted to the first receiver but that have not been processed by the first receiver due to the play-out delay.

Claims (85)

1. Method for enabling synchronization of data processing by a first and second receiver comprising:

said first receiver processing data units of a first broadcast stream, a play-out delay Δt p defining a time interval between transmission of a data unit of said first broadcast stream to said first receiver and the processing of said data unit by said first receiver;

initiating transmission of data units of a second broadcast stream to said second receiver, a common timeline correlating one or more data units of said first broadcast stream with one or more corresponding data units of said second broadcast stream;

selecting for transmission to said second receiver separate from said second broadcast stream, one or more data units from a plurality of stored data units corresponding to data units of said second broadcast stream, wherein at least part of said one or more selected data units have corresponding data units of said first broadcast stream that have been transmitted to said first receiver but that have not yet been processed by said first receiver due to said play-out delay; and

transmitting at least one of said one or more selected data units to said second receiver before said corresponding data units of said first broadcast stream have been processed by said first receiver;

wherein said transmitting is started with a selected data unit that has no processing dependency on one or more data units preceding in processing order said selected data unit.

2. Method according to claim 1 comprising:

terminating said transmitting of said at least one of said one or more selected data units when said second receiver has received one or more data units of said second broadcast stream.

3. Method according to claim 1 further comprising:

providing said second receiver with a processing point of said first receiver;

said second receiver using said processing point for processing at least one of said one or more transmitted selected data units in synchronization with the processing of a corresponding data unit of said first broadcast stream by said first receiver.

4. Method according to claim 1 further comprising:

said second receiver using a second processing rate for processing at least one of said one or more transmitted selected data units, wherein said second processing rate is higher than a first processing rate that is used by said first receiver;

determining if the processing by said second receiver, of said at least one transmitted selected data unit, coincides with the processing of a corresponding data unit of said first stream by said first receiver; and

said second receiver starting processing subsequent transmitted selected data units, using said first processing rate, if said at least one transmitted selected data unit coincides with the processing of a corresponding data unit.

5. Method according to claim 1 , wherein at least one of said one or more selected data units is transmitted at a transmission rate that is higher than the first processing rate at which said first receiver processes data units in said first broadcast stream.

6. Method according to claim 1 wherein an initial data unit y i defines a first data unit of said second broadcast stream being transmitted to said second receiver, and wherein said selecting comprises:

selecting a start data unit for starting an unicast transmission to said second receiver, wherein said start data is selected from a sequence of said stored data units, said sequence being determined on the basis of said initial data unit y i and the N-th data unit y i−N preceding in processing order said initial data unit y i , N=R 2 *(Δt p −Δt R ) defining the number of data units N that can be unicasted to the second receiver wherein Δt R represents the burst delay; and R 2 the transmission rate at which data units are unicasted to said second receiver.

7. Method according to claim 1 comprising:

a media source initiating said transmitting of data units of a second broadcast stream in response to a request for data units by said second receiver; and,

a synchronization server selecting said one or more data units from a plurality of stored data units corresponding to data units of said second broadcast stream.

8. Method according to claim 7 further comprising:

providing said second receiver with a processing point of said first receiver.

9. Method for enabling synchronization of data processing by a first and second receiver comprising:

said first receiver processing data units of a first broadcast stream, a play-out delay Δt p defining a time interval between transmission of a data unit of said first broadcast stream to said first receiver and the processing of said data unit by said first receiver;

initiating transmission of data units of a second broadcast stream to said second receiver, a common timeline correlating one or more data units of said first broadcast stream with one or more corresponding data units of said second broadcast stream;

selecting for transmission to said second receiver separate from said second broadcast stream, one or more data units from a plurality of stored data units corresponding to data units of said second broadcast stream, wherein at least part of said one or more selected data units have corresponding data units of said first broadcast stream that have been transmitted to said first receiver but that have not yet been processed by said first receiver due to said play-out delay;

transmitting at least one of said one or more selected data units to said second receiver before said corresponding data units of said first broadcast stream have been processed by said first receiver;

said second receiver using a second processing rate for processing at least one of said one or more transmitted selected data units, wherein said second processing rate is higher than a first processing rate that is used by said first receiver;

determining if the processing by said second receiver, of said at least one transmitted selected data unit, coincides with the processing of a corresponding data unit of said first stream by said first receiver; and

said second receiver starting processing subsequent transmitted selected data units, using said first processing rate, if said at least one transmitted selected data unit coincides with the processing of a corresponding data unit.

10. Method according to claim 9 comprising:

terminating said transmitting of said at least one of said one or more selected data units when said second receiver has received one or more data units of said second broadcast stream.

11. Method according to claim 9 further comprising:

providing said second receiver with a processing point of said first receiver;

said second receiver using said processing point for processing at least one of said one or more transmitted selected data units in synchronization with the processing of a corresponding data unit of said first broadcast stream by said first receiver.

12. Method according to claim 9 , wherein at least one of said one or more selected data units is transmitted at a transmission rate that is higher than the first processing rate at which said first receiver processes data units in said first broadcast stream.

13. Method according to claim 9 wherein an initial data unit y i defines a first data unit of said second broadcast stream being transmitted to said second receiver, and wherein said selecting comprises:

selecting a start data unit for starting an unicast transmission to said second receiver, wherein said start data is selected from a sequence of said stored data units, said sequence being determined on the basis of said initial data unit y i and the N-th data unit y i−N preceding in processing order said initial data unit y i , N=R 2 *(Δt p −Δt R ) defining the number of data units N that can be unicasted to the second receiver wherein Δt R represents the burst delay; and R 2 the transmission rate at which data units are unicasted to said second receiver.

14. Method according to claim 9 comprising:

a media source initiating said transmitting of data units of a second broadcast stream in response to a request for data units by said second receiver; and,

a synchronization server selecting said one or more data units from a plurality of stored data units corresponding to data units of said second broadcast stream.

15. Method according to claim 14 further comprising:

providing said second receiver with a processing point of said first receiver.

16. Method for enabling synchronization of data processing by a first and second receiver comprising:

said first receiver processing data units of a first broadcast stream, a play-out delay Δt p defining a time interval between transmission of a data unit of said first broadcast stream to said first receiver and the processing of said data unit by said first receiver;

initiating transmission of data units of a second broadcast stream to said second receiver, a common timeline correlating one or more data units of said first broadcast stream with one or more corresponding data units of said second broadcast stream; and,

selecting for transmission to said second receiver separate from said second broadcast stream, one or more data units from a plurality of stored data units corresponding to data units of said second broadcast stream, wherein at least part of said one or more selected data units have corresponding data units of said first broadcast stream that have been transmitted to said first receiver but that have not yet been processed by said first receiver due to said play-out delay;

wherein an initial data unit y i defines a first data unit of said second broadcast stream being transmitted to said second receiver, and wherein said selecting comprises:

selecting a start data unit for starting an unicast transmission to said second receiver, wherein said start data is selected from a sequence of said stored data units, said sequence being determined on the basis of said initial data unit y i and the N-th data unit y i−N preceding in processing order said initial data unit y i , N=R 2 *(Δt p −Δt R ) defining the number of data units N that can be unicasted to the second receiver wherein Δt R represents the burst delay; and R 2 the transmission rate at which data units are unicasted to said second receiver.

17. Method according to claim 16 further comprising:

transmitting at least one of said one or more selected data units to said second receiver before said corresponding data units of said first broadcast stream have been processed by said first receiver.

18. Method according to claim 17 comprising:

terminating said transmitting of said at least one of said one or more selected data units when said second receiver has received one or more data units of said second broadcast stream.

19. Method according to claim 17 further comprising:

providing said second receiver with a processing point of said first receiver;

said second receiver using said processing point for processing at least one of said one or more transmitted selected data units in synchronization with the processing of a corresponding data unit of said first broadcast stream by said first receiver.

20. Method according to claim 17 , wherein at least one of said one or more selected data units is transmitted at a transmission rate that is higher than the first processing rate at which said first receiver processes data units in said first broadcast stream.

21. Method according to claim 17 comprising:

a media source initiating said transmitting of data units of a second broadcast stream in response to a request for data units by said second receiver; and,

a synchronization server selecting said one or more data units from a plurality of stored data units corresponding to data units of said second broadcast stream.

22. Method according to claim 21 further comprising:

providing said second receiver with a processing point of said first receiver.

23. Client device for use in a receiver, said client device enabling synchronizing data processing with the data processing of a further receiver; said client device being configured for:

receiving a processing point associated with the processing of a data unit of a first broadcast stream by said further receiver, a play-out delay Δt p defining the time interval between transmission of a data unit of said first broadcast stream and the processing of the same data unit by said further receiver;

receiving one or more unicasted data units corresponding to data units of a second broadcast stream, wherein a common timeline correlates one or more data units of said first broadcast stream with one or more corresponding data units of said second broadcast stream and wherein said one or more unicasted data units correspond to one or more data units of said first broadcast stream that have been transmitted to said first receiver but have not yet been processed by said first receiver due to said play-out delay; and,

using said processing point for processing at least part of said one or more unicasted data units in synchronization with the processing of said one or more corresponding data units of said first broadcast stream by said first receiver;

wherein said client device is further configured for:

using a second processing rate for processing at least one of said one or more transmitted selected data units, wherein said second processing rate is higher than a first processing rate that is used by said first receiver;

determining if the processing of said at least one transmitted selected data unit by said second receiver coincides with the processing of a corresponding data unit of said first stream by said first receiver; and

said second receiver starting processing subsequent transmitted selected data units using said first processing rate, if said at least one transmitted selected data unit coincides with the processing of a corresponding data unit.

24. Client device according to claim 23 wherein said client device is further configured for:

receiving one or more data units of said second broadcast stream;

terminating the processing of said one or more unicasted data units; and,

continuing the processing of data units in synchronization with the processing of data units of said first broadcast stream by said first receiver, on the basis of said one or more data units of said second broadcast stream.

25. Client device according to claim 23 wherein said client device is further configured for:

selecting one or more data units from a plurality of stored data units corresponding to data units of said second broadcast stream, wherein at least part of said selected data units have further corresponding data units of said first broadcast stream that have been transmitted to said first receiver but have not yet been processed by said first receiver due to said play-out delay.

26. A server for enabling synchronization of data processing by a first and second receiver, wherein said server is configured for:

providing a plurality of data units corresponding to data units of a second broadcast stream in a memory or on a storage medium;

selecting for transmission to said second receiver separate from said second broadcast stream, one or more data units from a plurality of said stored data units, wherein a common timeline correlates one or more data units of said second broadcast stream with one or more corresponding data units of a first broadcast stream, and wherein said one or more selected data units correspond to one or more data units of said first broadcast stream that have been transmitted to said first receiver but have not yet been processed by said first receiver due to said play-out delay;

transmitting at least one of said one or more selected data units to said second receiver before at least one of said one or more corresponding data units of said first broadcast stream have been processed by said first receiver;

wherein said transmitting is started with a selected data unit that has no processing dependency on one or more data units preceding in processing order said selected data unit.

27. A non-transitory computer readable medium comprising software code portions configured for, when run in the memory of a computer, executing the method steps according to claim 1 .

28. A non-transitory computer readable medium comprising software code portions configured for, when run in the memory of a computer, executing the method steps according to claim 9 .

29. A non-transitory computer readable medium comprising software code portions configured for, when run in the memory of a computer, executing the method steps according to claim 16 .

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 18, 2021
From: NEDERLANDSE ORGANISATIE VOOR TOEGEPAST-NATUURWETENSCHAPPELIJK ONDERZOEK TNO
To: KONINKLIJKE KPN N.V.
Reel/Frame 055644/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2016
From: BANGMA, MENNO; VAN BRANDENBURG, RAY
To: KONINKLIJKE KPN N.V.; NEDERLANDSE ORGANISATIE VOOR TOEGEPAST-NATUURWETENSCHAPPELIJK ONDERZOEK TNO
Reel/Frame 038187/0489 →
Priority Claims (1)
EP 13175671 · Jul 9, 2013 · regional
Continuity (1)
Related Publication 20160156950A1 · Jun 2, 2016