Claims
- 1. A method of providing customized programming in a digital interactive programming system from a programming transmission center to at least one user, the customized programming comprising a succession of digital program segments selected by the interactive programming system from a plurality of digital program segments according to user preference information of the at least one user, the customized programming selected to appeal to the programming preferences of the at least one user, the method comprising:
accessing user preference information indicating the programming preferences of the at least one user; selecting and accessing a first digital program segment of the succession of digital program segments from the plurality of digital programming segments according to the user preference information of the at least one user; transmitting the first digital program segment to a reception system of the at least one user; identifying a splice point in the first digital program segment before the completing the step of transmitting; selecting and accessing a second digital program segment of the succession of digital program segments from the plurality of digital program segments according to the user preference information; seamlessly switching from the first digital program segment to the second digital program segment at the splice point identified in the first digital program segment, wherein the switch occurs without creating any artifacts perceptible when the succession of digital program segments is presented to the at least one user; and transmitting the second program segment to the reception system of the at least one user.
- 2. A method of providing customized programming as described in claim 1 further comprising the step of storing the plurality of digital program segments on at least one storage server at the programming transmission center, and wherein the succession of digital program segments is accessed from the at least one storage server.
- 3. A method of providing customized programming as described in claim 2 wherein the at least one storage server is selected from the group consisting of: a data storage server, magnetic storage media, optical storage media, video tape, audio tape, compact disk, video disk, and mini-disk.
- 4. A method of providing customized programming as described in claim 1 further comprising the step of encoding the succession of digital program segments with the splice point.
- 5. A method of providing customized programming as described in claim 2 further comprising the step of encoding the succession of digital program segments with the splice point before the step of storing.
- 6. A method of providing customized programming as described in claim 4 wherein the succession of digital program segments are encoded according to MPEG standards.
- 7. A method of providing customized programming as described in claim 1 wherein the digital interactive programming system further comprises a user profile system and wherein the user preference information ins accessed from the user profile system.
- 8. A method of providing customized programming as described in claim 2 further comprising the step of compressing the succession of digital program segments before the step of storing.
- 9. A method of providing customized programming as described in claim 8 wherein the succession of digital program segments are compressed according to MPEG standards.
- 10. A method of providing customized programming as described in claim 1 further comprising the step of receiving user preference information from the at least one user via a backchannel communication link between the reception system of the at least one user and the programming transmission center.
- 11. A method of providing customized programming as described in claim 10 wherein the backchannel communication link is a communication system selected from the group consisting of: radio, telephony, wireless telephony, a communication network, the Internet, two-way cable, digital subscriber line, fiber optic, and satellite.
- 12. A method of providing customized programming as described in claim 1 wherein the step of accessing further comprises the steps of requesting and receiving at least one digital program segment from a remote transmission source.
- 13. A method of providing customized programming as described in claim 12 wherein the remote transmission source is selected from the group consisting of: a local transmission center, a regional transmission center, a local broadcast center, and a national broadcast center.
- 14. A method of providing customized programming as described in claim 14 wherein the transmission received from the remote transmission source is received via a transmission medium selected from the group consisting of: terrestrial television broadcast, cable, satellite, fiber optic, point-to-point microwave, radio, telephony, wireless telephony, the Internet, a private network, and a communication network.
- 15. A method of providing customized programming as described in claim 12 further comprising the step of selecting at least one digital program segment from the remote transmission source according to information within a library database of a library of digital program segments stored at the remote transmission source.
- 16. A method of providing customized programming as described in claim 15 further comprising the step of updating the programming library according to a set of rules governing the database profile wherein the set of rule dictate which of the digital program segments are to be stored, a location for storing the digital program segments, and a period of time for storage, and wherein the rules are based upon an aggregation of related user preference information of a plurality of users.
- 17. A method of providing customized programming as described in claim 1 wherein the step of accessing further comprises retrieving digital program segments from the Internet via a communication link between the programming transmission center and the Internet.
- 18. A method of providing customized programming as described in claim 1 wherein the step of accessing further comprises retrieving digital program segments from a private network via a communication link between the programming transmission center and the private network.
- 19. A method of providing customized programming as described in claim 1 wherein the steps of transmitting are performed over a transmission medium selected from the group consisting of: terrestrial television broadcast, cable, satellite, fiber optic, microwave, radio, telephony, wireless telephony, the Internet, a private network, and a communication network.
- 20. A method of providing customized programming as described in claim 1 wherein the plurality of digital program segments comprise programming selected from the group consisting of: audio, video, still-frame video, multimedia, graphic image, animation, data, programming applications, and text.
- 21. A method of providing customized programming as described in claim 1 wherein the steps of transmitting are performed over a narrow bandwidth transmission medium.
- 22. A method of providing customized programming as described in claim 1 wherein the customized programming is transmitted to a plurality of users whose user preference information indicates common programming preferences.
- 23. A method of providing customized programming as described in claim 10 further comprising the step of receiving the user's input or a response to the at least one user to at least one interrogatory contained in the succession of digital program segments at the programming transmission center via the backchannel communication link, wherein the selection of the succession of digital program segments is further determined by the interactive programming system based upon responses of the at least one user to the posited interrogatories.
- 24. A method of providing customized programming as described in claim 4 wherein the step of encoding further includes encoding at least one data command in at least one of the digital program segments, the data commands encoded for instructing reception system of the at least one user to retrieve additional digital program segments over a communication network wherein the communication network is selected from the group consisting of the Internet and a private network.
- 25. A programming transmission system in a digital interactive programming system for providing customized programming from a programming transmission center to at least one user utilizing an interactive programming system, the customized programming comprising a succession of digital program segments selected by the interactive programming system from a plurality of digital program segments according to user preference information of the at least one user, the customized programming selected to appeal to the programming preferences of the at least one user, the programming transmission system comprising:
a program selector which selects and accesses the succession ofdigital program segments from the plurality of digital program segments, wherein the succession of digital program segments selected are determined in individual succession by the interactive programming system based upon user preference information of the at least one user; a memory which stores the user preference information; a data filter which identifies a splice point in each of the succession of digital program segments; a program switcher which switches between a prior digital program segment and a successive digital program segment in the succession of digital program segments at the splice point of the prior digital program segment, wherein a seamless switch occurs without creating any artifacts perceptible when the succession of digital program segments is presented to the user; a processor that coordinates the functions of the program selector, the data filter, the program switcher, and the interactive programming system; and a programming transmitter that transmits the successive digital program segments to the at least one user.
- 26. A programming transmission system for providing customized programming as described in claim 25 further comprising at least one storage server for storing the digital program segments.
- 27. A programming transmission system for providing customized programming as described in claim 26 wherein the at least one storage server is selected from the group consisting of: a data storage server, magnetic storage media, optical storage media, video tape, audio tape, compact disk, video disk, and mini-disk.
- 28. A programming transmission system for providing customized programming as described in claim 25 further comprising backchannel receiver that receives user preference information from a receiver of the at least on user over a backchannel communication link between the programming transmission center and the receiver of the at least one user
- 29. A programming transmission system for providing customized programming as described in claim 28 wherein the backchannel communication link is a communication system selected from the group consisting of: radio, telephony, wireless telephony, a communication network, the Internet, a digital subscriber line, cable, fiber optic, and satellite.
- 30. A programming transmission system for providing customized programming as described in claim 25 wherein the memory comprises a computer readable medium selected from the group consisting of: a data storage server, optical storage media, and magnetic storage media.
- 31. A programming transmission system for providing customized programming as described in claim 25 further comprising a receiver that receives the digital program segments via a transmission from a remote transmission source.
- 32. A programming transmission system for providing customized programming as described in claim 31 further comprising a database profile of a programming library of digital program segments, wherein the library of digital program segments is stored at least one of the remote transmission sources.
- 33. A programming transmission system for providing customized programming as described in claim 32 wherein the programming library is updated according to a set of rules governing the database profile which dictates the digital program segments to be stored, a location for storing the digital program segments, and a period of time for storage, and wherein the rules are based upon an aggregation of related user preference information of multiple users.
- 34. A programming transmission system for providing customized programming as described in claim 31 wherein the remote transmission source is selected from the group consisting of: a local transmission center, a regional transmission center, a local broadcast center, and a national broadcast center.
- 35. A programming transmission system for providing customized programming as described in claim 31 further comprising at least one storage server that stores the digital program segments received from the remote transmission source.
- 36. A programming transmission system for providing customized programming as described in claim 31 wherein the program selector accesses the digital program segments directly from the receiver.
- 37. A programming transmission system for providing customized programming as described in claim 31 wherein the transmission received from the remote transmission source is received via a transmission medium selected from the group consisting of: terrestrial television broadcast, cable, satellite, fiber optic, microwave, radio, telephony, wireless telephony, the Internet, a private network, and a communication network.
- 38. A programming transmission system for providing customized programming as described in claim 25 wherein the programming transmitter transmits the digital program segments over a transmission medium selected from the group consisting of: terrestrial television broadcast, cable, satellite, fiber optic, microwave, radio, telephony, wireless telephony, the Internet, a private network, and a communication network.
- 39. A programming transmission system for providing customized programming as described in claim 25 wherein the digital program segments comprise programming selected from the group consisting of: audio, video, still-frame video, multimedia, graphic image, animation, data, programming applications, and text.
- 40. A programming transmission system for providing customized programming as described in claim 25 wherein the programming transmitter transmits the digital program segments via a narrow bandwidth transmission medium.
- 41. A programming transmission system for providing customized programming as described in claim 25 wherein the customized programming is transmitted to a plurality of users whose user preference information indicates common programming interests.
- 42. A programming transmission system for providing customized programming as described in claim 28 wherein one or more of the digital program segments contain interrogatories for interacting with the particular user, and wherein the backchannel receiver receives user responses to the interrogatories or other user input via the backchannel communication link between the programming transmission center and the particular user's receiver, whereby the digital program segments selected are determined by the interactive programming system based upon user responses to the posited interrogatories and other user input.
- 43. A programming transmission system for providing customized programming as described in claim 25 wherein the digital program segments are compressed and encoded according to MPEG standards.
- 44. A programming transmission system for providing customized programming as described in claim 43 wherein the splice points are MPEG codes.
- 45. A programming transmission system for providing customized programming as described in claim 25 wherein a data command in the digital program segments instructs a particular user's receiver to retrieve additional digital program segments from the Internet.
- 46. A programming transmission system for providing customized programming as described in claim 25 wherein a data command in the digital program segments instructs a particular user's receiver to retrieve additional digital program segments from a private network.
- 47. A programming transmission system for providing customized programming as described in claim 25 wherein the data filter comprises a digital multiplexer.
- 48. A programming transmission system for providing customized programming as described in claim 25 wherein the program switcher comprises a digital multiplexer.
- 49. A programming transmission system for providing customized programming as described in claim 25 further comprising a data rate controller which controls the rate at which the successive digital program segments are transferred to the programming transmitter, thereby varying the rate of transmission of the digital program segments to coordinate the transmission rate with the filling and outflow rates of a buffering component in a receiver at a user's location.
- 50. A method of creating customized programming for transmission within an interactive programming system comprising the steps of:
selecting multiple digital program segments; encoding a splice point within one or more of the digital program segments to facilitate a seamless switch to another of the digital program segments; compressing the digital program segments; and storing the selected digital program segments on one or more storage servers accessible by a programming transmission center.
- 51. A method of creating customized programming as described in claim 50 wherein the step of selecting is performed by the interactive programming system based upon user preference information of a particular user.
- 52. A method of creating customized programming as described in claim 50 wherein the step of selecting is performed by the interactive programming system based upon user preference information of a plurality of users with common programming interests.
- 53. A method of creating customized programming as described in claim 50 wherein the step of selecting is performed by the interactive programming system based upon a set of rules governing a database profile which dictates the digital program segments to be stored, a location for storing the selected digital program segments, and a period of time for storage, and wherein the rules are based upon an aggregation of related user preference information of multiple users.
- 54. A method of creating customized programming as described in claim 50 wherein the steps of encoding and compressing are performed according to MPEG standards.
- 55. A method of creating customized programming as described in claim 50 wherein the storage servers are selected from the group consisting of: data storage servers, magnetic storage media, optical storage media, video tapes, audio tapes, compact disks, video disks, and mini-disks.
- 56. A method of creating customized programming as described in claim 50 wherein the storage servers are located at the programming transmission center.
- 57. A method of creating customized programming as described in claim 50 wherein one or more of the storage servers are located at a remote transmission source from which the programming transmission center requests and receives digital program segments.
- 58. A method of creating customized programming as described in claim 57 wherein the remote transmission source is selected from the group consisting of: a local transmission center, a regional transmission center, a local broadcast center, a national broadcast center, an Internet server, and a private network server.
- 59. A method of creating customized programming as described in claim 50 wherein the digital program segments comprise programming selected from the group consisting of: audio, video, still-frame video, multimedia, animation, graphic image, and text.
- 60. A method of creating customized programming as described in claim 50 wherein the digital program segments comprise still-frame video for transmission via a low bandwidth transmission medium.
- 61. A method of creating customized programming as described in claim 50 wherein the step of encoding further includes encoding one or more data commands in one or more of the digital program segments, the data commands for instructing receiving equipment at a user's location to retrieve additional digital program segments from the Internet.
- 62. A computer program product for instructing a computer controlled programming transmission system with interactive programming technology to provide customized programming to a user, the computer program product comprising a computer readable medium having computer readable program code embodied therein for controlling the programming transmission system, the computer readable program code comprising instructions for:
causing the programming transmission system to access information in a user preference; causing the programming transmission system to select and access a first digital program segment, wherein the particular digital program segment selected as the first digital program segment is determined by the interactive programming system based upon the user preference information of a particular user; causing the programming transmission system to transmit the first digital program segment to the particular user; causing the programming transmission system to identify a splice point in the first digital program segment prior to the completion of its transmission to the user; causing the programming transmission system to select and access a second digital program segment, wherein the particular digital program segment selected as the second digital program segment is determined by the interactive programming system based upon user preference information of the particular user; causing the programming transmission system to seamlessly switch from the first digital program segment to the second digital program segment at the splice point identified in the first digital program segment, whereby the switch is accomplished without a user perceptible delay between the digital program segments; and causing the programming transmission system to transmit the second digital program segment to the particular user, thereby providing an uninterrupted customized program transmission to the particular user.
- 63. A computer program product as described in claim 62 wherein the computer readable program code further comprises instructions for causing the programming transmission system to store the digital program segments on one or more storage servers at the programming transmission center, whereby the digital program segments are accessed from the storage servers.
- 64. A computer program product as described in claim 62 wherein the computer readable program code further comprises instructions for causing the programming transmission system to encode one or more of the digital program segments with the splice point.
- 65. A computer program product as described in claim 62 wherein the computer readable program code further comprises instructions for causing the programming transmission system to encode one or more of the digital program segments with the splice point before causing the programming transmission system to store the digital program segments.
- 66. A computer program product as described in claim 64 wherein the digital program segments are encoded according to MPEG standards.
- 67. A computer program product as described in claim 65 wherein the digital program segments are encoded according to MPEG standards.
- 68. A computer program product as described in claim 62 wherein the computer readable program code further comprises instructions for causing the programming transmission system to compress the digital program segments prior to the step of storing.
- 69. A computer program product as described in claim 68 wherein the digital program segments are compressed according to MPEG standards.
- 70. A computer program product as described in claim 62 wherein the computer readable program code further comprises instructions for causing the programming transmission system to receive user preference information from the particular user via a backchannel communication link between a particular user's receiver and the programming transmission center.
- 71. A computer program product as described in claim 70 wherein the backchannel communication link is a communication system selected from the group consisting of: radio, telephone, wireless telephone, a communication network, cable, fiber optic, and satellite.
- 72. A computer program product as described in claim 71 wherein the communication network comprises the Internet.
- 73. A computer program product as described in claim 70 wherein the computer readable program code further comprises instructions for causing the programming transmission system to store the user preference information in a memory module at the programming transmission center.
- 74. A computer program product as described in claim 73 wherein the memory module is a computer readable medium selected from the group consisting of: a data storage server, optical storage media, and magnetic storage media.
- 75. A computer program product as described in claim 62 wherein the instructions for accessing further comprise instructions for causing the programming transmission system to request and receive the digital program segments from a remote transmission source.
- 76. A computer program product as described in claim 75 wherein the remote transmission source is selected from the group consisting of: a local transmission center, a regional transmission center, a local broadcast center, and a national broadcast center.
- 77. A computer program product as described in claim 75 wherein the transmission received from the remote transmission source is received via a transmission medium selected from the group consisting of: terrestrial television broadcast, cable, satellite, fiber optic, microwave, radio, telephone, wireless telephone, and a communication network.
- 78. A computer program product as described in claim 75 wherein the instructions for requesting and receiving further comprise instructions for causing the programming transmission system to select the remote transmission source based upon a database profile of a programming library of digital program segments stored at the remote transmission source.
- 79. A computer program product as described in claim 78 further including instructions for causing the programming transmission system to update the programming library according to a set of rules governing the database profile which dictates the digital program segments to be stored, a location for storing the digital program segments, and a period of time for storage, and wherein the rules are based upon an aggregation of related user preference information of multiple users.
- 80. A computer program product as described in claim 62 wherein the instructions for accessing further including instructions for causing the programming transmission system to retrieve digital program segments from the Internet via a communication link between the programming transmission center and the Internet.
- 81. A computer program product as described in claim 62 wherein the instructions for accessing further including instructions for causing the programming transmission system to retrieve digital program segments from a private network via a communication link between the programming transmission center and the private network.
- 82. A computer program product as described in claim 62 wherein the programming transmission system transmits the digital program segments over a transmission medium selected from the group consisting of: terrestrial television broadcast, cable, satellite, fiber optic, microwave, radio, telephone, wireless telephone, and a communication network.
- 83. A computer program product as described in claim 82 wherein the communication network comprises the Internet.
- 84. A computer program product as described in claim 82 wherein the communication network comprises a private network.
- 85. A computer program product as described in claim 62 wherein the digital program segments comprise programming selected from the group consisting of: audio, video, multimedia, graphic image, animation, data, programming applications, and text.
- 86. A computer program product as described in claim 62 wherein the digital program segments comprise still frame pictures for transmission via a low bandwidth transmission medium.
- 87. A computer program product as described in claim 62 wherein the customized programming is transmitted to a plurality of users whose user preference information indicates common programming interests.
- 88. A computer program product as described in claim 70 further including instructions for causing the programming transmission system to receive the user's input or the user's responses to one or more interrogatories contained in the digital program segments at the programming transmission center via the backchannel communication link, whereby the particular digital program segments selected are further determined by the interactive programming system based upon user responses to the posited interrogatories.
- 89. A computer program product as described in claim 64 wherein the instructions for encoding further include instructions for encoding one or more data commands in one or more of the digital program segments, the data commands for instructing receiving equipment at a user's location to retrieve additional digital program segments from the Internet.
- 90. A computer program product as described in claim 65 wherein the instructions for encoding further include instructions for encoding one or more data commands in one or more of the digital program segments, the data commands for instructing receiving equipment at a user's location to retrieve additional digital program segments from the Internet.
- 91. A computer program product as described in claim 64 wherein the instructions for encoding further include instructions for encoding one or more data commands in one or more of the digital program segments, the data commands for instructing receiving equipment at a user's location to retrieve additional digital program segments from a private network.
- 92. A computer program product as described in claim 65 wherein the instructions for encoding further include instructions for encoding one or more data commands in one or more of the digital program segments, the data commands for instructing receiving equipment at a user's location to retrieve additional digital program segments from a private network.
CROSS REFERENCES TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of and claims priority to U.S. patent application Ser. No. 09/335,372, which is a continuation-in-part of U.S. patent application Ser. No. 09/154,069, which is a continuation-in-part of U.S. patent application Ser. No. 08/887,314, which is a continuation of U.S. patent application Ser. No. 08/443,607, now U.S. Pat. No. 5,724,091.
Continuations (2)
|
Number |
Date |
Country |
Parent |
08443607 |
May 1995 |
US |
Child |
08887314 |
Jul 1997 |
US |
Parent |
07797298 |
Nov 1991 |
US |
Child |
08166608 |
Dec 1993 |
US |
Continuation in Parts (4)
|
Number |
Date |
Country |
Parent |
09335372 |
Jun 1999 |
US |
Child |
09767053 |
Jan 2001 |
US |
Parent |
09154069 |
Sep 1998 |
US |
Child |
09335372 |
Jun 1999 |
US |
Parent |
08887314 |
Jul 1997 |
US |
Child |
09154069 |
Sep 1998 |
US |
Parent |
08166608 |
Dec 1993 |
US |
Child |
08443607 |
May 1995 |
US |