Delivery of interactive program guide data

Abstract: Interactive program guide (IPG) data is delivered to a receiver from which a program guide can be retrieved. The IPG data includes schedule-data for each of a plurality of time slots, description-data for each of the plurality of time slots, and non-time-sensitive foundation data,. The IPG data is delivered by the steps of: (a) delivering a plurality of segments of foundation data having a predetermined closed-loop order; (b) delivering the schedule-data segments for a first time slot; (c) delivering the description-data segments for a first time slot; (d) delivering the schedule-data segments and the description-data segments for each of the remaining time slots; (e) subsequent to the delivery of the first schedule-data segment for each time slot, during a gap of sufficient duration to enable the receiver to allocate memory space for storing all of the schedule-data segments for the time slot, delivering the next non-time-sensitive foundation-data segments in the predetermined order for use by the receiver; and (f) subsequent to the delivery of the first description-data segment for each time slot, during a gap of sufficient duration to enable the receiver to allocate memory space for storing all of the description-data segments for the time slot, delivering the next non-time-sensitive foundation-data segments in the predetermined order for use by the receiver. Subsequent to step (f), the next given number of foundation-data segments in the predetermined order are delivered until all of the foundation-data segments have been delivered at least twice.

Description: The present invention generally pertains to communications delivered to programming subscribers and is particularly directed to an improvement in delivering interactive program guide (IPG) data to a receiver from which a program guide can be retrieved. The IPG data is delivered by a programming service provider to a receiver at a subscriber location and stored in a memory within the receiver so that a program guide can be retrieved by the subscriber whenever desired. The programming includes, for example, television shows, music, and informational data pertaining to various subjects, which are broadcast over different channels via communications satellite transmission and/or cable. The IPG data includes schedule-data for each of a plurality of channels scheduled to be broadcast within each of a plurality of time slots within a given extended period of time and such non-time-sensitive data as foundation data. The given extended period of a time for which IPG data is delivered encompasses an extended period of programming, such as several days, and each time slot encompasses a shorter period of programming, such as four, eight or twenty-four hours. EP-A-0 758 833 discloses a method of delivering IPG data and non-time-sensitive data to a receiver from which a program guide can be retrieved, with said IPG data including one or more schedule-data segments for each of a plurality of time slots. Optionally, description data may be included. Other systems and methods for delivering IPG or more general digital data over a network are disclosed by US-A-5 666 645, EP-A-0 836 321 and European Broadcasting Union: "digital broadcasting systems for television, sound and data services; specification for service information (SI) in digital broadcasting (DVB) system: European Telecommunication Standard XX, XX, 1 October 1995 (1995-10-01), XP002079535. The schedule-data for the different time slots within the given extended period is delivered in respectively different delivery periods and the description-data for the different time slots within the given extended period is delivered in respectively different delivery periods. The schedule data delivered to the receiver memory for the first time slot indicates the start times and programming identifiers for each of the different programs that are scheduled to be available on all of the plurality of channels during the first time slot, and the schedule data delivered to the receiver memory for the second time slot for the given extended period indicates the start times and programming identifiers for each of the different programs that are scheduled to be available on the second time slot during the given extended period. The description data provides a brief description of various attributes of the different programs, such as names of lead actors and a brief plot synopsis for a movie, as typically provided in a printed programming guide. The description data is retrieved within the receiver by referring to a tag or label therein that is also included in the schedule data for the program. The foundation data includes data that is necessary for retrieval of the schedule data and the description data for display, such as Huffman tables that are necessary to decompress the schedule data and the description data delivered to and stored in the receiver memory, channel name tables, theme classes and slot sizes for common data blocks. The receiver includes a decoder that utilizes the foundation data to decode schedule data and description data retrieved from the receiver memory in order to display the retrieved data on a video monitor. The foundation data usually is delivered at least twice for the given extended period for which schedule data and description data is delivered for a plurality of different time slots. The respective sizes of a block of schedule data and a block of description data for a given time slot typically are such that an entire block of either type of data cannot be broadcast as a single data burst having not more than a predetermined number of bytes, such as 1024 bytes, and thereby must be segmented for delivery to the receiver. In accordance with a method of delivering such data in segments, the first segment of the schedule data for each time slot includes a segment count indicating the number of schedule-data segments that are to be delivered for the given time slot; and the first segment of the description data for each time slot includes a segment count indicating the number of description-data segments that are to be delivered for the given time slot. The receiver allocates memory space for storing the number of segments indicated by the segment count included in the first segment of the schedule data received for the given time slot and also allocates additional memory space for storing the number of segments indicated by the segment count included in the first segment of the description data received for the given time slot. Since it takes a significant amount of time for the receiver to allocate such memory space, the second segment of schedule/description data for the given time slot will be lost if it is delivered immediately after delivery of the first segment of schedule/description data for the given time slot before allocation of the memory space for storage of all of the subsequent segments has been completed. The present invention provides a method of delivering interactive program guide (IPG) data and non-time-sensitive data to a receiver from which a program guide can be retrieved, said IPG data including one or more schedule-data segments for each of the plurality of time slots, the method being characterised by delivering IPG data that also includes one or more description-data segments for each of the plurality of time slots, and by comprising the steps of: (a) delivering the schedule-data segments for a first time slot; (b) delivering the description-data segments for the first time slot; (c) delivering the schedule-data segments and the description-data segments for each of the remaining time slots; (d) subsequent to the delivery of the first schedule-data segment for each time slot, during a gap of sufficient duration to enable the receiver to allocate memory space for storing all of the schedule-data segments for the time slot, delivering non-time-sensitive data for use by the receiver; and (e) subsequent to the delivery of the first description-data segment for each time slot, during a gap of sufficient duration to enable the receiver to allocate memory space for storing all of the description-data segments for the time slot, delivering non-time-sensitive data for use by the receiver. It is not necessary that the schedule data for a given time slot be delivered prior to delivery of the description data for the given time slot, whereby either one of steps (a) and step (b) can be performed before the other of these two steps. Preferably, the non-time-sensitive data delivered during steps (d) and (e) includes further IPG data, to wit: a plurality of foundation-data segments having a predetermined closed-loop order; wherein during the gap according to step (d) that is subsequent to the delivery of the first schedule-data segment for the first time slot, the delivered non-time-sensitive data includes an initial number of foundation-data segments in the predetermined order; wherein during each of the next remaining respective gaps of steps (d) and (e), the delivered non-time-sensitive data includes the next number of foundation-data segments in the predetermined order; and wherein the respective- number of foundation-data segments delivered during each gap are of sufficient duration to enable the receiver to allocate memory space for storing the respective schedule-data segments or description-data segments for the time slot. The present invention also provides a system for accessing interactive program guide (IPG) data and non-time-sensitive data for delivery to a receiver from which a program guide can be retrieved, said IPG data including one or more schedule-data segments for each of a plurality of time slots, the system comprising: means for accessing the IPG data and the non-time-sensitive data for said delivery, characterised by the accessing means accessing IPG data that also includes one or more description-data segments for each of the plurality of time slots, and by accessing the IPG data and the non-time-sensitive data such that the IPG data and the non-time-sensitive data are delivered by the steps of the above-described method of delivering IPG data and non-time-sensitive to a receiver from which is program guide can be retrieved. The present invention further provides a computer readable storage medium included in a system for accessing interactive program guide (IPG) data and non-time-sensitive data for delivery to a receiver from which a program guide can be retrieved, said IPG data including one or more scheduled-data segments for each of a plurality of time slots, wherein the storage medium is configured so as to cause IPG data and the non-time-sensitive data to be accessed for said delivery, characterised by the storage medium being configured for causing the accessing of IPG data that also includes one or more description-data segments for each of the plurality of time slots, and for causing the IPG data and non-time-sensitive data to be accessed such that the IPG data and the non-time-sensitive data are delivered by the steps of the above-described method of delivering IPG data and non-time-sensitive data to a receiver from which a program guide can be retrieved. The invention will now be described by way of example with reference to the drawings, a brief description of which follows. FIG. 1 is a block diagram of a system for delivering IPG data in accordance with a preferred embodiment of the present invention. FIG. 2 is a block diagram of a sequence of routines performed in accordance with a preferred embodiment of the present invention. FIG. 3 is an IPG data delivery schedule in accordance with a preferred embodiment of the present invention. Referring to FIG. 1, a system for delivering IPG data in accordance with a preferred embodiment of the present invention includes a computer 10, an IPG data memory 12, a modem 14 and a transmitter 16. The transmitter 16 is located at the broadcast site of a programming service provider, such as an up-link site when the programming services are provided by communications satellite transmission. The IPG data memory 12 stores schedule data 18 and description data 20 for each of a plurality of time slots and also stores foundation data 22. A computer program memory 24 included in the computer includes a computer readable storage medium that is configured in accordance with a computer program stored therein so as to cause the IPG data to be accessed by the computer 10 for segmented delivery to receivers at subscriber locations via the modem 14 and the transmitter 16 such that the IPG data and the non-time-sensitive foundation data 18, 20, 22 can be delivered by the above-described method of the present invention. The foundation-data segments have a predetermined closed-loop order. In a preferred embodiment of the method of the present invention the IPG data 18, 20, 22 is delivered in segments to the subscriber receivers in accordance with the IPG data delivery schedule shown in FIG. 3. Initially all of the foundation data segments 30 are delivered in the predetermined order. Then the first schedule-data segment 31 for a first time slot is delivered. Then the initial foundation data segments 32 are delivered in the predetermined order during a gap of sufficient duration to enable the receiver to allocate memory space for storing all of the schedule-data segments for the first time slot. Then the remaining schedule-data segments 33 for the first time slot are delivered. Then the first description-data segment 34 for first time slot is delivered. Then the next foundation data segments 35 are delivered in the predetermined order during a gap of sufficient duration to enable receiver to allocate memory space for storing all of the description-data segments for the first time slot. Then the remaining description-data segments 36 for first time slot are delivered. The schedule-data segments and the description-data segments for each of the remaining time slots are then delivered in accordance with the same schedule as shown in FIG. 3 for the first time slot, with foundation-data segments being delivered in the predetermined order during the gaps following the first schedule/description-data segment for the respective time slot, with the gaps being of sufficient duration to enable the receiver to allocate memory space for storing all of the schedule/description-data segments for the respective time slot. During the last portion of the schedule, the first schedule-data segment 41 for last time slot is delivered. Then the next foundation data segments 42 are delivered in the predetermined order during a gap of sufficient duration to enable the receiver to allocate memory space for storing all of the schedule-data segments for the last time slot. Then the remaining schedule-data segments 43 for the last time slot are delivered. Then the first description-data segment 44 for last time slot is delivered. Then the next foundation data segments 45 are delivered in the predetermined order during a gap of sufficient duration to enable the receiver to allocate memory space for storing all of the description-data segments for the last time slot. Then the remaining description-data segments 46 for the last time slot are delivered. Finally there are delivered the remainder of the foundation-data segments 47 that are required to complete delivery of all of the foundation-data segments at least twice. The computer 10 monitors the accessing from the IPG data memory 12 of the IPG data for all of the time slots and upon delivery of last of schedule-data segments and the last of the description-data segments for all time slots 50, as shown in FIG. 2, the computer program stored in the computer program memory 24 causes the computer 10 to (52) determine whether or not all of the foundation-data segments have been accessed for delivery at least twice, and if not, causes the computer 10 to (54) access from the IPG data memory 12 and cause delivery of the remainder of foundation-data segments that are required to complete delivery of all of the foundation-data segments at least twice. In alternative embodiments (not shown), none of the foundation data is delivered prior to delivery of the first schedule-data segment and the first description-data segment for the first time slot; and/or non-time-sensitive data other than or in addition to the foundation data is delivered during the gaps following the first schedule-data segment and the first description-data segment for the respective time slots.

