Title of Invention

A METHOD FOR USE WITHIN A TELEVISION RECEIVER FOR STORING PROGRAM GUIDE IMFORMATION AND AN APPRATUS THEREOF

Abstract Method (600) and apparatus (202-210) suitable for use within a television receiver (106) for storing program guide information (404, 406), wherein a scan list (222) identifies a plurality of channels available for viewing, channels not included within the scan list have corresponding program guide data (406) deleted from a program guide database. The program guide database (220) may be arranged as a plurality of objects including channel objects (502), schedule objects (504), and program objects (506).
Full Text CROSS REFERENCES TO RELATED APPLICATIONS
This application claims the benefit of U.S. Provisional Patent Application Serial No. 60/318,040 filed September 7, 2001, which is incorporated herein by reference in its entirety. This application is related to other simultaneously filed U.S. Patent Applications, each having a common assignee. The related and simultaneously filed applications are: "Method and Apparatus For Adaptively Storing Program Guide Data," Serial No. 10/091,816 March 6,2002 and "Method and Apparatus For Adaptively Storing Program Guide Data," Serial No. 10/092,213 filed March 6, 2002, both of which are incorporated herein by reference in their entireties.
FIELD OF THE INVENTION
This invention relates to electronic program guides for televisions and receivers. Particularly, the invention relates to a Method for use within a television receiver for storing program guide information and an Apparatus thereof.
BACKGROUND OF THE INVENTION
Television viewers, especially associated with premium cable and satellite programming services, often use an electronic program guide to select a program for viewing from a service provider or broadcast center. For example, the viewer may use the program guide to order a pay-per-view selection from a movie provider. Similarly, the viewer may select a particular category of programming, such as "Sports," and select a program for viewing from those offered in that category. Such program guides are generally provided using a video receiver coupled to a display device, e.g., a television set. Examples of a typical video receiver include a set top terminal, a Digital Broadcast Satellite (DBS) receiver, an Integrated Receiver-Decoder (IRD), and other types of television receivers.
To maintain a current program schedule in the program guide, the receiver periodically receives program guide information for a program schedule. Current specifications for an Advanced Program Guide (APG) require the storage of all received program guide information within a memory of the video receiver. Such memory is typically limited in size.
SUMMARY OF THE INVENTION
Method and apparatus suitable for use within a television receiver for storing program guide information, wherein a scan list identifies a plurality of channels available for reviewing, channels not included within the scan list have corresponding program guide data deleted from a program guide database. The program guide database may be arranged as a plurality of objects including channel objects.
A method according to an embodiment of the invention for adapting the storage of program guide information for a plurality of programs in a receiver comprises determining whether a channel is included within a scan list comprising a plurality of channels available for viewing; and deleting program guide information associated with the channel if the channel is not included within the scan list.
BRIEF DESCRIPTION OF THE DRAWINGS
The teachings of the present invention can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:
FIG. 1 depicts a high level block diagram of a broadcast system;
FIG. 2 depicts a block diagram of a receiver suitable for use in the system of FIG. 1;
FIG. 3 depicts exemplary program guide screen imagery;
FIG. 4 depicts an embodiment of a program guide database;
FIG. 5 depicts an embodiment of a program guide database; and

FIG. 6 depicts a flow diagram of a method for allocating a memory in a receiver;
To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures.
DETAILED DESCRIPTION
FIG. 1 depicts a high level block diagram of a broadcast system 100 for providing a program guide to a viewer of a television receiver set top terminal (STT) or other video receiver device. The system 100 of FIG. 1 comprises a program source 102, a satellite 104, a receiver 106 and a display device 108. Although one program source 102, one satellite 104 and one television receiver 106 is depicted in FIG. 1, the system 100 may comprise multiple program sources 102, multiple satellites 104 and multiple receivers 106. Additionally, the video broadcast system 100 is not limited to satellite transmission of video signals. For example, the system 100 may implement terrestrial stations to broadcast video signals.
The program source 102 broadcasts one or more video, audio, audiovisual and/or data signals via an antenna 110. In the case of a program comprising video, audio or audiovisual signals, the program is broadcast according to a program schedule. The program schedule defines the time and transmission channel used to broadcast the program for one or more geographic viewing areas. In one embodiment, the signals may comprise a program in the form of an MPEG-formatted data stream. The program may comprise a television program, a movie, a live broadcast, an advertisement, or some other form of audiovisual signal.
The satellite 104 receives the signals from the signal source 102 and rebroadcasts the signals to a predefined geographical viewing area. Additionally, the satellite 104 may receive a request from a video receiver 106 to broadcast "program guide information.' In one embodiment, the

