WO1999035849A1 - System for combining electronic program guide data - Google Patents

System for combining electronic program guide data Download PDF

Info

Publication number
WO1999035849A1
WO1999035849A1 PCT/US1999/000093 US9900093W WO9935849A1 WO 1999035849 A1 WO1999035849 A1 WO 1999035849A1 US 9900093 W US9900093 W US 9900093W WO 9935849 A1 WO9935849 A1 WO 9935849A1
Authority
WO
WIPO (PCT)
Prior art keywords
epg
data
content
epg content
data store
Prior art date
Application number
PCT/US1999/000093
Other languages
French (fr)
Inventor
Theodore D. Wugofski
Original Assignee
Amiga Development Llc
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 Amiga Development Llc filed Critical Amiga Development Llc
Priority to AU20259/99A priority Critical patent/AU2025999A/en
Publication of WO1999035849A1 publication Critical patent/WO1999035849A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • H04N21/4351Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reassembling additional data, e.g. rebuilding an executable program from recovered modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/165Centralised control of user terminal ; Registering at central

Definitions

  • This application is related to the co-assigned and co-filed applications, "Method for managing multiple channel maps from multiple input devices in a multimedia system,” “System for time-shifting events in a multi-channel convergence system,” “Method and system for associating web sites to television programs,” “.Individualized parameter control for multiple media sources in a data processing system,” “System for scheduled caching of in-band data services,” and “.Integration of .Internet sources into an electronic program database list,” all of which are hereby incorporated by reference.
  • the present invention is related to electronic program guides and in particular to retrieving and combining electronic program guide data from more than one provider.
  • EPG electronic program guide
  • the data for an EPG is downloaded from a particular provider to a microprocessor either in the television or in an attached device.
  • the program guide data is stored in a data store, such as a database, and displayed on the television screen when the user requests.
  • the source of the information differs from provider to provider. For example, StarSight Telecast, Inc. places program guide data in the vertical blanking interval in the broadcast television signal, Direct TVTM and EchoStar Communications Corp.
  • MPEG2 Motion Picture Experts Group
  • TV Host and Intel Corp.'s Smart TV® require a dial-up telephone connection.
  • the data stores created from the source information are proprietary to the provider and are incompatible.
  • program information given by one provider may be good for one category of program but poor for another category.
  • An electronic program guide (EPG) system combines data from multiple EPG content providers and organizes the EPG data into an EPG content data store.
  • the EPG system includes an EPG content services function which creates and manages the EPG content data store.; a plurality of EPG content transport functions that retrieve the EPG data provided by the EPG content providers from multiple sources and in multiple source-specific formats and a plurality of EPG content provider function which convert the source-specific formatted EPG data into a format compatible with the EPG data store.
  • the EPG content services function also includes a conflict resolution function which determines what EPG data is of higher quality or more timely when similar data is received from more than one source, addition, the EPG content services function registers new EPG content providers into the EPG data store.
  • the data structure of the EPG data store is also described, as is a specific arrangement of modules that implement processes necessary for the operation of the EPG system.
  • the content organizer includes an EPG content data store created and managed by an EPG content services function, a plurality of EPG content transport functions which retrieves the EPG data from the plurality of sources, and an EPG content provider function which converts the EPG data from the multiple formats to an EPG content data store format for storage in the EPG content data store.
  • EPG content data store created and managed by an EPG content services function
  • EPG content transport functions which retrieves the EPG data from the plurality of sources
  • an EPG content provider function which converts the EPG data from the multiple formats to an EPG content data store format for storage in the EPG content data store.
  • the EPG system of the present invention retrieves EPG data supplied by multiple EPG content providers through different sources and organizes the EPG data into a single data store, the viewer is not required to select a single provider, be reliant on a single source for the information, or become familiar with multiple EPG systems.
  • the EPG system gives the viewer more selections, provides more dependability, and makes the EPG data more accessible.
  • the EPG system resolves conflicts between the data from different providers based on data quality or timeliness, the viewer has access to better and more reliable information.
  • Figure 1 A is a block diagram of hardware components for a convergence system utilizing an electronic program guide (EPG) system.
  • EPG electronic program guide
  • Figure IB is a block diagram of a digital processing system shown in Figure 1 A.
  • Figure 1C is a block diagram of a software architecture executing in the digital processing system of Figure IB.
  • Figure 2 is a block diagram of four primary modules of one embodiment of an
  • FIG. 3 is a block diagram of one embodiment of an EPG content data store in the EPG system of Figure 2.
  • Figure 4 is a field layout diagram of a provider record in the EPG content data store of Figure 3.
  • Figure 5 is a field layout diagram of a guide record in the EPG content data store of Figure 3.
  • Figure 6 is a field layout diagram of a channel record in the EPG content data store of Figure 3.
  • FIG 7 is a block diagram of the EPG content data store of Figure 3 showing detailed tables associated with an event table.
  • Figure 8 is a field layout diagram of an event record in the EPG content data store of Figure 7.
  • FFiigguurree 99 is a field layout diagram of an event title record in the EPG content data store of Figure 7.
  • Figure 10 is a field layout diagram of an event description record in the EPG content data store of Figure 7.
  • Figure 11 is a field layout diagram of an event extension record in the EPG content data store of Figure 7.
  • Figure 12 is a field layout diagram of an event start record in the EPG content data store of Figure 7.
  • Figures 13-15 are operation flow diagrams of the processes of the EPG system of
  • An electronic program guide (EPG) system of the present invention organizes schedule and program information from multiple EPG content providers through differing sources and presents a single, optimized menu to the user based on criteria such as quality of the data, timeliness of the data, and timeliness of the program guide provider.
  • the EPG system is part of a convergence system 100 shown in Figure 1 A, such as the Destination personal computer system available from Gateway 2000, Inc.
  • the convergence system 100 incorporates television tuner circuitry into a digital processing system 101, such as a computer which is compatible with standard personal computer systems, and displays television signals and digital output on a large monitor 122 of VGA or better resolution.
  • the EPG system is described in terms of software processes which execute within a microprocessor 186 in the digital processing .system 101, as shown in Figure IB.
  • the processes for the EPG system can be implemented in software, hardware or firmware without departing from the scope of the invention.
  • One embodiment of a software architecture which provides the underlying infrastructure of processing and file input/output operations necessary for the execution of the EPG system is illustrated in Figure lC.
  • the EPG system operates as part of the system services 103 and is represented in Figure 1C as EPG data services 109.
  • the software architecture illustrated in Figure 1C is described in detail in co-pending and co-assigned patent application entitled "Architecture for Convergence Systems" filed on the same day as the present application and assigned to the same assignee, which application is hereby incorporated by reference.
  • an "EPG content provider” is a company that supplies program guide data and a company that provides the audio, video and/or data transmitted in a channel is referred to as a "channel content provider.”
  • a single company can be both a channel content provider and an EPG content provider.
  • the EPG data may be transmitted either in-band or out-of-band, as known by those of ordinary skill within the art.
  • the EPG system 200 comprises four primary modules as illustrated in Figure 2: a plurality of EPG content transport functions 201, a plurality of EPG content provider functions 203, an EPG content services function 205, and an EPG content data store 207. .Arranging the tasks perfoimed by the EPG system into different modules will be readily apparent to one skilled in the art upon reading the detailed descriptions below.
  • the EPG content transport functions 201 move guide data from various sources and into a storage area, such as a hard disk 107, on the digital processing system 101.
  • Each EPG content transport function 201 is specific to the particular source, such as the vertical blanking interval in the broadcast television signal, an 1MPEG2 data stream transmitted via satellite, a phone line, hard media such as CD-ROM, or some other communications means.
  • the EPG content provider functions 203 convert the guide data from source-specific formats into a format understood by the EPG content services functions 205. Detailed information on a source-specific format necessary to support the conversion can be in the public domain, obtained from standards publications, or licensed from the owner of a proprietary format.
  • the EPG content services function 205 stores the converted guide data into the EPG content data store 207, resolving conflicts and combining information from the different EPG content providers according to user preferences as described further below.
  • the EPG content services function 205 also provides an interface for other applications to access the EPG content data base 207 or the EPG content providers through the EPG content provider functions 203.
  • FIG. 3 illustrates data structures in one embodiment of the EPG content data store 207.
  • the data store 207 comprises a provider table 301, a guide table 303, a guide descriptor table 305, a channel table 307, a channel descriptor table 309, a channel region table 311 , a channel extension table 313, a service type table 315, a service table 317, and an event table 319.
  • the EPG content data store 207 is described in terms of tables in a relational database system, one sl illed in the art will readily appreciate that the data contained in the data store 207 can be stored in any type of data structure, including flat files or look-up tables, without departing from the scope of the invention. A brief overview of each data structure is given next, with detailed descriptions following.
  • the provider table 301 describes the EPG content providers that are registered with the EPG content services function. The registration process is described in detail below. Each provider can supply more than one program guide.
  • the guide table 303 identifies which program guides for a provider are managed by the EPG content services function 203.
  • the guide descriptor table 305 provides a description of each guide in the guide table 303 in one or more languages.
  • the channel table 307 identifies which channels are described in a guide.
  • the channel description table 309 provides a descriptton of each channel in the channel table 307 in one or more languages.
  • the channel region table 311 identifies regions (countries, local regions, etc.) in which each channel in the channel table 307 is accessible.
  • the channel extension table 313 identifies any external data associated with a channel in the channel table 307, such as a World Wide Web Internet site or multimedia files stored on media accessible by the convergence system 100.
  • the service type table 315 indicates what type of content, such as audio, video, or data, is available on each channel in the channel table 307.
  • the services table 317 enumerates which source services, i.e., the communications links for downloading the guide data, are supported by each provider.
  • the event table 319 contains program information for each event on a channel during the time period covered by a program guide that contains the channel.
  • the provider table 301 comprises a plurality of provider records.
  • One embodiment of a provider record 400 is shown in Figure 4.
  • a provider identifier field 401 contains a unique identifier for each EPG content provider.
  • a provider type field 403 identifies whether the EPG content services function 205 must request an update of the guide data from the EPG content provider, or whether the provider operates autonomously and notifies the EPG content services function 205 when its guide data has changed.
  • a provider timeliness field 405 indicates how often the provider updates the data it receives from the channel content owner. For example, the provider may supply new guide data every four hours, but the only difference between each update is that the four hours prior to the update time are truncated and the four hours following the update time are included. Schedule or information changes supplied to the EPG content provider by the channel content provider are not reflected in the update.
  • the provider timeliness field 405 for such an EPG content provider would contain a value representing "low" timeliness.
  • the provider timeliness field 405 contains a value representing "medium" timeliness.
  • the provider timeliness field 405 contains a value representing "high" timeliness.
  • Other update frequencies such as more than once a day, can also be designated as being of "high" timeliness.
  • a provider next-update field 407 contains a time at which the EPG content services function 205 should ask for an update to the guide data.
  • a provider quality field 409 contains values which represent ratings of various content categories with respect to the quality of the descriptions supplied by the provider. For example, one EPG content provider may provide better movie descriptions while another may provide better sports descriptions.
  • the provider quality field 409 is user-defined.
  • a service provider name field 411 is a text description of the services made available by the channel content provider, such as audio, video, or data.
  • a content provider name field 413 is a text description of the EPG content provider.
  • a guide provider name field 415 is a text description of the guide provided by the EPG content provider.
  • the guide table 303 comprises a plurality of guide records, one for each guide supplied by a provider.
  • a guide table record 500 shown in Figure 5.
  • a guide identifier field 501 contains a unique identifier for each program guide.
  • a provider identifier field 503 identifies the EPG content provider that initialized (and generally owns) the guide.
  • a starting slot field 505 contains a time for the first time slot that is represented in the guide and a starting day field 507 designates the day of the week for the first time slot. If the guide extends beyond one week, the starting day field 507 includes the appropriate week, month, and/or year values.
  • a validity field 509 rates the validity of the data in the guide. If the provider performs some sort of comparison of the data in the guide, the value in the validity field 509 represents a "high" validity rating.
  • the value in the validity field 509 represents a "low" validity rating.
  • the lifetime field 511 contains a value indicating the latest date/time before which the provider expects the guide will be updated.
  • a guide width field 513 contains a value which represents the period of time included in the guide, measured in "slots.”
  • a slot length field 515 defines the num er of .seconds represented by a slot, such as 108000 seconds (30 minutes).
  • the channel table 307 comprises a plurality of channel records.
  • a channel record 600 is shown in Figure 6.
  • the channel table 307 contains a channel record 600 for each channel included in a program guide that is supplied by an EPG content provider.
  • a guide identifier field 601 designates the guide that contains the channel's information.
  • a provider identifier field 603 refers to the channel content provider responsible for the channel.
  • a display channel number field 605 contains the channel number which is displayed on the monitor.
  • a physical channel number field 607 contains the physical transmission number of the channel on a particular device, such as a satellite receiving station.
  • a short name field 609 holds the channel's call letters while a long name field 611 holds the channel's full name.
  • a conditional access field 613 indicates what level of conditional access is associated with the channel, such as pay- per-view or subscription content.
  • a number-of-streams field 615 contains a value defining the number of audio, video, and data streams associated with the channel.
  • a purchase information field 617 provides data on purchasing the channel, if such purchase is necessary.
  • Figure 7 illustrates one embodiment of the event table 319 that is associated with each channel stored in the channel table 307.
  • the provider table 301 is logically connected to one or more channel tables 307.
  • Each channel table 307 is logically connected to one or more event tables 319.
  • the event table 319 comprises a plurality of event records 800 (as shown in Figure 8).
  • Each event record comprises an event identifier field 801, a title field 803, a description field 805, an extension field 807, a start time field 809, and end time field 811, a duration field 813, a category field 815, a subcategory field 817, a closed captioning flag 819, a subtitles flag 821, a taping flag 831 , and a plurality of ratings fields 825.
  • the ratings fields 825 can contain a TV rating field, an MPAA movie rating field, a content advisory field, a violence rating field, a language rating field, a sexual content rating field, and a V-chip rating field.
  • the number of ratings fields 825 is variable and depends on the number of rating tables provided by the program guide providers. Rating tables are described below.
  • the event identifier field 801 contains a unique identifier for each event.
  • the title field 803 contains, references to one or more event title records 900 in an event title table 701.
  • Each event title record 900 comprises a language identifier field 901 and a title field 903 that contains text for the title as illustrated in Figure 9.
  • the description field 805 contains references to one or more event description records 1000 in an event description table 703.
  • an event description record 1000 comprises a language identifier field 1001 and a description field 1003 that contains text for the description.
  • the extension field 807 contains references to one or more event extension records in an event extension table 705.
  • An event extension record 1100 is shown in Figure 11.
  • Each event extension record 1100 comprises at least one external data field 1101 which identifies a data source associated with a channel, such as a World Wide Web .Internet site or a multimedia file.
  • the start time field 809 contains references to one or more event start records 1200 stored in an event start table 707. As shown in Figure 12, in one embodiment, each event start record 1200 comprises a day field 1201 and a slot field 1203 which together define the beginning of the event.
  • the end time field 811 CM contain a value representing the ending time of the program supplied by the guide data provider, a reference to one or more event ending records similar to the event start records 1200, or be blank. If the end time field 811 is blank, the ending time of a program can be calculated from the start time field 809 and the duration field 813 if the duration field contains a value. Alternatively, the ending time of a program can be implied from the start time field 809 for the event immediately following.
  • the category 815 and subcategory 817 fields contains a category and a subcategory identifier from a category table 709 and a subcategory table 711 respectively.
  • the closed captioning flag 819, subtitles flag 821, and the taping flag 823 indicate when the event contains closed captions, subtitles, or is scheduled for taping by the convergence system 100.
  • Each of the rating fields 825 in the event record 800 contains a value selected from entries in corresponding tables in the EPG database 207.
  • a TV ratings field contains a TV rating from a TV rating table 713
  • an MPAA ratings field contains an MPAA rating from a MPAA rating table 715
  • a content advisory field contains a content advisory rating from a content advisory rating table 717
  • a violence rating field contains a violence rating from a violence rating table 719
  • a sexual content rating field contains a sexual content rating from the sexual content rating table 721.
  • Additional rating fields and related tables can be added to the event table record 800 and the EPG data store 207 as new rating systems are introduced and supplied by the guide data providers.
  • EPG System Operation The operation of the EPG system 200 is shown in Figures 13-15 which illustrate the processes performed by the EPG content services function 205.
  • FIG 13 illustrates the registration process initiated by the EPG content services function 205 to register a new EPG content provider in the data store 207.
  • the registration process 1300 creates a provider record 400 (step 1301), fills in the appropriate fields (1303), and stores the provider record 400 in the provider table 301 in the EPG data store 207 (1305). If no additional EPG content providers are to be registered (step 1307), the registration function exits; otherwise it loops back to step 1301.
  • the EPG content provider function 203 uses the appropriate EPG content transport function 201 to retrieve the guide data from the source.
  • the EPG content provider function 203 then converts the retrieved data from the content provider-specific formats into the appropriate EPG data store record formats which are passed to the EPG content services function 205.
  • the EPG content services function 205 stores the records in the EPG content data store 20 / using an update data store process shown in Figure 14.
  • the update data store process 1400 stores a guide record 500 for each guide supplied by the EPG content provider (steps 1403 and 1405) and stores a channel record 600 for each channel contained within each guide Supplied (steps 1407 and 1409).
  • the update data store process adds an event record 800 into the data store 207 (step 1413).
  • An event is not unique if there is an existing event record 800 associated with the same channel record 600 and which contains a value in the start time field 809 that overlaps the time slot of the new event. If an event is not unique, a conflict resolution process within the EPG content services function 205 resolves the conflict (step 1415).
  • the conflict resolution process 1500 compares data for the existing and new event records (step 1501). one embodiment, the comparison evaluates event record fields such as the title field 803, the description field 805, the ratings fields 825, and the conditional access field 613 in the associated channel record 600. Alternate embodiments that evaluate different data fields will be apparent to one skilled in the art.
  • step 1503 If the data matches exactly (step 1503), the new event record is discarded as a duplicate (step 1505).
  • a mismatch occurs if the data for the existing event does not exactly match the corresponding data for the new event record. Mismatches are handled in several ways.
  • the conflict resolution process 1500 selects a conflict resolution algorithm based on the field(s) in conflict, or on the provider of the data, or the source of the data, or a combination thereof (step 1511). The conflict resolution algorithm determines which of the conflicting records is selected as valid.
  • One embodiment of a conflict resolution algorithm is selected if the title 803, start time 809, end time field 811 (or the calculated or implied ending time as described above), or conditional access 613 fields are different.
  • the selected conflict resolution uses the data from the EPG content provider that has a value representing higher quality timeliness in the timeliness field 405 in its provider record 400.
  • the event record with a higher quality description text in its description field 805 is chosen. Higher quality descriptions contain more relevant words (words such as "a,” "and,” and "if not considered relevant) and include more proper names, such as those of people or places.
  • a conflict resolution algorithm compares the provider quality fields 409 to determine the event record with the higher quality description.
  • the conflict resolution process 1500 updates the data store 207 by storing the new event record (step 1515) if the new record is selected by the conflict resolution algorithm. If there has been a change in an event's starting time or ending time (step 1517), the conflict resolution process 1500 requests the event record for each event that follows the modified event from the EPG content provider function 203 that provided the modified event record (step 1519). The conflict resolution process 1500 determines subsequent event records are not needed when the starting and ending times in a subsequent event record in the data store 207 are the same as those provided by the EPG content provider function 203, i.e., the events "re-align" (step 1521).
  • the EPG system of the present invention retrieves EPG data supplied by multiple EPG content providers through different sources and organizes the EPG data into a single data store, the viewer is not required to select a single provider, be reliant on a single source for the info ⁇ nation or become familiar with multiple EPG systems.
  • the EPG system gives the viewer more selections, providing more dependability, and makes the data more accessible.
  • the EPG system resolves conflicts between the data from different providers based on data quality, the viewer has access to more timely and reliable information.

Abstract

An electronic program guide (EPG) system combines different sources of television program guide data supplied by different providers into a unified data store. When different sources provide similar data, the EPG system combines the program guide data from the multiple sources in accordance with criteria such as quality of the data, timeliness of the data, and timeliness of the data provider.

Description

System for Combining Electronic Program Guide Data
Related Applications This application is related to the co-assigned and co-filed applications, "Method for managing multiple channel maps from multiple input devices in a multimedia system," "System for time-shifting events in a multi-channel convergence system," "Method and system for associating web sites to television programs," ".Individualized parameter control for multiple media sources in a data processing system," "System for scheduled caching of in-band data services," and ".Integration of .Internet sources into an electronic program database list," all of which are hereby incorporated by reference.
Field of the Invention The present invention is related to electronic program guides and in particular to retrieving and combining electronic program guide data from more than one provider.
Background of the Invention One of the current trends in consumer electronics is the convergence of television technology and computer technology. Starting with the inclusion of a simple microprocessor chip in a television set, the convergence of the two technologies has evolved into sophisticated personal computers equipped with television tuners and large VGA monitors. Convergence systems enable the user to perform data processing tasks while simultaneously viewing a broadcast television program. Standard television add-ons, such as VCR's or laser disks, increase the content choices available to the user. The advent of personal satellite receivers has also opened up a vast range of broadcast content.
However, the number of channel choices ∑dso requires the user scrutinize many pages of printed schedules and program information to find the progr.ams the user is interested in watching. One existing approach to managing the great amount of scheduling and program information available is to organize the information in an electronic program guide (EPG). The data for an EPG is downloaded from a particular provider to a microprocessor either in the television or in an attached device. The program guide data is stored in a data store, such as a database, and displayed on the television screen when the user requests. The source of the information differs from provider to provider. For example, StarSight Telecast, Inc. places program guide data in the vertical blanking interval in the broadcast television signal, Direct TV™ and EchoStar Communications Corp. use a portion of the MPEG2 (Motion Picture Experts Group) digital satellite data stream, and TV Host and Intel Corp.'s Smart TV® require a dial-up telephone connection. The data stores created from the source information are proprietary to the provider and are incompatible.
Because of the incompatibilities, an EPG user currently must chose a single provider from which to receive program guide data. However, television schedules are often in flux and some providers reflect the changes more quickly than others.
Furthermore, the program information given by one provider may be good for one category of program but poor for another category.
Therefore, there is a need for an EPG system that receives program guide data from different sources and resolves conflicts among the data.
Summary of the Invention An electronic program guide (EPG) system combines data from multiple EPG content providers and organizes the EPG data into an EPG content data store. The EPG system includes an EPG content services function which creates and manages the EPG content data store.; a plurality of EPG content transport functions that retrieve the EPG data provided by the EPG content providers from multiple sources and in multiple source-specific formats and a plurality of EPG content provider function which convert the source-specific formatted EPG data into a format compatible with the EPG data store. The EPG content services function also includes a conflict resolution function which determines what EPG data is of higher quality or more timely when similar data is received from more than one source, addition, the EPG content services function registers new EPG content providers into the EPG data store. The data structure of the EPG data store is also described, as is a specific arrangement of modules that implement processes necessary for the operation of the EPG system.
Additionally, a system for combining EPG data in multiple formats from a plurality of sources using a content organizer is described. The multiple EPG formats are combined into a single EPG data format. The content organizer includes an EPG content data store created and managed by an EPG content services function, a plurality of EPG content transport functions which retrieves the EPG data from the plurality of sources, and an EPG content provider function which converts the EPG data from the multiple formats to an EPG content data store format for storage in the EPG content data store. A specific arrangement of modules for the content organizer is also described. Because the EPG system of the present invention retrieves EPG data supplied by multiple EPG content providers through different sources and organizes the EPG data into a single data store, the viewer is not required to select a single provider, be reliant on a single source for the information, or become familiar with multiple EPG systems. Thus, the EPG system gives the viewer more selections, provides more dependability, and makes the EPG data more accessible. Furthermore, because the EPG system resolves conflicts between the data from different providers based on data quality or timeliness, the viewer has access to better and more reliable information.
Brief Description of the Drawings Figure 1 A is a block diagram of hardware components for a convergence system utilizing an electronic program guide (EPG) system. Figure IB is a block diagram of a digital processing system shown in Figure 1 A. Figure 1C is a block diagram of a software architecture executing in the digital processing system of Figure IB. Figure 2 is a block diagram of four primary modules of one embodiment of an
EPG system operating in the software architecture of Figure 1C.
Figure 3 is a block diagram of one embodiment of an EPG content data store in the EPG system of Figure 2.
Figure 4 is a field layout diagram of a provider record in the EPG content data store of Figure 3.
Figure 5 is a field layout diagram of a guide record in the EPG content data store of Figure 3.
Figure 6 is a field layout diagram of a channel record in the EPG content data store of Figure 3.
Figure 7 is a block diagram of the EPG content data store of Figure 3 showing detailed tables associated with an event table.
Figure 8 is a field layout diagram of an event record in the EPG content data store of Figure 7.
FFiigguurree 99 is a field layout diagram of an event title record in the EPG content data store of Figure 7.
Figure 10 is a field layout diagram of an event description record in the EPG content data store of Figure 7.
Figure 11 is a field layout diagram of an event extension record in the EPG content data store of Figure 7.
Figure 12 is a field layout diagram of an event start record in the EPG content data store of Figure 7. Figures 13-15 .are operation flow diagrams of the processes of the EPG system of
Figure 2.
Description of the Embodiments In the following detailed description of the embodiments, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that structural, logical and electrical changes may be made without departing from the spirit and scope of the present inventions. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present inventions is defined only by the appended claims.
The leading digit(s) of reference numbers appearing in the Figures corresponds to the Figure number, with the exception that the same reference number is used throughout to refer to an identical component which appears in multiple Figures. Signals and connections may be referred to by the same reference number or label, and the actual meaning will be clear from its use in the context of the description.
Electronic Program Guide System Overview
An electronic program guide (EPG) system of the present invention organizes schedule and program information from multiple EPG content providers through differing sources and presents a single, optimized menu to the user based on criteria such as quality of the data, timeliness of the data, and timeliness of the program guide provider. The EPG system is part of a convergence system 100 shown in Figure 1 A, such as the Destination personal computer system available from Gateway 2000, Inc. The convergence system 100 incorporates television tuner circuitry into a digital processing system 101, such as a computer which is compatible with standard personal computer systems, and displays television signals and digital output on a large monitor 122 of VGA or better resolution. The EPG system is described in terms of software processes which execute within a microprocessor 186 in the digital processing .system 101, as shown in Figure IB. The processes for the EPG system can be implemented in software, hardware or firmware without departing from the scope of the invention. One embodiment of a software architecture which provides the underlying infrastructure of processing and file input/output operations necessary for the execution of the EPG system is illustrated in Figure lC. The EPG system operates as part of the system services 103 and is represented in Figure 1C as EPG data services 109. The software architecture illustrated in Figure 1C is described in detail in co-pending and co-assigned patent application entitled "Architecture for Convergence Systems" filed on the same day as the present application and assigned to the same assignee, which application is hereby incorporated by reference.
In the context of the present application, an "EPG content provider" is a company that supplies program guide data and a company that provides the audio, video and/or data transmitted in a channel is referred to as a "channel content provider." A single company can be both a channel content provider and an EPG content provider. The EPG data may be transmitted either in-band or out-of-band, as known by those of ordinary skill within the art.
In one embodiment, the EPG system 200 comprises four primary modules as illustrated in Figure 2: a plurality of EPG content transport functions 201, a plurality of EPG content provider functions 203, an EPG content services function 205, and an EPG content data store 207. .Arranging the tasks perfoimed by the EPG system into different modules will be readily apparent to one skilled in the art upon reading the detailed descriptions below.
The EPG content transport functions 201 move guide data from various sources and into a storage area, such as a hard disk 107, on the digital processing system 101. Each EPG content transport function 201 is specific to the particular source, such as the vertical blanking interval in the broadcast television signal, an 1MPEG2 data stream transmitted via satellite, a phone line, hard media such as CD-ROM, or some other communications means. The EPG content provider functions 203 convert the guide data from source-specific formats into a format understood by the EPG content services functions 205. Detailed information on a source-specific format necessary to support the conversion can be in the public domain, obtained from standards publications, or licensed from the owner of a proprietary format.
The EPG content services function 205 stores the converted guide data into the EPG content data store 207, resolving conflicts and combining information from the different EPG content providers according to user preferences as described further below. The EPG content services function 205 also provides an interface for other applications to access the EPG content data base 207 or the EPG content providers through the EPG content provider functions 203.
EPG Content Data store
Figure 3 illustrates data structures in one embodiment of the EPG content data store 207. The data store 207 comprises a provider table 301, a guide table 303, a guide descriptor table 305, a channel table 307, a channel descriptor table 309, a channel region table 311 , a channel extension table 313, a service type table 315, a service table 317, and an event table 319. While the EPG content data store 207 is described in terms of tables in a relational database system, one sl illed in the art will readily appreciate that the data contained in the data store 207 can be stored in any type of data structure, including flat files or look-up tables, without departing from the scope of the invention. A brief overview of each data structure is given next, with detailed descriptions following.
The provider table 301 describes the EPG content providers that are registered with the EPG content services function. The registration process is described in detail below. Each provider can supply more than one program guide. The guide table 303 identifies which program guides for a provider are managed by the EPG content services function 203. The guide descriptor table 305 provides a description of each guide in the guide table 303 in one or more languages. The channel table 307 identifies which channels are described in a guide. The channel description table 309 provides a descriptton of each channel in the channel table 307 in one or more languages. The channel region table 311 identifies regions (countries, local regions, etc.) in which each channel in the channel table 307 is accessible. The channel extension table 313 identifies any external data associated with a channel in the channel table 307, such as a World Wide Web Internet site or multimedia files stored on media accessible by the convergence system 100. The service type table 315 indicates what type of content, such as audio, video, or data, is available on each channel in the channel table 307. The services table 317 enumerates which source services, i.e., the communications links for downloading the guide data, are supported by each provider. The event table 319 contains program information for each event on a channel during the time period covered by a program guide that contains the channel.
The provider table 301 comprises a plurality of provider records. One embodiment of a provider record 400 is shown in Figure 4. A provider identifier field 401 contains a unique identifier for each EPG content provider. A provider type field 403 identifies whether the EPG content services function 205 must request an update of the guide data from the EPG content provider, or whether the provider operates autonomously and notifies the EPG content services function 205 when its guide data has changed.
A provider timeliness field 405 indicates how often the provider updates the data it receives from the channel content owner. For example, the provider may supply new guide data every four hours, but the only difference between each update is that the four hours prior to the update time are truncated and the four hours following the update time are included. Schedule or information changes supplied to the EPG content provider by the channel content provider are not reflected in the update. The provider timeliness field 405 for such an EPG content provider would contain a value representing "low" timeliness. For an EPG content provider that changes data in the guide on a daily basis, the provider timeliness field 405 contains a value representing "medium" timeliness. For an EPG content provider that changes data in the guide on an hourly basis, the provider timeliness field 405 contains a value representing "high" timeliness. Other update frequencies, such as more than once a day, can also be designated as being of "high" timeliness.
A provider next-update field 407 contains a time at which the EPG content services function 205 should ask for an update to the guide data. A provider quality field 409 contains values which represent ratings of various content categories with respect to the quality of the descriptions supplied by the provider. For example, one EPG content provider may provide better movie descriptions while another may provide better sports descriptions. The provider quality field 409 is user-defined.
A service provider name field 411 is a text description of the services made available by the channel content provider, such as audio, video, or data. A content provider name field 413 is a text description of the EPG content provider. A guide provider name field 415 is a text description of the guide provided by the EPG content provider.
The guide table 303 comprises a plurality of guide records, one for each guide supplied by a provider. One embodiment of a guide table record 500 shown in Figure 5. A guide identifier field 501 contains a unique identifier for each program guide.
A provider identifier field 503 identifies the EPG content provider that initialized (and generally owns) the guide. A starting slot field 505 contains a time for the first time slot that is represented in the guide and a starting day field 507 designates the day of the week for the first time slot. If the guide extends beyond one week, the starting day field 507 includes the appropriate week, month, and/or year values. A validity field 509 rates the validity of the data in the guide. If the provider performs some sort of comparison of the data in the guide, the value in the validity field 509 represents a "high" validity rating. If the previous update (as determined by the provider next-update field 407) has not been able to run as scheduled, or if the data in the guide has expired as defined by a lifetime field 511, the value in the validity field 509 represents a "low" validity rating. The lifetime field 511 contains a value indicating the latest date/time before which the provider expects the guide will be updated. A guide width field 513 contains a value which represents the period of time included in the guide, measured in "slots." A slot length field 515 defines the num er of .seconds represented by a slot, such as 108000 seconds (30 minutes).
The channel table 307 comprises a plurality of channel records. One embodiment of a channel record 600 is shown in Figure 6. The channel table 307 contains a channel record 600 for each channel included in a program guide that is supplied by an EPG content provider. A guide identifier field 601 designates the guide that contains the channel's information. A provider identifier field 603 refers to the channel content provider responsible for the channel. A display channel number field 605 contains the channel number which is displayed on the monitor. A physical channel number field 607 contains the physical transmission number of the channel on a particular device, such as a satellite receiving station. A short name field 609 holds the channel's call letters while a long name field 611 holds the channel's full name. A conditional access field 613 indicates what level of conditional access is associated with the channel, such as pay- per-view or subscription content. A number-of-streams field 615 contains a value defining the number of audio, video, and data streams associated with the channel. A purchase information field 617 provides data on purchasing the channel, if such purchase is necessary.
Figure 7 illustrates one embodiment of the event table 319 that is associated with each channel stored in the channel table 307. In this embodiment, the provider table 301 is logically connected to one or more channel tables 307. Each channel table 307 is logically connected to one or more event tables 319. The event table 319 comprises a plurality of event records 800 (as shown in Figure 8). Each event record comprises an event identifier field 801, a title field 803, a description field 805, an extension field 807, a start time field 809, and end time field 811, a duration field 813, a category field 815, a subcategory field 817, a closed captioning flag 819, a subtitles flag 821, a taping flag 831 , and a plurality of ratings fields 825. For example the ratings fields 825 can contain a TV rating field, an MPAA movie rating field, a content advisory field, a violence rating field, a language rating field, a sexual content rating field, and a V-chip rating field. The number of ratings fields 825 is variable and depends on the number of rating tables provided by the program guide providers. Rating tables are described below.
The event identifier field 801 contains a unique identifier for each event. The title field 803 contains, references to one or more event title records 900 in an event title table 701. Each event title record 900 comprises a language identifier field 901 and a title field 903 that contains text for the title as illustrated in Figure 9.
The description field 805 contains references to one or more event description records 1000 in an event description table 703. In one embodiment shown in Figure 10, an event description record 1000 comprises a language identifier field 1001 and a description field 1003 that contains text for the description.
The extension field 807 contains references to one or more event extension records in an event extension table 705. One embodiment of an event extension record 1100 is shown in Figure 11. Each event extension record 1100 comprises at least one external data field 1101 which identifies a data source associated with a channel, such as a World Wide Web .Internet site or a multimedia file.
The start time field 809 contains references to one or more event start records 1200 stored in an event start table 707. As shown in Figure 12, in one embodiment, each event start record 1200 comprises a day field 1201 and a slot field 1203 which together define the beginning of the event. The end time field 811 CM contain a value representing the ending time of the program supplied by the guide data provider, a reference to one or more event ending records similar to the event start records 1200, or be blank. If the end time field 811 is blank, the ending time of a program can be calculated from the start time field 809 and the duration field 813 if the duration field contains a value. Alternatively, the ending time of a program can be implied from the start time field 809 for the event immediately following.
The category 815 and subcategory 817 fields contains a category and a subcategory identifier from a category table 709 and a subcategory table 711 respectively. The closed captioning flag 819, subtitles flag 821, and the taping flag 823 indicate when the event contains closed captions, subtitles, or is scheduled for taping by the convergence system 100.
Each of the rating fields 825 in the event record 800 contains a value selected from entries in corresponding tables in the EPG database 207. Using the example tables shown in Figure 7, a TV ratings field contains a TV rating from a TV rating table 713, an MPAA ratings field contains an MPAA rating from a MPAA rating table 715, a content advisory field contains a content advisory rating from a content advisory rating table 717, a violence rating field contains a violence rating from a violence rating table 719, and a sexual content rating field contains a sexual content rating from the sexual content rating table 721. Additional rating fields and related tables can be added to the event table record 800 and the EPG data store 207 as new rating systems are introduced and supplied by the guide data providers.
EPG System Operation The operation of the EPG system 200 is shown in Figures 13-15 which illustrate the processes performed by the EPG content services function 205.
Figure 13 illustrates the registration process initiated by the EPG content services function 205 to register a new EPG content provider in the data store 207. The registration process 1300 creates a provider record 400 (step 1301), fills in the appropriate fields (1303), and stores the provider record 400 in the provider table 301 in the EPG data store 207 (1305). If no additional EPG content providers are to be registered (step 1307), the registration function exits; otherwise it loops back to step 1301.
Once the EPG content provider is registered, the EPG content provider function 203 uses the appropriate EPG content transport function 201 to retrieve the guide data from the source. The EPG content provider function 203 then converts the retrieved data from the content provider-specific formats into the appropriate EPG data store record formats which are passed to the EPG content services function 205. The EPG content services function 205 stores the records in the EPG content data store 20 / using an update data store process shown in Figure 14. For a newly registered EPG content provider (step 1401), the update data store process 1400 stores a guide record 500 for each guide supplied by the EPG content provider (steps 1403 and 1405) and stores a channel record 600 for each channel contained within each guide Supplied (steps 1407 and 1409). If the event record received from the EPG content provider function 203 is unique (step 141 1), the update data store process adds an event record 800 into the data store 207 (step 1413). An event is not unique if there is an existing event record 800 associated with the same channel record 600 and which contains a value in the start time field 809 that overlaps the time slot of the new event. If an event is not unique, a conflict resolution process within the EPG content services function 205 resolves the conflict (step 1415).
The operation of the conflict resolution process is shown in Figure 15. The conflict resolution process 1500 compares data for the existing and new event records (step 1501). one embodiment, the comparison evaluates event record fields such as the title field 803, the description field 805, the ratings fields 825, and the conditional access field 613 in the associated channel record 600. Alternate embodiments that evaluate different data fields will be apparent to one skilled in the art.
.If the data matches exactly (step 1503), the new event record is discarded as a duplicate (step 1505). A mismatch occurs if the data for the existing event does not exactly match the corresponding data for the new event record. Mismatches are handled in several ways.
.If the new event has data that the existing event record lacks (step 1507), the new data is merged into the existing event record (step 1509). However when there is conflicting data, the conflict resolution process 1500 selects a conflict resolution algorithm based on the field(s) in conflict, or on the provider of the data, or the source of the data, or a combination thereof (step 1511). The conflict resolution algorithm determines which of the conflicting records is selected as valid.
One embodiment of a conflict resolution algorithm is selected if the title 803, start time 809, end time field 811 (or the calculated or implied ending time as described above), or conditional access 613 fields are different. The selected conflict resolution uses the data from the EPG content provider that has a value representing higher quality timeliness in the timeliness field 405 in its provider record 400. In another embodiment of a conflict resolution algorithm selected when the description fields 805 are different, the event record with a higher quality description text in its description field 805 is chosen. Higher quality descriptions contain more relevant words (words such as "a," "and," and "if not considered relevant) and include more proper names, such as those of people or places. In yet another alternate embodiment, a conflict resolution algorithm compares the provider quality fields 409 to determine the event record with the higher quality description.
The conflict resolution process 1500 updates the data store 207 by storing the new event record (step 1515) if the new record is selected by the conflict resolution algorithm. If there has been a change in an event's starting time or ending time (step 1517), the conflict resolution process 1500 requests the event record for each event that follows the modified event from the EPG content provider function 203 that provided the modified event record (step 1519). The conflict resolution process 1500 determines subsequent event records are not needed when the starting and ending times in a subsequent event record in the data store 207 are the same as those provided by the EPG content provider function 203, i.e., the events "re-align" (step 1521).
Conclusion
Because the EPG system of the present invention retrieves EPG data supplied by multiple EPG content providers through different sources and organizes the EPG data into a single data store, the viewer is not required to select a single provider, be reliant on a single source for the infoπnation or become familiar with multiple EPG systems. Thus, the EPG system gives the viewer more selections, providing more dependability, and makes the data more accessible. Furthermore, because the EPG system resolves conflicts between the data from different providers based on data quality, the viewer has access to more timely and reliable information. It is to be understood that the above description is intended to be illustrative, and not restrictive. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of the invention should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.

Claims

What is claimed is:
1. A computerized system for combining electronic program guide (EPG) data from multiple EPG content providers, the system comprising: an EPG content data store; an EPG content services function operable for creating and managing the EPG content data store; a plurality of EPG content transport functions operable for retrieving EPG data from a plurality of sources in a plurality of source-specific formats; and a plurality of EPG content provider functions, each EPG content provider function operable for receiving the EPG data in a source-specific format from an EPG content transport function, converting EPG data from a source-specific format to an EPG content data store format, and delivering the EPG data in the EPG content data store format to the EPG content services function.
2. The computerized system of claim 1 , wherein the EPG content services function is further operable for registering each EPG content provider in the EPG content data store.
3. The computerized system of claim 1 , wherein the EPG content services function is further operable for resolving conflicts between similar EPG data from the multiple EPG content providers.
4. The computerized system of claim 3, wherein the EPG content services function determines if a conflict exists between the similar EPG data by comparing channel values and start time values contained in the EPG data.
5. The computerized system of claim 3, wherein the EPG content services function resolves a conflict between the similar EPG data by selecting the EPG data containing a value representing higher quality timeliness.
5 6. The computerized system of claim 3, wherein the EPG content services function resolves a conflict between the similar EPG data by selecting the EPG data containing a description of higher quality.
7. The computerized system of claim 3, wherein the EPG content services function ΓÇó10 resolves a conflict between the similar EPG data based on the provider of the EPG data.
8. The computerized system of claim 1 , wherein at least one of the sources is an in- band source.
15 9. The computerized system of claim 1 , wherein at least one of the sources is an out- of-band source.
10. A method of combining electronic program guide (EPG) data from multiple EPG content providers comprising the steps of: 20 registering an EPG content provider in an EPG content data store; retrieving EPG data from a source in a source-specific format; converting the EPG data from the source-specific format to a format for the EPG content data store; adding the converted EPG data to the EPG content data store when there is no 25 conflict between the converted EPG data and EPG data existing in the EPG content data store; resolving conflicts between the converted EPG data and existing EPG data; and updating the EPG content data store with the converted EPG data when any conflict is resolved in favor of the converted EPG data.
11. The method of claim 10, wherein the step of resolving conflicts comprises: comparing the converted and existing EPG data; and resolving the conflict in favor of the EPG data contain a value representing higher quality.
12. A computer-readable medium having computer-executable modules for combining electronic program guide (EPG) data from multiple EPG content providers, the modules comprising: an EPG content services module for creating and managing an EPG content data store; an EPG content transport module for retrieving EPG data from a plurality of sources in a plurality of source-specific formats; and an EPG content provider module for converting EPG data received from the EPG content transport module from the plurality of source-specific formats to an EPG content data store format and for delivering the EPG data in the EPG content data store format to the EPG content seiΥices module.
13. The computer-readable medium of claim 12, wherein the EPG content services module further registers each EPG content provider in the EPG content data store.
14. The computer-readable medium of claim 12, wherein the EPG content services module is further operable for resolving conflicts between similar EPG data from the EPG content providers.
15. The computer-readable medium of claim 14, wherein the EPG content services module determines if a conflict exists between the similar EPG data by comparing channel values and start time values contained in the EPG data.
16. The computerized system of claim 14, wherein the EPG content services function resolves a conflict between the similar EPG data by selecting the EPG data containing a value representing higher quality.
5 17. A digital processing system comprising: a processor; communications circuitry communicatively coupled to the processor; a computer-readable medium communicatively coupled to the central processor; and ΓÇó10 an application program executed from the computer-readable medium by the processor, wherein the application program combines electronic program guide (EPG) data from multiple EPG content providers by retrieving the EPG data through the communications circuitry and converting the EPG data from source-specific formats to an EPG content data store format. 15
18. The digital processing system of claim 17, wherein the communications circuitry comprises tuning circuitry for tuning and receiving broadcast transmissions.
19. The digital processing system of claim 17, wherein the communication circuitry 20 comprises a modem.
20. A computer-readable medium having stored thereon a data structure, comprising: a first data field containing data representing an electronic program guide (EPG) content provider; 25 a second data field containing data representing an EPG provided by the EPG content provider identified by the first data field; a third data field containing data representing a content channel listed in the EPG identified by the second field; and a fourth data field containing data representing an event delivered in the content channel identified by the third data field.
21. The computer-readable medium of claim 20 further comprising a fifth data field containing data representing a measure of quality of the EPG content provider identified by the first data field.
22. The computer-readable medium of claim 20 further comprising a fifth data field containing data representing a measure of quality of the EPG identified by the second field.
23. The computer-readable medium of claim 20 further comprising a fifth data field containing data representing a rating of the event identified by the fourth data field and further comprising a sixth data field containing a value representing a logical connection to the fifth data field.
24. A computerized system for combining electronic program guide (EPG) data from multiple EPG content providers, the system comprising: an EPG content data store; an EPG content services function having means for creating and managing the EPG content data store; a plurality of EPG content transport functions having means for retrieving EPG data from a plurality of sources in a plurality of source-specific formats; and a plurality of EPG content provider functions, each EPG content provider function having means for receiving the EPG data in a source-specific format from an EPG content transport function, converting EPG data from a source-specific format to an EPG content data store format, and delivering the EPG data in the EPG content data store format to the EPG content services function.
25. The computerized system of claim 24, wherein the EPG content services function further has means for registering each EPG content provider in the EPG content data store.
26. The computerized system of claim 24, wherein the EPG content services function further has means for resolving conflicts between similar EPG data from the multiple EPG content providers.
27. A system for combining electronic program guide (EPG) data comprising: a plurality of sources configured to provide the EPG data in multiple formats; and a content organizer configured to combine the multiple EPG data formats.
28. The system of claim 27, wherein the content organizer is configured to combine the multiple EPG data formats into a single EPG data format.
29. The system of claim 27, wherein the content organizer comprises: an EPG content data store; an EPG content services function for creating and managing the EPG content data store; a plurality of EPG content transport functions for retrieving the EPG data from the plurality of sources; and an EPG content provider function for receiving the EPG data from the EPG content transport functions, converting EPG data from the multiple formats to an EPG content data store format, and delivering the EPG data in the EPG content data store format to the EPG content services function.
30. The system of claim 29, wherein the EPG content services function registers an EPG content provider in the EPG content data store.
31. The system of claim 29, wherein the EPG content services function resolves conflicts between similar EPG data from the multiple sources.
32. The system of claim 31 , wherein the EPG content services function determines if a conflict exists between the similar EPG data by comparing channel values and start time values contained in the EPG data.
33. The system of claim 31, wherein the EPG content services function resolves a conflict between the similar EPG data by selecting the EPG data containing a value representing higher quality timeliness.
34. The system of claim 31, wherein the EPG content services function resolves a conflict between the similar EPG data by selecting the EPG data containing a description of higher quality.
35. The system of claim 31, wherein the EPG content services function resolves a conflict between the similar EPG data based on the source of the EPG data.
36. The system of claim 29, wherein at least one of the sources is an in-band source.
37. The system of claim 29, wherein at least one of the sources is an out-of-band source.
38. A method of combining electronic program guide (EPG) data comprising the steps of: receiving the EPG data in multiple formats; and combining the multiple EPG data formats.
39. The method of claim 38, wherein the step of combining the multiple EPG data formats comprises the step of combining the multiple EPG data formats into a single EPG data format.
5 40. The method of claim 38, wherein the step of combining the multiple EPG data formats comprises the steps of: converting the EPG data from the multiple formats to a format for the EPG content data store; adding the converted EPG data to the EPG content data store when there is no Γûá10 conflict between the converted EPG data and EPG data existing in the EPG content data store; resolving conflicts between the converted EPG data and existing EPG data; and updating the EPG content data store with the converted EPG data when any conflict is resolved in favor of the converted EPG data.
15
41. A computer-readable medium having a computer executable module for combining electronic program guide (EPG) data, the module comprising: a content organizer module to combine multiple EPG data formats from a plurality of sources.
20
42. The computer-readable medium of claim 41, wherein the content organizer module combines the multiple EPG data foπnats into a single EPG data format.
43. The computer-readable medium of claim 41, wherein the content organizer module 25 comprises: an EPG content services module for creating and managing an EPG content data store; an EPG content transport module for retrieving the EPG data from the plurality of sources; and an EPG content provider module for converting the EPG data retrieved from the plurality of sources from the multiple formats to an EPG content data store format and for delivering the EPG data in the EPG content data store format to the EPG content services module.
44. A system for combining electronic program guide (EPG) data comprising: a plurality of source means for providing multiple formats of EPG data; and a content organizer means for combining the multiple EPG data formats.
45. The system of claim 44, wherein the content organizer means combines the multiple EPG data formats into a single EPG data format.
46. The system of claim 44, wherein the content organizer means comprises: an EPG content data store; an EPG content services function having means for creating and managing the EPG content data store; a plurality of EPG content transport functions having means for retrieving EPG data from the plurality of sources; and an EPG content provider function having means for receiving the EPG data and converting the EPG data from the multiple formats to an EPG content data store format, and delivering the EPG data in the EPG content data store format to the EPG content services function.
PCT/US1999/000093 1998-01-05 1999-01-05 System for combining electronic program guide data WO1999035849A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU20259/99A AU2025999A (en) 1998-01-05 1999-01-05 System for combining electronic program guide data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US297298A 1998-01-05 1998-01-05
US09/002,972 1998-01-05

Publications (1)

Publication Number Publication Date
WO1999035849A1 true WO1999035849A1 (en) 1999-07-15

Family

ID=21703450

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1999/000093 WO1999035849A1 (en) 1998-01-05 1999-01-05 System for combining electronic program guide data

Country Status (2)

Country Link
AU (1) AU2025999A (en)
WO (1) WO1999035849A1 (en)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1014711A1 (en) * 1998-05-29 2000-06-28 Sony Corporation Information processing apparatus and method, and providing medium
WO2000072582A1 (en) * 1999-05-25 2000-11-30 Thomson Licensing S.A. A system for acquiring and processing broadcast programs and program guide data
EP1085758A2 (en) * 1999-09-17 2001-03-21 Sony Corporation Broadcast program information processing apparatus
US6445398B1 (en) 1998-02-04 2002-09-03 Corporate Media Partners Method and system for providing user interface for electronic program guide
EP1241587A1 (en) * 2001-03-12 2002-09-18 THOMSON multimedia Method for processing content data
EP1354477A1 (en) * 2001-01-04 2003-10-22 Thomson Licensing S.A. A method and apparatus for acquiring media services available from content aggregators
EP1407598A1 (en) * 2001-07-10 2004-04-14 Koninklijke Philips Electronics N.V. Electronic program guide for processing content-related information configured using a reference information model
FR2848367A1 (en) * 2002-12-04 2004-06-11 Koninkl Philips Electronics Nv SYSTEM AND METHOD FOR DISCOVERING SERVICES THAT MAY BE PROVIDED BY AT LEAST TWO SOURCES OF SEPARATE SERVICES
EP1626580A1 (en) * 2004-08-13 2006-02-15 Microsoft Corporation Aligning video data to create a comprehensive program guide
US7134134B2 (en) * 2001-03-24 2006-11-07 Microsoft Corporation Electronic program guide hardware card
US7526506B2 (en) 2004-10-21 2009-04-28 Microsoft Corporation Interlinking sports and television program listing metadata
WO2009085080A1 (en) * 2007-12-31 2009-07-09 United Video Properties, Inc. Interactive media guidance application with access to multiple data
US7574171B2 (en) 2005-09-05 2009-08-11 Samsung Electronics Co., Ltd. Method for providing information regarding service linking between terrestrial and satellite DMB systems and method for switching services by using service linking information in DMB terminal
EP1763236A3 (en) * 2005-09-07 2010-10-20 LG Electronics Inc. Method and apparatus for updating program guide information of digital TV
US8166076B2 (en) 2007-03-08 2012-04-24 Microsoft Corporation Digital media metadata management
US8266655B2 (en) 1995-04-17 2012-09-11 Starsight Telecast, Incorporated Multi-source switching in a television system
WO2014046822A2 (en) * 2012-09-18 2014-03-27 Flextronics Ap, Llc Data service function
US8863198B2 (en) 2012-08-17 2014-10-14 Flextronics Ap, Llc Television having silos that animate content source searching and selection
US9083932B2 (en) 2009-03-25 2015-07-14 Eloy Technology, Llc Method and system for providing information from a program guide
JP2016001899A (en) * 2009-05-13 2016-01-07 ティヴォ インク Method and device for correlating medial meta data
US9331802B2 (en) * 2005-11-01 2016-05-03 Nokia Technologies Oy Identifying scope ESG fragments and enabling hierarchy in the scope
US9398244B2 (en) 2000-07-20 2016-07-19 Resource Consortium Limited Adaptable programming guide for networked devices
WO2017000695A1 (en) * 2015-06-30 2017-01-05 中兴通讯股份有限公司 Method and device for displaying electronic program guide (epg), and set top box
TWI578776B (en) * 2015-02-03 2017-04-11 Hitachi Maxell Broadcast receiving device, broadcast receiving method and content output method
US10116978B2 (en) 2000-07-20 2018-10-30 Resource Consortium Limited Mechanism for distributing content data
US10419805B2 (en) 2012-08-17 2019-09-17 Flextronics Ap, Llc Data service
US11044518B2 (en) 2018-03-20 2021-06-22 At&T Mobility Ii Llc Video access master platform
CN113542819A (en) * 2020-04-16 2021-10-22 深圳Tcl数字技术有限公司 Electronic program guide navigation data processing method and computer equipment
US11368760B2 (en) 2012-08-17 2022-06-21 Flextronics Ap, Llc Applications generating statistics for user behavior

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08275077A (en) * 1995-03-31 1996-10-18 Sony Corp Electronic program guide system and electronic program guide display method
US5576755A (en) * 1994-10-28 1996-11-19 Davis; Bruce System and method for verification of electronic television program guide data
US5666645A (en) * 1995-04-26 1997-09-09 News America Publications, Inc. Data management and distribution system and method for an electronic television program guide

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5576755A (en) * 1994-10-28 1996-11-19 Davis; Bruce System and method for verification of electronic television program guide data
JPH08275077A (en) * 1995-03-31 1996-10-18 Sony Corp Electronic program guide system and electronic program guide display method
US5808694A (en) * 1995-03-31 1998-09-15 Sony Corporation Electronic program guide system and electronic program guide displaying method
US5666645A (en) * 1995-04-26 1997-09-09 News America Publications, Inc. Data management and distribution system and method for an electronic television program guide

Cited By (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8424040B2 (en) 1995-04-17 2013-04-16 Starsight Telecast, Incorporated Multi-source switching in a television system
US8539528B2 (en) 1995-04-17 2013-09-17 Starsight Telecast, Inc. Multi-source switching in a television system
US8640170B2 (en) 1995-04-17 2014-01-28 Starsight Telecast, Incorporated Multi-source switching in a television system displaying source indicators
US8266655B2 (en) 1995-04-17 2012-09-11 Starsight Telecast, Incorporated Multi-source switching in a television system
US6445398B1 (en) 1998-02-04 2002-09-03 Corporate Media Partners Method and system for providing user interface for electronic program guide
EP1014711A4 (en) * 1998-05-29 2003-02-05 Sony Corp Information processing apparatus and method, and providing medium
EP1014711A1 (en) * 1998-05-29 2000-06-28 Sony Corporation Information processing apparatus and method, and providing medium
US6978471B1 (en) 1999-05-25 2005-12-20 Thomson Licensing S.A. System for acquiring and processing broadcast programs and program guide data
WO2000072582A1 (en) * 1999-05-25 2000-11-30 Thomson Licensing S.A. A system for acquiring and processing broadcast programs and program guide data
EP1085758A2 (en) * 1999-09-17 2001-03-21 Sony Corporation Broadcast program information processing apparatus
EP1085758A3 (en) * 1999-09-17 2004-03-31 Sony Corporation Broadcast program information processing apparatus
US7228557B1 (en) 1999-09-17 2007-06-05 Sony Corporation Broadcast program information processing apparatus
US9398244B2 (en) 2000-07-20 2016-07-19 Resource Consortium Limited Adaptable programming guide for networked devices
US10116978B2 (en) 2000-07-20 2018-10-30 Resource Consortium Limited Mechanism for distributing content data
US9762942B2 (en) 2000-07-20 2017-09-12 Resource Consortium Limited Adaptable programming guide for networked devices
US10244280B2 (en) 2000-07-20 2019-03-26 Resource Consortium Limited Adaptable programming guide for networked devices
US8677417B2 (en) 2001-01-04 2014-03-18 Thomson Licensing Method and apparatus for acquiring media services available from content aggregators
EP1354477A1 (en) * 2001-01-04 2003-10-22 Thomson Licensing S.A. A method and apparatus for acquiring media services available from content aggregators
EP1354477A4 (en) * 2001-01-04 2010-03-17 Thomson Licensing A method and apparatus for acquiring media services available from content aggregators
WO2002073458A1 (en) * 2001-03-12 2002-09-19 Thomson Licensing Sa Method for processing content data
EP1241587A1 (en) * 2001-03-12 2002-09-18 THOMSON multimedia Method for processing content data
US7134134B2 (en) * 2001-03-24 2006-11-07 Microsoft Corporation Electronic program guide hardware card
EP1407598A1 (en) * 2001-07-10 2004-04-14 Koninklijke Philips Electronics N.V. Electronic program guide for processing content-related information configured using a reference information model
FR2848367A1 (en) * 2002-12-04 2004-06-11 Koninkl Philips Electronics Nv SYSTEM AND METHOD FOR DISCOVERING SERVICES THAT MAY BE PROVIDED BY AT LEAST TWO SOURCES OF SEPARATE SERVICES
WO2004051988A1 (en) 2002-12-04 2004-06-17 Koninklijke Philips Electronics N.V. System and method for detecting services which can be provided by at least two different services sources
US7793321B2 (en) 2004-08-13 2010-09-07 Microsoft Corporation Delivering a geographic-specific comprehensive program guide
EP1626580A1 (en) * 2004-08-13 2006-02-15 Microsoft Corporation Aligning video data to create a comprehensive program guide
US7526506B2 (en) 2004-10-21 2009-04-28 Microsoft Corporation Interlinking sports and television program listing metadata
US7574171B2 (en) 2005-09-05 2009-08-11 Samsung Electronics Co., Ltd. Method for providing information regarding service linking between terrestrial and satellite DMB systems and method for switching services by using service linking information in DMB terminal
EP1763236A3 (en) * 2005-09-07 2010-10-20 LG Electronics Inc. Method and apparatus for updating program guide information of digital TV
US7941820B2 (en) 2005-09-07 2011-05-10 Lg Electronics Inc. Method and apparatus for updating program guide information of digital TV
US9331802B2 (en) * 2005-11-01 2016-05-03 Nokia Technologies Oy Identifying scope ESG fragments and enabling hierarchy in the scope
US8166076B2 (en) 2007-03-08 2012-04-24 Microsoft Corporation Digital media metadata management
WO2009085080A1 (en) * 2007-12-31 2009-07-09 United Video Properties, Inc. Interactive media guidance application with access to multiple data
US9288540B2 (en) 2009-03-25 2016-03-15 Eloy Technology, Llc System and method for aggregating devices for intuitive browsing
US9083932B2 (en) 2009-03-25 2015-07-14 Eloy Technology, Llc Method and system for providing information from a program guide
US9088757B2 (en) 2009-03-25 2015-07-21 Eloy Technology, Llc Method and system for socially ranking programs
US9699512B2 (en) 2009-05-13 2017-07-04 Tivo Solutions Inc. Correlation of media metadata gathered from diverse sources
JP2016001899A (en) * 2009-05-13 2016-01-07 ティヴォ インク Method and device for correlating medial meta data
US9167186B2 (en) 2012-08-17 2015-10-20 Flextronics Ap, Llc Systems and methods for managing data in an intelligent television
US9374546B2 (en) 2012-08-17 2016-06-21 Flextronics Ap, Llc Location-based context for UI components
US9118967B2 (en) 2012-08-17 2015-08-25 Jamdeo Technologies Ltd. Channel changer for intelligent television
US9106866B2 (en) 2012-08-17 2015-08-11 Flextronics Ap, Llc Systems and methods for providing user interfaces in an intelligent television
US9167187B2 (en) 2012-08-17 2015-10-20 Flextronics Ap, Llc Systems and methods for providing video on demand in an intelligent television
US9172896B2 (en) 2012-08-17 2015-10-27 Flextronics Ap, Llc Content-sensitive and context-sensitive user interface for an intelligent television
US9185323B2 (en) 2012-08-17 2015-11-10 Flextronics Ap, Llc Systems and methods for providing social media with an intelligent television
US9185325B2 (en) 2012-08-17 2015-11-10 Flextronics Ap, Llc Systems and methods for providing video on demand in an intelligent television
US9185324B2 (en) 2012-08-17 2015-11-10 Flextronics Ap, Llc Sourcing EPG data
US9191708B2 (en) 2012-08-17 2015-11-17 Jamdeo Technologies Ltd. Content-sensitive user interface for an intelligent television
US9191604B2 (en) 2012-08-17 2015-11-17 Flextronics Ap, Llc Systems and methods for providing user interfaces in an intelligent television
US9215393B2 (en) 2012-08-17 2015-12-15 Flextronics Ap, Llc On-demand creation of reports
US9232168B2 (en) 2012-08-17 2016-01-05 Flextronics Ap, Llc Systems and methods for providing user interfaces in an intelligent television
US9077928B2 (en) 2012-08-17 2015-07-07 Flextronics Ap, Llc Data reporting of usage statistics
US9237291B2 (en) 2012-08-17 2016-01-12 Flextronics Ap, Llc Method and system for locating programming on a television
US9247174B2 (en) 2012-08-17 2016-01-26 Flextronics Ap, Llc Panel user interface for an intelligent television
US9264775B2 (en) 2012-08-17 2016-02-16 Flextronics Ap, Llc Systems and methods for managing data in an intelligent television
US9271039B2 (en) 2012-08-17 2016-02-23 Flextronics Ap, Llc Live television application setup behavior
US9066040B2 (en) 2012-08-17 2015-06-23 Flextronics Ap, Llc Systems and methods for providing video on demand in an intelligent television
US9301003B2 (en) 2012-08-17 2016-03-29 Jamdeo Technologies Ltd. Content-sensitive user interface for an intelligent television
US9055255B2 (en) 2012-08-17 2015-06-09 Flextronics Ap, Llc Live television application on top of live feed
US9363457B2 (en) 2012-08-17 2016-06-07 Flextronics Ap, Llc Systems and methods for providing social media with an intelligent television
US9369654B2 (en) 2012-08-17 2016-06-14 Flextronics Ap, Llc EPG data interface
US9118864B2 (en) 2012-08-17 2015-08-25 Flextronics Ap, Llc Interactive channel navigation and switching
US9380334B2 (en) 2012-08-17 2016-06-28 Flextronics Ap, Llc Systems and methods for providing user interfaces in an intelligent television
US9055254B2 (en) 2012-08-17 2015-06-09 Flextronics Ap, Llc On screen method and system for changing television channels
US9414108B2 (en) 2012-08-17 2016-08-09 Flextronics Ap, Llc Electronic program guide and preview window
US9426515B2 (en) 2012-08-17 2016-08-23 Flextronics Ap, Llc Systems and methods for providing social media with an intelligent television
US9426527B2 (en) 2012-08-17 2016-08-23 Flextronics Ap, Llc Systems and methods for providing video on demand in an intelligent television
US9432742B2 (en) 2012-08-17 2016-08-30 Flextronics Ap, Llc Intelligent channel changing
US11782512B2 (en) 2012-08-17 2023-10-10 Multimedia Technologies Pte, Ltd Systems and methods for providing video on demand in an intelligent television
US11474615B2 (en) 2012-08-17 2022-10-18 Flextronics Ap, Llc Systems and methods for providing user interfaces in an intelligent television
US11368760B2 (en) 2012-08-17 2022-06-21 Flextronics Ap, Llc Applications generating statistics for user behavior
US9021517B2 (en) 2012-08-17 2015-04-28 Flextronics Ap, Llc Systems and methods for providing video on demand in an intelligent television
US8863198B2 (en) 2012-08-17 2014-10-14 Flextronics Ap, Llc Television having silos that animate content source searching and selection
US10051314B2 (en) 2012-08-17 2018-08-14 Jamdeo Technologies Ltd. Method and system for changing programming on a television
US11150736B2 (en) 2012-08-17 2021-10-19 Flextronics Ap, Llc Systems and methods for providing user interfaces in an intelligent television
US11119579B2 (en) 2012-08-17 2021-09-14 Flextronics Ap, Llc On screen header bar for providing program information
US10419805B2 (en) 2012-08-17 2019-09-17 Flextronics Ap, Llc Data service
US10506294B2 (en) 2012-08-17 2019-12-10 Flextronics Ap, Llc Systems and methods for providing user interfaces in an intelligent television
WO2014046822A2 (en) * 2012-09-18 2014-03-27 Flextronics Ap, Llc Data service function
WO2014046822A3 (en) * 2012-09-18 2014-05-22 Flextronics Ap, Llc Data service function
TWI578776B (en) * 2015-02-03 2017-04-11 Hitachi Maxell Broadcast receiving device, broadcast receiving method and content output method
CN106331784A (en) * 2015-06-30 2017-01-11 中兴通讯股份有限公司 Display method and device for electronic program guide EPG, and set top box
WO2017000695A1 (en) * 2015-06-30 2017-01-05 中兴通讯股份有限公司 Method and device for displaying electronic program guide (epg), and set top box
US11044518B2 (en) 2018-03-20 2021-06-22 At&T Mobility Ii Llc Video access master platform
CN113542819A (en) * 2020-04-16 2021-10-22 深圳Tcl数字技术有限公司 Electronic program guide navigation data processing method and computer equipment

Also Published As

Publication number Publication date
AU2025999A (en) 1999-07-26

Similar Documents

Publication Publication Date Title
WO1999035849A1 (en) System for combining electronic program guide data
US6990680B1 (en) System for scheduled caching of in-band data services
US9609396B2 (en) System for retrieval of executable applications
EP1420591B1 (en) Electronic programme scheduling system
US7051360B1 (en) Interactive television program guide with selectable languages
US20040078807A1 (en) Aggregated EPG manager
US8910211B1 (en) System and method for dynamic electronic program guide data downloads
JP4959054B2 (en) Interactive program guide with continuous data stream and client-server data assistance
US7546623B2 (en) Methods and systems for providing multi-source content in electronic program guides
US7774343B2 (en) Multiple media vendor support
US5990883A (en) Unified presentation of programming from different physical sources
CA2379020C (en) Interactive television program guide with selectable languages
EP1387583B1 (en) Automatic electronic programme scheduling system
US20160330502A1 (en) Adaptable programming guide for networked devices
US20030056216A1 (en) System for managing favorite channels
US20030051246A1 (en) System and method for combining several EPG sources to one reliable EPG
Hartwig et al. Broadcasting and processing of program guides for digital TV
EP1142334B1 (en) Electronic programme break replacement system
EP1834479A1 (en) Apparatus and method for providing adaptive broadcast service using usage environment description including biographic information and terminal information
dos Santos Jr et al. A Software Product Line Requirements and Reference Architecture for TV Navigation System
US20050213927A1 (en) Topic-oriented Method of recording digital contents broadcast in accordance with a schedule

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU CA JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
122 Ep: pct application non-entry in european phase