AN INTERACTIVE TELEVISION PROGRAMMING GUIDE SYSTEM BASED ON A CLIENT-SERVER PROVISION, WITH RECORDING ON A REMOTE SERVERBACKGROUND OF THE INVENTION This invention relates to interactive television programming guidance systems, and more particularly to interactive television programming guidance systems that allow users to record programs and data from the programming guide on a media server. Cable, satellite and broadcast television systems provide viewers with a large number of television channels. Traditionally, viewers have consulted printed television programming calendars to determine the programs that are being broadcast at a particular time. More recently, interactive television programming guides have been developed that allow information about television programs to be displayed on a television viewer. Interactive programming guides allow the user to navigate through advertisements of television programs using a remote control. In a typical programming guide, various television program ad groups are displayed in predefined or user-defined categories. Program announcements are typically displayed in a list, grid or table. Program listings and other data in the programming guide are typically provided by a satellite uplink facility to a number of cable system terminals. Each terminal distributes the data of the programming guide to a number of users. Interactive television programming guides are typically implemented in the boxes that are placed on the user's television. Electronic television programming guides are described, for example, PCT Patent Application Publication No. WO 96/41478 of Knee et al., Published December 19, 1996. A typical box that is placed on the television is connected to a user's TV and a VCR. Programming guide systems that allow users to record programs are described, for example, in Ellis et al, U.S. patent application. Serial No. 08 / 924,239, filed on September 5, 1997, which is hereby incorporated by reference in its entirety. Such systems have deficiencies in a number of aspects. The processing and storage capacities of the box that is placed on the TV and the VCR are generally limited. This, in turn, can limit the functionality of the guide. Video recorders can significantly increase the cost of home television equipment. These are mechanical systems, prone to breakdown, and their proper functioning is partly based on users handling them properly (for example, remembering to place a tape inside). Putting a VCR into service condition so that it works cooperatively with a programming guide can be a complex process in some systems, and can cause users frustration. In addition, users can not record multiple programs simultaneously if they do not have multiple VCRs, and recording one program while watching another typically requires additional equipment or a box that is placed on the TV with enhanced capacity. The systems in which the programming guides allow users to record a program while looking at another are described, for example, in Lemmons et al, U.S. patent application. Serial No. 60 / 089,487, filed on June 16, 1998, which is incorporated herein by reference in its entirety. Systems that use hard disk technology to store programs have also been developed. Interactive television programming guidance systems that have digital storage devices are described, for example, in Hassell et al, U.S. patent application. Serial No. 09 / 157,256, filed September 17, 1998. The hard disk-based products have also been developed by Tivo, Inc. of Sunnyvale, California, and Replay Networks, Inc. of Mountainview, California. These systems are deficient in that they require additional equipment in the user's home that can significantly increase the cost of the user's television equipment in their home. Such systems also do not allow users to record multiple programs simultaneously if they do not have multiple devices in the house. Some current television platforms support a return path between the boxes that are placed on the television and the terminals. Programming guides have been developed based on a client-server disposition, in which the boxes that are placed on the television act as clients that communicate with servers located in the terminals, through return channels. The servers typically provide program announcement information (eg, program titles and broadcast schedules) to the boxes that are placed on the television, in response to orders that are generated by said boxes. Video systems have also been developed toP1202 ordered (VOD). Such systems typically record all programs that are distributed by a terminal, or only a selected subset of programs. In the first approach, large amounts of storage are required on the server to ensure that all possible videos desired by users will be available. In the second approach, users are limited to seeing only those programs that the operator of the terminal decides to record. A system for storing and transmitting audio and video signals is described, for example, in PCT Patent Application Publication No. WO 95/04431 A2 of Buhro et al., Published on February 9, 1995. A system that allows users accessing on-demand programs, using an electronic programming guide, is described, for example, in U.S. Patent No. 5,751,282 published May 2, 1998. In a cable television system known as "The Box ", viewers can call a cable operator to request the airplay of a particular music video, from a music video archive. The videos requested are transmitted by a specialized channel so that all viewers can see them. This method presents a series of deficiencies. First, users do not have the possibility to askP1202 programs using your television equipment. In addition, viewers should expect other videos previously selected by other viewers to be broadcast. Also, viewers are limited to selecting videos from only those that are archived. Some viewers may want music videos that are not part of the file. These viewers have no way to select a video to archive or watch other videos. In a cable television system known as "Your Choice TV", television programs that have been previously broadcast are repeated on a set of specific television channels. Viewers can request a replay of a program for a small fee. However, reruns are broadcast at scheduled times that may not be convenient for the viewer. Also, the desired programs may not be available to viewers because the cable system operator decides which programs to record. Television systems that allow access to the Internet are described, for example, in PCT Patent Application Publication No. WO 98/17064 of MacRae et al., Published on April 23, 1998. Accordingly, it is a object of the present invention to provide a programming guide system that allows the user to indicate to a server that recordP1202 certain programs that will later be played for the viewer on demand.
SUMMARY OF THE INVENTION This and other objects of the present invention are achieved in accordance with the principles of the present invention by providing a programming guide system that records programs on a remote media server in response to user requests. A main installation supplies data from the programming guide to a number of television distribution facilities. Television distribution facilities distribute the data of the programming guide to a number of interactive television programming guides using any suitable method (eg, continuously, periodically, in response to orders or orders, etc.). Interactive television programming guides can be fully implemented on the users' television equipment. As an alternative, the programming guides can be partially implemented in the television equipment of the users and partially implemented in a server, using an appropriate criterion based on a client-server or distributed processing arrangement. The remote media server can be locatedP1202 in a distribution installation of programming guides or any other suitable distribution installation (for example, a cable system terminal, a broadcast distribution facility, a satellite television distribution facility, or any other suitable type of television distribution facility). The remote media server can record programs and, if desired, data from the programming guide. The remote media server may also record data associated with programs, such as data transported in a vertical blanking interval (VBI) or in a digital data track. The programs, the data associated with the programs, the data of the programming guide or any suitable combination thereof, can be recorded in response to orders generated by the interactive television programming guide. The programs recorded by the remote media server can be distributed to the users. Using any suitable criterion of video on demand or video on demand. Users can also have local media servers (for example, personal computers) in their homes, to record programs and, if desired, data from programming guides. Other characteristics of the invention, its nature and various advantages will be more evident from the attached drawings and from the following descriptionP1202 detailed of the preferred embodimentsBRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a schematic block diagram of an illustrative system in accordance with the present invention. Figures 2a-2e are schematic diagrams showing illustrative arrangements of the interactive programming guide equipment of Figure 1, in accordance with the present invention. Figure 3 is a schematic diagram showing an illustrative arrangement for storage, of Figures 2a-2e, in accordance with the present invention. Figure 4 is a schematic diagram showing an illustrative arrangement of the media directories maintained by the storage devices of Figure 3. Figure 5 is an illustrative flow chart showing how programs can be recorded. Figures 6a and 6b are diagrams illustrating the use of user pointers to reproduce a single program for multiple users, in accordance with the present invention. Figure 7 is a schematic block diagram of an illustrative arrangement for the television user equipment of Figures 2a-2e, in accordance with the present invention. Figure 8 shows an illustrative arrangement of the remote control of Figure 7, in accordance with the present invention. Figure 9 is a generalized schematic block diagram of portions of the television set of the illustrative user of Figure 7, in accordance with the present invention. Figure 10 shows an illustrative main menu screen that can be displayed by the programming guide to provide users with access to various functions of the programming guide, in accordance with the present invention. FIG. 1a shows an illustrative display of program advertisements in which program announcements are displayed by schedule, in accordance with the present invention. Figure 11b shows an illustrative display of program advertisements in which program announcements are displayed per channel, in accordance with the present invention. Figure 11c shows an illustrative display of program advertisements in which advertisements ofP1202 programs by category, in accordance with the present invention. Figures 12a and 12b show illustrative display screens of the programming guide, in which advertisements of paid programs are displayed, in accordance with the present invention. Figure 13a shows a quick review (flip) display that can be displayed by the programming guide when a user changes channels, in accordance with the present invention. Figure 13b shows a search display that the program guide can display when a user indicates a desire to scroll through program advertisements to search for channels that are different from what a user is watching, in accordance with the present invention. Figure 14a shows an illustrative overlay for recording that can be displayed by the programming guide when a user indicates a desire to burn the program, in accordance with the present invention. Figure 14b shows an illustrative overlay for recording that can be displayed by the programming guide while a user is in a visual presentation screen of the programming guide. ~ The overlay can be displayed when a user indicates a desire to record a program. Figures 14c and 14d show illustrative overlays for recording that indicate a charge for recording a program, and that provide the user with an opportunity to confirm the recording. Figure 14e shows an illustrative overlay that the program guide can display when a user indicates a desire to record a program that is part of a group of programs. Figure 15a shows an illustrative overlay for requesting paid programs. Figure 15b shows an illustrative overlay for order confirmation of paid programs. Figure 16 shows an illustrative overlay for recording that the program guide can display when a user selects a program to record that is protected against copying. Figure 17 shows an illustrative presentation screen of the programming guide, to provide the user with an opportunity to order a package of paid programs. Figure 18a shows an illustrative directory overlay that can be displayed by "the programming guide while a user is watchingP1202 television. The overlay may be displayed when a user indicates a desire to see a directory of programs that have been recorded for a user on the remote media server of Figures 2a-2e or the local media server of Figure 7. Figure 18b shows an illustrative directory overlay that can be displayed by the programming guide while a user is in a visual presentation screen of the programming guide. The overlay may be displayed when a user indicates a desire to see a directory of programs that have been recorded for a user on the remote media server of Figures 2a-2e or the local media server of Figure 7. Figure 18c shows an illustrative directory overlay that can be displayed by the programming guide while a user is on a visual display screen in which program announcements are displayed by category, in accordance with the present invention. Figure 18d shows an illustrative directory screen that can be displayed by the programming guide when a user indicates a desire to access a directory of programs recorded for a user in * the remote media server of Figures 2a-2e or the Local media server of Figure 7. Figure 18e shows an illustrative directory menu screen that the programming guide can display when a user indicates a desire to access various directory screens, such as the one shown in the Figure 14d, but in which the announcements of recorded programs are classified in various ways. Figure 18f shows an illustrative screen of directories, of programs that a user has selected to record by means of a media server, but which have not yet been recorded. Figure 19 shows an illustrative overlay that the programming guide can display when a user indicates a desire to play a program. The overlay indicates a charge for that reproduction. Figure 20 is a complete screen with information, illustrative, which can be displayed by the programming guide when a user indicates a desire to view information about a program that has been recorded for a user on the remote media server of the Figures 2a-2e. Figure 21 shows an illustrative overlay that the programming guide can display when a user indicates a desire to record or reproduce aP1202 program that is blocked by parental decision. Figure 22 shows an illustrative overlay to provide users with control of a program recorded on the remote media server of Figures 2a-2e or the local media server of Figure 7. Figure 23 shows an illustrative overlay that the The programming guide may display when a user indicates a desire to store a program in real time in the remote media server of Figures 2a-2e or the local media server in Figure 7. Figure 24 shows an illustrative configuration screen in which a user can set various configurations for recording programs or playing programs of the remote media server of Figures 2a-2e or the local media server of Figure 7. Figures 25a and 25b are screens illustrating superprograms for supplying users an opportunity to define superprograms, in accordance with the present invention. Figure 26 is a flowchart of an overview of the steps involved in recording programs and data from the programming guide associated therewith, on the remote media server of Figures 2a-2e or on the server of local media theP1202 Figure 7, in accordance with the present invention. Figure 27 is a somewhat more detailed flow diagram of the illustrative steps involved in recording programs and data from the programming guide associated with those programs, in the remote media server of Figures 2a-2e or in the local media server of Figure 7, in accordance with the present invention. Figure 28 is a flowchart of an overview of the steps involved in the reproduction of programs and data of the programming guide associated with the programs, on the remote media server of Figures 2a-2e or on the server of local means of Figure 7, in accordance with the present invention. Figure 29 is a somewhat more detailed flow chart of the illustrative steps involved in reproducing programs and data in the programming guide associated with the programs, on the remote media server of Figures 2a-2e or on the server local means of Figure 7, in accordance with the present invention. Figure 30 is a flowchart of the illustrative steps that are executed to provide a user with access to copies of programs stored in real time,P1202 in accordance with the present invention. Figure 31 is a flowchart of the illustrative steps that are executed to provide a user with the opportunity to define and reproduce superprograms, in accordance with the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An illustrative system 10 is shown in Figure 1, in accordance with the principles of the present invention. The main installation 12 supplies data from the programming guide from the data source of the programming guide, 14, to the television set for interactive programming guide *, 17, through the communication link 18. Preferably, there are numerous pieces or television equipment installations for interactive programming guide, 17, each of them linked to the main installation 12 by a respective communication link 18, although in Figure 1 only one of such pieces or installations of the television equipment is shown. for interactive programming guide, 17, to avoid complicating the drawing too much. The link 18 can be a satellite link, a telephone network link, a cable or fiber optic link, a microwave link, an Internet link, a combination of such links, or any other means of communication.
P1202 adequate communication. If in addition to data signals it is desired to transmit video signals over the link 18, a relatively high bandwidth link such as a satellite link, rather than a relatively low bandwidth link such as a telephone line, may generally be preferable. . The programming guide data transmitted by the main facility 12 to the interactive programming guide television equipment, 17, may include television schedule data (eg, program identifiers, schedules, channels, titles and program descriptions). ) and other service data other than television program advertisements (eg, help text, paid program information, weather information, sports information, music channel information, links to the associated Internet network, associated computing, etc.). The data in the programming guide may also include unique identifiers for each presentation of each program, identifiers for groups of programs (for example, series, miniseries, program packages that can be ordered, etc.), or any other suitable identifier. As used here, "program" and "programming" television mean any type of exhibition or advertising that takes place in a television channelP1202 normal, special ("premium"), paid, musical or otherwise, and may include movies, paid programs, sporting events, music programs, advertisements and any other type of television program. The interactive programming guide television equipment, 17, may be connected to the billing system 199 through the communication link 197. The communication link 197 may be any suitable communication link, such as a serial connection, a connection in parallel, a universal serial "bus" connection (USB), a telephone link, a computer network link, an Internet link, or any other suitable communication link. The billing system 199 receives information from the television equipment for interactive programming guide 17, referred to programs that are requested, recorded or reproduced in the television equipment for interactive programming guide 17. The billing system 199 can be any system based on a computer, suitable for generating bills for users or for accrediting and debiting users' accounts, based on information received from the television team for interactive programming guide 17. An interactive television programming guide is implemented in the computer television for guidance "interactive programming 17. Figures 2a-2e show five; illustrative exhibits of the television equipment for interactive programming guide 17. As shown, the television set for interactive programming guide 17 may include the programming cation distribution equipment 21 located in the track distribution distribution system. programming 16, and the user's television equipment 22. The interactive television programming guide may operate entirely on the user's television equipment 22, using the devices of Figures 2a and 2c, or may operate partially on the television equipment. user television 22 and partial television equipment for interactive programming guide 17, using a client-server or distributed type processing arrangement such as those shown in Figures 2b and 2d. The programming guide distribution facility can be any suitable distribution facility, and can have a distribution equipment 21. The distribution equipment 21 of Figures 2a,2b, 2c and 2d is a suitable equipment for supplying data from the programming guide to the user's television equipment 22 via the communication channel 20. The distribution device 21 may include, for example, suitable physical transmission hardware. to distribute dataP1202 of the programming guide on the sideband of a television channel, using a digital signal in band, using a digital signal out of band, or by means of any other suitable transmission technique. Also, analogue or digital video signals (eg, television programs) can be distributed to the user's television equipment 22 by the distribution equipment 21 via the communication channels 20 on multiple television channels. Alternatively, the videos can be distributed to the user's television equipment 22 from some other suitable distribution facility, such as a cable system terminal, a broadcast distribution facility, a satellite television distribution facility, or any other appropriate type of television distribution facility. The communication paths 20 can be any suitable communication channel for distributing data of the programming guide. The communication paths 20 may include, for example, a satellite link, a link by telephone network, a link by cable or fiber optic, a microwave link, an Internet link, a link by transmission service interface specification. of data by cable (DOCSIS), a combination of such links, or any other appropriate communication link.
The communication paths 20 preferably have a sufficient bandwidth to allow the programming guide distribution facility 16, or another distribution facility, to distribute television programming to the user's television equipment 22. There are typically multiple units of computer equipment. user's television 22 and multiple associated communication channels 20, although in Figures 2a-2d only a single unit of user's television equipment 22 and a single communication channel 20 are shown, to avoid complicating the drawings too much. If desired, the television programming and the data of the programming guide can be supplied by separate communication channels. Figure 2b shows an illustrative arrangement of television equipment for interactive programming guide 17 in an interactive programming guidance system based on a client-server processing or distributed processing. As shown in Figure 2b, the distribution equipment 21 can include a programming guide server 25. The programming guide server 25 can use any combination of physical and logical components (software) to provide a programming guide based on a client-server disposition. The programming guide server 25 can, for example, be put into operationP1202 a suitable database device (for example, the SQL Server - Structured Query Language - from Microsoft) and provide data from the programming guide in response to queries generated by a client of the programming guide implemented in the computer. user television 22. If desired, the programming guide server 25 may be located in the main facility 12, or another location, such as a cable system terminal, a broadcast distribution facility, a distribution facility of satellite television, or any other suitable type of television distribution facility. The programming guide can retrieve data from the programming guide server programming guide 25, using any criterion based on the client-server disposition. The programming guide can, for example, pass the requests in SQL as messages to the programming guide server 25. In another suitable criterion, the programming guide can resort to remote procedures residing in the programming guide server 25, using one or more remote procedure calls. The programming guide servercan execute statements in SQL for such remote procedures. In another criterion more suitable, client objects executed by the programming guideP1202 may communicate with server objects executed by the programming guide server 25, using, for example, an Object Order Routing Interface -Object Request Broker- (ORB). This may involve the use of, for example, the method of the Distributed Component Object Model (DCOM) method of Microsoft. The programming guide implemented in the television equipment for interactive programming guide 17 can communicate with the programming guide server 25 via communication path 20, using any appropriate network protocol and transport layer protocol, if desired . They can communicate, for example, using a protocol stack that includes the Interchange Sequence Packet / Interpack Packet Interchange layers, the Transmission Control Protocol / Internet Protocol (TCP / IP) layers, the Appletalk Transaction Protocol / Protocol layer layers. Delivery of Datagrams -Appletalk Transaction Protocol / Datagram Delivery Protocol- (ATP / DDP), DOCSIS and any other protocol for network and protocol of the appropriate transport layer. Figures 2c and 2d show Internet-based interactive television programming guidance systems. The television distribution facility 16 may include,P1202 for example, the Internet service system, 61. The Internet service system, 61, can use any suitable combination of physical and logical components (hardware and software) that can supply data from the programming guide to the guide, using an Internet-based method (for example, the Hypertext Transfer Protocol (HTTP)). If desired, the Internet service system, 61, may be located in an installation that is separate from the distribution installation of the programming guide, 16. If the programming guide is implemented in the user's television equipment 22 of the television equipment for interactive programming guide 17, as shown in Figure 2c, the Internet service system (or other suitable equipment in the programming guide distribution facility 16 that is connected to the Internet service system, 61) may provide data from the programming guide to the user's television equipment 22 through the Internet, or through the programming guide distribution equipment 21, using any Internet-based criteria (e.g., using the Internet Protocol of Transfer). Hypertext(HTTP) by a link of the type Control Protocol ofTransmission / Internet Protocol (TCP / IP)). If the "programming guide" implemented in the television equipment forP1202 interactive programming guide 17 is a client-server type guide, as shown in Figure 2d, the programming guide server 25 can obtain data from the programming guide of the Internet service system, 61. However, The programming guide can also obtain data from the programming guide from the Internet service system, 61, through an Internet connection. In another suitable arrangement, the distribution equipment 21 may include computer equipment or other suitable equipment in which a first portion or version of the interactive television programming guide is implemented. A second portion or version of the programming guide may be implemented on the user's television equipment 22. The two versions or portions of the interactive programming guide may communicate using any peer-to-peer communication scheme (peer-to-peer). ) (for example, message transmission, remote procedure calls, etc.) and can execute functions of the interactive programming guide distributively between the television distribution facility 16 and the user's television set 22. In the Figure 2e shows another suitable arrangement in which an online programming guide "is implemented in the television equipment for guidance ofP1202 interactive programming 17. Online programming guidance systems are described, for example, in Boyer et al, U.S. patent application. Serial No. 08 / 938,028, filed on September 18, 1997, which is hereby incorporated by reference in its entirety. The user may have a personal computer (PC) 231 in which a client of the programming guide or a Web viewer is implemented. The personal computer 231 may be connected to the Internet service system 235 through the Internet link 233. The Internet service system 233 may use any suitable combination of equipment and computer programs capable of supplying a programming guide server application. online or a website. The Internet service system 235 may be connected to the remote media server 24 of the programming guide distribution facility 16. In other suitable arrangements, the recording and playback functionality of the remote media server 24 may be incorporated in the system. of Internet service 235 if the Internet service system 235 has an adequate processing circuit, memory and storage. The programs and the data of the programming guide * can be recorded and reproduced on requestP1202 by the remote media server, in response to requests for recording and playback. Recording and playback requests can be generated by a program guide or web application server application implemented in the Internet service system 235. The recording and playback requests can also be generated by an interactive programming guide client. , implemented on the personal computer 231, and can be supplied to the remote media server 24 by the Internet service system 235. The programs and data of the programming guide can be provided by the Internet service system 235 to the personal computer 231 using a suitable method of real-time Internet video (for example, using the "M-bone"), or they can be downloaded and stored by the personal computer 231 and then played back. The remote media server of Figures 2a, 2b, 2c, 2d and 2e records programs, data from the programming guide, or any combination thereof, and supplies one or the other or both to the user's television equipment 22, in response to the orders generated by the programming guide. The remote media server 24 can also record data associated with the programs, such as data transported in the vertical blanking interval (VBI) of an analogue television channel or in aP1202 digital data track in a digital television channel. Examples of data associated with the programs are subtitles, text tracks, tracks with musical information, additional video formats, additional languages, or other additional data. As used herein, the recording and reproduction of "programming" or "programs" may include, but not necessarily, the recording and reproduction of data associated with the programs. The remote media server 24 is shown located in the programming guide distribution facility 16, but it may be located in a separate distribution facility (eg, a cable system terminal, a broadcast distribution facility, an installation of satellite television distribution, or any other suitable type of television distribution facility). The remote media server 24 may be based on any suitable combination of equipment and programs (software), suitable for recording and reproducing programs or data of the programming guide, upon request. As defined herein, the phrase "record upon request" refers to recording a program or data of the programming guide in response to the selection, by a user, of a program to record. Effective recording of a program does not need to take place at the same time it isP1202 makes such selection. For example, a program can be selected to record before its intended broadcast time, and can be recorded when the selected program is airborne. The remote media server 24 may include the processing circuit 11, the memory 13 and the storage 15. The processing circuit 11 may include any suitable processor, such as a microprocessor or group of microprocessors, and other processing circuits such as circuit intermediate storage (cache), direct memory access circuit (DMA), digitizing circuit, and input / output circuit (I / O). The processing circuit 11 may also include circuits suitable for decoding programs and data files stored in the storage 15, and for converting them into suitable video signals for distribution by means of the distribution equipment 21. If the programming is stored in the form of MPEG-2 type files, from the Group of Experts in Moving Images (MPEG), the processing circuit 11 may include, for example, an MPEG-2 decoder to decode the files and convert them into video type National Television Standards Commission (NTSC). In another suitable method, the processing circuit passes the MPEG-2 files to the distribution equipment 21, for itsP1202 distribution to users in the form of data flow in MPEG-2. The data stream in MPEG-2 can be decoded and displayed by the user's television equipment 22. The memory 13 can be any suitable memory to intermediately store (cache) and definitively the computer code to execute the functions of the circuit 11. The memory 13 may be used to store intermediate video programs, portions of video programs, or data from the programming guide for the processing circuit 11, while the programs are being played or recorded. The storage 15 can be any suitable storage device for recording programming files and associated programming guide data. In Figure 3 a suitable arrangement of the storage 15 is shown. The storage 15 can include any storage medium and system in which it can be recorded. The storage 15 may include, for example, a tape array 51, an optical storage tower, redundant arrays of independent disks (RAID) 55, any other suitable mass storage system, or any suitable combination thereof. Ribbon fix 51 can include any mass storage tape fixP1202 high speed, such as an 8mm tape arrangement. The array 51 can serve as a backup or archive program stored in the optical storage tower 53 or the RAID 55. The optical storage tower 53 can be any optical storage system in which it can be recorded. The optical storage tower 53 can, for example, record programs on compact discs (CD) or digital versatile discs (DVD) on which it can be recorded. During playback, the programs and data stored in the storage tower 53 can be temporarily stored in the virtual memory (eg, swap files) in the RAID 55 for use in the memory 13, or can be supplied directly to the memory 13 (for example, by means of the appropriate DMA circuit found in the processing circuit 11), for its subsequent decoding. The storage 15 can be measured in the order of hundreds of gigabit, terabit, or more. Although this may involve a considerable amount of resources, the storage 15 may still require less storage capacity than a system that would have recorded all the programs (or a large subset thereof) distributed by the terminals in all the time segments of the program. programming. Since the present systemP1202 typically needs to record only those programs that are selected by the users, less popular programs do not need to be recorded routinely, which reduces the system requirements in terms of global storage. The storage 15 may also be less than the total storage that would be maintained by all users in their homes if each user individually recorded their own copies of the programs. The remote media server 24 can allocate a specific amount of storage for each user, if desired. This amount can be fixed or it can be configurable. The recorded programs can be referenced by indicating them through pointers that are maintained in one or more directories. A directory of pointers for each user, for example, can be stored in memory 13 or RAID 55. User directories can also be maintained locally by the programming guides. An illustrative layout of user directories and other directories is shown in Figure 4. Each user directory 59 may include an identifier for each program that has been recorded for the user, and a pointer directed to the storage device in which the program was originally recorded. In this example, programs 1 and 3 wereP1202 originally recorded in optical storage tower 53. Programs 4 and 2 were originally recorded in RAID 55. Programs can also be recorded in tape array 51, and if desired, different parts of a single program can be recorded. recorded in different storage devices, but these aspects of the invention are not shown in Figure 4 to avoid complicating the drawing too much. Each storage device can maintain a media directory 61 and a media store 63. As used herein, a media store is any physical or virtual division of a storage device or storage medium that is used to store programs, data of the programming guide, or any suitable combination thereof, and may also include a storage device or complete storage medium having a single or no division. Each media directory 61 may include a list of programs recorded by the storage device. Each media directory may also include pointers indicating where the programs are stored in the media store 63. If desired, the tape array 51 may be used to archive programs that are stored in the optional storage tower 53 or in the RAID 55 for a period of timeP1202 predefined (for example, one month). In addition, programs can be archived by optical storage tower 53 for RAID 55 (not shown). Program 3 is an example of a program that has been archived by the tape array 51. An entry in the media directory 61 may reflect the archiving action, pointing to an entry in the media directory 61 in the tape array , if desired. The remote media server records programs and data from the programming guide associated with those programs, in storage 15, in response to requests for recording generated by the programming guide implemented in the television equipment for interactive programming guide 17. Such as defined herein, a "recording order" is any order, order, message, remote procedure call, object communication, or any other type of communication between processes or between objects that allows the programming guide to communicate to the server of media information about the program that the user wants to record. Figure 5 shows an illustrative data flow diagram showing how the programs can be recorded by the remote media server 24. The recording requests generated by the programming guides implemented in the television equipment for guidance ofP1202 interactive programming 17 can be placed in the order waiting queue, 110, for consolidation. The consolidator 115 can be a process that works on the remote media server 24. Consolidator 115 consolidates multiple recording requests for the same programs, and places individual and group recording tasks in task queue 120. In practice, it can It is not convenient to record a program unless a certain number of users have requested it. In a predefined period of time before the requested program is issued, the consolidator 115 can check the task queue 120 to see if enough users have requested the program. If there are not enough users, the consolidator 115 can generate a message that is distributed back to the user or requesting users by the distribution team 21. When the programming guide receives such a message, the programming guide can notify the user that the program is not being recorded. Alternatively, the programming guide may request that the program be recorded by a local media server, such as the local media server 29 of Figure 6, or it may record the program itself in a storage device. In Figure 5 the illustrative entries 121 are also shown in task queue 120. The entries 121P1202 may include, for example, the dates, start times, end times (or durations), channels and program identifiers, referred to the programs that have been selected for recording on the remote media server 24. The entries may include also lists of users who have selected each program to record. Figure 5 shows, for example, that PROGRAM 2 has been selected to record by user 1 and user 2. If a program is popular, numerous users may request that it be recorded. The recorder 125 may be a process that operates in the processing circuit 11 of the remote media server 24 and is suitable for monitoring the task queue 120 and for recording programs in the storage 15. The processing circuit 11 of the media server remote 24 may include, for example, one or more tuners, digital encoders, or digital decoders for tuning or otherwise selecting programming supplied by the distribution equipment 21, and for formatting the programs to be recorded by the remote media server 24 Any suitable combination of analog and digital tuners and decoders will be referred to hereafter as tuners, to simplify the analysis. The recorder 125 can direct the tuner (s) to specific channels (analog orP1202 digital) at particular times, based on the entries in task queue 120. In this example, recorder 125 may indicate to a first tuner that it tunes to channel 4 on December 21, 1999 to record PROGRAM 1 for the user 1. The recorder 125 may also indicate to a second tuner that it tunes to channel 5 at the same time to record PROGRAM 2 for user 1 and user 2. The upper limit of the number of tuners needed for the media server The remote can be the number of channels distributed by the distribution equipment 21. Such tuners can be based on tuning and decoding circuits implemented using one or more integrated circuits. If desired, the recorder 125 may indicate to the processing circuit 11 that it encode programming and programming guide data in the form of digital files (eg, MPEG-2 type files) or in the form of a digital data stream ( for example, a data stream in MPEG-2). The storage 15 can record the files or data stream using, for example, suitable DMA techniques. If desired, the processing circuit 11 can compress the digital files or the data stream using any suitable digital compression algorithm. The storage device in which you haveP1202 Once recorded a program can supply the recorder 125 with a pointer indicating the entry in the media directory 61 for the recorded program. This can be done automatically or in response to a question generated by the recorder 125. If the user directories 59 (Figure 4) 'are maintained by the remote media server, the recorder 125 can make entries in the directories 59 of the users that they selected the program to record. If the programming guides locally maintain copies of the user directories 59, the programming guides can, for example, download the user directories through the programming guide server 25, or using any other suitable method. As an alternative, the programming guide can download only the pointers directed to the entries in the media directories. If the user directories 59 are maintained exclusively by the programming guides, the programming guides can receive the pointer addressed to the media directory 61 in which the program automatically appears in response to the recording request, after making an appropriate order of the pointer, or using any other suitable method. The remote media server retrieves storage programs 15 in response to retrieval requests generated by the programming guidesP1202 implemented in the television equipment for interactive programming guide 17. The processing circuit 11 can process the orders by searching for a user's directory 59 for the requested programs, and then issuing an appropriate recovery order (or order) to the storage 15 , based on the pointer that is in the directory. For example, when user 1 requests that PROGRAM 1 be passed, processing circuit 11 issues an appropriate recovery command to optical storage tower 53. The program is retrieved from media storage 63 and can be passed to the memory 13 (for example, through the DMA circuits in the processing circuit 11) for its decoding by the processing circuit, and its distribution to the user's television equipment 22. If desired, the processing circuit can pass a program ordered in its digital form to the distribution equipment 21 for distribution to the user's television equipment 22. If a requested program has been archived (for example, stored in a storage device other than the one in which the program was originally stored) ), the original storage device can issue an appropriate recovery order to the storage device that it archives, in response to orders (or orders) generated by the circuitP1202 processing 11. For example, when user 1 requests the recovery of PROGRAM 3 for playback, processing circuit 11 may issue a recovery command to optical storage tower 53. Optical storage tower 53 examines in turn its media directory 61, determines that the PROGRAM 3 has been archived, and issues a request for recovery to the tape array 51. The tape array 51 retrieves the program from its media store 63, and transmits it to the storage tower Optical 53, using any suitable interconnection (eg, a parallel connection, an interface connection of a small computing system (SCSI) (eg, SCSI-2 wide, SCSI-2 fast wide, SCSI-3 ultra, etc. .), a universal serial bus (USB) connection, or any other suitable connection). As an alternative, the archiving device, in this example the tape array 51, can transfer the program directly to the memory 13 (for example, through the DMA circuit in the processing circuit 11). If desired, the processing circuit 11 can determine if a program has been archived, and can issue a recovery request to the tape array 51. During the operation of the system, multiple users can request the reproduction of a single program in such a way that the reproduction of the programP1202 for a user overlaps the program playback for another user. The remote media server 24 can simultaneously play the same program for a number of users, for example by assigning a pointer to each user, which points to the current position of the viewer user within the program. Appropriate criteria may include buffering the entire program or portions thereof in digital form in memory 13. Figures 6a and 6b illustrate how pointers can be used to simultaneously pass the same program for multiple users. After the remote media server 24 receives a request for a program, the remote media server assigns a pointer to the requesting user and retrieves the entire requested program or a portion thereof. Figure 6a illustrates the remote media server 24 which integrally stores a two-hour movie that is being simultaneously passed to three users simultaneously. Figure 6b illustrates the remote media server 24 which intermediate stores a predetermined amount (e.g., 15 minutes) of a requested movie, for each of the three users. As a movie progresses, the remote media server 24 can increment the pointer of eachP1202 user. The remote media server may predecode a predetermined amount of time (eg, the next five minutes) of the program, so that as the user pointer advances, the video is ready for distribution by the distribution equipment 21. If a user rewinds a movie, the remote media server 24 can rewind the user's pointer (ie, move it to the left) and predecode a previous portion of the movie. If the remote media server 24 intermediately stores only portions of a program, as shown in FIG. 6b, it can only intermediate store a single copy of each portion in the memory 13. As user 1 advances the movie towards minute 15, for example, remote media server 24 can check to see if minutes 15 to 30 are already stored intermediate. In this example they are, and the copy (to which user 2 points) can be used for user one. If the minutes 15 to 30 were not yet stored intermediate, the media server 25 can pre-search them and predecode an appropriate amount (for example, 5 minutes) so as not to interrupt the video flow for the user 1. If desired, the media server 25 can continuously make a pre-search of the next 15P1202 minutes (or less) of data. The data of the programming guide and the recorded videos can be distributed by the distribution equipment 21 to the user's television equipment 22 in the form of an appropriate analog video signal (eg, NTSC video), or in an appropriate digital format (for example, as MPEG-2 files or as an MPEG-2 data stream) using any suitable method. For example, the programs and data of the programming guide may be reproduced by the media server 24 and distributed to the user's television equipment 22 to be viewed in real time. Such programs and data of the on-demand programming guide can be reproduced according to the preferences that were established by the user. In a second suitable method, the programs and data of the programming guide are reproduced by the remote media server 24 and distributed according to a schedule by an analogue or digital channel, using a near-video-on-demand (NVOD) criterion. . In yet another suitable method, the remote media server 24 can record programs and data from the programming guide on physical media, such as a DVD or video cassette, which are sent to the user. Any combination of these methods, or any other suitable method can also be used.
P1202 An illustrative layout of the user's television equipment 22 is shown in Figure 7. The user's television equipment 22 of Figure 7 receives analog video or a digital video stream from a distribution facility at the 26 input. of the programming guide distribution installation, 16, are also received at the entrance 26. While watching television normally, the user tunes the box that is placed on the television, 28, on a desired television channel (analog or digital ). The signal for that television channel is then supplied in the video output 30. The signal supplied in the output 30 is typically either a radio frequency (RF) signal in a predefined channel (for example, channel 3 or 4) , or a demodulated video signal, but can also be a digital signal provided to the television 36 by an appropriate digital bus (for example, a bus using the 1394 standard of the Institute of Electrical and Electronic Engineers (IEEE) -not shown- ). The video signal at the output 30 is received by the optional secondary storage device 32. The interactive television programming guide or the programming guide client can operate in the box that is placed on the television, 28, on the television 36, in the optional digital storage device 31 (if the television 36 or the device ofP1202 optional digital storage 31 have a suitable processing and memory circuit), or in an appropriate analog or digital receiver connected to the television 36. The interactive television programming guide can also work cooperatively both on the television 36 and in the box that is placed on the television, 28. Interactive television application systems in which a cooperative interactive television programming guide application works on multiple devices are described, for example, in Ellis, US patent application Serial No. 09 / 186,598, filed on November 5, 1998, which is hereby incorporated by reference in its entirety. The secondary storage device 32 can be any other suitable type of storage device or program player, analog or digital (for example, a VCR, a digital video disc player (DVD), etc.). The recording of programs and other features can be controlled by the box 28 using the control channel 34. If the secondary storage device is a video recorder, for example, a typical control path 34 involves the use of an infrared transmitter coupled to the receiver infrared on the VCR that normally accepts commands from a remote control such as the controlRemote P1202 40. The remote control 40 can be used to control the box that is placed on the television, 28, the secondary storage device 32, and the television 36. If desired, the user can record programs, data of the guide of programming, or a combination thereof, in digital form, in the optional digital storage device 31. The digital storage device 31 can be an optical storage device in which it can be written (such as a capable DVD player). to handle DVD discs that can be burned), a magnetic storage device (such as a digital disc or tape drive), or any other digital storage device. Interactive television programming guidance systems having digital storage devices are described, for example, in Hassell et al, U.S. patent application. serial number 09 / 157,256, filed on September 17, 1998, which is incorporated herein by reference in its entirety. The digital storage device 31 may be contained in the box that is placed on the television, 28, through an output port and an appropriate interface. The digital storage device 31 may be contained, for example, in theP1202 local media server 29. If necessary, the processing circuit in box 28 formats the received video, audio and data signals in a digital file. Preferably, the file format is an open file format such as the MPEG-2 standard of the Group of Experts in Moving Images (MPEG) or the standard of the Joint Group of Experts in Photography - "Moving Joint Photographic Experts Group" - ( MJPEG). The resulting data is sent to the digital storage device 31 via an appropriate bus (for example, a bus using the 1394 standard of the Institute of Electrical and Electronic Engineers (IEEE)), and stored in the digital storage device 31 In another suitable criterion, a data stream or series of files in MPEG-2 can be received from the distribution equipment 21 and stored in the digital storage device 31. For example, the files from the distribution facility can be stored. 16 for programs recorded by the user using the remote media server 24. Such digital files can be played back to the user when desired. In typical programming guide systems, the secondary storage device 32 or the digital storage device 31 are necessary to provide users with the ability to recordP1202 programs. Such storage devices are unnecessary when the present invention is put into practice, because users can record programs on the remote media server 24. In practice, such storage devices can be omitted from the user's television equipment 22 with a minimal or no effect on the functionality of the programming guide, while at the same time minimizing the cost of the user's television equipment 22. The television 36 receives video signals from the secondary storage device 32 through the communication channel 38. The video signals on the communication path 38 may be generated either by the secondary storage device 32 when a pre-recorded storage medium is played (for example a video cassette or a digital video disc on which it can be recorded). , by the digital storage device 31 when a pre-recorded digital video is played(for example, a video of a program that was recorded by the user on the remote media server 24 or the local media server 29), can be passed from the box that is placed on the television, 28, can be supplied directly to the television 36 through the box 28 if the secondary storage device 32 is not included in the user's television equipment 22, orP1202 can be received directly by the television 36. While watching television normally, the video signals supplied to the television 36 correspond to the desired channel that the user has tuned to the box 28. The video signals can also be supplied to the television 36 by the box 28 when said box 28 is used to reproduce the information stored in the digital storage device 31, or when the box 28 is used to decode a stream of digital videos, or digital files transmitted from the television distribution facility 16. * The box that is placed on the television, 28, may have the communication device 37 to communicate directly with the programming guide server 25, the remote media server 24, or the Internet service system 61, via 20. The communication device 37 can also be support for communications between the computer and the elevision of user 22 and the local media server via communication path 167, if desired. The communication path 167 can be any suitable link, such as a serial or parallel link, a network link, an Internet link, a DOCSIS link, a radio link, an infrared link or any other digital or analog link wired or suitable wireless.
P1202 - The communication device 37 can be a modem (for example, any normal modem, cellular modem or suitable analog or digital cable modem), network interface card (for example, an Ethernet card, signal ring card, etc.). ), or any other suitable communication device. The appropriate communication device 37 can also be a personal computer with an Internet connection, such as with the arrangements shown in Figures 2c and 2d. If desired, the television 36 may also have such a suitable communication device. In an alternative form, the user's television equipment 22 may communicate with the remote media server 24 or the Internet service system 61 through the distribution equipment 21, using a suitable return path or communication path. The programming guide can communicate with the programming guide server 25, the remote media server 24, or the Internet service system 61 via the communication channel 20, using any protocol for network and protocol of the transport layer, if desired A protocol stack can be used that includes, for example, the Sequence Interchange Packet / Interpack Packet Exchange (SPX / IPX) layers, "the Transmission Control Protocol / Protocol layers.
P1202 Internet (TCP / IP), Layers Transaction ProtocolAppletalk / Datagram Delivery Protocol (ATP / DDP), or any other suitable protocol for network and transport layer protocol. If desired, DOCSIS can also be used. These protocols can also be used to communicate with the local media server 29, but in practice other suitable protocols can be used to communicate with the server 29, such as the Jini network protocol of Sun Microsystems. The local media server 29 can be a device in the user's home that is suitable for storing and playing programs on demand. The local media server 29 can be, for example, a personal computer connected to the box that is placed on the television, 28, through an Ethernet connection, a normal serial port or in parallel, a universal serial bus, a bus type 1394 of the IEEE, etc. The local media server 29 may have a processing circuit 33, a memory 35 and a storage 37. The processing circuit 33 may include any suitable processor, such as a processor or group of microprocessors, and other processing circuits such as circuit of intermediate storage, direct memory access circuit (DMA) and input / output circuit (1/0). The circuit ofP1202 processing 33 may also include suitable circuits for recording programs on demand. The processing circuit 33 may also include suitable circuits for decoding program and data files stored in the storage 37, and for converting them into video signals suitable for playback by the user's television equipment 22. If the programming is stored in MPEG-2 type files, the processing circuit 33 may include, for example, an MPEG-2 type decoder to decode the files and convert them to video type National Television Standards Commission (NTSC). The memory 35 can be any suitable memory for intermediate and definitively storing the computer code for executing the functions of the processing circuit 33. The memory 35 can also be used to store intermediate programs or portions of video programs for the processing circuit 33, while the programs are being passed by the users. The storage 37 can be any suitable storage to record programming files and associated programming guide data. The storage 37 may be, for example, a suitable hard disk having a capacity measured in gigabytes or more. User directories, such asP1202 the user directory 59 of Figure 4, can be maintained by the processing circuit 33 and stored in the memory 35, the storage 37, or both. An illustrative arrangement of the remote control 40 is shown in Figure 8. The remote control 40 can have any type of buttons or keys suitable to provide a user with an opportunity to change channels, navigate within the programming guide, access the functions of the programming guide, control a storage device or media server, or any other suitable key. More specifically, the user can press the number keys 801 to enter channel numbers, parent control codes, purchase codes, etc. The user can press the "Guide" key 805 to access, for example, the programming guide, and press the arrow keys 803, the key Page 805 and the Page Down key 807 to navigate within the guide. The user can press the "PLAY" key 809, the "FF" key 811, the "REW" key 813, the "REC" key 815, the "STOP" key 819 and the "PAUSE" key 817 respectively to play, advance fast, rewind, record, stop and pause programs on a media server or staging device. In Figure 9, one more embodiment is shownGeneralized P1202 of the user television equipment 22 of Figure 7. As shown in Figure 9, the programming guide data from the programming guide distribution facility 16 (Figure 1) are received by the circuit control 42 of the user's television equipment 22. The functions of the control circuit 42 can be provided using the box arrangement that is placed on the television, of Figure 7. Alternatively, these functions can be integrated in a television receiver advanced (for example, a digital television receiver or a high-definition television (HDTV) receiver), a television with a personal computer (PC / TV), or any other suitable arrangement. If desired, a combination of such provisions may be used. The user television equipment 22 of Figure 9 may have a secondary storage device 47, a digital storage device 49, or any suitable combination thereof, for recording programming. The secondary storage device 47 and the digital storage device may be omitted, if desired. The secondary storage device 47 can be any suitable type of analog or digital storage device "of programs (for example, a video recorder, a discP1202 digital versatile (DVD), etc. ). The recording of programs and other features can be controlled by the control circuit 42. The digital storage device 49 can be, for example, an optical storage device in which it can be written (such as a DVD player capable of handling DVD discs that can be burned), a magnetic storage device (such as a digital disk or tape), or any other digital storage device. The memory 63 can be any memory or other storage device, such as a random access memory (RAM), read-only memory (ROM), flash memory, a hard disk drive, a combination of such devices, etc. ., which is suitable for storing application instructions of the programming guide and data of the programming guide for use by the control circuit 42. The memory 63 may also be used to store videos in an intermediate manner. The programming guide may also store a copy of the user directory, 59, which is kept in the memory 53 by the remote media server. The programming guide may receive, for example, copies of the user directory, 59, as part of the data flow of the programming guide. In an appropriate criterion, theP1202 user directory 59 can be automatically downloaded to the programming guide whenever the directory 59 is entered, such as when the user records a program, deletes a program, or the remote media server 24 automatically deletes a program because it has been stored too much time. Alternatively, the programming guide can obtain copies of the user directory 59 from the programming guide server 25 or from the remote media server 24. With another suitable method, the programming guide can keep the user directory in the memory 63. The programming guide may include pointers directed to the media directories 61 in recovery requests transmitted to the remote media server 24. The user's television equipment 22 of theFigure 9 may have a communication device 51 to support communications between the user's television equipment 22 and the remote media server 24 or the Internet service system 61, via the communication channel 20. The device communication 51 can also support communications between the user's television equipment 22 and the local media server 29. The communication device 51 can be a modem (eg, any normal, cellular or cable modem in analogue or digital mode) , an interface card forP1202 network (for example, an Ethernet card, signal ring card, etc.), or any other suitable communication device. The user controls the operation of the user's television equipment 22 with the user's data entry (input) device, 46. The user's input device, 46, can be a pointing device, a wireless remote control, keyboard, pad to the touch, voice recognition system, pen-based computing device or any other suitable input device of the user. To watch television, the user instructs the control circuit 42 to display a desired television channel on the display device 45. To access the functions of the programming guide, the user instructs the programming guide implemented in the television equipment for programming guide, 17, so that it generates a main menu or another visual presentation screen of the desired programming guide, for its display in the visual presentation device 45.. When a user indicates a desire to access the interactive television programming guide (for example, by using a "MENU" key on the remote control 40), "the programming guide generates a presentation screenVisual P1202 suitable for the programming guide, for display on the display device 45. A main menu screen such as the illustrative main menu screen 100 of Figure 10, which provides the user with access to various functions, can be generated. of the programming guide. The main menu screens may contain various advertisements, logos, etc. The illustrative main menu screen 100 of Figure 10 includes a menu 102 of selectable features of the programming guide, 106. If desired, the selectable features 106 may be organized according to the feature type. In menu 102, for example, the programming guide options, 106, have been organized into three columns. The column labeled "TV GUIDE" is for features related to program announcements, the column designated "SMOKE DISPLAY" is for features related to the multiple system operator (MSO), and the column designated "TELEVIDENT SERVICES" is for features related to the viewer. The interactive television programming guide may generate a visual display screen for a particular feature of the programming guide when the user selects that feature from the menu 102. The main menu screen 100 may includeP1202 one or more selectable advertisements 108. Selectable advertisements 108 may include, for example, advertising with text and graphics for paid programs. When selecting a selectable advertisement 108, the programming guide may display information (for example, paid information) or execute other actions related to the content of the advertisement. If desired, advertisements may be presented only with text, as illustrated by the selectable banner banner, 110. The main menu screen 100 may also include other screen elements. The product brand of the programming guide can be indicated, for example, by using a graphic of the product brand logo, such as the graphic of the product brand logo 112. The identity of the television service provider can be presented , for example, using a service provider logo graphic, such as the service provider logo graphic 114. The current time may be displayed in the visual display region of the watch, 116. In addition, an appropriate indicator may be used. such as an indicator graph 118, to indicate to the user that there is an email coming from a cable operator that is waiting for the user, if the programming guide supportsP1202 message transmission functions. One function of the interactive television programming guide may be to provide the user with the opportunity to view advertisements for television programs. A user may indicate a desire to view program advertisements, for example by placing highlighting region 120 on a desired programming guide option, related to program announcements (eg, the "movies" option). The programming guide may also display program announcements when the user presses an appropriate key (eg, a "GUIDE" key) on the remote control 40. When the user indicates a desire to view advertisements for television programs, the user guide Programming can obtain program announcement data from a data stream supplied by the programming guide distribution facility 16, from server 25, or from memory 63, and can generate an appropriate display of advertisements from programs, for display on the monitor 45. A program advertisement screen may contain one or more groups or lists of program announcements organized according to one or more organization criteria (eg, by program category). The program announcement screen may be totally or partially superimposed on a program that is being viewed by the user. Ads can alsoP1202 to be superimposed or otherwise placed on the same screen as the program, in a "search" mode. The programming guide can, for example, give the user an opportunity to see announcements by schedule, by channel, in accordance with a number of categories (for example, movies, sports, for children, etc.), or can allow the user Search for a program ad by title. The announcements of. Programs can be displayed using any suitable list, table or grid, or other suitable visual presentation arrangement. If desired, the program display displays may include selectable advertisements, product brand logo graphics, service provider brand graphics, clocks, or any other suitable indicator or graph. A user may indicate a desire to view program announcements by time, channel or category, for example, by selecting a selectable feature from the menu 102. In response, the programming guide may display program announcements on a suitable display screen of advertisements of programs. FIGS. 11, 11b and 11c illustrate the visual display of program announcements by schedule, by channel and by category, respectively. The display screens "of advertisements, of programs 130, 135 and 140 of the Figures lia,P1202 llb and 11c may include the highlighting region 151, which highlights the program advertisement currently in use, 150. The user may position the highlighting region 151 by entering appropriate commands with the user's input device, 46. For example , if the user's input device, 46, has a keyboard, the user can place the highlighting region 151 using the arrow keys up, down, left and right. The announcements of remote programs can also be displaced in a panoramic way to the left, right, up and down by placing the highlighting region 151, by using the arrow keys of the remote control 40. As an alternative, a touch screen, a trackball, a speech recognition device, a pen-based computing device, or other suitable device may be used to select program advertisements without the use of highlighting region 151. In yet another form, the user may speak and say a television program advertisement in a voice order recognition system. These methods of selecting program advertisements are merely illustrative. If desired, any other suitable method can be used to select advertisements for programs or other elements of the programming guide. The programming guide can provide theP1202 user an opportunity to see announcements of programs for other schedules or channels. The user can indicate a desire to access the announcements for other schedules or channels using, for example, the arrow keys to the left and right to change the time segments (when the program announcements are presented by schedule, as shown in Figure a), or to change channels (when program announcements are presented by channel, as shown in Figure 11b). In response to such an indication, the programming guide may for example, scan or page the program advertisements to display advertisements for additional programs. The program advertisement screens of Figures 11, 11b and 11c may also include advertisements for programs recorded, or selected for recording, by the remote media server 24 or by the local media server 29. Recorded programs may be displayed, for example, at the beginning of the ads. The programs to be recorded can be displayed in their normal position within a list and, if desired, they can have an icon that indicates them as to be recorded. Figure Illa shows, for example, a program advertisement for a scheduled recording of "I love Lucy" for 10:30 PM on June 5, 1999. The ad has the icon 299 indicating "that the announcement corresponds to a program that is going to be recorded.
P1202 Figure 11b shows, for example, a comedy program advertisement for a recorded copy of the comedy "Saturday Night Live" which was recorded at 11:00 on June 1, 1999. Figure 11c shows, for example, a movie advertisement for a recorded copy of the movie "Perfect Body", recorded at 9:00 PM on May 31, 1999. Figures 1, 11, and 11c show announcements of recorded programs and scheduled programs to record, which have a visual presentation format slightly different from the ads of the normal programs. For example, recorded programs have their actual or anticipated recording dates displayed. If desired, any other suitable method may be used to indicate that some advertisements are for recorded programs or programs already scheduled for recording. Such ads can have a different color, a different font, a shadow, an icon or any other effect that indicates that they are not normal program ads. As an alternative, such advertisements may be omitted from the program ad screens. The programming guide can also provide a user with an opportunity to view advertisements for paid programs. For example, a user may indicate a desire to see advertisements for paid programs, by selecting the "Payment Schedule" in the screen feature of the main menu 102 of Figure 10. In response, the programming guideP1202 may display advertisements for schedule-based programs, as illustrated by the schedule 203 program payment screens of Figure 12a. As with other ad screens, a user can scroll up and down to see paid program ads for additional channels. A user can see program announcements for additional time segments by going to the right with the arrow. A user can also, for example, select selectable advertisements by going to the left with the arrow. The programming guide can also provide a user with an opportunity to view advertisements for paid programs by title. A user may indicate a desire to view advertisements for paid programs by title, for example by selecting a selectable "Paid Title" feature from main menu 102 of Figure 10. In response, the programming guide may display advertisements for paid programs by title. , as shown for example in the payment program 211 screen by title, of Figure 12b. The programming guide can provide a user with an opportunity to highlight a selectable advertisement, for example, by going to the left with the arrow. The interactive television programming guideP1202 may allow the user to view program advertisements while watching television programming, for example by superimposing a "Quick Review" or "SEARCH" display region on a television program. Figure 13a shows a visual display of illustrative FAST REVIEW 200 that the programming guide can display each time the user changes the television channels. The FAST REVIEW visual display may contain information associated with the program in use at that time, such as program title 210, broadcast time 215, current channel number 216, and identification letters 225 of the current channel. The FAST REVIEW visual presentation may also include a number of graphics, such as the brand logo, 230, a sponsorship graphic, a channel logo graphic, a mail indicator, a selectable advertisement, or any other suitable graphic. If desired, the logo 230 of the brand can be replaced by a logo of selectable information or it can be used in conjunction with it. The user can press, for example, an "INFO" key on the remote control 40 to obtain additional program information in relation to the program currently displayed in the FAST REVIEW 200 visual presentation. The visual presentation of FAST REVIEW 200P1202 may also include the qualification indicator 227 to indicate the qualification of the current program. If the programming guide provides a parental control feature, the rating of the program on each new channel that the user tunes in can be examined by the programming guide to determine if the program satisfies the parental control settings that were previously established by the user. If the program rating is not acceptable, the programming guide may, for example, only display the FAST CHECK flag without the program video and warn about a parental control code. Figure 13b shows an illustrative "SEARCH" overlay or visual presentation that the programming guide can display when the user indicates a desire to search through program advertisements for a given time segment (for example, by means of a "search" key). "on the remote control 40). The user can search the program announcements using, for example, the arrow keys on the remote control. Unlike the visual presentation of QUICK REVIEW, the SEARCH visualization allows the user to continue watching a program on a particular channel (for example, channel 178) while looking for information about programs "that are happening on other channels or at other times.
P1202 It is shown that the QUICK FIX and SEARCH overlays of Figures 13a and 13b include a trademark logo displayed to the left of the overlay. The logo can also, for example, promote different sponsors as the user searches for program announcements or makes a quick review between channels. The logos can change within the same overlay or flag if the user displays the overlay or flag for a predefined time. For example, the logo may automatically rotate through a list of logo advertisements, returning to the first advertising notice after each advertisement on the list has been displayed. The brand logo can also be replaced by a text-based advertisement. In addition to providing the user with the opportunity to access the television programming and data of the programming guide in these and other ways, the programming guide can provide the user with an opportunity to record programs on demand on the remote media server 24 or on the local media server 29, of viewing advertisements or directories of the programs that have been recorded or selected for recording, and of reproducing videos and data of the programming guide associated with the programs, upon request, from the remote media server 24 or the local media server 29. The programming guide canP1202 also provide a user with an opportunity to record series of programs or other program groups (for example, paid program packages). Programming guide systems that provide users with an opportunity to record series of programs are described, for example, in the U.S. patent application. No., presented concurrently (File No. UV-56), which is incorporated herein by reference in its entirety. Users may indicate a desire to record a program or group of programs on demand, for example by pressing a "REC" key on the remote control 40 while watching a program or after highlighting its announcement. Figures 14a and 14b show illustrative overlays 1331 that can be displayed by the programming guide when a user indicates a desire to record a program on the remote media server 24 or the local media server 29. The overlay 1331 can be displayed when , for example, a user indicates a desire to record the program that the user is watching, as shown in Figure 14a. Alternatively, the overlay 1331 can be placed on a display screen of program announcements when, for example, a user highlights an advertisement and indicates a desire to record the announced program (for example, by pressing "a key" to RECORD "in the remote control 40), as shown inP1202 Figure 14b. The overlay 1331 can instruct the user to confirm the recording request, for example by selecting "Yes". These ways of providing a user with the opportunity to record a program are only illustrative, and any other suitable method can be used. Figures 14c and 14d show additional illustrative overlays 1339 which may, for example, replace the overlays 1331 of Figures 14a and 14b. Alternatively, the programming guide may display the overlay 1339 when the user selects "Yes" from within the overlay 1331 of Figures 13a and 13b. The overlay 1339 indicates to the user the charge for recording the selected program on the remote media server 24. The overlay 1339 also provides the user with an opportunity to confirm or cancel the recording. The charge displayed in overlay 1339 can be based on any suitable billing system to the user. Users may be charged, for example, for recording, based on the duration of a program, or a fixed fee may be charged to subscriber for unlimited recordings within a period (for example, one per month). The distribution guide of the programming guide, 16, can provide the charge and other appropriate data of theP1202 programming guide (for example, title, broadcast time, etc.) to billing system 199. Billing system 199 may generate an invoice that is sent to the user, or may automatically debit the user's account. Figure 14e shows an illustrative overlay 1339 that the programming guide can display when, for example, a user selects a program that is part of a group of programs. The overlay 1447 can indicate to the user that a program is part of a group of programs, and asks the user to confirm if the user wants to record all the programs of the group. If the user selects "Yes", the remote media server 24 or the local media server 29 can record all the programs in the group. If the user selects "No", the programming guide can display the overlay 1331 of theFigures 14a, 14b, 14c or 14d to indicate to the user to confirm the recording only of the program that is displayed. The programming guide can provide the user with an opportunity to record paid programs and packages. An illustrative overlay for paid program orders 370 is shown in Figure 15a. The schedule guide may display the overlay for paid program orders 370 when, for example, the user - highlights a paid program advertisement and presses a "request" key "orP1202 any other suitable key on the remote control 40. The overlay for payment order 370 programs may display and request information 374, and may instruct the user to request the selected payment program by entering a purchase code. The user can enter a purchase code using, for example, numeric keys on the remote control 40, or can cancel the purchase and return to the last screen by selecting the "CANCEL" function 376. The programming guide can also provide the user with the opportunity to confirm the payment order using the illustrative overlay for confirmation of orders 380 of Figure 15b. If desired, the programming guide may display the overlay for order confirmation 380 of Figure 15b instead of the overlay for paid orders 370, in order to provide the user with the opportunity to request a paid program without requiring the user to enter a purchase code The charge exhibited in the 370 and 380 overlays can be established using any appropriate method. The charge can be, for example, the same if the user watches a paid program or if he records it. As an alternative, the user may be charged a different fee when only recording a paid program. In another appropriate method, charges for paid programs may differ depending on the extent of the program. In otherP1202 more suitable method, the user can pay a fixed fee for recording any number of paid programs within a predetermined period (for example, a month). The charge can be provided by the programming guide distribution equipment, 16, to the billing system 199, to bill the user or else adjust the user's account. When a user indicates a desire to record a paid packet, for example by selecting a program package advertisement from the paid program advertisement screens 203 or 211 of FIGS. 12a and 12b, the programming guide may display a program screen. package order, such as the package ordering screen 811 of Figure 17. The package ordering screen 811 may request a user for a purchase code. After a user enters a correct purchase code, the programming guide requests the payment package to the programming guide distribution installation, 16, or to any other suitable distribution facility. The package charge, as displayed on theFigure 17, can be established using any suitable method. For example, the charge may be the same if a user looks at each program paid for the package or if the user records each program. As an alternative, the user may be charged a different fee when recording one orP1202 more programs paid for a package, or when looking at them. In another form, charges for paid programs may differ depending on the length of each package program. In yet another form, the user may pay a fixed fee for recording any number of paid programs within a predetermined period (for example, a month). The charge may be provided by the programming guide distribution equipment, 16, to the billing system 199 to bill the user or else to adjust the user's account. When a user indicates a desire to record a program or group of programs on the remote media server 24 or on the local media server 29 (and possibly a desire to confirm the recording of the program), the programming guide generates a request for recording that is transmitted to the remote media server by means of the communication device 51 (Figure 9) via communication path 20 or 31. The recording request may include, for example, an identifier for the program that the user wishes record, an identifier for the user and, if desired, any other information related to the program and the user. If the user indicates a desire to record a group of programs, the request can include a group identifier or the identifiers of the constituent programs.
P1 02 -. At the time a selected program or program of a group is put on the air (which may be the time at which the program is selected to record), the remote media server 24 or the local media server 29 can record the program and any data from the programming guide associated with the program. The data of the programming guide can be stored as files associated with the program using pointers. Once the selected program is recorded, the remote media server or the local media server 29 can supply a copy of the user directory 59 to the programming guide, if the programming guide maintains a copy of the user directories. Alternatively, the remote media server 24 or the local media server 29 can provide a pointer directed to the location of the program in the media store 63. In yet another suitable method, the user directories 59 can be maintained only by the user. remote media server 24 or the local media server 29, and supplied to the programming guide upon request. In practice, some programs may be protected against copying. The main installation 12, the programming guide distribution facility, 16 or other distribution facility, may, for example, designate some programs as being non-recordable. When the user indicates a desire to record a copy protected program, the programming guide may indicate to the user that the program can not be recorded, as shown in Figure 16. The programming guide can provide the user with the opportunity to access to a directory or to another list of programs that have been recorded for the user on the remote media server 24 or on the local media server 29. The user may indicate a desire to access a directory or list of recorded programs, for example pressing a "DIR" key on the remote control 40 or selecting a "Directory" feature from the main menu 107. Figures 18a and 18b show illustrative overlays 320 that can be displayed by the programming guide when the user indicates a desire to see a directory of the programs that the user has recorded on the remote media server 24 or on the local media server 29. Figure 18a shows the overlay 320 co located above the channel video that the viewer is watching. Figure 18b shows the overlay 320 placed on top of a program advertisement screen. The overlay 320 may display any information related to the programming that the user has selected to record by means of theP1202 remote media server 24 or local media server 29. Overlay 320 may display, for example, the channels and titles of the recorded programs, the dates and times in which they are recorded, or any other suitable information. The announcements of programs referred to the recorded programs can be organized by channel, theme, user or by any other suitable criterion. In practice, program announcements relating to recorded programs may be displayed in overlays based on the type of display screen on which the overlays are displayed. In Figure 18b, for example, the advertisements are displayed by schedule because the display screen on which they are displayed exhibits schedule announcements. Figure 18c shows advertisements for programs recorded in the movies category, because the display screen on which they are shown only shows advertisements for movies. Figures 18b and 18c are illustrative and any suitable criteria may be used. In addition, program announcements can be displayed using visual presentation criteria or based on the themes, when the program announcements are superimposed over a video that the user is watching. "Figure 18d shows a directory screenIllustrative P1202 which can be displayed by the programming guide when the user indicates a desire to see a directory of the programs that the user has recorded on the remote media server 24 or on the local media server. Directory screen 350 may display information relating to programs, such as that which is displayed by overlay 320. Directory screen 350 may also include other elements of the display screen of the programming guide, such as selectable advertisements, logos of service providers, brand logos, advertising banner, etc. If desired, the directory screen 350 may be displayed as an overlay and any of the overlays described herein may be presented as a visual display screen. Such visual presentation screens can be either full-screen visual display screens or part-screen visual display screens. Partial screen visual presentation screens may contain a small video window (for example, to display the television channel in use at that time). In another suitable form, the programming guide may display a directory menu when the user, for example, presses a "DIR" key on the remote control 45 or selects a "Directory" feature from the menuMain P1202 102. An illustrative directory menu screen 370 is shown in Figure 18e. The directory menu screen 370 may provide the user with an opportunity to view recorded program directories, such as the one shown in Figure 18d. , but classified in different ways. When, for example, the user selects the "By Time" feature 371, the programming guide may display a directory of varied recorded programs, according to the date and time the programs were recorded. When, for example, the user selects the characteristic "movies" 373, the characteristic "Sports" 375, the characteristic "For Children" 377, or the characteristic "For adults" 379, the programming guide may display a directory of recorded programs for movies, sports, children's programs, or adult programs, respectively. The categories listed may be predetermined or based on movies that a user has recorded. For example, if a user has only recorded movies, only the feature "Movies" 373 can be displayed. If a user has recorded movies and programs for children, the "Movies" feature and the "For children" feature can be displayed. The programming guide can also provide the user with an opportunity to view a directory ofP1202 programs that the user has selected to be recorded by a media server, but that have not yet been recorded. Figure 18f shows an illustrative display of pending program directories 390, which the programming guide can display when, for example, the user selects the "Pending Selections" feature 381 from the directory menu screen 370. The information displayed in the program advertisement screens of Figures 11, 11b, 11c, 12a and 12b (Figures 18a and 18b), in the overlay 320 or in the directory screens 350 or 390 (Figures 18d and 18f), can be obtained by the Programming guide using any suitable method. For example, a copy of the user directory 59, which has all the information displayed, can be stored by the programming guide in memory 49. In yet another suitable method, a copy of the user directory 59 can be maintained by the directory of programming and includes all the data of the programming guide related to the recorded program (for example, information of program announcements, Internet links, computer programs, etc.), while a copy of the user directory 59, that has a small subset of all the programming guide data that are available to the program (for example, an identifier and pointer to the program), isP1202 maintained by the remote media server 24 or the local media server 29. In yet another suitable method, the programming guide can maintain the user directory 59 which includes the data of the programming guide for the programs that are in the directory. As an alternative, a smaller directory can be maintained which has only program identifiers, for example, and the programming guide can obtain data from the programming guide from a data stream of programming guide which is supplied continuously, from the programming guide distribution facility, 16, or from the programming guide server 25, based on the identifier. In yet another suitable method, the user directory 59 can be maintained entirely by the remote media server 24 or the local media server 29, and can be made available to the programming guide, upon request. These various methods are only illustrative, and if desired, any suitable method can be used to maintain user directories and provide users with access to them. Once the user has selected for playback a program recorded on the remote media server 24, the programming guide may indicate to the user a charge for playing the program, and instruct the user to confirm the reproduction. Figure 19 shows aP12Q2 overlay 1901 in which a charge is indicated and in which the user is instructed to confirm the reproduction.
The charge exhibited in the 1901 overlay can be determined using any suitable method. Users can be charged a fixed fee for reproduction.
As an alternative, users can be charged based on the duration of a selected program. In another suitable method, users can subscribe to a service in which users are allowed an unlimited playing time for a fixed fee paid periodically (for example, monthly). In yet another suitable criterion, users may be charged a fixed fee for a predetermined number of reproduced programs. The charge may be provided by the programming guide distribution equipment, 16, to the billing system 199 for billing the user or else by adjusting the user's account. Once the user has selected a program advertisement and indicated a desire that their associated program be reproduced (and if necessary, has confirmed playback), the programming guide can issue a playback request to the remote media server 24 or to the local media server 29. If desired, the program can be reproduced without advertising. The "programming guide" can, for example, give the userP1202 opportunity to set an option "skip advertising", from a configuration screen. As an alternative, the user can advance quickly through advertising. If desired, instead of the above, the programming guide may issue a recovery request to the remote media server 24. Unlike a playback request that instructs the remote media server 24 to retrieve and reproduce the requested program, A recovery request does not need to include immediate reproduction. That is, the requested program can be retrieved from storage 15 and supplied to user's television equipment 22. As used herein, "recovery request" means any order, order, message, remote procedure call, object-based communication. , or any other type of communication between processes or between objects by which the programming guide can communicate information to the remote media server 24 or to the local media server 29, specifying which program the user wishes to recover. The recovered program can then be stored in the memory 44 (Figure 6), in the digital storage device 31 (Figure 6), in the secondary storage device 32 (Figure 6) or in the local media server 29 (Figure 6). ). When the user wants to see the program thatP1202 has been retrieved and stored locally, the user's television set 20 can be instructed to play the program. If the recovered program is stored on the local media server 29, the user's television equipment can retrieve it and then pass it on, or it can request that the local media server 29 reproduce it directly. The programming guide may provide users with the opportunity to view additional information of the programs recorded by the remote media server 24 or the local media server 29. Figure 20 shows a comprehensive display of illustrative information 161 that may be displayed when a user indicates a desire to view information for a program that has been recorded by the remote media server 24 or the local media server 29. The complete information screen 161 may be displayed, for example, when the user presses a key " INFO "on the remote control 40, after highlighting a program announcement in a directory or other list of recorded programs. The complete information screen 161 may include the information window 162, in which a brief description of the recorded program may be displayed. The information displayed in the information window 162 may have been stored by the remote media server 24 orP1202 the local media server 29 when the program was recorded, it may have been stored by the program guide when the program was recorded, and it can be retrieved by the programming guide when the complete information screen 161 is displayed, or be obtained by the programming guide using any other suitable method. The programming guide may provide users with the opportunity to pass on-demand programs that users have previously recorded to the remote media server 24 or the local media server 29. The remote media server 24 or the local media server 29 they can pass programs on demand, in response to playback requests generated by the programming guide. As used herein, "reproduction order" means any order, order, message, remote procedure call, object-based communication, or any other type of communication between processes or between objects, by which the programming guide may communicate information to a media server, specifying which program the user wants to reproduce. The programming guide can generate playback requests when a user indicates a desire to see a program that has been recorded. The user may indicate a desire to see a program that has been recorded, for example by highlighting a program advertisement inP1202 a directory or list, and pressing a "PLAY" key on the remote control 40. When the user indicates a desire to see a program that has been recorded, the programming guide generates a programming request that is transmitted by the device. communication 51 to the remote media server 24 or to the local media server 29 via communication path 20 or 31. The reproduction request may include, for example, an identifier for the program that the user wishes to reproduce, an identifier for the user, etc. The reproduction request may include a pointer directed to a media directory in the storage 15 if, for example, the programming guide maintains a user directory 59 or a copy of the user directory 59. The remote media server 24 retrieves the program requested from the storage 15 and provides it to the distribution equipment 21 for distribution in the form of a suitable video signal (e.g., NTSC video, MPEG-2, etc.). The local media server 29 can retrieve the requested program from the storage 37 and supply it to the user's television equipment 22 in the form of a suitable video signal (eg, NTSC video, MPEG-2, etc.). If the requested program is going to be reproduced, the distribution team 21 distributes the program in real time. If the requested program isP1202 only being recovered, the distribution equipment 21 can transfer the program to the user's television equipment 21 in a compressed format (eg, as a compressed video file). The remote media server 24 can also retrieve any recorded program guide data, associated with a recorded program, and can supply the retrieved data to the distribution equipment 21 or the programming guide server 25, so that it can access them the programming guide. Alternatively, the remote media server 24 can supply the retrieved data directly to the programming guide. The local media server 29 can supply the data to the user's television equipment 22 via the communication channel 29. The programming guide can access the retrieved programming guide data and can present them to the user so that the user can interact with the data during playback exactly as when the program was originally broadcast. If, for example, the associated program data is a computer program that the user could have accessed when the program was originally airborne, the program can be downloaded by the programming guide, in response to a user indication that the user wants to access theP1202 computer program. The computer program can be stored, for example, in the digital storage device 49, so that the user can access the computer program during playback. Such a computer program may be, for example, an interactive television application, such as an application for purchases that allows the user to order products offered during the program. Another example of data from the programming guide that can be stored is an Internet link that is associated with a recorded program. The link can be retrieved by the remote media server 24 or the local media server 29, and downloaded by the programming guide when the user plays the program. The programming guide can display the link in a screen or visual presentation overlay of the programming guide. Internet links can be displayed, for example, in an overlay that is displayed on the program during playback. The programming guide can give the user an opportunity to select the link on the Internet and then indicate to the programming guide that a browser starts on the web. The programming guide can provide "a user with an opportunity to establish control, on theP1202 of parents, programs and data of the programming guide. The programming guide can, for example, provide a user with an opportunity to establish a control code by the parents and control criteria by the parents (eg rating, title, channel, etc.). When a user indicates a desire to record a program on the remote media server 24 or on the local media server 29, or play a program from those servers, the programming guide can compare the features (for example, its rating). , title, channel, etc.) of the program that is stored, for example, in a directory of users, with the control criteria by the parents. If the program does not meet the criteria (for example, its rating is too mature), the programming guide may ask the user for the control code from the parents. The programming guide can allow the user to record or play the program only when the appropriate control code is entered by the parents. Figure 21 shows an illustrative overlay 2111 that the programming guide can display on a television display screen or programming guide, to instruct the user to enter the parental control code. Figure 21 shows "the overlay 2111 displayed on a television channel inP1202 which an objectionable program has been blocked by the programming guide. The programming guide can provide the user with a control of recorded programs such as VCR (VCR). The remote control 40 may have keys that resemble the buttons of a typical analog video recorder. In another suitable form, the user's input device, 46 (Figure 9), may have a keyboard with keys assigned to VCR type functions. Alternatively, the user can select features on the screen that correspond to such functions. Any other suitable method can be used to provide the user with a VCR-like control of the recorded programs.
The user can, for example, pause, stop, rewind, fast forward, or pass the program, indicating a desire to do so (for example, by pressing appropriate keys on the remote control 40). These features can be executed locally by the programming guide, for example by downloading programming on demand, totally or partially, to the digital storage device 49 (Figure 9). As an alternative, the programming guide can generate appropriate responses (for example, requests to fast forward, rewind, skip, pause) in real time, in response to "user input." Such requests can be transmittedP1202 to the remote media server 24 or to the local media server for processing. As used herein, VCR control requests of the recorded programs means any order, order, message, remote procedure call, object-based communication, or any other type of communication between processes or between objects by which the guidance of Programming can communicate information to the media server, specifying which program the user wants to control. Figure 22 shows an illustrative overlay 2201 to provide users with a VCR-like control of the programs that have been recorded on the remote media server 24 or on the local media server 29. When a user indicates a desire to stop, put (play), fast forward, rewind or pause a video, for example by pressing appropriate keys on the remote control 40, the programming guide can indicate which key has been pressed. For example, if the user rapidly advances a video, the programming guide can highlight the portion corresponding to the "FAST FORWARD" button of the 2201 overlay. The programming guide can also provide users with an opportunity to store programs in a way that intermediate in real time. This feature can allow users to see portions of a program that theP1202 user would not have been able to see, when for example the user must momentarily leave the room in which the program is being displayed. A user may indicate a desire to record a program on the remote media server 24, when the display is interrupted, by pressing for example a "PAUSE" key on the remote control 40. The programming guide may respond, for example, by indicating to the user a charge for storing the program in an intermediate way, and instructing the user to confirm the recording, as shown in Figure 23. Once the user has confirmed the recording, or if there is no charge for the recording, the guide can program a recording request to the remote media server 24. The remote media server 24 can start recording the program at that point and until the program ends. When the interruption has ended (for example, the user returns or his seat), the user can indicate a desire to continue looking at the program. The remote media server 24 can reproduce the copy of the program that is stored intermediate while continuing to buffer the remaining portion of the broadcast program, until the broadcast program ends. The user can reach the program that is issued during advertising or other development of little interest, for example advancing rapidly.
P1202 When a user indicates a desire to "rewind" a program stored intermediate in real time to the point before which the user started recording, the remote media server 24 can check the storage 15 to see if any other user has recorded the program or if the program is still available. If there are no other available copies of the program, the user may be restricted to rewind only to the point at which the user started recording. If desired, the remote media server can automatically store intermediate, or else temporarily record all programs in progress, programs being viewed, or programs for certain subscribers, then providing users or subscribers with the ability to have a full VCR control of such programs stored in an intermediate or recorded way.
The local media server 29 can store programs in an intermediate manner in a similar manner, if desired. The programming guide may also provide users with an opportunity to manage what is stored on the remote media server 24 and the local media server 29. The programming guide may, for example, provide users with an opportunity to erase programs that you do not want to have anymore. The user may indicate a desire to delete a program, for exampleP1202 highlighting an announcement of a recorded program and pressing a "DELETE" key on the remote control 40, selecting an on-screen feature of a program guide display screen, such as feature 159 of the information display 161 ( Figure 20), or using any other suitable method. When the user indicates a desire to erase a recorded program, the programming guide can generate a deletion response that is transmitted to the remote media server 24 or to the local media server 29 by the communication device 51. The deletion requests can be be any order, message, object-based communication, remote procedure call, etc. After receiving a deletion order, the remote media server 24 (for users of the same house or from different houses) or the local media server29 (for users of the same house) can determine if more than one user has requested a copy of the selected program. If only one user has requested the program to be recorded, the remote media server 24 can issue a deletion order to the storage device that stores the selected program to be erased. The appropriate storage device erases the selected program from its media store 63 (Figure 4), and the media directories 61 and theP1202 user directory 59 are updated accordingly. If more than one user has requested that the program be recorded, the remote media server 24 may delete the entry in the user directory 59, for that program. If the programming guide maintains a user directory 59, the programming guide may delete the entry. Local media servers can delete programs in a similar way. The remote media server 24 and the local media server can erase programs automatically, if desired. This can be done, for example, when a user does not access a program for a predetermined period of time. The remote media server 24 and the local media server 29 can also automatically delete portions of a program that is being buffered in real time. For example, intermediate real-time storage can be limited to ten minutes of recording, thus limiting the amount of recording a user can rewind. The remote media server 24 can, for example, move a program to the physical media that is sent to the user. Another suitable method includes erasing programs after all users have seen them.
Users may be charged a fee for recording programs on server 29 or server 24. IfP1202 charges a fee to users, can be charged per storage unit consumed, per recorded program, per reproduction, or can be charged a fixed tariff, etc. The programming guide may provide a user with an opportunity to establish various configurations related to the way in which the programs are recorded on the remote media server 24 or on the local media server 29, or reproduced from these servers. The programming guide may display a configuration screen when the user indicates a desire to configure these features, for example by selecting a "configure" feature from the main menu 102. An illustrative configuration screen 2401 is shown in Figure 24. As shown in Figure 24, the user can configure the audio language, the audio format and the video format in which the user's television equipment 22 can pass programs. The user can change configurations, moving with the arrow to the right or left. The user can change between configurations, for example moving with the arrow up or down. Suitable audio formats can include monophonic, stereophonic, surround sound, etc. The right video formats can include normal, high definition television (HDTV),P1202 wide screen, narrow screen, etc. The user can also select the language in which the programming audio is executed, if available in a digital audio track. The programming guide can include the selected language, audio format and video format in the recording requests. The remote media server 24 or the local media server 29 can record programs with only those formats and languages indicated, if they are available as part of the program data associated with the programs. As an alternative, the programming guide may include the selected language, audio format and video format in playback requests. The remote media server or the local media server 29 can record programs with all available audio and video formats and languages, and can play programs only in the selected format and language (or any default format or language) when requested . The programming guide can also allow the user to define "superprograms". Superprograms are sequences of programs or segments of programs that the guide will play sequentially in a specified order. The recording of superprograms in a digital storage device, using programming guidesP1202 interactive television, is described, for example, in the aforementioned patent application of the E.E.U.U. Serial No. 09 / 157,256, Hassell et al. The user may indicate a desire to access the superprogram feature of the programming guide, for example by entering appropriate commands with the user's input device, 46. If the user's input device, 46, is a remote control such as the remote control 40 of Figure 8, the user can, for example, use a "SUPER" key on the remote control 40, after highlighting a program advertisement on the program listings screen of the directory, 350 (Figure 18d) , or you can select a "superprogram" option on screen, from a visual presentation screen of the programming guide, or from a list of on-screen options that are provided by the programming guide when a program advertisement is selected . The programming guide can also provide the user with the ability to name superprograms and record them on the remote media server 24, the local media server 29, or the optional digital storage device 49. The entries for superprograms as well These can be kept in directories of users maintained by the server "of remote means 24, the local media server 29, or the guideP1202 programming, and may be displayed on any suitable screen that lists entries in the directory to search for programs (eg, directory screen 350 of Figure 18d). As an alternative, the programming guide can list advertisements of superscripts in a superprogram directory screen (that is, a directory screen intended to list advertisements of subroutines). For example, when the directory screen 350 is displayed by the programming guide, the programming guide can provide the user with an opportunity to select a superprogram with a designation. When the user selects a superprogram which has been given a designation, the programming guide can generate a screen of superprograms for display on the display device 45. The programming guide can also provide the user with a list on the screen of the user. options to execute functions of superprograms (for example, pass, transfer or edit the superprogram). When the user indicates a desire to define a superprogram, the programming guide generates a superprogram screen for display on the display device 45. An illustrative superprogram screen is shown in FIGS. 25a and 25b. The superprogram screen 130 may beP1202 organized in three zones. The zone 131 displays a directory of programs recorded by the remote media server 24, the local media server 29, the digital storage device 49, or any combination thereof. Zone 132 indicates the sequence of superprograms. The video reuse zone 137 displays portions of programs included in the superprogram. For example, the remaining time for recording can be displayed to indicate to the user how much time is left on the remote media server 24 or on the local media server 29, to record in methods where there are limits for recording by the user . The three zones of the superprogram screen 130 can be presented only when necessary. for example, zone 131 may be displayed only when the programming guide is giving the user an opportunity to select a recorded program. Once the user has selected a program, the zone 131 can be removed, and zone 132 can be displayed instead, while the programming guide is providing the user with an opportunity to define a program segment for inclusion in the superprogram. . The video reuse zone 137 may be displayed only in response to an indication, by the user, to "the programming guide to display a segment ofP1202 program. In this way, it may not be necessary for all three zones to be displayed at one time. To define a superprogram, the user indicates which programs are going to be included in the superprogram sequence. The programming guide can also give the user the ability to include other previously defined superprograms in the current superprogram. Area131 presents a list of recorded programs and super-programs. If the user interface is a remote control such as the remote control 40 of Figure 8, the user can use the arrow keys up and down to select a desired program or superprogram. The user may also access other information associated with the entry, by using an "INFO" key on the remote control 40, or by selecting an appropriate option from a list of options on the screen, provided by the programming guide. The programming guide can generate a complete information screen, 161, of Figure 20, which contains information associated with the selected program when the "INFO" key is pressed. Each time the user selects a program, the programming guide places the selected entry in the superprogram sequence at a point defined in the sequence (for example, at the end of the sequence). How I knowP1202 shows in Figure 25a, for example, a first segment entry, "Braveheart", has already been selected by the user. The user is currently selecting the second segment entry, "Kiss The Girls". The segment entries are listed in the second zone 132. The user then has the option of defining the segment to be passed of the program that is to be passed. Indicators 135 indicate the segment to pass defined at that moment. If the user wishes to define a segment to be passed, the user can do so, for example, using the markers 136 (Figure 25b) to define the segment by moving the markers to the desired time within a program. As shown in Figure 25b, the user uses the highlight region 134 (placed by the programming guide on one of the markers) to move the markers 136 in order to define the segment to pass. The programming guide may display the portion of the program corresponding to the markers 136 in the video reuse zone, 137, as the markers 136 are individually placed. The programming guide may, for example, send reproduction requests to the remote media server 24 or to the local media server 29 which include a user pointer directed to the desired position in the program, "or deviations t from the current position. alternative, theP1202 programming guide can send suitable requests to remote media server 24 or to local media server 29 to set one or more user pointers on remote media server 24 or local media server 29. When the user has finished define the segment to pass, the user can press an "OK" key on the remote control 40. In response, the programming guide places the highlight region 134 (Figure 25a) in the first zone 131, to allow the user to define another entry in the sequence of superprograms. When the user has finished defining the subroutine, the user can issue appropriate commands with the user's input device, 46. If the user's input device, 46, is a remote control such as the remote control 40 of Figure 8. , the user can use a "PLAY" key to finish editing the superprogram and pass the superprogram. The user can also select a "play" feature on the screen from a list of on-screen options provided by the programming guide. The user can pass the superprogram at any time after it has been defined. When the user presses "PLAY", the programming guide can send a playback request ~ to the remote media server 24 or to the local media serverP1202 29, or may give the appropriate instructions to the digital storage device 49 to read the programs and program data associated with the programs, in accordance with the defined superprogram sequence. Replay requests may contain, for example, pointers directed to the positions in the programs that are defined by the superprogram sequence. The programming guide then instructs the user's television team 22 to supply the programs of the superprogram and all associated data, in the appropriate format for display on the display device 45, and for use by the user as if the user was watching the programs when they were originally broadcast. If, for example, the display device is a television, the user's television equipment 22 can convert the programs, from their digital format to appropriate RF or demodulated video signals, for display on the monitor 45. The user You can store the superprogram for playback at a later time. The user may indicate a desire to postpone the reproduction, for example by issuing appropriate commands with the user's input device, 46. If the user's input device 46 is a remote control such as the remote control 40 of "Figure 8, the user can use a "EXIT" key in theP1202 remote control 40 or select an "exit" option on the screen. The programming guide may respond to an indication of postponing playback, by storing the playback sequence, either in memory 63, in the digital storage device49, on the remote media server 24 or on the local media server 29. The user can later access the superprogram, for example by selecting the superprogram while on the directory screen 350. The programming guide can then generate a screen of superprograms with previously entered selections and defined segments to pass, and provide the user with the opportunity to add, edit or re-order programs and program segments. The user passes the superprogram by issuing a suitable command (for example, by pressing a "PLAY" key on the remote control 40). Figures 26-31 are flow charts illustrative of the steps involved in the operation of the system of the present invention. The steps shown in Figures 26-31 are illustrative and can be executed in any suitable order. If desired, several steps can also be deleted. Figure 26 is a flow diagram of an illustrative overview of the steps involved in recording programs and data from the guideP1202 programming on the remote media server 24 or on the local media server 29. In step 2610, the programming guide provides the user with an opportunity to select a program for recording on the remote media server 24 or on the server local media 29. This can be done, for example, by giving the user an opportunity to record a program while watching it, either directly or in combination with a quick review overlay. This can also be done by providing the user with an opportunity to select a program advertisement. The program announcements can be presented by the program guide in various types of program advertisement screens, such as the program schedule advertisement screen 130 (Figure lia), the program announcement screen by channel 135 (Figure llb). ), the program announcements screen by category (Figure 11c), in an overlay for search or in any other suitable type of visual presentation screen of the programming guide. As an alternative, the user can access the program announcements via the Internet, as in the arrangement of Figure 2e. The user can also record programs by pressing a "PAUSE" or "REWIND" key on the remote control 46, while watching a program, to store "the program in real time in an intermediate manner.
P1202 Users can also select programs to be recorded by the remote media server 24 or the local media server 29, establishing search queries that define types of programs that the user wants to record. The user can define, for example, Boolean expressions that result in the recording of programs based on a suitable parameter or parameters. The appropriate parameters may include any data from the program guide associated with programs, such as program titles, actors in the programs, themes or categories of the programs, ratings of the programs, text within the information fields of the programs, or any other suitable data of the programming guide. When the user selects or designates a program to record, the programming guide generates a recording request (step 2620). This step may be executed concurrently with step 2610, immediately after step 2610, or at some time in the near future after step 2610, such as just before the start of a program. When a user indicates a desire to record a group of programs, the request can include a group identifier or the identifiers of the constituent programs. In yet another method, the "programming guide" can generate separate recording requestsPl-202 for each program in the group, repeating step 2620. The recording request (s) are transmitted to the recording media server in step 2640. The transmission of the recording request may involve the use of any protocol stack of adequate communication. Recording requests can be transmitted using, for example, TCP / IP, IPX / SPX, DOCSIS or any other suitable protocol or protocol group. If users are charged for recording, the programming guide distribution equipment 16 can supply billing information to the billing system 199 (Figure 1), in step 2650. The billing information may include the title of the program that was selected, its identifier, its extension, the charge for the recording, or any other suitable information. The billing system 199 may bill the requesting user or adjust the user's account, in steps 2655 and 2657, respectively. In steps 2660 and 2680, the program and the program guide data associated with the program are recorded on the recording media server, respectively. Steps 2660 and 2680 may be executed in any suitable order, and may be executed concurrently, if desired. Step 2"660 may include recording data associated with theP1202 program. Step 2680 may also be executed automatically by the remote media server 24 or the local media server 29, such as when programs are stored automatically in an intermediate fashion. Figure 27 is a somewhat more detailed flow chart of the illustrative steps involved in recording programs, data from the programming guide, or any combination thereof, on the remote media server 24 or on the server of local media 29 (e.g., steps 2660 and 2680 of Figure 26). In step 2810, the recording requests are received by the remote media server or the local media server 29. The recording requests are placed in a task queue in step 2820. In step 2840, consolidation is proceeded similar orders. Consolidated and unconsolidated orders are placed in the queue in step 2860. The task queue can be examined in step 2880 to determine if enough users have requested each program to record. The entries in the task queue can be examined, for example, 15 minutes before the scheduled time for the broadcast of a program. If very few users request a given program, the users who requested the program can be notified (step 2890), and the programming guide can record the programP1202 locally using, for example, the local media server 29, the optional digital storage device 49 (Figure 9), or the optional secondary storage device 47 (Figure 9) (step 2900). Alternatively, programs can be recorded on physical media and sent to users (step 2905). In step 2910, the appropriate equipment in the programming guide distribution facility 16 (e.g., distribution equipment 21) tunes to the channel (analog or digital) in which the requested program is transported. This can be done, for example, in response to an order from the remote media server 24. In step 2920, the program is recorded in analog or digital format in the storage on the remote media server 24 or the local media server 29 The user directories can be updated in step 2940. The user directories can be maintained by the remote media server 24, the local media server 29, by the programming guide, or any combination thereof. The user directories that are maintained by the remote media server 24 or the local media server 29 can be updated in step 2945. The local media server 29 can maintain a user directory only for those programs that that server records in heP1202 storage 37 (Figure 37), or can maintain a copy of the user directories maintained by the remote media server 24 for one or more users of a local media server 29. The programming guide can maintain the user directories locally for one or more users, in memory 63 (Figure 9), in optional digital storage device 47 (step 2950). The user directories maintained by the programming guide may reflect the programs stored by the remote media server 24, the local media server 29, or both, and may also be maintained by the programming guide on the local media server 29 , if desired. It may be convenient for the programming guide to exclusively maintain user directories. In another suitable method, however, the programming guide can maintain copies of user directories that are maintained by the remote media server 24 and the local media server 29. Alternatively, the user directories can be maintained exclusively by the user. remote media server 24 or by the local media server 29, and supplied to the programming guide on demand. Figure 28 is a Tana flow chart illustrative overview of the intervening stepsP1202 in the reproduction of programs, data of the programming guide, or any combination thereof, from the remote media server 24 or the local media server 29. In step 2700, the programming guide supplies the user with a opportunity to select the program recorded for playback from the remote media server 24 or the local media server 29. This can be done, for example, by presenting the user with a directory of recorded programs. The directory can be superimposed on a television program that the user is watching (for example, with the overlay 320 of Figure 18a), it can be superimposed on a program guide visual presentation screen (for example, with the overlay 320). of Figures 18b and 18c), may be displayed within a specific display screen of the programming guide (e.g., directory screen 350 of Figure 18d), or may be displayed within a "web" page as in the arrangement of Figure 2e. Alternatively, users may be presented with advertisements for programs relating to recorded programs or programs selected to record on normal program advertisement screens, as shown in Figures a, llb and 11c. The user can select or designate "a program for its reproduction, for example by selecting theP1202 program announcement of a list or other visual presentation screen of the programming guide. After the user designates a program to be played (for example, by selecting a program advertisement and pressing a "PLAY" key on the remote control 40), the programming guide generates a playback request that is transmitted to the remote media server 24 or to the local media server 29 (steps 2720 and 2740). Reproduction requests can be transmitted using, for example, TCP / IP, IPX / SPX, DOCSIS or any other suitable protocols or protocols. If users are charged for playing programs, the programming guide distribution equipment 16 can supply billing information to the billing system 199 (Figure 1) in step 2750. The billing information may include the title of the program that was selected, its identifier, its extension, the charge for reproduction, or any other suitable information. The billing system 199 may bill the requesting user or adjust the user's account in steps 2755 and 2757, respectively. In steps 2760 and 2780, the program and the programming guide data associated therewith are reproduced from the recording media server and presented to the user (eg, on the television 36 or PC 231"of the user, of Figures 7 and 2e, respectively).
P1202 Figure 29 is a somewhat more detailed flow chart of the illustrative steps involved in reproducing programs from the remote media server 24 and the local media server 29. In step 2960, a portion of a selected program to play is stored intermediately by the remote media server 24 or the local media server 29. It may be convenient, for example, to store the entire program intermediately if the system resources allow it. Step 2960 may also include step 2965 in which the remote media server 24 or the local media server 29 determines whether the portion of the program has already been stored intermediate (ie, for another user). If so, another copy may not be necessary. In step 2980, the remote media server 24 or the local media server 29 distributes the program to the television host of the user 22 for playback. The programs and data of the programming guide associated with them are reproduced in the user's television equipment 22 or PC 231 in step 2990. The programs and data of the programming guide can be distributed and reproduced using any proper method. For example, the programs and the data of the programming guide can be reproduced by the server "of means 24 and distributed to the television equipment of theP1202 user 22 to be seen in real time. If the programs and data of the programming guide are distributed in the form of a digital data stream, the user's television equipment 22 can decode the data stream in real time. Such programs and data from the on-demand programming guide can be distributed and reproduced in accordance with preferences that were established by the user. In a second suitable method, the programs and data of the programming guide are distributed in the form of one or more digital files or in the form of a digital data stream, and are stored by the user's television equipment 22 for reproduction . In a third suitable method, the programs and data of the programming guide are reproduced by the remote media server 24 and distributed according to a schedule by an analog or digital channel, using a near-video-on-demand (NVOD) method. In still another suitable method, the remote media server 24 can record programs and data from the programming guide on physical media, such as a DVD or a video cassette, which are sent to the user. Any combination of these methods, or any other suitable method can also be used. In step 3000, the programming guide provides the user with a VCR-like control of the program. "The programming guide may exhibit an overlay, suchP1202 as the overlay 141 of Figure 22, to indicate to a user when the user has stopped, paused, rewind or rapidly advanced the program. In step 3010, the remote media server 24 or the local media server 29 may adjust the user's pointer within a portion of the program, or may move the pointer to the next portion of the program. The user's pointers can be advanced, for example, as a program is reproduced normally, or when a program is being controlled, such as when fast forwarding it. At a suitable point before a user's pointer is adjusted beyond the beginning or end of a program portion, the previous or next portion of the program may be stored intermediate (step 2960). The data of the programming guide can be presented and represented so that they track the program that is being controlled by the user, using the interactive television programming guide. Figure 30 is a flowchart of the intervening illustrative steps when the user is provided access to copies of programs stored intermediately in real time. In step 3020, the remote media server 24 or the local media server 29 intermediately stores a program while it is being setP1202 in the air. Step 3020 can be executed automatically by the remote media server 24 or the local media server 29, or it can be executed when a user indicates a desire to intermediately store a program in real time (for example, by pressing a key). PAUSE "on the remote control 40 while watching a program. In step 3040, the program is passed on to the user's television equipment 22 while the user is provided VCR-type control of the program. When the user indicates a desire to execute a VCR-like function, the programming guide may issue an order to the remote media server 24 or to the local media server 29 to adjust the user's pointer to the user's display position in the copy stored in an intermediate way. When the user has finished viewing the stored copy in an intermediate way, such as when the program has finished, when the user advances fast to the end, or when the user presses the "stop" key, the programming guide can issue an order of deletion to the remote media server 24 or to the local media server 29 to erase it, or it may be deleted automatically. In Figure 31 the steps involved when supplying the superprogram characteristic of the present invention are indicated. The "programming guide" records programs and data from the guideP1202 programming associated with the programs, on the remote media server 24, the local media server 29, or the digital storage device 49, in step 3110.
In step 3120, the superprogram sequence is defined. This may include the display of a superprogram screen, such as the superprogram screen 130 of Figures 25a and 25b, on the display device 45, as indicated in step 3140. The recorded programs are listed in a list by the programming guide on the display device 45 in step 3160, and the programming guide provides a user with an opportunity to select the programs from the list in step 3180. In step 3200, the programming guide provides the user an opportunity to define the segments that are passed. The programming guide may display an indicator and marker of segments that are passed, to define the segment that is passed, as indicated in step 3220. In step 3240, the programming guide exhibits a video reuse zone in the visual display device 45. The programming guide exhibits the programs, segments that are passed, and data associated with the programs that are part of the superprogram sequence, in the visual presentation device 45, according to the sequence of the superprogram, in step 3260. The foregoing is merely illustrative of the principles of this invention, and various modifications may be introduced by those skilled in the art, without departing from the scope and spirit of the invention.
P1202