Movatterモバイル変換


[0]ホーム

URL:


CA2334626A1 - Database for use in method and apparatus for displaying television programs and related text - Google Patents

Database for use in method and apparatus for displaying television programs and related text
Download PDF

Info

Publication number
CA2334626A1
CA2334626A1CA002334626ACA2334626ACA2334626A1CA 2334626 A1CA2334626 A1CA 2334626A1CA 002334626 ACA002334626 ACA 002334626ACA 2334626 ACA2334626 ACA 2334626ACA 2334626 A1CA2334626 A1CA 2334626A1
Authority
CA
Canada
Prior art keywords
channel
program
data
show
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002334626A
Other languages
French (fr)
Inventor
Henry C. Yuen
Roy J. Mankovitz
Daniel S. Kwoh
Elsie Y. Leung
Peter Christopher Schoaff
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Index Systems LLC
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by IndividualfiledCriticalIndividual
Publication of CA2334626A1publicationCriticalpatent/CA2334626A1/en
Abandonedlegal-statusCriticalCurrent

Links

Classifications

Landscapes

Abstract

A database consisting of inventive data structures comprising a static area (300) and dynamic area (301) is used to facilitate the creation of electronic program guides when used with a television program schedule system. The database is periodically updated with television program schedule information and is interrogated by a schedule system in order to create program guides.

Description

TELEVISION PROGRAMS AND RELATED TEXT
BACKGROUND OF THE INVENTLON
This invention relates to the field of television and, more particularly, to a database for use in displaying television program information on a television screen through the use of a television program schedule system.
Television program schedule systems, such as the one disclosed in application Serial No.
08/475,395, allow users to visually inquire into television viewing options through the use of a program guide. In these systems television program information is stored in an electronic memory connected to the television receiver. A database is used to organize and store television program information within the electronic memory.
SUMMARY OF THE INVENTION
According to the invention television program schedule data is received from the vertical blanking interval of a television signal, analyzed, and stored within a database. The database contains a static area for information vvhich is not subject to frequent change and a dynamic area for information which will frequently change.
Within each area information is stored within data structures which enable a television program schedule system to interpret and analyze the information. The data structures are designed to facilitate the rapid lookup and display of program information.
The data strucaures are also designed to reduce the size of the electronic memory and to increase the efficiency of searches through the data.
The system facilitates a method for sorting the database and creating various displays of information to the user. In the current embodiment such lookups, sorts and displays include: a program guide which displays schedule information for a specific time or channel; a primary category guide which displays schedule information for a category of programs, i.e. movies, sports, children's shows, etc.; a sub category guide which displays schedule information for a sub-category of programs, i.e. under tlhe primary category "movies" the sub-categories could be drama, action, comedy, etc.; a recording queue which facilitate the scheduling of recordings and the display of programs set to be recorded; a titles guide which displays information for programs by title, rather then by station or tune; a conflict resolver which displays information about conflicts in time or channel when the user desires to watch, or record, two programs that conflict;
and a when else feature which searches and displays when a selected program will air.
The database also contains a channel map which is used to link television guide sequence numbers with data providing channel numbers and station call letters. The database also contains a channel inhibit feature which allows the user to block the display of program information for a certain channel or channels.

1 The database is periodically updated through the use of a designated data providing channel so that updated television program information is always available for operator selected program guides. In an alternate embodiment each channel provider can independently update schedule data for television programs appearing on that channel.
BRIEF DESCRIPTION OF THE DRAWINGS
The features of specific embodiments of the best mode contemplated of carrying out the invention are illustrated in the drawin;;s, in which:
FIG. 1 is a diagram of an electronic memory that illustrates the static and dynamic areas of memory.
FIG. 2 is an illustration of a show information package data structure.
FIG. 3 is an illustration of a section of a show information package data structure.
FIG. 4 is a representation of the pre-established time list data structure contained in the static area of the database.
FIG. 5 is a representation of a section of a show information package data structure.
FIG. 6 is a representation of the channel map data structure contained in the static area of the database.
FIG. 7 is a representation of the control array data structure contained in the static area of the database.
FIG. 8 is a representation of thc: call letter map data structure contained in the static area of the database.
FIG. 9 is a representation of the: record queue data structure contained in the static area of the database.
FIG. 10 is a diagram of the download packet received by the database.
FIG. 11 is a table illustrating the memory priority scheme employed by the database.
FIG. 12 is a representation of the memory bit map employed by the database.
FIG. 13 is a schematic block: diagram of a television receiver that has an electronic television program guide incorporating the principles of the invention.
FIG. 14 is a time specific prol;ram guide generated by the principles of the invention.
FIG. 15 is a channel specific program guide generated by the principles of the invention.
FIG. 16 is a title guide generated by the principles of the invention.
FIG. 17 is a title search by letter guide generated by the principles of the invention.
FIG. 18 is a program category guide generated by the principles of the invention.
FIG. 19 is a diagram of the download packet received by the database.
FIG. 20 is a diagram of the packet stored by the database.