Claims: A method of delivering interactive program guide (IPG) data and non-time-sensitive data to a receiver from which a program guide can be retrieved, said IPG data including one or more schedule-data segments for each of the plurality of time slots, the method being characterised by delivering IPG data that also includes one or more description-data segments for each of the plurality of time slots, and by comprising the steps of: (a) delivering the schedule-data segments for a first time slot; (b) delivering the description-data segments for the first time slot; (c) delivering the schedule-data segments and the description-data segments for each of the remaining time slots; (d) subsequent to the delivery of the first schedule-data segment for each time slot, during a gap of sufficient duration to enable the receiver to allocate memory space for storing all of the schedule-data segments for the time slot, delivering non-time-sensitive data for use by the receiver; and (e) subsequent to the delivery of the first description-data segment for each time slot, during a gap of sufficient duration to enable the receiver to allocate memory space for storing all of the description-data segments for the time slot, delivering non-time-sensitive data for use by the receiver. A method according to Claim 1, wherein the non-time-sensitive data delivered during steps (d) and (e) includes further IPG data, to wit: a plurality of foundation-data segments having a predetermined closed-loop order; wherein the foundation data includes data that is necessary for retrieval of the schedule data and the description data for display; wherein during the gap according to step (d) that is subsequent to the delivery of the first schedule-data segment for the first time slot, the delivered non-time-sensitive data includes an initial number of foundation-data segments in the predetermined order; wherein during each of the next remaining respective gaps of steps (d) and (e), the delivered non-time-sensitive data includes the next number of foundation-data segments in the predetermined order; and wherein the respective number of foundation-data segments delivered during each gap are of sufficient duration to enable the receiver to allocate memory space for storing the respective schedule-data segments or description-data segments for the time slot. A method according to Claim 2, further comprising the steps of: (f) subsequent to step (e), determining whether or not all of the foundation-data segments have been delivered at least twice; and (g) when it is determined pursuant to step (f) that all of the foundation-data segments have not been delivered at least twice, delivering the next foundation-data segments in the predetermined order until all of the foundation-data segments have been delivered at least twice. A method according to Claim 3, further comprising the step of: (h) prior to steps (a) and (b), delivering all of the foundation data segments once. A method according to Claim 2, further comprising the step of: (f) prior to steps (a) and (b), delivering all of the foundation data segments once. A system for accessing interactive program guide (IPG) data and non-time-sensitive data for delivery to a receiver from which a program guide can be retrieved, said IPG data including one or more schedule-data segments for each of a plurality of time slots, the system comprising: means for accessing the IPG data and the non-time-sensitive data for said delivery, characterised by the accessing means accessing IPG data that also includes one or more description-data segments for each of the plurality of time slots, and by accessing the IPG data and the non-time-sensitive data such that the IPG data and the non-time-sensitive data are delivered by the steps of: (a) delivering the schedule-data segments for a first time slot; (b) delivering the description-data segments for the first time slot; (c) delivering the schedule-data segments and the description-data segments: for each of the remaining time slots; (d) subsequent to the delivery of the first schedule-data segment for each time slot, during a gap of sufficient duration to enable the receiver to allocate memory space for storing all of the schedule-data segments for the time slot, delivering non-time-sensitive data for use by the receiver; and (e) subsequent to the delivery of the first description-data segment for each time slot, during a gap of sufficient duration to enable the receiver to allocate memory space for storing all of the description-data segments for the time slot, delivering non-time-sensitive data for use by the receiver. A system according to Claim 6, wherein the non-time-sensitive data delivered during steps (d) and (e) includes further IPG data, to wit: a plurality of foundation-data segments having a predetermined closed-loop order; wherein the foundation data includes data that is necessary for retrieval of the schedule data and the description data for display; wherein during the gap according to step (d) that is subsequent to the delivery of the first schedule-data segment for the first time slot, the delivered non-time-sensitive data includes an initial number of foundation-data segments in the predetermined order; wherein during each of the next remaining respective gaps of steps (d) and (e), the delivered non-time-sensitive data includes the next number of foundation-data segments in the predetermined order; and wherein the respective number of foundation-data segments delivered during each gap are of sufficient duration to enable the receiver to allocate memory space for storing the respective schedule-data segments or description-data segments for the time slot. A system according to Claim 7, further comprising: means for determining, subsequent to accessing all of the schedule-data segments and description-data segments for all of the time slots, whether or not all of the foundation-data segments have been accessed at least twice; wherein the accessing means are adapted for responding to a said determination that all of the foundation-data segments have not been accessed at least twice by accessing the next foundation-data segments in the predetermined order for said delivery until all of the foundation-data segments have been accessed at least twice for said delivery. A system according to Claim 7 or 8, wherein the accessing means are adapted for accessing all of the foundation data segments for delivery once prior to steps (a) and (b). A computer readable storage medium included in a system for accessing interactive program guide (IPG) data and non-time-sensitive data for delivery to a receiver from which a program guide can be retrieved, said IPG data including one or more schedule-data segments for each of a plurality of time slots, wherein the storage medium is configured so as to cause the IPG data and the non-time-sensitive data to be accessed for said delivery, characterised by the storage medium being configured for causing the accessing of IPG data that also includes one or more description-data segments for each of the plurality of time slots, and for causing the IPG data and the non-time-sensitive data to be accessed such that the IPG data and the non-time-sensitive data are delivered by the steps of: (a) delivering the schedule-data segments for a first time slot; (b) delivering the description-data segments for the first time slot; (c) delivering the schedule-data segments and the description-data segments for each of the remaining time slots; (d) subsequent to the delivery of the first schedule-data segment for each time slot, during a gap of sufficient duration to enable the receiver to allocate memory space for storing all of the schedule-data segments for the time slot, delivering non-time-sensitive data for use by the receiver; and (e) subsequent to the delivery of the first description-data segment for each time slot, during a gap of sufficient duration to enable the receiver to allocate memory space for storing all of the description-data segments for the time slot, delivering non-time-sensitive data for use by the receiver. A storage medium according to Claim 10, wherein the non-time-sensitive data delivered during steps (d) and (e) includes further IPG data, to wit: a plurality of foundation-data segments having a predetermined closed-loop order; wherein the foundation data includes data that is necessary for retrieval of the schedule data and the description data for display; wherein during the gap according to step (d) that is subsequent to the delivery of the first schedule-data segment for the first time slot, the delivered non-time-sensitive data includes an initial number of foundation-data segments in the predetermined order; wherein during each of the next remaining respective gaps of steps (d) and (e), the delivered non-time-sensitive data includes the next number of foundation-data segments in the predetermined order; and wherein the respective number of foundation-data segments delivered during each gap are of sufficient duration to enable the receiver to allocate memory space for storing the respective schedule-data segments or description-data segments for the time slot. A storage medium according to Claim 11, further configured for causing a computer to determine, subsequent to said accessing of all of the schedule-data segments and description-data segments for all of the time slots, whether or not all of the foundation-data segments have been accessed at least twice, and for responding to a said determination that all of the foundation-data segments have not been accessed at least twice by causing the next foundation-data segments in the predetermined order to be accessed for said delivery until all of the foundation-data segments have been accessed at least twice for said delivery. A storage medium according to Claim 11 or 12, further configured for causing all of the foundation data segments to be accessed for delivery once prior to steps (a) and (b).

Inventors: BERGER DAVID LOUIS, HOLBOROW CLIVE ERIC, KHODABAKHSH ELIZABETH ANN, MURPHY PATRICK JOSEPH, BERGER, DAVID LOUIS, HOLBOROW, CLIVE ERIC, KHODABAKHSH, ELIZABETH ANN, MURPHY, PATRICK JOSEPH
Applicants: GEN INSTRUMENT CORP, GENERAL INSTRUMENT CORPORATION
Application year: 2000
Main classification: H04N5
IPC codes: H04N5, H04H1, H04N7