Virtual video on demand using multiple encrypted video segments
First Claim
1. A method of providing a video program in response to a user demand, wherein the video program is repeatedly transmitted on one of a plurality of channels, each repeated transmission temporally separated from a previous transmission by a retransmission interval and being transmitted on a different channel than the previous transmission, the method comprising the steps of:
- selecting at least one of a plurality of video programs for VOD service;
receiving and storing a first segment of the selected video program in a local storage device before accepting a user demand to view the selected video program, wherein a temporal length of the first segment is substantially equivalent to the retransmission interval; and
after accepting the user demand to view the selected video program, retrieving the stored first segment for presentation to the user while receiving and storing subsequent segments of the video program from each of the plurality of channels transmitting a portion of the selected video program in parallel in the local storage device.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for providing a virtual video on demand services is disclosed. The method and apparatus disclose the storing of a segment of the video program in advance for VOD viewing at a later time. When the subscriber selects VOD service, a pre-stored video segment is retrieved for presentation to the subscriber. Remaining video program segments simultaneously broadcast on a plurality of channels are recorded in parallel while the pre-stored video program segment is retrieved and presented to the user.
505 Citations
39 Claims
-
1. A method of providing a video program in response to a user demand, wherein the video program is repeatedly transmitted on one of a plurality of channels, each repeated transmission temporally separated from a previous transmission by a retransmission interval and being transmitted on a different channel than the previous transmission, the method comprising the steps of:
-
selecting at least one of a plurality of video programs for VOD service;
receiving and storing a first segment of the selected video program in a local storage device before accepting a user demand to view the selected video program, wherein a temporal length of the first segment is substantially equivalent to the retransmission interval; and
after accepting the user demand to view the selected video program, retrieving the stored first segment for presentation to the user while receiving and storing subsequent segments of the video program from each of the plurality of channels transmitting a portion of the selected video program in parallel in the local storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
scanning a program guide having an entry for each of the video programs for a VOD service indicator; and
identifying a video program associated with the VOD service indicator as the selected video program.
-
-
3. The method of claim 2, wherein the program guide is stored in the local storage device.
-
4. The method of claim 2, wherein the step of selecting at least one of a plurality of video programs for VOD service comprises the steps of:
-
accepting a selection of at least one of the video programs for VOD service; and
associating the VOD service indicator with the entry of each video program selected for VOD service.
-
-
5. The method of claim 4, wherein the step of selecting at least one of the plurality of video programs for VOD is performed by the user and the method further comprises the step of presenting a program guide to the user.
-
6. The method of claim 2, further comprising the steps of:
-
accepting a selection of a category of video programs for VOD service; and
associating the VOD indicator with the entry of each video program that is a member of the selected category of video programs.
-
-
7. The method of claim 1, wherein the step of selecting at least one of the plurality of video programs for VOD service comprises the steps of:
-
scanning a program guide having an entry for each of the video programs to identify at least one video program scheduled to be repeatedly transmitted on one of a plurality of channels, each repeated transmission temporally separated from a previous transmission by retransmission interval and being transmitted on a different channel than the previous transmission; and
selecting the identified video program as the selected video program.
-
-
8. The method of claim 7, wherein the step of scanning the program guide comprises the step of comparing video program information for each of the entries, wherein the video program information comprises a program title.
-
9. The method of claim 7, wherein the step of scanning the program guide comprises the step of comparing video program information for each of the entries, where the video program information comprises a unique program identifier.
-
10. The method of claim 1, wherein the step of storing a first segment of a selected video program in a local storage device comprises the step of receiving data representing the first segment of the video program from a program source in a receiver communicatively coupled to the local storage device at a time scheduled by the program source.
-
11. The method of claim 1, further comprising the step of splicing the subsequent segments to the first segment for presentation to the user in response to the user demand.
-
12. The method of claim 11, wherein the video segments each comprise a plurality of video sub-segments each sub-segment associated with a time code, and the step of splicing the subsequent segments to the first segment for presentation to the user comprises the step of sorting the sub-segments in accordance with the time codes.
-
13. The method of claim 12, wherein the time code is an SMPTE time code.
-
14. The method of claim 12, wherein the time code is a program time stamp.
-
15. The method of claim 11, wherein the video segments each comprise a plurality of video sub-segments, each sub-segment associated with a time code and a channel identifier, and the step of splicing the subsequent segments to the first segment for presentation to the user comprises the steps of:
-
assembling the sub-segments by the associated channel identifier; and
sorting the assembled sub-segments in accordance with the time codes.
-
-
16. The method of claim 1, wherein each of the subsequent segments is encrypted so as to be decryptable with a key before being received and stored in the local storage device, and the method further comprises the steps of:
-
in response to the user demand and while retrieving the stored first segment for presentation to the user, transmitting a message separately identifying each of the subsequent segments of the selected video program and the user to a program source; and
receiving the key.
-
-
17. The method of claim 16, further comprising the step of decrypting the encrypted subsequent segments with the key.
-
18. The method of claim 1, wherein each of the segments is encrypted so as to be decryptable by a different key before being received and stored in the local storage device, and the method further comprises the steps of:
-
in response to the user demand, transmitting a message separately identifying each of the segments of the selected video program and the user to a program source; and
receiving a key for each of the segments.
-
-
19. The method of claim 18, further comprising the step of decrypting the encrypted segments with each of the different keys.
-
20. An apparats for providing a video program in response to a user demand wherein the video program is repeatedly transmitted on one of a plurality of channels, each repeated transmission on temporally separated from a previous transmission by a retransmission interval and being transmitted on a different channel than the previous transmission, the apparatus comprising:
-
means for selecting at least one of a plurality of video programs for VOD service;
means for receiving and storing a first segment of the selected video program in a local storage device before accepting a user demand to view the selected video program, wherein a temporal length of the first segment is substantially equivalent to the retransmission interval; and
means for retrieving the stored first segment for presentation to the user while receiving and storing subsequent segments of the video program from each of the plurality of channels transmitting a portion of the selected video program in parallel after accepting the user demand to view the selected video program. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
means for scanning a program guide stored in the local storage device having an entry for each of the video programs for a VOD service indicator; and
means for identifying the video program associated with the VOD service indicator as the selected video program.
-
-
22. The apparatus of claim 21, further comprising:
-
means for accepting a selection of a category of video programs for VOD service; and
means for associating the VOD indicator with the entry of each video program that is a member of the selected category of video programs.
-
-
23. The apparatus of claim 21, wherein the program guide is stored in the local storage device.
-
24. The apparatus of claim 21, wherein the means for selecting at least one of a plurality of video programs for VOD service comprises:
-
means for accepting a selection of at least one of the video programs for VOD service; and
means for associating the VOD indicator with the entry of each video program selected for VOD service.
-
-
25. The apparatus of claim 24, wherein the at least one of the plurality of video programs for VOD is selected by the user and the apparatus further comprises means for presenting a program guide to the user.
-
26. The apparatus of claim 23, wherein the plurality of video programs are selected for VOD service by a VOD service provider.
-
27. The apparatus of claim 20, wherein the means for selecting at last one of the plurality of video programs for VOD service comprises:
-
means for scanning a program guide having an entry for each of the video programs to identify at least one video program scheduled to be repeatedly transmitted on one of a plurality of channels, each repeated transmission temporally separated from a previous transmission by a retransmission interval and being transmitted on a different channel than the previous transmission; and
means for selecting the identified video program as the selected video program.
-
-
28. The apparatus of claim 27, wherein the means for scanning the program guide comprises means for comparing video program information for each of the entries, wherein the video program information comprises a program title.
-
29. The apparatus of claim 27, wherein the means for scanning the program guide comprises means fox comparing video program information for each of the entries, wherein be video program information comprises a unique program identifier.
-
30. The apparatus of claim 20, wherein the means for storing a first segment of a selected video program in a local storage device comprises means for receiving data representing the first segment of the video program from a program source in a receiver communicatively coupled to the local storage device at a time scheduled by the program source.
-
31. The apparatus of claim 20, further comprising means for splicing the subsequent segments to the first segment for presentation to the user in response to the user demand.
-
32. The apparatus of claim 31, wherein the video segments each comprise a plurality of video sub-segments each sub-segment associated with a time code, and the means for splicing the subsequent segments to the first segment for presentation to the user comprises means for sorting the sub-segments in accordance with the time codes.
-
33. The apparatus of claim 32, wherein the time code is the SMPTE time code.
-
34. The apparatus of claim 32, wherein the time code is a program time stamp.
-
35. The apparatus of claim 31, wherein the video segments each comprises a plurality of video sub-segments, each sub-segment associated with a time code and a channel identifier, and the means for splicing the subsequent segments to the first segment for presentation to the user comprises:
-
means for assembling the sub-segments by the associated channel identifier; and
means for sorting the assembled sub-segments in accordance with the rime codes.
-
-
36. The apparatus of claim 20, wherein each of the subsequent segments is encrypted so as to be decryptable with a key before being received and stored in the local storage device, and the apparatus further comprising:
-
means for transmitting a message separately identifying each of the subsequent segments of the selected video program and the user to a program source while retrieving the stored first segment for presentation to the user;
means for receiving the key; and
wherein the message separately identifying each of the subsequent segments of the selected video program and the user to a program source is transmitted in response to a user demand.
-
-
37. The apparatus of claim 36, further comprising means for decrypting the encrypted subsequent segments with the key.
-
38. The apparatus of claim 20, wherein each of the segments is encrypted so as to be decryptable by a different key before being received and stored in the local storage device, and the apparatus further comprises:
-
means for transmitting a message separately identifying each of the segments of the selected video program and the user to a program source in response to the user demand; and
means for receiving a key for each of the segments.
-
-
39. The apparatus of claim 38, further comprising means for decrypting the encrypted segments with each of the different keys.
Specification