program guide information may comprise Advanced Program Guide (APG) information.
The receiver 106 receives the program guide information via an antenna 112 and stores the received information in a memory. The receiver 106 uses the program guide information to provide a program guide on a display device or some other form of output device. The program guide contains a listing of programs scheduled for broadcast over each channel accessible by the receiver 106. Exemplary program guide display imagery is described below with respect to FIG. 3.
Programs are scheduled for broadcast in accordance to a program schedule of a predetermined time frame or schedule length. The program guide displays only a current portion of the program schedule. The remainder of the program schedule is retained as program guide information stored in the memory of the receiver. The remainder portion of the program schedule is that portion of program guide scheduled for display in the future. As such, to maintain a current program guide, the receiver 106 must periodically obtain program guide information.
A viewer of the program guide may select a program displayed thereon. Once this occurs, the receiver 106 tunes to the satellite 104 (or satellite transponder/channel) broadcasting the selected program. The program is then received at the receiver 106 and provided to the display device 108. The receiver 106 is further described below with respect to FIG. 2.
FIG. 2 depicts a block diagram of the receiver 106 in the video system 100 of FIG. 1. In one embodiment, the video receiver 106 comprises a set top terminal (STT) or television receiver. The receiver 106 of FIG. 2 comprises a processor 202, a memory 204, a tuner 206, a demodulator 208 and a decoder 210. The receiver 106 may also comprise an input/output interface 212 and various support circuits (not shown).
The tuner 206 receives a plurality of signals from the satellite 104 and selects the appropriate signal or channel of interest. The demodulator

includes respective attributes associated with, respectively, channel data, schedule data and program data.
The scan list 222 stored in memory 204 comprises, illustratively, a data structure containing channels that are of interest to a viewer, i.e., preferred channels. In one embodiment, the scan list 222 contains channels to be displayed as part of program guide imagery. As such, if a channel is no longer of interest to a user (i.e., a non-preferred channel), the channel is removed from the scan list 222 and, therefore, removed from the display program guide imagery. If a user decides to watch programs provided via that channel again, the channel is then added back to the scan list 222 and the program guide imagery.
Each channel provides programs according to a program schedule. Information pertaining to the channel, the program schedule, and the programs to be provided are stored in the memory 204. The present invention operates to remove channel, schedule and program information from the memory 204 if such information is received from the scan list 222. However, if the information is also associated with another channel that remains on the scan list 222, then the program and schedule information is not removed from the memory 204. The scan list 222 is used to determine which program guide information is to be stored in the memory 204. By removing program guide information from the memory 204 (via removal of channel information from the scan list 222), portions of the memory 204 are released for other uses. Such other uses may comprise, for example, the storage of additional information for other channels and/or other time slots. The information may provide additional detail, such as extended program information or may comprise additional time slots.
The processor 202 executes instructions contained in the program guide application 216 to enable the receiver 106 to provide a program guide function and other functionality as described herein. Additionally, the processor 202 executes instructions contained in the memory allocation