In the following embodiments of the invention, common reference numerals are used to represent the same components. If the features of all the embodiments are incorporated into a single system, these components can be shared and perform all the functions of the described embodiments.
FIGS. 13 to 15 are taken fronn application Serial No. 08/475,395. With reference to FIG. 13, a source of television signals 10 such as a terrestrial antenna, or a cable is connected to a television tuner 11. The output of tuner 11 is a modulated intermediate frequency signal containing video and audio television information. Tuner 11 is connected by an intermediate frequency amplifier (IF AMP) 12 to a picture detector (PICTURE DET) 13 and a sound detector (SOUND DET) 14, which produce base band video and audio signals, respectively.
The audio signal is coupled by a sound amplifier (SOUND AMP) 15 to a loudspeaker 16. The video signal is coupled by a video amplifier not shown to one input of a switch 18. Sound detector 14 and picture detector 13 are connected to the audio and video inputs, respectively, of a video cassette recorder (VCR) 17. (Alternatively, television signal source 10 could be directly connected to the RF input of VCR 17, if its internal tuner and demodulating circuitry is to be utilized.) The output of VCR 17 is connected to the other input of switch 18. The output of switch 18 is connected to one input of a conventional picture-in-picture (PIP) integrated circuit chip 19. The output of PIP chip 19 is connected to the video input of a television receiver or monitor (TV) 20 having a screen (not shown).
An updatable data base of the schedule of program listings of all the available channels for a prescribed period of time, e.g. a day or a week, is electronically stored in a program schedule memory 22. These program listings typically include for each program the title, a program description, the day of the week, the start time of the day, the program length, and the channel on which the program is transmitted and thus available for reception at source 10. In a preferred embodiment of the invention, the period of time for which the program listings are stored is different for the guides, depending upon viewer priorities and preferences. For example, the information needed to display the TISPG and CSPG may be stored for one or two days and the information needed to display the TSPG may be stored for a week or more.
The data base can be updated by a continuous data link in the vertical blanking interval (VBI) of one television channel broadcast to the television receiver in well known fashion.
Alternatively, the data base can be updated by unplugging memory 22 and replacing it with a memory having the updated data base. Memory 22 is connected to a microprocessor 24 that is programmed to control the operation of the described equipment. An operating program for microprocessor 24 is stored in a read only memory (ROM) 26. A viaewer input device 28, preferably in the form of a remote IR
controller, is coupled to microprocessor 24 to provide commands from the viewer. A. video processor 30 is coupled to microprocessor 24. When the viewer wishes to see television program listings, microprocessor 24 recalls a portion of the program schedule data base from memory 22 and couples it to video processor 30, where the program listings are formatted for display.
Preferably, the information stored in video processor 30 is a bit map of what is displayed on the screen of television receiver 20. Video processor 30 is connected to the other input of PIP chip 19. Preferably, viewer input device 28 controls microprocessor 24 by cursor movement on the screen of television receiver 20. To this end, microprocessor 24 and video processor 30 are coupled to a cursor position register 32. (Alternatively, the viewer can select items of information displayed on the screen by keying into viewer input device 28 code numbers assigned to these items.) Microprocessor 24 is also coupled to tuner 1 l for channel change, to VCR 17 for play/record selection and start/stop, to switch 18 for selection of one of its inputs, and to PIP chip 19 for selection of the; mode of PIP operation.
Several formats of the electronic program guide are shown in FIGS. 14, 15, 16, 17 and 18.
Each format has a background area 4.0 and an overlaid PIP window 42 in the upper left--hand corner of the screen. The real time, i.e., 6:15 p.m., is displayed in a sub-area 42a PIP window 42. Background area 40 includes a lbanner and message prompting area 43 at the top of the screen, a program description area 44 in the upper right-hand corner of the screen adjacent to PIP
window 42, and a program schedule .area 46 below areas 42 and 44. Program description area 44 includes the start time and length (duration) of the program being described. The viewer can move a cursor 48 vertically to highlight one of the program listings displayed in area 46.. The highlighted background of cursor 48 amd the background of program description area 44 are the same color or shade. In each format, the complete, moving images of a currently broadcast television program in real time and ohe current time are displayed in PIP
window 42 and the audio portion of the television program displayed in PIP window 42 is reproduced by the sound system of monitor 20. The information displayed in areas 43, 44, and 46 vanes depending upon the format.
In FIG. 14 a time specific program guide comprising listings of programs being broadcast at a specific future time, i.e., 8:00 p.m., is displayed in area 46. The viewer can select the time of the program listings to be displayed at intervals such as one-half hour.
The selected future time, i.e., 8:00 p.m., for the program listings displayed in area 46 is shown in a sub-area 43a of area 43. A brief program description of the program listing highlighted in area 46 by cursor 48 is displayed in area 44. The cun:ent program being broadcast remains displayed in PIP window 42, and a banner 49 which identifies the current program by channel name, channel number, and program title is displayed between PIP window 42 and area 46 on a background having a different color or shade than cursor 48.
In FIG. 15, a channel specific program guide comprising listings of programs being broadcast on a specific channel is displayed in area 46. All the program listings for a selected channel, i.e., FOX Channel 7, are displayed in area 46, from the currently broadcast program into the future for a specified time period, e.g., 24 hours or until t:he end of the next day. Area 46 has a column for time and a column fo:r program title; each line of area 46 represents a separate 1 program listing. The moving, real time images of the current television program are displayed in PIP window 42. If the cursor also highlights the current program, a brief program description of the current program is displayed in area 44. If the cursor highlights another program listing, as shown in FIG. 4, a brief program description of the highlighted program is displayed in area 44 and the current program is identified in banner 49 by time and title.
In FIG. 16, a title guide comprising of listings of programs being broadcast sorted by title is displayed in area 46. All the programs in memory are listed by title in area 46, starting with the letter A, through the letter Z and then titles beginning with numbers or symbols. Area 46 has a column for time and a column for program title; each line of area 46 represents a separate program listing. The moving, real tune images of the current television program are displayed in PIP window 42. If the cursor also highlights the current program, a brief program description of the current program is displayed in area 44. If the cursor highlights another program listing, as shown in FIG. 4, a brief program description of the highlighted program is displayed in area 44 and the current program is identified in banner 49 by time and title.
In FIG. 17, a title guide comprising of listings of programs being broadcast sorted by the first letter in the program's title is displayed in area 4~. All the programs in memory that begin with the user selected letter are listedl by title in area 46. In this example, the user selected the letter "M" to for display. Area 46 has a column for time and a column for program title; each line of area 46 represents a separate program listing. The moving, real time images of the current television program are displayed in P1P window 42. If the cursor also highlights the current program, a brief program description of the current program is displayed in area 44. If the cursor highlights another program listing, as shown in FIG. 4, a brief program description of the highlighted program is displayed in area 44 and the current program is identified in banner 49 by time and title.
In FIG. 18, a program category guide comprising listings of programs that correspond to the selected category is displayed in area 46. All the programs in memory that correspond to the category are listed by title in area 46. Area 46 has a column for time and a column for program title; each line of area 46 represents a separate program listing. The moving, real time images of the current television program are displayed in PIP window 42. If the cursor also highlights the current program, a brief program description of the current program is displayed in area 44.
If the cursor highlights another program listing, as shown in FIG. 4, a brief program description of the highlighted program is displayed in area 44 and the current program is identified in banner 49 by time and title.
All four areas of background 40 are formatted in video processor 30. The memory space of video processor 30 con esponding to the area in which PIP window 42 appears on the screen is left blank; i.e., although overlaid on background area 40, PIP window 42 does not cover up any of the information of background area 40. By means of a pair of up/down arrows on viewer input device 28, the viewer can move a cursor 48 vertically to highlight the listing of one of the 1 currently playing television programs displayed in area 46. Preferably, to reduce delays in displaying the program schedules, all the program listings for the particular screen format are stored in video processor 30, even though only a fraction of them are displayed at the same time.
When the cursor reaches the top or bottom listing in area 46, microprocessor 24 recalls further program listings from video processor 30 for display on the screen of television receiver 20.
Preferably, two levels of detaiil are available for the program description.
Normally, the first level detail of the program description is displayed in area 44 as described above. When more detail is desired, the viewer operates input device 28 to display a second level detail of the program description. There are two options for the display of the second level detail. .As one option, the second level detail can replace the first level detail in area 44.
This has the advantage that the program listings can continue to be seen by the viewer while more detail about the program description is displayed. ~~s the other option, the second level detail can replace the program listings in area 46. This ha.s the advantage that more space is available to display the second level of detail than the first level.
In the preferred embodiment, a television program schedule system ("schedule system") contains a database used to store all the information needed to create program guides and to carry out user requests, such as requests to record specific future programs. The database is stored in a memory accessible by the schedule system microprocessor.
The database contains a static area and a dynamic area. The static area contains several fixed tables used to store data not subject to frequent change such as the call letters for each received channel. The dynamic area is used to store data which is frequently updated such as the actual television program schedule data. Partitioning memory into static and dynamic; areas provides for efficient database operanion because each area of memory (static or dynamic) can be addressed separately leading to smaller address sizes and faster searches.
The partitioning also allows for efficient memory management as only the dynamic area, 301, would need to be pruned.
FIG. 1 depicts the television program schedule database. Static area 300 contains the call letter map, the pre-established time list, the channel map, the control array, the memory map and the record queue. These structures will be described in greater detail below.
Dynamic area 301 is used to store television program schedule data that falls within a seven day window. This data takes the form of show information packages (SIPs). These structures are also described more fully below.
In the current embodiment, the database only stores SIPS for the current day, the next day and any SIPs that contain category information for the next seven days. This method of selective storage reduces the memory needed and increases the processing speed of the schedule system.
In alternate embodiments the database could be expanded to contain additional days of program schedule data. The number of days for which program schedule data is stored will of course impact on the size of the memory needed and the processing speed of the schedule system.
1 Data Structures Data in television schedule database is stored in data structures. The data structures enable a schedule system to interpret the data stored therein. Several of the data structures have a fixed size and reside in the static area 300. Other data structures are of variable size and reside in the dynamic area 301. The fixed data structures include: the pre-established time list, the channel map, the control array, the call letter map, the memory map and the record queue. The variable data structures contain the show information packages.
~_ how Information Packaues ' Show information packages are variable length data structures that contain actual television program schedule data. Each show information package contains data for a four hour block of television programming for a specific channel. The show information package size is variable because the number of shows in any four hour block will depend on the duration of each individual show. For example a four hour block may contain: eight - half hour shows, two - two hour movies, four - one hour shows, one - two hour movie and four - half hour shows, etc.
FIG. 2 depicts a show information package. A show information package contains several general data fields which refer to the entire package. These are: amount of memory - used to determine how much space is needed to store the show information package;
control date - used to determine which day the SIP contains data for; program category - used to indicate the categories, if any, of the programs inside the SIP; first letter in the program's title (FLPT) - used to indicate the first letter of the programs' title contained within the SIP.
Following the general data is specific data for each show that fits within the four-hour time block. For a given show, represented by block 314, the following fields are present in the show information package: multiple show flag field - used to determine if this show is the last show within the package, or if there are other shows following this show in the four hour block; start time field - contains an offset from the start time of the four-hour block, this offset is added to the time of the four-hour block to determine the start time of the show;
duration field - specifies the air time for the show; program category - contains information on the type of show; for example, the show may be a sporting event, a news program, or a movie; program sub category - contains information vn the type of show; for example, the show may be a dramatic (sub category) movie (a category); CC field determines whether or not the show is closed captioned;
stereo field - determines whether or not the show is broadcast in stereo; add-ons field - is an extra field for expansion, this field may contain other infozmation about the show (i.e. rating of the show) as that information becomes standard in the art. In alternative embodiments a variety of other information can be included fir each show.
Following these fields are fields representing program title, primary description - a short description of the program, secondiary description - a longer description of the program and VCR+ PLUSCODE. Each of these items are represented by tu~o separate fields, one containing 1 the length of a specific item, such as title length, and one containing the item itself, such as title.
The length fields are used to determine how many of the following bytes comprise the data item.
For example if the secondary description length field is 40 bytes, the schedule system will know that the next forty bytes comprise the secondary description.
Following this information is an end-of show field. The end-of show field is used to indicate that the information for that particular show is finished. A show information package may contain information for one or amore shows depending on how many shows are broadcast within the four hour block. The presence of multiple shows is represented by 315 and 316.
A show information package is structured so as to provide several unique features for storing data. The title length, pt~im~ary description length, secondary description length and VCR+ PLUSCODE length fields can be expanded for values that are too large to fit within one byte. For example, referring to FIG. 3, if the secondary description length is greater than 2.55 (the maximum length value that can be stored within one byte), the length byte is set to 2~5 (the maximum value). Setting the length byte to the maximum value indicates that the following byte I 5 is also a length byte and the two bytes should be added to determine the length of the secondary description. In this way, a show infoomation package can be used to dynamically allocate space to accommodate longer descriptions or longer titles.
The end-of show field allows for the inclusion of data in the show information package that is not read by a current version of a schedule system but may be utilized by for later versions.
As shown again in FIG. 2, following the VCR+ PLUSCODE field, there are two fields of unspecified data. This is data which may be read by future versions of a schedule system but is currently not processed. When processing show information package data, a schedule system will discard this data until it reads an end-of show field. The schedule system will not begin processing data for a new show until an end-of show field is found. This feature allows a schedule system to access the same data as a different schedule system which may incorporate other information besides title, description, etc.
Pre-established Time List The pre-established time list is used to locate television program information for each channel in the schedule system. Television programming schedule data is located through the use of pointers which contain the addresses of show information packages stored in memory.
Each pointer points to one show information package containing a four hour block of schedule data. The pre-established time list contains 42 pointers for each channel and therefore can reference 7 days of program schedule data. In alternate embodiments where schedule data is stored for more then seven days the pre-established time list would contain a correspondingly larger number of pointers.
FIG. 4 illustrates the pre-established time list. The pre-established time list, which is a grid of times and channels. A designated location in static area 300 is assigned to each telecast _g_ time and channel. Specifically, four hour blocks of telecast time are designated by base letters A-AO and telecast channels are designated by subscripts 1-N -- contains a set of forty two pointers 313 for each channel in the schedule system. Each pointer corresponds to a show information package that contains data for a four hour block of television programming. For example, in FIG. 4, the pointer El corresponds to program data from four p.m.
to eight p.m, on one channel. Twelve pointers represent 48 hours of programing information (24 hours for.the current day and 24 hours for the next day).
Referring to FIG. 4, pointers A2 through A02 are used to represent the program data associated with the second channel in the schedule system. Each pointer contains an address, in dynamic area 301, of a show information package of variable length containing actual television program data. When searching for specific television schedule data, the schedule system first looks in the pre-established time list to secure the appropriate pointer, then uses the address found in that pointer to determine wlhere the data is stored. For example if data for the second channel in the schedule system is needed for a television program between eight p.m. and twelve midnight the schedule system will use the address in pointer F2 to determine the location in dynamic area 301 of the show information package containing the associated data.
In summary, the address of then show information package of a given television program is stored in static area 300 in a location assigned to the telecast time and channel of that program, e.g., the address of the show information package of a program to be telecast between eight p.m.
and twelve midnight on the second channel is stored in location F2.
Channel Man The database also contains a channel map located in static area 300. The channel. map, depicted in FIG. 6, links the television programming provider channel number with the internal channel number. For example, in FICi. G, channel 7 is assigned to internal channel 1 and channel 11 is assigned to internal channel 3. T'he channel map is used to identify the provider channel number when creating a program guide display.
The database also contains a fixed control array located in static area 300.
The control array is used by a schedule system to identify channels which have been inhibited for display by the user. The control array is depicted in FIG. 7. For each channel, a display field 320 is set to "1" if the channel is to be displayed a~ld set to the "0" i f the channel is to be inhibited. Refirrring to FIG. 7, channels 1, 2, 4, and 5 will be displayed in a program guide while channel 3 will be inhibited.
There is also a field for each channel for additional "add-on" information.
This field allows for the addition of other user controlled functions in future versions of a schedule system such as a specified time period for inhibiting display of a channel.

