IP Library Granted Patent US 7,580,416
Granted Patent B2
US 7,580,416 · App. 11/494,153 · Granted Aug 25, 2009

System for data stream processing

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 7,580,416
App. No.
11/494,153
Granted
Aug 25, 2009
Kind
B2
Abstract

A method for processing a data stream including receiving a transport stream (TS), storing at least a portion of the TS, the at least a portion of the TS having a beginning and including a plurality of TS packets, determining, from among the plurality of TS packets, at least one TS packet including a candidate access point, storing in an index store a byte offset of the candidate access point; and storing in the index store a plurality of indications of byte offset, each byte offset being associated with an arrival time of a received TS packet.

Claims (121)

1. A method for processing a data stream comprising:

receiving a transport stream (TS);

storing at least a portion of the TS, said at least a portion of the TS having a beginning and comprising a plurality of TS packets;

determining, from among the plurality of TS packets, at least one TS packet comprising a candidate access point;

storing in an index store a byte offset of the candidate access point; and

storing in the index store a plurality of indications of byte offset, each byte offset being associated with an arrival time of a received TS packet,

wherein the TS comprises a partially scrambled TS having a scrambled data portion and an unscrambled data portion, and

the determining step comprises:

distinguishing between the scrambled data portion and the unscrambled data portion;

providing the unscrambled data portion for analysis; and

determining the at least one TS packet comprising a candidate access point based on analysis of at least part of the unscrambled data portion provided by the providing step.

2. A method according to claim 1 and wherein the storing indications of byte offset step comprises repeatedly storing in the index store, at predefined intervals of time, a byte offset of a recently received TS packet.

3. A method according to claim 2 and wherein the byte offset of the recently received TS packet comprises a byte offset relative to the beginning.

4. A method according to claim 1 and wherein the byte offset of the candidate access point comprises a byte offset relative to the beginning.

5. A method according to claim 1 and wherein the TS comprises an MPEG-2 TS.

6. A method according to claim 1 and wherein the TS comprises a video stream.

7. A method according to claim 1 and wherein the TS comprises an audio stream.

8. A method according to claim 1 and also comprising:

utilizing the index for accessing at least a part of the portion of the TS.

9. A method according to claim 8 and wherein the utilizing step comprises:

determining a desired presentation time of a point to be accessed, said point being associated with the at least a part of the portion of the TS;

determining an arrival time associated with the desired presentation time; and

determining, based at least in part on at least one byte offset stored in the index store, a byte offset of an access point closely temporally associated with the arrival time.

10. A method according to claim 9 and wherein said determining a desired presentation time comprises determining a desired presentation time based on at least one of the following: at least one desired characteristic of a presentation mode; and at least one random access characteristic.

11. A method according to claim 9 and wherein said determining an arrival time comprises determining an arrival time based on the desired presentation time and on a predetermined relationship between arrival time and presentation time.

12. A method according to claim 9 and wherein the utilizing step also comprises:

decoding the at least a part of the portion of the TS for presentation beginning from the access point.

13. A method according to claim 9 and wherein the utilizing step also comprises:

descrambling the at least a part of the portion of the TS for presentation beginning from the access point.

14. A method according to claim 9 and wherein the access point comprises a packet comprising at least one of the following:

a packet having a bit turned on in a standard TS header field;

an ECM;

an EMM;

an Adaptation Field (AF) field;

a private data field within the AF;

an SI private table;

a private descriptor;

a private stream; and

a visible field in a partially scrambled stream.

15. A method according to claim 14 and wherein the private stream comprises a private PES stream with associated PTS.

16. A method according to claim 14 and wherein the packet having a bit turned on comprises a packet having a payload_unit_start_indicator (pusi) bit turned on.

17. A method according to claim 14 and wherein the AF comprises at least one of the following: a PCR; and a random access indicator.

18. Apparatus for processing a data stream comprising:

a data stream receiver operative to receive a transport stream (TS);

TS storage apparatus operative to store at least a portion of the TS, said at least a portion of the TS having a beginning and comprising a plurality of TS packets;

candidate determining apparatus operative to determine, from among the plurality of TS packets, at least one TS packet comprising a candidate access point;

candidate offset storage apparatus operative to store in an index store a byte offset of the candidate access point; and