software 218 to enable the receiver 106 to implement various embodiments of the present invention.
The input/output interface 212 comprises controllers used to couple the processor 202 to the input device 214 and the display device 108. The input/output interface 212 enables the processor 202 to receive commands from the input device 214 and to provide the program guide and the selected program to the display device 108. The interface 212 may comprise, for example, an NTSC, PAL, SECAM or HDTV presentation device. The input device 214 may comprise any device utilized to provide input to the receiver 102, e.g., to access program information for a program shown on the program guide or to select a television program on a channel. Examples of the input device 214 include a remote control, a keypad, a microphone, a touch screen, and the like.
Those programs that are likely to be watched by a user are deemed to be preferred programs, while those programs that are not likely to be watched by a viewer are deemed to be non-preferred programs. The invention operates to reduce the amount of memory used to store program guide information pertaining to non-preferred programs such that program guide information pertaining to more programs may be stored, or that the program guide information associated with preferred programs may be increased in terms of program description and other parameters.
In one embodiment, program guide information comprises "basic program information" and "extended program information." Basic programming information includes any channel, scheduling and programming information displayable on the program guide. Extended program information comprises additional information about the program accessible via the program guide.
The receiver 106 minimizes the amount of program guide information stored in the memory 204 for programs that are not of interest to the viewer by discarding or deleting some or all of the corresponding extended program guide information. By deleting this information, the memory 204 thus

conserved may be utilized to increase the extended program guide information associated with preferred programming or increase the time-slice size for the stored program guide information. Additionally, the receiver 106 may use different levels of storing program information in the memory. For example, the receiver 106 may store some (or predetermined types) of extended program information for programs of different levels of interest.
FIG. 3 depicts exemplary program guide screen imagery. Specifically, the program guide screen imagery 300 of FIG. 3 may be generated by the receiver 106 for display upon the display device 108. The program guide imagery 300 depicts a table of various programs available at different channels 302i, 3022,..., 302n (collectively channels 302). The programs are displayed for a predetermined time frame or schedule length, illustratively two hours. While the program guide 300 of FIG. 3 lists programs for nine channels, it will be appreciated that the program guide 300 may list any number of channels for different schedule times.
In one embodiment, the program guide 300 represents each program as a button accessible by a viewer. The viewer may use the input device 214, e.g., a remote control, to access the button via a cursor or highlight. If the viewer accesses the button, the program guide 300 may display additional information about a corresponding program. The additional information may comprise "extended information" such as description of an episode, actor names, director names, and the like.
FIG. 4 depicts an embodiment of a program guide database 220 stored in the memory 204 of the video receiver 106. In one embodiment, the program guide database 220 comprises a plurality of records 402i, 4022, 402a, 4024, 402s, ..., 402n (generally referred to herein as records 402). Each record 402 comprises channel information, schedule information and program information for a particular program. Each record 402 comprises basic programming information 404 and, optionally, extended programming

information 406. Multiple entries 402 of a program may exist in the database 220 if a program is listed multiple times in the program schedule.
In one embodiment, the basic programming information 404 comprises any channel, scheduling and programming information displayable on the program guide 300. For example, the basic program information 404 may comprise the channel showing the program, the start time of the program on the channel, the end time of the program on the channel, and the title of the program. Basic program information may also include a rating of a program, or a type or classification of the program. The extended program information 406 comprises additional information about the program. For example, the extended program information 406 may comprise a description of the program, names of actors in the program and the name of the director of the program. Extended program information 406 may also include a review of the program or a description of the program in a different language.
FIG. 5 depicts an embodiment of a program guide database 220 stored in the memory 204 of receiver 106. Specifically, the program guide database 220 of FIG. 5 comprises a plurality of channel objects 502 , schedule objects 504 and program objects 506.
Each of the channel objects 502 has associated with it one or more schedule objects. For example, channel object 502i has associated with it schedule objects 504i and 5042; channel object 5022 has associated with it schedule objects 5043 and 5044; channel object 5023 has associated with it schedule objects 5044 and 5045. It is noted that more or fewer schedule objects may be associated with each channel object, and that schedule objects may be shared by multiple channel objects (as with schedule object
5044).
Each of the schedule objects 504 has associated with it at least one program object 506. Specifically, schedule object 504i has associated with it program objects 506i and 5O62; schedule object 5042 has associated with it program object 5O63; schedule object 5043 has associated with it program

