Claims
- 1. A method for processing a program stream, comprising:
receiving a program stream, the program stream having a plurality of reference frames and at least one segmentation message, the segmentation message containing instructions for processing the program stream; creating at least one additional reference frame at a desired location in the program stream; and processing the program stream at the desired location pursuant to the instructions, wherein the desired location is identified by the additional reference frame.
- 2. The method according to claim 1, wherein the plurality of reference frames and the additional reference frame are comprised of intraframes.
- 3. The method of claim 2, wherein the program stream further comprises a plurality of interframes.
- 4. The method of claim 3, wherein at least one of the interframes are reformatted each time the additional intraframe is created.
- 5. A system for processing a program stream, comprising:
an interface for receiving a program stream, the program stream having a plurality of reference frames and at least one segmentation message, the segmentation message containing instructions for processing the program stream; and a processor for:
creating at least one additional reference frame at a desired location in the program stream; and processing the program stream at the desired location pursuant to the instructions, wherein the desired location is identified by the additional reference frame.
- 6. The system according to claim 5, wherein the plurality of reference frames and the additional reference frame are comprised of intraframes.
- 7. The system according to claim 6, wherein the program stream further comprises a plurality of interframes.
- 8. The system according to claim 7, wherein at least one of the interframes are reformatted each time the additional intraframe is created.
- 9. A method for inserting at least one processing message in a scrambled program stream, comprising:
receiving the scrambled program stream having first programming content information, wherein the scrambled program stream includes a plurality of location indicators that are not scrambled, wherein each of the location indicators provide identification information relating to a respective location in the scrambled program stream; receiving a descrambled program stream having second programming content information, wherein the first programming content information corresponds to the second programming content information, the descrambled program stream including a duplicate of at least one of said plurality of location indicators, wherein each of the at least one duplicate location indicators relate to a respective location in the descrambled program stream; identifying a location in the descrambled stream based upon at least one of the duplicate location indicators; and identifying a location in the scrambled program stream corresponding to the identified location in the descrambled program stream by identifying the at least one of the location indicators that corresponds to the at least one of the duplicate location indicators; and inserting the at least one processing message at the identified location in the scrambled program stream.
- 10. The method according to claim 9, wherein the descrambled program stream is generated by duplicating the scrambled program stream and applying a descrambling technique to the duplicate scrambled program stream.
- 11. The method according to claim 9, wherein:
the program stream comprises data packets having packet identification numbers; and the at least one duplicate location indicator used for identifying the location in the descrambled program stream and the at least one location indicator used for identifying the corresponding location in the scrambled program stream comprise at least one of the packet identification numbers.
- 12. The method according to claim 9, wherein:
the program stream comprises data packets, wherein each of the data packets contain a program clock record; and the duplicate location indicator used for identifying the at least one location in the descrambled program stream and the at least one location indicator used for identifying the corresponding location in the scrambled program stream comprise a program clock record.
- 13. A system for inserting at least one processing message in a scrambled program stream, comprising:
an interface for: receiving the scrambled program stream having first programming content information, wherein the scrambled program stream includes a plurality of location indicators that are not scrambled, wherein each of the location indicators provide identification information relating to a respective location in the scrambled program stream; receiving a descrambled program stream having second programming content information, wherein the first programming content information corresponds to the second programming content information, the descrambled program stream including a duplicate of at least one of said plurality of location indicators, wherein each of the at least one duplicate location indicators relate to a respective location in the descrambled program stream; and a processor for: identifying a location in the descrambled stream based upon at least one of the duplicate location indicators; and identifying a location in the scrambled program stream corresponding to the identified location in the descrambled program stream by identifying the at least one of the location indicators that corresponds to the at least one of the duplicate location indicators; and inserting the at least one processing message at the identified location in the scrambled program stream.
- 14. The system according to claim 13, wherein the processor is further configured for generating the descrambled program stream by duplicating the scrambled program stream and applying a descrambling technique to the duplicate scrambled program stream.
- 15. The system according to claim 13, wherein:
the program stream comprises data packets having packet identification numbers; and the at least one duplicate location indicator used for identifying the location in the descrambled program stream and the at least one location indicator used for identifying the corresponding location in the scrambled program stream comprise at least one of the packet identification numbers.
- 16. The system according to claim 13, wherein:
the program stream comprises data packets, wherein each of the data packets contain a program clock record; and the duplicate location indicator used for identifying the at least one location in the descrambled program stream and the at least one location indicator used for identifying the corresponding location in the scrambled program stream comprise a program clock record.
- 17. A method for compensating for a delay in reception of a program stream, comprising:
attempting to receive the program stream; determining whether a delay in receiving the program stream has occurred; generating compensation packets, when the delay has occurred, for insertion in the program stream; determining whether the delay exceeds a predetermined threshold; and removing the compensation packets from the program stream, if the delay does not exceed the predetermined threshold.
- 18. The method according to claim 17, wherein:
the program stream comprises first programming content that is received prior to the delay and second programming content received after the delay; and juxtaposing the first programming content with the second programming content, after the compensation packets are removed.
- 19. The method according to claim 17, wherein the compensation packets comprise stuffing packets.
- 20. The method according to claim 17, wherein the compensation packets comprise data for generating a blank screen image.
- 21. The method according to claim 17, wherein the compensation packets comprise data for generating a picture.
- 22. The method according to claim 17, wherein the compensation packets comprise data for generating a video.
- 23. The method according to claim 17, wherein the compensation packets comprise data for generating an audio clip.
- 24. A system for compensating for a delay in reception of a program stream, comprising:
an interface for:
attempting to receive the program stream; and a processor for:
determining whether a delay in receiving the program stream has occurred; generating compensation packets, when the delay has occurred, for insertion in the program stream; determining whether the delay exceeds a predetermined threshold; and removing the compensation packets from the program stream, if the delay does not exceed the predetermined threshold.
- 25. The system according to claim 24, wherein:
the program stream comprises first programming content that is received prior to the delay and second programming content received after the delay; and the processor being further configured for juxtaposing the first programming content with the second programming content, after the compensation packets are removed.
- 26. The system according to claim 24, wherein the compensation packets comprise stuffing packets.
- 27. The system according to claim 24, wherein the compensation packets comprise data for generating a blank screen image.
- 28. The system according to claim 24, wherein the compensation packets comprise data for generating a picture.
- 29. The system according to claim 24, wherein the compensation packets comprise data for generating a video.
- 30. The system according to claim 24, wherein the compensation packets comprise data for generating an audio clip.
- 31. A method for processing a program stream, which carries data packets relating to a plurality of programs, each of the data packets including an attribute field which contains an attribute value for describing one of the plurality of programs, comprising:
receiving the program stream; reading the attribute field for a selected attribute value in each of the data packets carried by the received program stream; generating at least one substream containing selected ones of the data packets, wherein each of the selected ones of the data packets in the at least one substream has the selected attribute value; and storing the at least one substream in at least one storage device.
- 32. The method of claim 31, wherein the attribute value identifies a provider of at least one of the plurality of programs.
- 33. The method of claim 31, wherein the attribute value identifies a program type.
- 34. The method of claim 31, wherein the attribute value identifies a program rating.
- 35. The method of claim 31, wherein the attribute value identifies a program name.
- 36. The method of claim 31, further comprising:
repackaging the at least one substream using a predetermined transmission protocol, wherein the protocol enables each of the selected ones of the data packets to be transmitted to a plurality of storage devices.
- 37. The method of claim 36, wherein the protocol comprises a User Datagram Protocol.
- 38. A system for processing a program stream, which carries data packets relating to a plurality of programs, each of the data packets including an attribute field which contains an attribute value for describing one of the plurality of programs, comprising:
an interface configured for receiving the program stream; a processor configured for:
reading the attribute field for a selected attribute value in each of the data packets carried by the received program stream; and generating at least one substream containing selected ones of the data packets, wherein each of the selected ones of the data packets in the at least one substream has the selected attribute value; and a storage device configured for storing the at least one substream.
- 39. The system of claim 38, wherein the attribute value identifies a provider of at least one of the plurality of programs.
- 40. The system of claim 38, wherein the attribute value identifies a program type.
- 41. The system of claim 38, wherein the attribute value identifies a program rating.
- 42. The system of claim 38, wherein the attribute value identifies a program name.
- 43. The system of claim 38, wherein the processor is further configured for repackaging the at least one substream using a predetermined transmission protocol, and the protocol enables each of the selected ones of the data packets to be transmitted to a plurality of storage devices.
- 44. The system of claim 43, wherein the protocol comprises a User Datagram Protocol.
- 45. A method for processing a program stream, wherein the program stream carries a plurality of video frames, comprising:
receiving the program stream; identifying a subset of the video frames; selecting the video frames in the subset at a predetermined frequency; and storing the selected video frames.
- 46. The method of claim 45, wherein the video frames comprise a plurality of intraframes.
- 47. The method of claim 45, further comprising:
accessing the selected video frames by a server; and transmitting the selected video frames by the server, thereby effectuating a trick mode operation.
- 48. A system for processing a program stream, wherein the program stream carries a plurality of video frames, comprising:
an interface for receiving the program stream; a processor configured for:
identifying a subset of the video frames; and selecting the video frames in the subset at a predetermined frequency; and a storage device configured for storing the selected video frames.
- 49. The system of claim 48, wherein the video frames comprise a plurality of intraframes.
- 50. The system of claim 48, further comprising a server configured for:
accessing the selected video frames; and
transmitting the selected video frames, thereby effectuating a trick mode operation.
Parent Case Info
[0001] The present application is a continuation-in-part of U.S. application Ser. No. 10/428,719, filed on May 1, 2003, which is a continuation-in-part of U.S. application Ser. No. 10/263,015, filed on Oct. 2, 2002 which claims benefit of U.S. Provisional Application No. 60/377,963, filed on May 3, 2002, all of which are incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60377963 |
May 2002 |
US |
Continuation in Parts (2)
|
Number |
Date |
Country |
Parent |
10428719 |
May 2003 |
US |
Child |
10860969 |
Jun 2004 |
US |
Parent |
10263015 |
Oct 2002 |
US |
Child |
10428719 |
May 2003 |
US |