arrival time storage apparatus operative to store in the index store a plurality of indications of byte offset, each byte offset being associated with an arrival time of a received TS packet,

wherein the TS comprises a partially scrambled TS having a scrambled data portion and an unscrambled data portion, and

the data stream receiver also comprises analyzing apparatus, the analyzing apparatus being operative to:

distinguish between the scrambled data portion and the unscrambled data portion; and

provide the unscrambled data portion for analysis by the candidate determining apparatus, and

the candidate determining apparatus is operative to determine said at least one TS packet comprising a candidate access point based on examination of at least part of the unscrambled data portion provided by the analyzing apparatus.

19. Apparatus according to claim 18 , wherein the arrival time storage apparatus is operative to repeatedly store in the index store, at predefined intervals of time, a byte offset of a recently received TS packet.

20. Apparatus according to claim 19 and wherein the byte offset of the recently received TS packet comprises a byte offset relative to the beginning.

21. Apparatus according to claim 18 and wherein the byte offset of the candidate access point comprises a byte offset relative to the beginning.

22. Apparatus according to claim 18 and wherein the TS comprises an MPEG-2 TS.

23. Apparatus according to claim 18 and wherein the TS comprises a video stream.

24. Apparatus according to claim 18 and wherein the TS comprises an audio stream.

25. Apparatus according to claim 18 and also comprising utilization apparatus operative to utilize the index for accessing at least a part of the portion of the TS.

26. Apparatus according to claim 25 and wherein the utilizing apparatus is operative to:

determine a desired presentation time of a point to be accessed, said point being associated with the at least a part of the portion of the TS;

determine an arrival time associated with the desired presentation time; and

determine, based at least in part on at least one byte offset stored in the index store, a byte offset of an access point closely temporally associated with the arrival time.

27. Apparatus according to claim 26 and wherein said utilization apparatus is operative to determine a desired presentation time based on at least one of the following: at least one desired characteristic of a presentation mode; and at least one random access characteristic.

28. Apparatus according to claim 26 and wherein said utilization apparatus is operative to determine an arrival time based on the desired presentation time and on a predetermined relationship between arrival time and presentation time.

29. Apparatus according to claim 26 and wherein said utilization apparatus is operative to decode the at least a part of the portion of the TS for presentation beginning from the access point.

30. Apparatus according to claim 26 and wherein the utilization apparatus is operative to descramble the at least a part of the portion of the TS for presentation beginning from the access point.

31. Apparatus according to claim 26 and wherein the access point comprises a packet comprising at least one of the following:

a packet having a bit turned on in a standard TS header field;

an ECM;

an EMM;

an Adaptation Field (AF) field;

a private data field within the AF;

an SI private table;

a private descriptor;

a private stream; and

a visible field in a partially scrambled stream.

32. Apparatus according to claim 31 and wherein the private stream comprises a private PES stream with associated PTS.

33. Apparatus according to claim 31 and wherein the packet having a bit turned on comprises a packet having a payload_unit_start_indicator (pusi) bit turned on.

34. Apparatus according to claim 31 and wherein the AF comprises at least one of the following: a PCR; and a random access indicator.

35. A method for analyzing a data stream comprising:

receiving an MPEG data stream comprising a transport stream (TS), the TS comprising a scrambled payload and unscrambled headers;

distinguishing between the unscrambled headers and the scrambled payload;

providing the unscrambled headers for analysis; and

analyzing the unscrambled headers and determining at least one trick mode parameter.

36. A method according to claim 35 and wherein the analyzing step comprises analyzing only the unscrambled headers.

37. A method according to claim 35 and further comprising performing a trick mode on the MPEG data stream based, at least in part, on the determined at least one trick mode parameter.

38. A method according to claim 35 and further comprising building an index based, at least in part, on at least one of the at least one trick mode parameter.

39. A method according to claim 38 and further comprising performing a trick mode on the MPEG data stream based, at least in part, on the index.

40. Apparatus for analyzing a data stream comprising:

receiving apparatus operative to receive an MPEG data stream comprising a transport stream (TS), the TS comprising a scrambled payload and unscrambled headers; and

analyzing apparatus operative to:

distinguish between the unscrambled headers and the scrambled payload;

provide the unscrambled headers for analysis;

analyze the unscrambled headers; and

determine at least one trick mode parameter.

41. Apparatus according to claim 40 and wherein the analyzing apparatus is operative to:

distinguish between the unscrambled headers and the scrambled payload;

provide the unscrambled headers for analysis;

analyze only the unscrambled headers; and

determine at least one trick mode parameter.

42. Apparatus according to claim 40 and further comprising performing apparatus operative to perform a trick mode on the MPEG data stream based, at least in part, on the determined at least one trick mode parameter.

43. Apparatus according to claim 40 and wherein the analyzing apparatus is further operative to build an index based, at least in part, on at least one of the determined at least one trick mode parameter.

44. Apparatus according to claim 43 and further comprising performing apparatus operative to perform a trick mode on the MPEG data stream based, at least in part, on the index.

45. Apparatus for processing a data stream comprising:

means for receiving a transport stream (TS);

means for storing at least a portion of the TS, said at least a portion of the TS having a beginning and comprising a plurality of TS packets;

means for determining, from among the plurality of TS packets, at least one TS packet comprising a candidate access point;

means for storing in an index store a byte offset of the candidate access point; and

means for storing in the index store a plurality of indications of byte offset, each byte offset being associated with an arrival time of a received TS packet,

wherein the TS comprises a partially scrambled TS having a scrambled data portion and an unscrambled data portion, and

the means for determining comprises:

means for distinguishing between the scrambled data portion and the unscrambled data portion;

means for providing the unscrambled data portion for analysis; and

means for determining the at least one TS packet comprising a candidate access point based on analysis of at least part of the unscrambled data portion provided by the means for providing.

46. Apparatus for analyzing a data stream comprising:

means for receiving an MPEG data stream comprising a transport stream (TS), the TS comprising a scrambled payload and unscrambled headers;

means for distinguishing between the unscrambled headers and the scrambled payload;

means for providing the unscrambled headers for analysis; and

means for analyzing the unscrambled headers and determining at least one trick mode parameter.

Assignments (10)
CORRECTIVE ASSIGNMENT TO CORRECT THE 26 APPLICATION NUMBERS ERRONEOUSLY RECORDED AGAINST ON THE ATTACHED LIST PREVIOUSLY RECORDED AT REEL: 048513 FRAME: 0297. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Mar 18, 2021
From: NDS LIMITED
To: SYNAMEDIA LIMITED
Reel/Frame 056623/0708 →
CHANGE OF NAME Recorded Mar 6, 2019
From: NDS LIMITED
To: SYNAMEDIA LIMITED
Reel/Frame 048513/0297 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2018
From: BEAUMARIS NETWORKS LLC; CISCO SYSTEMS INTERNATIONAL S.A.R.L.; CISCO TECHNOLOGY, INC.; CISCO VIDEO TECHNOLOGIES FRANCE
To: NDS LIMITED
Reel/Frame 047420/0600 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2013
From: NDS LIMITED
To: CISCO TECHNOLOGY, INC.
Reel/Frame 030258/0465 →
RELEASE OF SECURITY INTERESTS Recorded Jul 31, 2012
From: J.P. MORGAN EUROPE LIMITED
To: NDS LIMITED; NEWS DATACOM LIMITED
Reel/Frame 028681/0827 →
SECURITY AGREEMENT Recorded Mar 30, 2011
From: NDS LIMITED; NEWS DATACOM LIMITED
To: J.P.MORGAN EUROPE LIMITED
Reel/Frame 026065/0782 →
RELEASE OF PATENT SECURITY INTERESTS Recorded Mar 29, 2011
From: J.P.MORGAN EUROPE LIMITED
To: NDS LIMITED; NEWS DATACOM LIMITED
Reel/Frame 026042/0124 →
RELEASE OF INTELLECTUAL PROPERTY SECURITY INTERESTS Recorded Mar 11, 2011
From: NDS HOLDCO, INC.
To: NDS LIMITED; NEWS DATACOM LIMITED
Reel/Frame 025940/0710 →
SECURITY AGREEMENT Recorded May 18, 2009
From: NDS LIMITED; NEWS DATACOM LIMITED
To: NDS HOLDCO, INC.
Reel/Frame 022703/0071 →
SECURITY AGREEMENT Recorded May 14, 2009
From: NDS LIMITED; NEWS DATACOM LIMITED
To: J.P. MORGAN EUROPE LIMITED
Reel/Frame 022678/0712 →