objects 5064 and 506s; schedule object 5044 has associated with it program object 5O65; schedule object 504s has associated *with it program objects 506e and 5067. It is noted that program objects 506 may be shared by multiple schedule objects and also be associated with channel objects 502. For example, channel object 5023 has associated with it program object 506s.
Channel objects 502 contain information pertaining to a presentable (e.g., viewable) channel. Such information may include, for example, channel name, tuning parameters, access code information and the like. Channel object information varies depending upon the type of channel to be selected, such as analog or broadcast television channels, cable transported television channels, or channels delivered via other means.
Schedule objects 504 contain information pertaining to a portion of the program guide schedule. For example, a schedule object 504 may contain a start time of a scheduled program, an end time of the scheduled program, a duration or time period for the scheduled program and any offset information suitable for use within the program guide. Program objects 506 contain information pertaining to a single program; such as a television program, a live broadcast, an advertisement, or some other form of (typically) audiovisual signal broadcast or transported to the receiver. In one embodiment, the program object may comprise "basic description information" and, optionally, "extended description information," such as described above with respect to FIGS. 1-4.
FIG. 6 depicts a flow diagram of a method 600 for allocating the memory 204 in the receiver 106. The method 600 updates the program guide databases 220 in response to removal of channels from the scan list 222. Specifically, the method 600 starts at step 602 and proceeds to step 604 where an action from the user or viewer is processed. At step 606, a query determines whether the user action is to remove a channel from the scan list 222. If the user action is not to remove a channel from the scan list 222, the method. 600 returns to step 604 where the next user action is processed.

If the user action is to remove a channel from the scan list 222, the method 600 proceeds to step 608 where a query determines whether a channel object 502 for the channel points to any, i.e., at least one, schedule object 504. If the channel points to at least one schedule object 504, the method proceeds to step 610 where each schedule object 504 is processed. At step 612, a query determines whether the schedule object 504 is pointed to by another channel object 612. That is, step 612 determines whether the program schedule for the schedule object 504 is used by another channel. If the schedule object 504 is pointed to by another channel object 502, then at step 610 the next schedule object 610 (if applicable) is processed. If the schedule object 504 is not pointed to by another channel object 502, then at step 614 a query determines whether the schedule object 504 points to any program object 506. If the schedule object 504 does not point to any program object 506, then at step 616 the schedule object 504 is deleted from the memory 204. The method 600 then returns to step 610.
If, at step 612, the schedule object 504 points to any program object 506, the method 600 proceeds to step 618 where each program object 618 pointed to by the schedule object 504 is processed. At step 620, a query determines whether the program object 506 is pointed to by another object, i.e., either a schedule object 504 or a channel object 502. If the program object 506 is pointed to by another object, the method 600 returns to step 618 where the next program object 506 is processed. If the program object 506 is not pointed to by another object, the method 600 proceeds to step 622 where the program object 504 is deleted from memory. The method 600 returns to step 618 where the next program object 506 is processed. Once all the program objects 506 are processed for the schedule object 504, the method 600 returns to step 620 where the next schedule object 504 is processed. Once all the schedule object(s) 504 for the channel object 502 is processed, the method 600 proceeds to step 632.
Returning to step 608, if the channel object 502 does not point any schedule object 504, the method 600 proceeds to step 624 where a query

determines whether the channel object 502 directly points to any program object 506. A channel object 502 may directly point to a program object 506 if there no is schedule object 504 or the program for the program object 506 is not in a program schedule for the channel. If the channel object 502 does not directly point to any program object 506, the method 600 proceeds to step 632.
If the channel object 502 directly points to a program object 506, the method 600 proceeds to step 626 where each program object 506 directly pointed to by the channel object 502 is processed. At step 628, a query determines whether the program object 506 is pointed to by another object for a different channel. If the program object 506 is pointed to by another object, the method 600 proceeds to process the next program object 506 directly pointed to by the channel object 502. If the program object 506 is not pointed to by another object, the program object 506 is deleted from the memory 204.
Once all the program objects 506 pointed by the channel object 502 are processed, the method 600 proceeds to step 632 where the channel object 502 for the channel selected is deleted from the memory 204. Hie method 600 then returns to step 604 where the next user action is processed.
Although various embodiments which incorporate the teachings of the present invention have been shown and described in detail herein, those skilled in the art can readily devise many other varied embodiments that will still incorporate these teachings.





