System for data stream processing
View Patent ↗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.
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.
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 1 and wherein the byte offset of the candidate access point and the byte offset of the recently received TS packet each comprises a byte offset relative to the beginning.
4. A method according to claim 1 and wherein the TS comprises an MPEG-2 TS.
5. A method according to claim 1 and wherein the TS comprises an at least partially scrambled 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. A method for processing a data stream comprising:
determining a desired presentation time of a point in the data stream to be accessed;
determining an arrival time associated with the desired presentation time; and
determining a position of an access point closely temporally associated with the arrival time.
19. 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.
20. Apparatus for processing a data stream comprising:
presentation determining apparatus operative to determine a desired presentation time of a point in the data stream to be accessed;
arrival determining apparatus operative to determine an arrival time associated with the desired presentation time; and
position determining apparatus operative to determine a position of an access point closely temporally associated with the arrival time.