1 Call Letter Mad The database also contains a call letter map located in static area 300. The call letter map links the call letters corresponding to a~ television provider with the internal guide channel. For example, in FIG. 8. the call letters KA;~BC are linked to internal channel 1 and the letters WWOR
are linked to internal channel 2. The. call letter map is used to identify provider channel call letters for display in a program guide.
Record O~eue User requests for recording future programs are stored in the record queue.
The record queue is a fixed length table of twenty entries located in static area 300.
The record queue is depicted in FIG. 9.
Each entry in the queue contains the channel that the show will air on and the start time of the show. The record queue is structured so that programs are in time sequence order. That is, the first item in the list will be broadcast earlier than any of the other items, and so on. This structure eliminates the need to search the record queue in order to find the next program for recording.
Data Transmission Television schedule data is continuously transmitted to the database from the vertical blanking interval (VBI) of the data provider channel. In order to receive schedule data the television must be tuned to the data provider channel. For example, if the data provider channel is channel 7, the television must first be tuned to channel 7 before schedule data can be received.
The schedule system attempts to receive data from the provider channel four times a day.
Because a user may be watching a different channel when the schedule system attempts to download data. a download is attempted four times in an effort to ensure the database receives a complete set of data. The four dov~rnload attempts are spaced six hours apart over a 24-hour period to provide a high probability that during one of those attempts a user will not have the television tuned to another channel. For example, download attempts may occur at twelve midnight, six a.m., twelve noon, and six p.m. It is unlikely that someone will be watching television at all four of these times.
In an alternate embodiment schedule data updates can occur on an individual basis for each channel. Each channel provider can supply schedule updates in the VBI
signal for that channel. When the user selects a channel for display the schedule system can interrogate the VBI
on that channel and receive schedule updates.
The entire dynamic area 301 is~ erased before the first download of the day.
This complete erasure ensures that all data for shows that have already aired is removed from the schedule system. All television progrann data is sent and received in download packets.
The download packet is comprised of the schedule information, along with a header which contains routing data, enabling the schedule system to determine how to store the contents of the packet.
FIG. 10 illustrates a download packet. The packet begins with a packet header containing packet ID number 302 used to distinl;uish this packet from other packets. The packet header also contains number of bytes 303 and number of blocks 304. These values are used to determine the size of the packet.
The packet header is followed by the show information package (SIP) header.
There is a show information package header for each show information package in the packet. The SIP
header contains: guide number 305 which specifies the internal channel number of the data in the show information package; channel ID 306 which specifies the source of the data in the show information package; and time slot 3'07 used to designate the time of day of the data in the show information package. A show information package 308 follows the SIP header.
Upon receipt, a show information package is extracted from the download packet and temporarily stored in memory. The :.how information package contains a control date field that is used to determine which day and time the data is for, a guide channel field that specifies the 1 S internal channel number for the data and a program category that specifies which categories of programs are included within the package.
Before new show information packages are stored, a check is made to determine if the internal channel number in the show iinformation package header corresponds to a channel which is enabled for display. If the internal channel does correspond to an enabled channel the control date is checked. If the SIP is outside of the seven-day system window, or for a channel not enabled, it is discarded.
Before new show information packages are stored, a check is made to determine;
if the SIP is beyond the two-day all program listing window and contains a program that corresponds to a predetermined category. If so, the SIP is rewritten to include only programs corresponding to predetermined categories prior to storage. This scheme is outlined in FIG.
19 and FIG. 20.
All non-matching program category shows are discarded. If the show information package is outside of the current two-day window and does not contain program category information, the show information package is discardled.
All other SIPS must fall within the two-day all program listing window and are stored as follows: The SIPs are written into memory location 301. The pointers used in the pre-established time list data structure are updated to indicated where the corresponding S:(P was stored.
The schedule system contains a memory prioritization scheme to efficiently use the memory space available. The scheme is outlined in FIG. 11. The prioritization scheme is keyed to the number of channels that are selected for display. If the operator has selected twenty-nine or less channels for display, all titles, first level descriptions and second level descriptions for programs that fall within the 2-day vvindow are stored.

I If the user has selected over 30 channels for display, but less than 39 channels, all shows that will air on the current day are stored with title, first level and second level descriptions. All shows broadcast for the second day, however, will only be stored with the title and the first level description. Program category shows will only be stored with their titles. If the operator has selected over 40 channels for display, only titles are stored.
Ntemory Management The database includes a memory bit map in order to track the parts of dynamic area 301 that are currently holding program data as opposed to the parts of the program schedule memory that are free to store new program data. The memory bit map divides the memory into 3'~ byte blocks. Each block is represented by a bit in the memory bit map.
The memory bit map is depicted in FiG. 12. Each bit in the map 310 represents a 32 byte block of memory. A "1" in the bit position 311 indicates that program data is stored in that block. A "0" in the position 312 indicates that the block is free. When new data is to be stored, a search can be made through the memory bit map to locate a sufficient number of free positions in which to store the data. Where the positions are located, the data is stored and the corresponding numbers in the memory bit map are changed from "0" to "1" to indicate that those memory locations are occupied.
For example, referencing FIG. 12, if data is received that requires ten blocks of storage, a schedule system will scan the memory map and store the data in the space represented by bits 0-7 in row 3 and bits 0-1 in row 4. These bits will then be set to "1" in the memory bit map.
A schedule system can also periodically re-order the rrremory so that free space is grouped contiguously. For example, referencing FIG. 12, the data starting in the block represented by bit 2 in row 0 and ending in the block represented by bit 1 in row 1 would be slid over to the block represented by bit 3 in row 0. This will remove the "0" gap err row zero. This process is repeated throughout the memory map so that all free space is grouped together at the end of memory.
As previously stated, all the information in dynamic area 301 is cleared out once a day.
This process ensures that the database does not contain data which is more than one day old. A
schedule system can also prune data to remove data for shows that have already aired. This pruning is accomplished by searching through show lists in dynamic area 301 to identify shows that have start times that have occurred before the current time. Data for any of these identified shows is removed from the database, .and a garbage collection routine would secure the memory that contained these old shows by changing the appropriate bits in the memory bit map.
The schedule system may also remove data for channels which have been disabled. For example, if the operator disables a channel for display, the schedule system can delete any program schedule data for that channel. The garbage collection routine will then secure the memory space that was represented 'by shows for the deleted channel. If the operator were to 1 select the channel for display again the schedule system would have no data for that channel until the next update period.
Database Processing In addition to traditional database processing using common retrieve and parse functions, the schedule system also facilitates faster searching for certain types of searches by the use of indexing bits placed in the header of the SIP package. In the present embodiment, qualifying fields of bits exist for program category (2 bytes), program sub category (2 bytes), and the first letter in a program's title (26 bits - one bit per letter) as shown in FIG. 2.
For example, FIG. 5 shows the header of a SIP package that contains a program category "MOVIE", sub category "ACTION", titled "ZORRO". For tl'us SIP the bit mapped to "MOVIE" S00 within the program category field is set to "1 ", the bit mapped to "ACTION" 501 within the sub program category field is set to "1", and the bit mapped to "Z" within the FLPT is set to "1".
SIPS that contain multiple programs have bits properly set for all the programs in the SIP, using a logic "OR" function. For example, if a SIP contained three programs, ZORRO, Magnum PI and Monty Python, the first letter of the program bits for "Z" and "M" are set to "1 ", all other bits are "0".
When performing searches involving a bit field the schedule system first checks that the corresponding bit in the SIP's header matches the search criteria. If the criterion is met the system then parses the data from the S1P, if the criteria is not met the system skips that SIP
altogether. This method significantly reduces search times by limiting the number of SI:Ps that must be parsed.
Interaction between the database and a television program schedule system is illustrated through the following examples:
1. The user requests a time specific program guide (TISPG), the current time is '.I p.m.
When the user requests a TISFG for information pertaining to television shows that are currently being broadcast, the schedule system first reads the current time (7 p.m.) from a microprocessor clock. The schedule system then determines the pointers that correspond to current time in the pre-established time list, FIG. 4. Since th.e current time is 7 p.m. the schedule system will look to the fifth pointer (this pointer corresponds to the data from 4 p.m. to f3 p.m.) for each channel: Channel 1 - El, Channel 2 - E2, Channel 3 - E3, . . ., Channel N - EN.
For each pointer the schedule system accesses the associated show information package, FIG. 2. The schedule system adds the start time of the four hour block (4 p.m.) to the time offset in each show in the show information package to determine the show that is currently airing on that channel. Information for the show is then extracted from the show information package.
The extracted information includes title, primary description, secondary description and VCR+
PLUSCODE.

Internal channel numbers .are also used to index into the channel map, FIG. 6.
Specifically, the channel number is used to select a specific source channel ID for display in the guide: Channel 1 - 7, Channel 2 - 6, Channel 3 - 11, . . . Channel n - 172.
The internal channel number is also used to index into the call letter map, FIG. 7. Specifically, the internal channel number is used to pull out the station identification call letters for display in the guide: Channel 1 - KABC, Channel 2 -WWOR, . . . Channel 3 - KTVR. All of the information from the show information package, the channel map and the call letter map is used to create formatted text lines for display in a guide.
2. The user requests a channel specific program guide (CSPG), the current channel being viewed is channel 6, the current time is 3 p.m.
When the user requests a (:SPG for information pertaining to television shows that are airing or will be broadcast on a speciftc channel (e.g., channel 6) at a specific time (e.g., 3 p.m.) the schedule system determines the channel number corresponding to the displayed chatmel by interrogating a system variable. For this example the channel is channel 2.
The schedule system then reads the current time (3 p.rn.) from a microprocessor clock. The schedule system determines the pointer that corresponds to current time for the selected internal channel in the pre-established time list, FIG. 4. ;iince the current time is 3 p.m. and the selected internal channel is channel 1 the schedule system will look to the fourth pointer (this pointer corresponds to the data from 12 noon to 4 p.m.) in the second set of pointers. This pointer is D2, FIG. 4.
The schedule system then accesses the associated show information package, FIG. 2, for pointer D2. The schedule system adds the start time of the four hour block (12 noon) to the time offset in each show in the show information package to determine the show that is currently airing. Information for the show is. then extracted from the show information package. The extracted information includes title, primary description, secondary description and VCR+
PLUSCODE. The schedule system extracts data for all shows in the show information package pointed to by D2 that occur after the selected show. Inforn~ation is then extracted for all shows in show information packages pointed to by pointers E2 - L2.
The internal channel number is also used to index into the channel map, FIG.
6.
Specifically, the internal channel number is used to pull out the specific source chamlel ID, channel 6, for display in the guide. The internal channel number is also used to index into the call letter map, FIG. 7. Specifically., the internal channel number is used to pull out the station identification call letters, WWOR, for display in the guide. .All of the information from the show information package, the channel map and the call letter map is used to create formatted text lines for display in the guide.
3. The user requests a program category guide (PCG), the selected category is "MOVIE", the current time is 10:30 a.m.

1 When the user requests a PCG for information pertaining to television shows within a specific category (MOVIE) that are airing or will be broadcast, the schedule system first reads the current time (10:30 a.m.) from a microprocessor clock. The schedule system then determines the pointers that correspond to current time in the pre-established time list, FIG. 4. Since the current time is 10:30 a.m. the schedule system will look to the third pointer (this pointer corresponds to the data from 8 a.m. to 12 noon) for each channel: Channel 1 -CI, Channel 2 -C2, Channel 3 - C3, . . . , Channel N - CN.
For each pointer the schedule system accesses the associated show information package, FIG. 2. The schedule system checks the category bit in each SIP header to determine if a category (MOVIE) is contained in the SIP. If a "MOVIE" is contained in the SIP
the schedule system adds the start time of the four hour block (8 a.m.) to the time offset in each show in the show information package to determine the show that is currently airing on that channel. If the current show is a "MOVIE", information for the show is extracted from the show information package. The extracted information includes title, primary description, secondary description and VCR+ PLUSCODE.
The schedule system then increments the current time by five minutes (10:35) and repeats the above process on the SIP package;. The clock is incremented again by five minutes and the process is repeated until the clock time is at the end of the four hour block, i.e. 12 noon. The schedule system then access all remaining pointers in like manner, Dl - DN, El - EN, . . .
AO1 -AON and extracts information for all shows that contain the category "MOVIE".
4. The operator requests a title guide (TG), of all the program titles that begin with the letter "Z", the current time is 10:30 a.m.
When the user requests a TG for information pertaining to television shows that begin with a specific letter that are airing or will be broadcast, the schedule system first reads the current time (10:30 a.m.) from a microprocessor clock. The schedule system then determines the pointers that correspond to current time in the pre-established time list, FIG. 4. Since the current time is 10:30 a.m. the schedule system will look to the third pointer (this pointer corresponds to the data from 8 a.m. to 12 noon) for f;ach channel: Channel 1 - Cl, Channel 2 -C2, Channel 3 -C3, . . . , Channel N - CN.
For each pointer the schedule system accesses the associated show information package, FIG. 2. The schedule system checks the bit corresponding to the first letter in a program's title (FLPT) in the SIP header to determine if there is a match. If a show contains a "Z" the schedule system adds the start time of the four hour block (8 a.m.) to the time offset in each show in the show information package to determine the show that is currently airing on that channel. If the current show begins with a "Z", information for the show is extracted from the show information package. The extracted information includes title, primary description, secondary description and VCR+ PLUSCODE.

1 The schedule system then increments the current time by five minutes (10:35) and repeats the above process on the SIP package. The clock is incremented again by five minutes and the process is repeated until the clock time is at the end of the four hour block, i.e. 12 noon. The schedule system then access all remaining pointers in like manner, D1 - DN, E1 - EN, . . .
AO1 -AON and extracts information for all shows that contain the category "MOVIE".
5. The user requests a "when else" (WE) display of a selected program, ZORRO
(ie when else is ZORRO airing?), the current time is 10:30 a.m.
When the user requests WE information pertaining to a selected television show the schedule system first reads the current time (10:30 a.m.) from a microprocessor clock. The schedule system then determines the pointers that correspond to current time in the pre-established time list, FIG. 4. Since the current time is 10:30 a.m. the schedule system will look to the third pointer (this pointer corresponds to the data from 8 a.m. to 12 noon) for each channel: Channel 1 - Cl, Channel 2 .. C2, Channel 3 - C3, . . . , Channel N -CN.
For each pointer the schedule system accesses the associated show information package, FIG. 2. The schedule system compares the FLPT bit from the selected prograrra with that of the SIP header to determine if there is a match. If there is a match the schedule system reads the data from the SIP and compares the show titles with the selected show.
The clock is incremented by five minutes and the process is repeated until the clock time is at the end of the four hour block, i.e. 12 noon. The schedule system then access all remaining pointers in like manner, D1 - DN, I:l - EN, . . . AOl -AON and displays all matches, including the show's channel number and the day and time of airing..
Inhibitine Channels The control array , FIG. 7, provides the capability to block channels for display. Blocking a channel inhibits the channel from being displayed on a schedule system, therefore the channel would not be part of the TISPG, CSPG, or CG.
When the user selects a channel for non-display, the display flag in the control array is set to "0". Whenever the schedule system user requests a program guide display, the schedule system first checks the control array before proceeding with processing on the pre-established time list. If the control array for a specific channel is set to "0" no other processing is performed for that channel and the schedule system goes on with the next channel. If the user were to re-select that channel for display in subsequent processing, the schedule system would enact the change the next time a program guide was created.
The control an ay may also be used to inhibit the storing of data for selected channels. For example, a television program schedule system could first check the control array before storing data for a specific channel. If the control array for a specific channel contained a "0" no data 1 corresponding to that channel would be stored. Note that a channel may be inhibited for display as described above without necessarily blocking the storage of data.
Recording When the user selects a program for recording the schedule system stores the channel number of the selected program and the program start time in the record queue, FIG. S~. The program start time is computed by adding the offset contained in the show information package to the start time of the associated four hour block of data.
The record queue is put in time order whenever a new entry is added. This ordering facilitates periodic polling of the start time in the first show of the queue to determine the next recording command to be executed. 'The address of the queue is easily accessible as it is stored in static area 300. After a show is recorded the next show in the queue is moved to the beginning of the queue.

Claims (3)

WHAT IS CLAIMED IS:
1. A method for displaying television program information comprising the steps of:
storing in electronic memory electronic program guide information including for each television program, title, start time, and regional channel name;
storing in electronic memory a channel map that links channel names with local channel numbers;
selecting a particular on-screen guide for display;
retrieving from electronic memory electronic program guide (EPG) information required to display the selected on-screen guide, including title, start time, and regional channel name;
retrieving from electronic memory the local channel number linked to each regional channel name retrieved from electronic memory;
displaying the retrieved titles, start times, regional channel names, and the local channel numbers as the selected on-screen guide.
2. The method of claim 1, additionally comprising the step of transmitting the EPG
information in the VBI of a telecast signal telecast throughout the region, the step of storing EPG information comprising downloading from the VBI the transmitted EPG
information of the telecast signal.
3. The method of claim 2, additionally comprising the step of transmitting channel maps for a plurality of geographic areas in the VBI of the telecast signal, the step of storing a channel map that links channel names with local channel numbers comprising downloading from the VBI the channel map applicable where the displaying step us performed.
CA002334626A1998-06-091999-06-09Database for use in method and apparatus for displaying television programs and related textAbandonedCA2334626A1 (en)

Applications Claiming Priority (3)

Application NumberPriority DateFiling DateTitle
US8867198P1998-06-091998-06-09
US60/088,6711998-06-09
PCT/US1999/013065WO1999065242A1 (en)1998-06-091999-06-09Database for use in method and apparatus for displaying television programs and related text

Publications (1)

Publication NumberPublication Date
CA2334626A1true CA2334626A1 (en)1999-12-16

Family

ID=22212735

Family Applications (1)

Application NumberTitlePriority DateFiling Date
CA002334626AAbandonedCA2334626A1 (en)1998-06-091999-06-09Database for use in method and apparatus for displaying television programs and related text

Country Status (6)

CountryLink
EP (1)EP1097579A4 (en)
JP (1)JP2002518900A (en)
CN (1)CN1314046A (en)
AU (1)AU4432399A (en)
CA (1)CA2334626A1 (en)
WO (1)WO1999065242A1 (en)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
USRE48056E1 (en)1991-12-232020-06-16Blanding Hovenweep, LlcErgonomic man-machine interface incorporating adaptive pattern recognition based control system
USRE47908E1 (en)1991-12-232020-03-17Blanding Hovenweep, LlcErgonomic man-machine interface incorporating adaptive pattern recognition based control system
JP2001268544A (en)*2000-03-152001-09-28Sony CorpDigital signal receiver
US7100184B1 (en)2000-08-032006-08-29Matsushita Electric Industrial Company Ltd.Method and apparatus for rapid access of program guide information
US8046799B2 (en)2000-11-272011-10-25The Directv Group, Inc.Daypart based navigation paradigm
US7444665B2 (en)2001-01-032008-10-28Thomas Edward CezeauxInteractive television system
JP2002262189A (en)*2001-02-282002-09-13Sony CorpPortable information terminal and information processing method, program storage medium and program
US8782691B1 (en)2002-01-152014-07-15The Directv Group, Inc.Time shifted targeted advertisements based upon user profiles
US7168085B2 (en)*2002-01-312007-01-23Microsoft CorporationTime-based selection of EPG data destined for low resource clients
AU2003206140A1 (en)*2002-02-212003-09-09Fujitsu LimitedA method and system for internet content acquisition according to a program guide
JP4261893B2 (en)*2002-12-132009-04-30キヤノン株式会社 Information processing apparatus and information processing method
US7913279B2 (en)*2003-01-312011-03-22Microsoft CorporationGlobal listings format (GLF) for multimedia programming content and electronic program guide (EPG) information
US20050210501A1 (en)*2004-03-192005-09-22Microsoft CorporationMethod and apparatus for handling metadata
JP4802473B2 (en)*2004-09-282011-10-26パナソニック株式会社 Digital broadcast receiver
EP1650971A1 (en)*2004-10-192006-04-26APS Astra Platform Services GmbHMethods and devices for transmitting data to a mobile data processing unit
US8520703B2 (en)2005-04-052013-08-27Nokia CorporationEnhanced electronic service guide container
JP5207383B2 (en)2005-12-012013-06-12トムソン ライセンシング Method and apparatus for providing a program guide having channel signal strength
CN101102418B (en)*2007-07-232011-08-31安徽天虹数码技术有限公司A listing and storage method for listing and storage device for TV program of TV studio
CN101483589B (en)*2008-12-262011-11-30青岛海信宽带多媒体技术股份有限公司Customer terminal network media information management method and customer terminal system
CN102088637B (en)*2010-11-232013-04-24Tcl集团股份有限公司Multifunctional television and display operation method thereof

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US5589892A (en)*1993-09-091996-12-31Knee; Robert A.Electronic television program guide schedule system and method with data feed access
US5596373A (en)*1995-01-041997-01-21Sony CorporationMethod and apparatus for providing program oriented information in a multiple station broadcast system
CA2166434A1 (en)*1995-01-041996-07-05Fujio NoguchiMethod and apparatus for providing programming information
US5557338A (en)*1995-04-051996-09-17Thomson Consumer Electronics, Inc.Television receiver using received channel guide information and a secondary video signal processor for displaying secondary channel information
US5600378A (en)*1995-05-221997-02-04Scientific-Atlanta, Inc.Logical and composite channel mapping in an MPEG network
ATE335361T1 (en)*1996-11-152006-08-15Mindport Bv METHOD AND DEVICE FOR LOCALIZING A SHIPMENT IN AN ELECTRONIC PROGRAM GUIDE

Also Published As

Publication numberPublication date
CN1314046A (en)2001-09-19
EP1097579A1 (en)2001-05-09
WO1999065242A1 (en)1999-12-16
AU4432399A (en)1999-12-30
EP1097579A4 (en)2004-05-26
JP2002518900A (en)2002-06-25

Similar Documents

PublicationPublication DateTitle
US6028599A (en)Database for use in method and apparatus for displaying television programs and related text
CA2334626A1 (en)Database for use in method and apparatus for displaying television programs and related text
US6341195B1 (en)Apparatus and methods for a television on-screen guide
EP0447968B1 (en)Apparatus for providing TV program information
US6078348A (en)Television schedule system with enhanced features
US6400406B1 (en)Device and method for displaying broadcast program guide in a programmed recording system
US20080178223A1 (en)Method and apparatus for displaying television programs and related text
KR100653338B1 (en) Targeted Advertising Method and Targeted Advertising System
US20120167136A1 (en)Method and apparatus for displaying television programs and related text
HK1120974B (en)Method and apparatus for displaying television programs and related text

Legal Events

DateCodeTitleDescription
FZDEDiscontinued
FZDEDiscontinued

Effective date:20050609


[8]ページ先頭

©2009-2025 Movatter.jp