We claim:
1. A method for use within a television receiver (106) forstoring program guide
information (220), wherein the method comprises:
(a) determining (606) whether a channel associated with the program guide information (220) stored in said receiver memory (204) is included within a scan list comprising a plurality of channels of interest to a viewer;
(b) determining whether program guide information (220) associated with said channel is associated with another channel; and
(c) deleting (632) from said receiver memory (204), program guide information associated with said channel if said channel is not included within said scan list and program guide information associated with said channel is associated with no other channel.

2. The method as claimed in claim 1, wherein each of said plurality of programs comprises at least one of a pre-recorded program, a live broadcast, and an advertisement.
3. The method as claimed in claim 1, wherein said program guide information comprises Advanced Program Guide (APG) information.
4. An apparatus for use within a television receiver (106) for storing program guide information (220), said apparatus comprising:
a tuner (206), for tuning a signal including program guide information;
a demodulator (208), for demodulating said tuned signal;
a decoder (210), for decoding said demodulated signal;
a memory (204), for storing decoded program guide information, a scan list (222) of at least one channel viewable on a program guide, and instructions (216); and
a processor (202),
for determining (606) whether a channel associated with the program guide information (220) stored in said receiver memory is included within a scan list comprising a plurality of channels of interest to a viewer, and determining whether program guide information (220) associated with said channel is associated with another channel; and

deleting (632) from said receiver memory, program guide information (220) associated with said channel if said channel is not included within said scan list and program guide information (220) associated with said channel is associated with no other channel.

Documents:

572-delnp-2004-abstract.pdf

572-DELNP-2004-Claims-(18-07-2011).pdf

572-DELNP-2004-Claims-(21-02-2012).pdf

572-delnp-2004-claims.pdf

572-DELNP-2004-Correspondence Others-(18-07-2011).pdf

572-DELNP-2004-Correspondence Others-(21-02-2012).pdf

572-DELNP-2004-Correspondence Others-(24-02-2012).pdf

572-DELNP-2004-Correspondence-Others-(09-08-2010).pdf

572-DELNP-2004-Correspondence-Others-(16-09-2010).pdf

572-delnp-2004-correspondence-others.pdf

572-DELNP-2004-Description (Complete)-(24-02-2012).pdf

572-delnp-2004-description (complete).pdf

572-delnp-2004-drawings.pdf

572-DELNP-2004-Form-1-(24-02-2012).pdf

572-delnp-2004-form-1.pdf

572-DELNP-2004-Form-2-(24-02-2012).pdf

572-delnp-2004-form-2.pdf

572-delnp-2004-form-26.pdf

572-DELNP-2004-Form-3-(18-07-2011).pdf

572-delnp-2004-form-3.pdf

572-delnp-2004-form-5.pdf

572-DELNP-2004-GPA-(21-02-2012).pdf

572-delnp-2004-pct-101.pdf

572-delnp-2004-pct-210.pdf

572-delnp-2004-pct-220.pdf

572-delnp-2004-pct-304.pdf

572-delnp-2004-pct-401.pdf

572-delnp-2004-pct-408.pdf

572-delnp-2004-pct-409.pdf

572-DELNP-2004-Petition-137-(18-07-2011).pdf

abstract.jpg


Patent Number 259267
Indian Patent Application Number 572/DELNP/2004
PG Journal Number 10/2014
Publication Date 07-Mar-2014
Grant Date 05-Mar-2014
Date of Filing 08-Mar-2004
Name of Patentee THOMSON LICENSING S.A.
Applicant Address 46, QUAI A. LE GALLO, 92648 BOULOGNE CEDEX (FR)
Inventors:
# Inventor's Name Inventor's Address
1 KLOPFENSTEIN, SCOTT, EDWARD 7419 WOOD COURT, FISHERS, IN 46038 (US)
PCT International Classification Number G06 F 7/00
PCT International Application Number PCT/US02/28184
PCT International Filing date 2002-09-05
PCT Conventions:
# PCT Application Number Date of Convention Priority Country
1 60/318,040 2001-09-07 U.S.A.
2 10/092,039 2002-03-06 U.S.A.