GB2340634A - An electronic programme guide with restrictive queries - Google Patents

An electronic programme guide with restrictive queries Download PDF

Info

Publication number
GB2340634A
GB2340634A GB9926882A GB9926882A GB2340634A GB 2340634 A GB2340634 A GB 2340634A GB 9926882 A GB9926882 A GB 9926882A GB 9926882 A GB9926882 A GB 9926882A GB 2340634 A GB2340634 A GB 2340634A
Authority
GB
United Kingdom
Prior art keywords
viewer
program
epg
query
programs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
GB9926882A
Other versions
GB2340634B (en
GB9926882D0 (en
Inventor
James O Robarts
David S Byrne
Steve Fluegel
Gabe Newell
Dan Newell
Kenneth Abbott
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Priority claimed from GB9805687A external-priority patent/GB2325537B8/en
Publication of GB9926882D0 publication Critical patent/GB9926882D0/en
Publication of GB2340634A publication Critical patent/GB2340634A/en
Application granted granted Critical
Publication of GB2340634B publication Critical patent/GB2340634B/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44222Analytics of user selections, e.g. selection of programs or purchase activity
    • H04N21/44224Monitoring of user activity on external systems, e.g. Internet browsing
    • 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/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4314Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for fitting data in a restricted space on the screen, e.g. EPG data in a rectangular grid
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4332Content storage operation, e.g. storage operation in response to a pause request, caching operations by placing content in organized collections, e.g. local EPG data repository
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4334Recording operations
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4438Window management, e.g. event handling following interaction with the user interface
    • 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/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • 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/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/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4661Deriving a combined profile for a plurality of end-users of the same client, e.g. for family members within a home
    • 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/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4668Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies
    • 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/47End-user applications
    • 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/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4751End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for defining user accounts, e.g. accounts for children
    • 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/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4755End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for defining user preferences, e.g. favourite actors or genre
    • 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/47End-user applications
    • H04N21/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4756End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for rating content, e.g. scoring a recommended movie
    • 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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • 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/47End-user applications
    • H04N21/482End-user interface for program selection
    • 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/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4821End-user interface for program selection using a grid, e.g. sorted out by channel and broadcast time
    • 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/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4826End-user interface for program selection using recommendation lists, e.g. of programs or channels sorted out according to their score
    • 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/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4828End-user interface for program selection for searching program descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6143Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via a satellite
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6175Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • 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/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • 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
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/775Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums

Abstract

An electronic programme guide presents programming information to the viewer and allows the preparation of simple and complex queries for searching the information. Queries may be prepared which exclude from selection certain classes of programme. Programmes which are to be transmitted at certain times of day or which are too long may also be excluded. The queries may be saved as icons in a hierarchic query structure.

Description

2340634
QUER.Y-BASED ELECTRONIC PROGRAM GUIDE I TECKSICAL FIELD
2 This invention relates to entertainment systems, such as interactive 3 television or interactive computing network systems, and to electronic program 4 guides which operate in conjunction with these systems. More particularly, this invention relates to methods for operating electronic program guides using auto- 6 generated and viewer-generated queries to identify programs or other 7 programming information.
8 9 BACKGROUND OF THE INVENTION
Television viewers are very familiar with printed programming schedules I I that appear in daily newspapers or weekly magazines, such as TV Guidev. The 12 printed program guide lists the various television shows in relation to their 13 scheduled viewing time on a day-to-day basis.
14 Cable TV systems often include a channel with a video broadcast of the is printed program guide. The cable channel is dedicated to displaying listings of 16 programs available on the different available channels. The listings are commonly 17 arranged in a grid. Each column of the grid represents a particular time slot, such 18 as 4:00 p.m. to 4:30 p.m. Each row represents a particular broadcast or cable 19 channel, such as ABC, PBS, or ESPN. The various scheduled programs or shows are arranged within the rows and columns, indicating the channels and times at 21 which they can be found. The grid is continuously scrolled vertically so that a 22 viewer watches a continuously refreshing set of programs within three or four time 23 slots.
24 Data for available programs is typically received by a cable system as a 25 plurality of data records. Each available program has a single corresponding data I record indicating a variety of information about the program such as its channel, its 2 starting and ending times, its title, names of starring actors, whether closed 3 captioning and stereo are available, and perhaps a brief description of the program.
4 It is not difficult to format a grid such as described above from this type of data records. The grid is typically formatted once at the cable system's headend and 6 broadcast repeatedly and continuously to the thousands of homes served by the 7 cable system.
8 Newer, interactive cable distribution systems feature electronic program 9 guides (EPGs) which function somewhat similar to the broadcast program listing channels described above. Rather than scrolling automatically, however, an EPG 11 allows a viewer to use a remote control device or other input device to scroll as 12 desired both horizontally and vertically through a program grid. This ftinctionality 13 utilizes the two-way communications capabilities of interactive cable systems.
14 The EPG is typically implemented in software which runs on a set-top box (STB) connected between a TV and a cable system home entry line. When 16 scrolling to a new column or row, the set-top box inserts the appropriate 17 programming information into each new row or column. This information is either 18 cached at the STB, or requested from the cable system's headend.
19 Interactive systems permit viewers to control what programs are shown on their TV and when. Movies-on-demand is one example of this interactive control.
21 A viewer can peruse a list of available movies from the EPG, and then order a 22 selected movie. The STB sends a request for the movie to the headend server.
23 The movie is retrieved and transmitted to the requesting STB. Movieson-demand 24 thus enables viewers to shop, purchase, and watch a movie attheir convenience, as 2 I opposed to being restricted to certain start times as is typical with conventional 2 premium or pay-per-view channels.
3 Many industry and commercial experts expect entertainment systems to 4 evolve to the point of offering many other interactive services to the consumers.
For instance, consumers will be able to use their TV or computer to shop for 6 groceries or other goods, conduct banking and other financial transactions, play 7 games, or attend educational courses and take exams.
8 Conventional distribution networks support many channels. It is common 9 for a TV audience to have 50 to 100 channels. However, as technology improves and programming content continues to expand, the number of channels are I I expected to increase dramatically to many hundreds, or even thousands of 12 channels.
13 One problem with the growth in the number of channels is that vastly 14 enlarged selection, while appealing to a viewer, will make it more difficult for a viewer to locate programs of their preference. Traditional methods of locating 16 programs-such as memorizing channel numbers, scanning program grids, or 17 random surfing-will become less effective as the number of channels increase.
For example, imagine the difficulty in trying to present hundreds or thousands of programs in a scrollable grid-like EPG user interface (UI), which might show only a few programs or channels at one time. This UI structure will most likely be 21 unworkable for large program and channel offerings. Additionally, surfing 22 through hundreds or thousands of channels will likely consume a large amount of 23 time, causing the viewer to miss the programs he/she is attempting to find.
24 It is also likely that the traditional practice of relating programs and networks to specific channels will become less meaningful as the number of 3 I channels increases. Suppose, for example, a viewer might be interested in 2 watching football. Today, a viewer might remember that channel 6 (NBC) and 3 channel 3 (FOX) carry the football games and simply tune to one of these 4 channels. In the future, however, there might be football games being broadcast on channels 78, 495, and 1042. These channels might be small local stations that 6 are broadcasting their local football team, or one of many channels used by a 7 major network. Viewers are not likely to remember that channels 78, 495, and 8 1042 are carrying football games at specific times.
9 Moreover, the correlation of channels to networks and programs vary from market to market. For instance, the sports network ESPN might be carried on 11 channel 15 in one market and on channel 29 in another market. Memorizing 12 program offerings in terms of channel numbers will prove frustrating as a viewer 13 travels from one market to the next.
14 Accordingly, there is a need to develop operating methods which allow viewers to easily find programs or networks regardless of the channels on which I (' they are carried. Additionally, these operating methods should enable viewers to 17 locate programs regardless of whether they remember the channel number, 18 program name, or network name.
19 Toward this end, a company named TVHost, Inc. has developed a software based product "ETV" which assists a viewer in locating particular programs. The 21 ETV system organizes the different program offerings according to different 22 topical categorizes. Fig. I shows an example screen display of a graphical user 23 interface (Ul) window 20 supported by the ETV system. The ETV window 20 has 24 a first pane 22 that lists alphabetically predefined types of programs, such as Business, Children, Educational, Game Shows, and so forth. The viewer can 4 I control a focus frame or highlight bar 24 to choose a type of program from the first 2 pane 22. A second pane 26 contains a list of programs that are available for the 3 program type highlighted in the first pane 22. In this example, the type "business" 4 is highlighted, and hence business-related programs are shown in the second pane 26. The second pane 26 also provides other programming information including 6 start time, network or station, and duration.
7 The ETV system thereby offers an alternative to a scrollable grid 8 presentation which organizes programs according to type. This allows the viewer 9 to select a program type, and then review the programs offered for this type. The ETV system also permits rudimentary "search" capabilities. Fig. 2 shows another I I graphical Ul window 30 which appears when performing a search. A first pane 32 12 contains a scrollable alphabetized list of stations, and allows a viewer to choose a 13 station. A second pane 34 contains a scrollable alphabetized list of program types 14 from which the viewer may select a program type. Other parameters, such as MPAA, rating, and start time, can also be selected by the viewer. Based upon 16 these selections, the ETV system locates programs which are of a particular type, 17 from the selected station, and satisfy the ratings and start times.
18 The ETV system is limited in many respects. The ETV system does not 19 permit searches on arbitrary fields. Instead, the categories are predefined for the 20 viewer. The viewer is not able to define his/her own complex searches using, for 21 example, Boolean logic of "OR," "AND," and "NOT." Another limitation is that 22 the ETV system does not provide any active controls which intelligently narrows 23 selections based upon viewer selections. An "active" control is a control that does 24 not require any other action on the part of the user. For instance, if a viewer 25 1 selects a station in pane 32 of the search window 30 (Fig. 2), all program types will
1 I be listed in the second pane 34. In fact, the same lists will always occur in both the 2 first and second panes 32, 34 regardless of what selections the viewer has 3 previously made. The viewer is not able to see any results until the viewer 4 activates a "Begin" search key 36.
Accordingly, there remains a need to develop operating methods which 6 decouple associations between the channel and network or program and also allow 7 intelligent search procedures to better assist the viewer in locating preferred 8 programs.
9 SUMMARY OF THE INVENTION
I I This invention concerns an electronic program guide (EPG) which enables 12 creation of queries to facilitate simple and complex searches across predefined and 13 arbitrary fields. The EPG organizes and presents programming information to a
14 viewer. The EPG is implemented in software which executes on a processor resident in a viewer computing unit. As described herein, the viewer computing 16 unit can be implemented as a set-top box (STB) connected to a television (TV), as 17 a computer and monitor, or the like.
18 According to one aspect of this invention, the EPG is configured to 19 automatically identify programs that a viewer is likely to prefer. The EPG collects viewing preferences of a viewer by, for example, monitoring and logging viewing 21 habits of the viewer or through creation of a viewer profile in which a viewer 22 answers a series of questions designed to discover the viewer's likes and dislikes.
23 Based upon the these viewer preferences, the EPG automatically develops queries 24 for identifying programs that the viewer is likely to watch and presents those programs to the viewer.
6 I The EPG can further be configured to merge the queries of individual 2 viewers into a composite query which searches for programs on behalf of all 3 viewers. Each viewer defines his/her own query. For instance, one family 4 member might define a query for college basketball games, another family member might define a query for Civil War programs, and another family member 6 might define a query for cartoons. The EPG then creates a unified query which 7 combines the three queries to jointly identify programs which satisfy any one of 8 the three queries.
9 The EPG saves queries in a hierarchic structure to make it easy for a viewer to organize and retrieve queries. The viewer can define directories and sub I I directories to organize the queries. For instance, a viewer might arrange queries 12 for different kinds of movies within a Movie directory and queries for sports 13 within a Sports directory. Another example organization is to arrange queries 14 within separate user directories.
According to another aspect, the EPG is configured to run queries in 16 background so that the queries are periodically executed unbeknownst to the
17 viewer. When the EPG identifies a particular program satisfying the background
18 query, the EPG automatically notifies the viewer of the program and/or 19 automatically initiates procedures to record the program. For example, suppose a viewer wants to watch shows on the Great Wall of China. The viewer can define a 21 query for identify any programs mentioning the Great Wall and have the query 22 execute in background, perhaps for a long duration of time. As the EPG identifies
23 programs on the Great Wall, the EPG notifies the viewer of when the program is 24 scheduled to be shown, and to initiate recording procedures.
7 I According to another aspect of this invention, the EPG assists a viewer in 2 finding a program, channel number, or network by using a 10-key keypad as 3 typically found on remote control handsets. The keypad has ten numerical keys, 4 which also correspond to associated letters. When the viewer presses a key, the 5 viewer might intend to be entering a number to find a channel, or one of the letters 6 associated with the key for spelling the program or network name. Regardless of 7 the viewer's intent, the data generated when the key is depressed is the same. The 8 EPG is configured to interpret the data as representing all possible choices, 9 including the number and letters associated with the key. For instance, when a 10 viewer depresses the number "5" key, the EPG interprets that data to mean "5" or I I g195 or "K" or "L." The EPG then identifies programs, channels, and networks 12 which begin with or contains the number or letters. As the viewer continues to 13 enter each digit, the list of programs, channel, and networks dynamically narrows. 14 After a few button presses, the viewer is presented with a short list of possible 15 choices.
16 17 BRIEF DESC PEON OF THE DRAMANGS 18 Fig. I is an exemplary screen illustration of a graphical user interface (Ul) 19 window presented by a prior art product which organizes programs into predefined 20 categories. 21 Fig. 2 is an exemplary screen illustration of a graphical user interface (UI) 22 window presented by the prior art product which assists a viewer in searching the 23 predefined categories to locate certain kinds of programs. 24 Fig. 3 is a diagrammatic illustration of an entertainment system.
1 Fig. 4 is a simplified example of data fields in a data structure maintained 2 by an electronic program guide (EPG).
3 Fig. 5 is a block diagram of a viewer computing unit.
4 Fig. 6 is an exemplary screen illustration of an EPG UI, and particularly, a screen having a scrollable grid with program listings.
6 Fig. 7 is an exemplary screen illustration of an EPG UI, and particularly, a 7 screen used to help create simple queries for searching the EPG.
8 Fig. 8 is an exemplary screen illustration of an EPG UI, and particularly, a 9 screen used to help create more advanced queries for searching the EPG.
Fig. 9 is a diagrammatic illustration of how a query filters the program 11 database of the EPG to identify programs satisfying the parameters of the query.
12 Fig. 10 is a diagrammatic illustration of how a restrictive query filters the 13 program database of the EPG to identify and prevent programs satisfying the 14 parameters of the query from being displayed.
is Fig. 11 is an exemplary screen illustration of an EPG UI, and particularly, a 16 screen used to manage queries for multiple viewers.
17 Fig. 12 is a diagrammatic illustration of how individual queries can be 18 merged into a composite query used to search the program database of the EPG.
19 Fig. 13 is a diagrammatic illustration of how program information is filtered through multiple queries to provide a short set of programs that are ultimately 21 displayed to the viewer.
22 Fig. 14 is a diagrammatic illustration of how program information in an 23 EPG database and other content information in a Web cache are filtered using 24 multiple queries to provide a short set of programs that are ultimately displayed to the viewer.
9 I Fig. 15 is an exemplary screen illustration of an EPG UI, and particularly, a 2 screen used to locate a particular channel, network name, or program name and to 3 create queries which search for them simultaneously.
4 DETAILED DESCRIPTION OF THE PREFERRED EhIBODIMENT
6 Fig. 3 shows an entertainment system 40 according to one implementation 7 of this invention. System 40 includes a centralized headend or content provider 42 8 which is configured to provide continuous video content programs to multiple 9 subscribers. Programs provided by content provider 42 might include traditional broadcast TV shows, on-demand movies, games, and other services such as those I I commonly provided in the past by on-line computer services.
12 The content provider 42 supplies video and other data over a distribution 13 network 44 to the subscribers. In this implementation, the network 44 is a satellite 14 network which transmits the data in a digital format from the content provider directly to individual subscribers. The satellite network 44 includes a transmitter 16 46, an orbiting satellite 48, and a receiver 50. As one example, the satellite 17 network 44 can be implemented using DSS (Direct Satellite System) technology, 18 where individual subscribers own small 18" receiving dishes 50 which are resident 19 at their homes. Video, audio, and other data are transmitted in digital format from the satellite transmitter 46 to the orbiting satellite 48, where the data are redirected 21 to the satellite receiver 50.
22 The distribution network 44 can be implemented in other ways instead of 23 DSS technology. One implementation is a multi-tier network which includes a 24 high-speed, high-bandwidth fiber optic cable network between the content provider 40 and regional distribution nodes (not shown), and conventional home entry lines, such as twisted-pair lines or coaxial cable, between the distribution 2 nodes and viewer computing units 60. Anther network implementation might 3 include traditional RF broadcast technologies. The network can also be 4 constructed using a combination of wireless and wire-based technologies.
Another approach beside to broadcasting the content to the subscribers is by 6 multicasting the content over the Internet. With this approach, the content 7 providers transmit the data content to a designated multicast address on the 8 Internet. Subscribers listen to the multicast address to receive the primary content.
9 Each subscriber residence has at least one viewer computing unit 60. In the illustrated implementation, the viewer computing unit 60 is embodied as a I I broadcast enabled personal computer, or simply "broadcast PC." The broadcast 12 PC 60 has a large computer monitor 62, a processing unit 64, and input devices in 13 the form of remote keyboard 66 and/or remote control handset 68. The remote 14 keyboard 66 and handset 68 are remotely coupled to the processing unit 64 via a wireless data link 70, such as infrared (IR) or radio (RF), although the remotes can 16 be directly connected. The broadcast PC 60 also includes an EPG database 72 and 17 a content separator 74, which are shown separately for illustration purposes, but 18 can be incorporated into the processing unit 64.
19 It is noted that the viewer computing unit 60 can be implemented in other forms. For instance, the viewer computing unit 60 can be embodied as a set-top 21 box coupled to a conventional television. Another implementation includes a TV 22 or other visual display device, which has processing components incorporated 23 therein.
24 Content provider 42 is configured to originate the broadcast programs or to rebroadcast programs received from another source, such as a satellite feed or I I another cable system. In addition, the content provider 42 is configured to maintain a database of programs 80, such as feature-length movies, past TV shows, games, and other entertainment videos, which can be played individually to requesting subscribers in an on-demand mode. These programs can be requested via a back channel, such as a telephone link or Internet link (described below). In the case of a cable based network, the cable might function as both distribution 7 channel and back channel to support interactivity. As technology continues to 8 improve, the receiver 50 might be replaced with a transceiver which is capable of 9 both receiving digital data from the satellite system, and transmitting data back 10 across the satellite system.
I I The content provider 42 includes a continuous media server 82 which 12 distributes the digital video data streams kept in the programs database 80. The 13 continuous media server and video program database are implemented, for 14 example, as a disk array data storage system consisting of many large capacity 15 storage disks. The video data streams of the movies are stored digitally on the 16 storage disks in predetermined or mapped locations. The locations of the video 17 data streams are kept in a memory map and each video data stream is accessed 18 through pointers to the particular memory location. The continuous media server 19 can service simultaneous requests for a program (even the same program) from 20 many viewers.
21 The content provider 42 also has an program information server 84 to serve 22 programming information to the viewer computing unit 60. The program 23 information server 84 is implemented as a structured query language (SQL) 24 database 86 with records containing information relating to available shows or 25 programs- 12 I Fig. 4 shows an example data structure 88 for organizing programming 2 information within the EPG database 86. The data structure includes various data 3 fields 90 for holding programming information. The data fields contain program 4 titles, actor names, whether the program has closed captioning or stereo audio, the 5 scheduled time of the program, the network name, description text, and the like. 6 The data structure 88 holds pointer to locations within the storage subsystem of the 7 continuous media server 82 which identify storage locations of the programs 8 corresponding to the program records. 9 The data structure 88 might also contain target specifications (memory 10 pointer, hyperlink, etc.) to one or more target resources which maintain I I supplemental content for the programs. The supplemental content can be stored at, 12 and served from, the content provider 42 or from an independent service provider. 13 The supplemental content can be text, hypermedia, graphics, video, picture, sound, 14 executable code, or other multimedia types which enhance the broadcast program. 15 Examples of possible supplemental content include interactive questions or games 16 related to the program, additional trivia on the movies or TV shows, 17 advertisements, available merchandise or other memorabilia, Web pages to 18 programs of similar type or starring the same actors/actresses, and so on. 19 With reference again to Fig. 3, the content provider 42 broadcasts multiple programs for different networks and channels as one continuous digital data feed, 21 as is conventional in DSS. The EPG programming information is transmitted 22 along with the video and audio data. The data is compressed and placed in digital 23 transport packets for transmission over the satellite system. If desired, the data 24 1 pertaining to particular channels or programs can be scrambled. The receiver 50 25 de- scrambles and decompresses the data stream, and then reconstructs the video, 13 1 audio, and programming data from the digital transport packets. The content 2 separator 74 separates the video and audio data from the programming 3 information. The video/audio data is directed to a tuner in the viewer computing 4 unit 60 which selects a particular channel and displays the video on the monitor 62 5 and plays the corresponding audio. The viewer controls program selection using 6 the keyboard 66 or remote control handset 68. The programming information is 7 input to the EPG database 72. By caching the programming information in the 8 local EPG database 72, interactive functionality used to locate and select certain 9 programs from the EPG is handled locally.
The entertainment system 60 also includes an independent service provider 11 (ISP) 92 which distributes digital content to the viewer computing unit 60 over a 12 second network 94. An example of the second network 94 is a public network, 13such as the Intemet. The ISP 92 has an ISP host 96 and a content database 98 to 14 serve various multimedia content to the user. For instance, the ISP host 96 might is store one or more target resources (such as a Web page) that can be rendered by 16 the viewer computing unit 62.
17 According to the Fig. 3 arrangement, the viewer computing unit 60 receives 18 'traditional broadcast, on-demand programs, and programming information from 19 the content provider 42. The viewer computing unit 60 also receives supplemental 20 interactive content ftom the content provider 42 or from the independent service 21 provider 92. The back channel for facilitating interactive control is provided 22 through network 94. The off-site supplemental information provided by the ISP 23 92 is correlated with the programs within the program records data structure 88 in 24 program information server 84. As shown in Fig. 4, programs with supplemental 14 I content provided by other servers has a target specification listed in one of the data
2 fields.
3 Fig. 5 shows an example implementation of the viewer computing unit 60 4 in more detail. It includes a mother board 100 having a processor 102 (e.g., x86 or Pentium@ microprocessor from Intel Corporation), a volatile memory 104, and a 6 program memory 106. The viewer computing unit 60 includes a digital broadcast 7 receiver 50, such as a satellite dish receiver (Fig. 3). The digital receiver 50 8 receives digital data broadcast over the satellite distribution network 44. The 9 receiver 50 is coupled to a tuner I 10 which tunes to frequencies of the satellite transponders in the satellite distribution network. The tuner 110 has one or two I I primary components: a specialized digital broadcast tuner and/or a generalized 12 digital broadcast tuner. The specialized d igital broadcast tuner is configured to 13 receive digital broadcast data in a particularized forinat, such as MPEG-encoded 14 digital video and audio data. The generalized digital broadcast tuner is configured to receive digital data in many different forms, including sqftware programs and 16 programming information in the forin of data files.
17 The tuner I 10 is connected to the mother board 100 via a multi-bit bus 112, 18 'such as a 32-bit PCI (Peripheral Component Interconnect) bus. The EPG database 19 72 is shown connected to the PCI bus 112, but can alternatively be implemented as part of a hard disk drive 146. The programming data received at the receiver 50 is 21 transferred over the PCI bus 112 to the EPG database 72. A decryption device (not 22 shown) for facilitating secure access to the broadcast enabled PC may also be 23 attached to the bus 112.
24 The viewer computing unit 60 has a video subsystem 114 connected to the PCI bus 112. The video and audio data is transferred from tuner I 10 over PCI bus I 112 to the video subsystem 114. The video subsystem 114 includes circuitry for 2 decoding MPEG-encoded or other video data formats, although such circuitry can 3 alternatively be incorporated into the tuner 110 or motherboard 100. The video 4 subsystem 114 also includes video display drivers for driving a computer monitor 116.
6 The video subsystem 114 supports many peripheral devices, in addition to 7 the monitor 116. For instance, the video subsystem 114 might be connected to a 8 laser video player 118 for playing DVD (digital video disks), a game machine 120 9 for playing video games, and a VCR (video cassette recorder) 122 for recording programs. The video subsystem 114 is adapted for connection to an analog 11 broadcast television system 124 toreceive conventional TV signals from cable 12 television or RF broadcast television systems. This enables backwards 13 compatibility to analog TV systems.
14 The monitor 116 is preferably a VGA or SVGA monitor as is customary for 1-5 personal computers, as opposed to a standard television. In the illustrated 16 implementation, the viewer computing unit 60 does not convert the television 17 related data into an NTSC (National Television System Committee) format. In 18 this manner, the viewer computing unit 60 is able to produce television data having 19 superior quality when displayed on the VGA monitor.
The viewer computing unit 60 also includes a second bus 130, such as an 21 ISA (Industry Standard Architecture) bus, coupled to the mother board 100. An 22 audio board 132 is coupled to the ISA bus 130 and serves as an interface with a 23 number of audio output devices, such as conventional speakers. An amplifier may 24 be coupled between the audio board and speakers if desired. The audio board is also coupled to the video subsystem 114 to receive decoded audio signals, The 16 I audio board 132 can be coupled to a stereo system 134, so that audio data can be 2 output to the stereo system for enhanced sound and recorded.
3 A CD ROM drive 136 is coupled to the ISA bus 130. The audio output 4 produced by the CD ROM drive 136 is passed to the audio board 132.
The viewer computing unit 60 includes a modem 138, such as a 14.4 or 6 28.8 kbps fax/data modem, coupled to the ISA bus 130. The modem 138 is 7 connected to a conventional telephone line and provides access to public networks, 8 including the Internet. The modem 138 can be used to access and download data 9 and supplemental content directly from an independent service provider.
Additionally, the modem 138 can be used for two-way communications with the 11 content provider serving the programs over the DSS network. Viewer requests for 12 programs can be transmitted over the back channel via the modem 138.
13 An input/output (1/0) adapter 140 is coupled to the ISA bus 130 to interface 14 with numerous 1/0 devices, including a digital tape driver 142, a floppy disk drive 144, and a hard disk driver 146. A remote receiver 148 is also coupled to the 1/0 16 adapter 140 for receiving signals from the remote cordless keyboard 66 and remote 17 control handset 68 in an IR or RF format. Alternatively, the keyboard and handset 18 can be directly wired to the computer. The 1/0 adapter 140 further provides 19 conventional serial ports, including a COMI port 150, a COM2 port 152, and an LPTI port 154. An IR transmitter (not shown) can be coupled to the COMI port 21 150 to generate infrared signals to control electronic devices, such as stereo 22 equipment, VCR, and the like. The computer 60 can also be hooked directly to 23 these components.
24 The viewer computing unit 60 runs an operating system 160 which supports multiple applications. The operating system 160 is loaded in memory 106 and 17 I executes on the processor 102. The operating system 160 is preferably a 2 multitasking operating system which allows simultaneous execution of multiple 3 applications. The operating system 160 employs a graphical user interface 4 windowing environment which presents the applications or documents in specially delineated areas of the display screen called "windows." One preferred operating 6 system is a Windows@ brand operating system sold by Microsoft Corporation, 7 such as Windows@ 95 or Windows@ NT or other derivative versions of 8 Windows@. The remote keyboard 66 and handset 68 may include customized 9 keys suitable for use with a Windows@ brand operating system. It is noted, however, that other operating systems which provide windowing environments I I may be employed, such as the Macintoshoperating system from Apple Computer, 12 Inc. and the OS/2 operating system from IBM.
13 A channel navigator application 162 is stored in program memory 106 and 14 executes on the processor 102 to control the tuner 110 to select a desired channel for receiving the video content programs. An EPG application 164 is stored in 16 program memory 106 and executes on the processor 102 to organize programming 17 information downloaded from the Program information server at the content 18 provider and cached in the EPG database 72. The EPG 104 supports a displayable 19 user interface (UI) which visually presents the programming information from the EPG database 72 in a usable format for the viewer, as will be described below with 21 reference to Fig. 6. The EPG is also configured to enable the viewer to define 22 queries which intelligently identify and gather programs the viewer would like to 23 see.
24 The viewer computing unit 60 has a browser 166 which is kept in memory 106 and dynamically loaded on processor 102 when needed to render content, such 18 I as a hypertext document, from an ISP or other content provider. The browserl 66 2 can be implemented as a hyperlink browser, or more particularly, as an Internet 3 Web browser.
4 It is noted that the operating system and applications can be stored on the hard disk driver 146, or other storage medium (floppy disk, CD ROM, etc.), and 6 loaded into the program memory for execution by the processor.
7 It is further noted that the broadcast enabled personal computer 60 is a fully 8 functional computer which can perform the typical desktop applications familiar to 9 computers. A variety of different applications can be loaded and executed on the viewer computing unit. As an example, the viewer can run word processing I I applications, spreadsheet applications, database applications, scheduling 12 applications, financial applications, educational applications, and so forth. The 13 viewer operates the applications using the keyboard 66.
14 Fig. 6 shows an example EPG UI 170 which is presented on a display 172.
The EPG Ul 170 includes a channel panel 174, a time panel 166, a program grid 16 178, and a program summary panel 180. Channel panel 174 provides a vertical
17 scrolling list which displays multiple channel tiles 182 at any one time. Each 18 channel tile 182 includes a channel number and a channel name (typically the 19 network name, such as CBS, ABC, MTV, etc.), and might also include a channel logo. The channel panel 174 defines rows of program titles in program grid 178.
21 Time panel 176 is a horizontal, continuous scrolling time line with markings 22 denoting half-hour time segments. Time panel 176 defines columns in program 23 grid 178.
24 Program grid 178 consists of multiple program tiles 184 organized in channel-based y-axis and time-based x-axis. The grid is located to the right of 19 channel panel 174 and below time panel 176. Each program file 184 has the 2 program title and any secondary program descriptive information, such as closed 3 caption, stereo, etc. The illustrated screen shows an example programming line-up 4 for 8:00 p.m. to 10:00 p.m. PST, Thursday, March 7, 1996. The program titles, such as "Murder, She Wrote" and "Friends," are arranged horizontally with respect 6 to their networks CBS and NBC and verfically with respect to their start times of 7 8:00 p.m. PST. It is noted that many other grid or non-grid layouts may be 8 employed to present the program selections to the viewer. Additionally, although q the layout is shown organized according to channel number, the same information can be presented in a channel absence presentation where no reference is made to 11 channel numbers.
12 The viewer controls the program selection with a single focus frame 186 13 which is graphically overlaid on the program grid 178. Focus frame 186 can be 14 moved up or down, or left and right within a channel line-up, to choose a desired program. The remote control handset or keyboard (or other manipulating 16 mechanism) can be used to position the focus frame 186 within the EPG UI 170.
17 Program summary panel 180 includes a text description window 188 and a
18 preview window 190. The text description window 188 displays program
19 information related to the program that is highlighted by the focus frame 186 in program grid 178. Here, the NBC program "Seinfeld" is highlighted and the text 21 description window 188 lists the program title "Seinfeld," and a program 22 description of the current episode. The text description window 188 might also 23 include other program related information like closed-captioning, stereo, etc. The 24 preview window 190 is used to display clips of the selected highlighted show, such 25 as a preview of the "Seinfeld" show. 20
I The data to fill the various tiles and windows is drawn from the EPG 2 database 72 or from URL resources on the Internet 94. The data is maintained in 3 data structure 88 (Fig. 2) which is transmitted As program records from the content 4 provider over the satellite network to the viewer computing unit and cached in the S EPG database 72. The EPG application 164 inserts the appropriate data records 6 into the EPG UI 170 for display as the viewer maneuvers the focus frame 18_6 7 around the grid.
8 The EPG UI 170 also includes hyperlinks 192 which are supplied with the 9 program records received from the content provider, embedded in the program stream, or provided in a data stream from arbitrary source which has been 11 associated with the program. The hyperlinks can be inserted into the channel tiles 12 182, program tiles 184, or the description window 188. In the Fig. 6 illustration,
13 the hyperlink "More" is provided in the description window 188 to reference. target
14 resources that contain additional information about this episode of the "Seinfeld" show. Other hyperlinks in the description window 188 include "Last Week"
16 which references a target resource containing information on the previous week 17 episode, and "Comedy Club" which links to a target resource having video 18 coverage of comedian Jerry Seinfeld performing at night clubs. The target 19 resources referenced by the hyperlinks might be located at the content provider or at an independent service provider. The target resource might further be located 21 locally, having been pre-cached by the system. For instance, the system might pre 22 cache supplemental information about certain shows before they air based on 23 predictive viewing tendencies, or as part of a promotional data broadcast 24 advertising the show. This permits local interactive functionality between the 21 I viewer and the viewer computing unit, in addition to full network interactive 2 functionality between the viewer and the program provider.
3 The EPG UI 170 has special operator buttons 194-200 which arrange for 4 certain tasks. A "view full screen" button 194 allows the viewer to view the program in full screen. A "record" button 196 allows a user to initiate procedures 6 to record a currently playing program, or schedule to record an upcoming program.
7 For scheduling, the viewer simply drags the record icon and drops it on a program 8 tile 184 of an upcoming program, as exemplified by the record icon dropped on the 9 "Caroline in the City" program tile.
A "remind" button 198 is used to set reminders which notify viewer's of I I scheduled shows. A viewer might, for example, want to be reminded of a program 12 being played later in the day and hence, drag a reminder icon to the suitable 13 program tile 184. When the start time of the requested program approaches, the 14 EPG will notify the viewer through a pop-up icon or the like that the program is about to begin. An "add to favorite" button 200 is provided to enable a viewer to 16 add a program to a predefined list of favorites.
17 The drag and drop aspects described above are preferably implemented 18 - using object linking and embedding (OLE), which is commercially available from 19 Microsoft Corporation under a.technology known as "ActiveX." OLE is an 20 extensible service architecture built on the Component Object Model (COM) 21 which is both language independent and location independent. OLE supports an 22 OLE Drag and Drop which is widely used in Windows@-compatible operating 23 systems, such as Windows@ 95. OLE and COM have been well documented and 24 will not be explained in detail. For more information regarding OLE and COM, 25 refer to QLE 2 Progarnmer's Reference and Inside OLE 2, Second Editio, both 22 1 published by Microsoft Press of Redmond, Washington, and both of which are 2 hereby incorporated by reference.
3 The EPG UI 170 also presents predefined query buttons 202-210.
4 Activation of these query buttons trigger a query of the EPG database 72 to identify programs satisfying the predefined query parameters. The EPG 106 6 enables a viewer to create their own queries and to produce a soft button on the 7 EPG UI 170 for quick retrieval of highly used queries. As an example, the EPG 8 UI shows queries for favorite programs, Star Trek programs, comedies, the Oprah Show, and old movies. The "favorites" query button 202 recalls a list of programs that the viewer has previously identified as favorites using the "add to favorite" 11 button 200, or which have been automatically defined as favorites by the EPG.
12 The "Star Trek" query button 204 and "Oprah" query button 208 initiate queries of 13 the EPG database 72 for all Star Trek and Oprah shows that might be playing 14 within a particular time frame. As the number of channels increases and programming grows dramatically, several different channels might carry Star Trek 16 or Oprah, concurrently or at different times. The "comedies" query button 206 17 initiates a query of the EPG database 72 for all comedy programs. The "old 18 movies" query button 2 10 locates all old movies that are showing.
19 Some of the predefined query buttons are preset categories, such as the "comedies" and "old movies" buttons, while other query buttons are defined by the 21 viewer, such as "Star Trek" and "Oprah" buttons. The preset category buttons can 22 be added and removed from the EPG UI through a separate window which allows 23 a viewer to add or subtract categories from a list of available categories.
24 According to one aspect of this invention, the EPG 164 is configured to automatically develop queries to identify programs that a viewer is likely to want 23 to watch based on viewing preferences of the viewer. The EPG application 2 collects viewer preferences in a number of ways. One technique is to log the 3 amount of time that each channel is selected for viewing, with the underlying 4 assumption that the viewer is watching that channel. Each channel is then 5 assigned its own percentage of the entire viewing period as an indication of the viewer's preferences. The EPG generates a query to identify channels based upon 7 this percentage, so that channels which the viewer tends to watch most often 8 appear at the top of the list and channels which the viewer tends to watch least often appear at the bottom of the list. The EPG presents this list as a scrollable list 10 in the EPG Ul, with the highly watched channels appearing at the top and the least I I watched not appearing at all, but being available if the viewer wanted to scroll to 12 them. It is noted that the same technique can be applied to individual programs or 13 networks, where each program or network (rather than channel) is logged and the 14 list is ordered with the frequently watched programs being listed on top and the is least watched programs being listed on the bottom.
16 Another technique is to create a viewer profile for each viewer. The viewer 17 is asked a series of questions directed at discovering the viewer's likes and 18 dislikes. This question-and-answer session is accomplished using a separate 19 graphical UI which asks questions and enables viewers to choose among 20 responses, such as "strongly like," "like," "dislike," and "strongly dislike." Rather 21 than discrete answers, the question-and- answer screen might include sliders which 22 enable viewers to choose somewhere in a scale between opposing preferences of 23 "strongly dislike" and "strongly like." The EPG compiles the viewer profile and 24 correlates the profile with clustering data to generate a query for possible 25 programs. The clustering data represents an accumulation of other viewers 24 1 preferences. By matching the viewer profile with similar profiles, the EPG can 2 better determine what the viewer will most likely want to watch.
3 Once the EPG 164 has automatically compiled a list of likely favorites, the 4 EPG presents the list in a UI screen. This screen can be called, for example, by activating the "favorites" button 202 in EPG UI 170. The list is presented as its 6 own reduced, closed loop of available programs which has actively weeded out 7 less popular channels. The viewer can then surf the closed list by sequentially 8 cycling through the programs.
9 The EPG UI 170 also presents a "Find" button 212 which a viewer uses to create his/her own query. Activation of the "Find" button 212 opens another UI It window which assists a viewer in creating a query. Fig. 7 shows an example find 12 window 220. The find window 220 presents various search parameters for the 13 viewer to search. In this example, the viewer can select a program genre from a 14 genre box 222, a program sub-genre from a sub-genre box 224, a rating from the rating scale 226, a network name from the network box 228, and a program name 16 from the program box 230. Based on these parameters, the EPG constructs a query 17 and searches the EPG database 72 to locate programs satisfying the query. The 18 find window supports creation of two mutually exclusive types of queries: a 19 "find" query which locates all programs satisfying the search parameters and a "find all except" query to locate all programs which do not satisfy the parameters.
21 In this example, the EPG has constructed a "find" query which located three 22 programs that satisfy the parameters of an action movie rated PG.
23 To produce more advanced queries, the viewer can select an advanced 24 query button 232. Fig. 8 shows an example advanced find window 240. It enables a viewer to create particularized queries and organize them in a tabbed folder I arrangement. In this example, the viewer has defined three advanced queries 2 pertaining to "G-rated" programs, "Action" programs, and "No Sci-Fi" programs.
3 The advanced find window 240 includes parameters such as genre, subgenre, 4 rating, network name, channel, program name, and time period. As new parameters are added to the EPG database, new controls in the advanced find 6 window 240 are likewise added. It also allow a viewer to define a keyword. In 7 this example, the viewer wants to find all James Bond action movies on HBO 8 between 5:00 PM and 8:00 PM. Hence, the viewer enters the keyword "Bond" and 9 executes the query. If the viewer wanted to find a particular bond movie starring Sean Connery, the viewer might enter a Boolean-like search "Bond AND 11 Connery" in the keyword control of the advanced find window.
12 The advanced find window 240 can also be used to create restrictive queries 13 which function to restrict or limit selection of programs for viewers without 14 appropriate permissions levels. For instance, parents can set permission levels for their children so that when the children are logged onto the viewer computing unit, 16 the children are prevented from watching certain programming content or from 17 ordering certain services. A parent might, for example, wish to restrict a child 18 from watching an R or NC rated movies. To create a restrictive query, the parent 19 clicks the "don't find" option to convert the query ftom an inclusive query to an exclusive query.
21 An "add tab" button 242 and "remove tab" button 244 allow the viewer to 22 manage the queries. The viewer can also save queries by clicking on the "save" 23 button 246. Preferably, the queries are saved in a hierarchic query structure of the 24 EPG database. This enables viewers to define directories and sub- directories of queries. Organizing queries in a hierarchic structure is advantageous because the 26 I I structure conforms to the computer side of the viewer computing unit and avails 2 itself to memory management applications and tools running on the computer. As 3 the number of saved queries grow, the query directories can be searched like other 4 data files directories, as is common in personal computers, to locate a particular S query. The query structure can also be presented in a UI to the viewer as an 6 organization chart showing the hierarchy of directories, sub- directories, and 7 queries. Individual queries can be saved as icons. To recall the query, the user 8 activates the icon.
9 The EPG can also be configured to support a query editor to allow the viewer to create essentially any type of query based on key word descriptions, and
I I to edit such queries. One suitable type of editor which can be employed with the 12 EPG is a query editor used in a program entitled Cinemania95 by Microsoft 13 Corporation, which enables a computer user to create queries for locating cinema 14 trivia stored on the CD ROM.
To assist the viewer in defining a query (either by using the "Find" Ul or 16 the query editor), the EPG can provide wizards which guide the viewer with step 17 by-step instructions through the query creation. One example wizard for 18 generating a simple query is to ask the viewer if the program selected is chosen for 19 its name, or for its channel. A viewer might request to always be shown any program with one name, or to never display a program with another name.
21 Once a query is defined, the viewer can execute the query to initiate a 22 search of the programming information in the EPG database 72. The queries 23 function as a filter which sifts through the programming information and returns 24 only those items which satisfy the parameters, or in the case of a restrictive query, precludes those items that satisfy the parameters.
27 I Fig. 9 is a diagrammatic illustration of how a query operates to filter out 2 programs which do not satisfy the criteria. Box 250 contains a representation of 3 programs found in the EPG database 72. Suppose a viewer defined a science 4 fiction (Sci-Fi) query using the advanced find window 240, as shown in Fig. 8, to locate Sci-Fi programs. The EPG application 164 executes the Sci-Fi query 252 6 and winnows the program database to a short list of Sci-Fi programs, as presented 7 in box 254. This short list of Sci-Fi programs is then presented in the UI as a 8 closed loop list which can be cycled by the viewer for selection of a particular program.
Fig. 10 demonstrates a restrictive query which functions to filter out and 11 remove programs which are prohibited under the query. In this example, the EPG 12 applies a restrictive query filter 256 to the program set 250 in the EPG database 13 which eliminates programs rated PG or R. The short list provided in box 258 is 14 without PG or R rated programs.
Figs. I I and 12 illustrate another aspect of this invention in which the EPG I (' is configured to merge multiple queries into a unified query. Suppose, for 17 example, that multiple members in a family want to watch a program together, but 18 are not sure which program. Typically, each family member individually scans the 19 program listings, or surfs the channels, to find one or two program s they are most interested in watching. After everyone is through with his or her independent 21 search, they discuss about which program to watch. The EPG 164 eliminates this 22 problem by creating complex composite queries which merge multiple simple 23 single queries.
24 Fig. 11 shows an example Ul window 260 having a folder organization 25 which maintains queries for individual viewers. In this example, a family of 28 1 four-Dad, Mom, John, and Sue-each have their own tab and folder which lists 2 their personalized queries. That is, each family member has previously defined 3 one or more queries and stored them in their personal folder. The Mom folder 4 holds queries for musical programs, programs on France, and the Seinfeld program. Table 1 shows the queries for all family members.
6 7 Table 1: Family Queries 8 Family Mmbe Queries 9 Dad Sports, Comedies Mom Musicals, France, Seinfeld 11 John Star Trek, Action 12 Sue Cartoons, No R-rated 13 14 When the family sits down to watch a program together, one viewer can execute a merge query that effectively combines these independent queries using, 16 for example, an OR function. The Boolean OR function returns a true result if any 17 one of the parameter sets is met. In Fig. 12, a program set 262 is filtered using 18 Dad's query filter(s) 264, Mom's query filter(s) 266, John's query filter(s) 268, 19 and Sue's query filter(s) 270. The programs satisfying at least one of these queries is placed in the program pool 272, from which the family members can choose a 21 program. It is noted that the family filter can be alternatively set to combine using 22 a set intersect method or Boolean AND function which returns a program only if 23 the query parameter sets of each family member is met.
24 Notice that some programs are listed because they satisfy a single query (e.g., US Open Golf is selected by Dad's query filter 264). Other programs may 29 1 satisfy more than one query. For example, the program "Seinfeld" satisfies Mom's 2 Seinfeld query and Dad's comedies query. The animated movie "Aristocats" 3 satisfies Mom's France query and Sue's cartoon query.
4 Fig. 13 illustrates the data flow for the programming data used by the EPG application, and how the query filters act to pare the data. Suppose that the viewer 6 is watching the viewer computing unit 60 at 1:00 PM, as indicated by the clock 7 280. Broadcast digital video and audio data, along with the digital programming 8 data, are received from the satellite system at satellite receiver 50. The 9 programming data is cached in the local EPG database 72. In this illustration, the EPG database is shown as having twelve programs with start times ranging from I 1 1:00 PM to 8:00 PM. This represents a tiny fraction of available programs, as the 12 EPG database 72 can store thousands of programs that are available over hundreds 13 to thousands of channels.
14 The viewer has defined a restrictive query 282 that removes all Sci-Fi programs from the active EPG UI 170. In this case, the programs "Star Trek," 16 "Aliens," and "Star Wars" are eliminated from the EPG Ul 170. Now, suppose the 17 viewer decides to watch CNBC Market Wrap at 1:00 PM. The viewer selects the 18 program by highlighting and clicking on the Market Wrap program tile in the EPG 19 UI 170. The tuner in the viewer computing unit tunes to the channel carrying the selected program and the digital video data for Market Wrap is sent to the VGA 21 monitor.
22 According to another aspect of this invention, the viewer can define queries 23 that continue to execute in background. The viewer defines the query to identify a
24 topic of interest, such as any programs concerning the Great Wall of China or any programs starring Clint Eastwood. The query is stored and periodically executed I to determine if there are any programs which relate to the topic. When the query 2 identifies a program related to the topic, the EPG automatically notifies the viewer.
3 Fig. 13 shows two queries that execute in background. The first query 284
4 identifies and notifies the viewer of all "Seinfeld" programs and the second query 286 identifies and notifies the viewer of all Clint Eastwood movies. When the 6 viewer looks at the upcoming schedule for 2:00 PM, the EPG Ul 288 shows all 7 programs from the filtered version of the EPG Ul 170 which show at 2:00 PM, 8 such as the US Open Golf and Seinfeld. The EPG UI 288 also shows any 9 programs identified by the background queries as a result of searching the EPG database 72. Here, the background queries 284 and 286 identified a Seinfeld
11 program playing at 2:00 PM and a Clint Eastwood movie "Pale Rider" at 6:00 PM.
12 Since there is a conflict at 2:00 PM, the viewer can choose between theSeinfeld 13 program and the US Open Golf program.
14 Since the movie Pale Rider is not until 6:00 PM, the viewer can place a notification icon 290 on the screen to remind him/her of the program. The viewer 16 clicks on the program, drags it from the EPG UI 288, and drops it at another 17 location on the screen. The drag-and-drop operation results in creation of an 18 instruction to tune the visual display unit to the program upon activation of the 19 icon. The EPG can flash the icon, or cause some other visual change, when the start time of the program nears.
21 The EPG can also automatically create these reminders, without 22 intervention of the viewer. When the EPG identifies a program, such as Pale Rider 23 in response to the background query 286, the EPG can be configured to
24 automatically set an icon 290 on the screen for the viewer. The viewer can also set an option for the EPG to initiate recording of the program in the event that the 31 viewer does not timely activate the icon prior to the scheduled viewing time. In 2 this manner, if the viewer is unable to watch the program at the schedule time, the 3 EPG intelligently queries the database for upcoming programs, identifies any 4 programs that meet the viewer's search parameters, notifies the viewer, and records the program if the viewer is unable to watch it. There are other 6 triggerable events that may be set based on the queries, such as automatically 7 downloading information about the identified program, calling particular content 8 from the Web, or launching a purchasing application to purchase goods related to 9 the identified program.
This example illustrates concurrent use of multiple filters including 11 personal background filters and an active general filter. The EPG can be
12 configured to perform any number of queries, such as any restrictive queries for 13 the logged on viewers, then any general queries, and then any background queries
14 to filter the programs found in the EPG database to a manageable set of preferred programs.
16 Another aspect of this invention is to provide queries which filter 17 information from the EPG database and from one or more Web sites on the 18 Internet. The query results can be presented to the user in a single Ul. The queries 19 for the Web sites or other information on the Internet can be active queries that readily filter during online communication with the Internet, or queries that filter 21 information in a local cache filled with Internet data.
22 Fig. 14 is similar to the arrangement of Fig. 13, but shows the effect of 23 queries operating on both the EPG database and an Internet Web site. Fig. 14 24 shows two queries, an EPG database query 282 which filters data in the EPG database 72 to remove all science fiction programs and a Web cache query 292 32 I which filters a Web cache 294 to locate only news programs. The Web cache 294 2 contains recently retrieved from one or more Web sites on the Internet.
3 The results of the two queries are displayed together on UI 296 to present a 4 list of options to the viewer. The viewer can optionally select programs served by the content provider over the primary distribution network, or content served by 6 the Internet provider over the Internet. By using an integrated UI 296, the viewer 7 might be unaware as to the source of the content.
8 Fig. 15 shows a quick find window 300 supported by the EPG application 9 164 which presents another technique for creating a query. This technique enables a viewer to enter data from a numeric keypad on the remote control handset. The I I numeric keypad is a conventional 0-9 digit keypad. Numbered keys 2-9 also have 12 letters associated with them, similar to a conventional telephone, except the 13 number "7" key includes the letter Q and the number "9" key includes the letter Z.
14 Table 2 shows the association of the numbered keys and letters.
16 Table 2: Association of Letters to Numbered Keypad 17 Key Associated Letters 18 1 19 2 A, B, C 3 D, E, F 21 4 G, H, I 22 5 J, K, L 23 6 M, N, 0 24 7 P, Q, R, S 8 T, U, V 33 1 9 W, X Y, Z 2 0 3 4 Suppose a viewer wants to watch a particular program or network, but cannot remember what channel it is on. Remember, there are expected to be 6 hundreds or thousands of channels, and trying to locate a particular program or 7 network by memorizing each channel number may prove futile. To decouple the 8 association of channel numbers to networks and programs, the EPG enables the 9 viewer to enter data from the I 0-key keypad for both channel numbers or I etters in tile program or network name. The EPG performs the mapping to identify any 11 program, channel, or network that matches the entered data.
12 The quick find window 300 is activated by pressing one of the keys on the 13 remote control handset. With quick find active, the viewer presses individual keys 14 on the remote control handset to enter data, one digit at a time. As each key is depressed, however, the EPG does not know if the viewer intends to enter a 16 number or a letter. Accordingly, for each key, the EPG constructs a query which 17 interprets the data as possibly representing a number or one of the letters 18 - associated with the numeric key. The EPG then executes the query to identify any 19 EPG data item (i.e., channel, program, network, etc.) that satisfies the query. As the viewer continues to enter digits, the EPG constructs and executes queries to 21 continuously narrow the list until only a few EPG data items satisfy them.
22 With reference to the example shown in Fig. 15, suppose the viewer is 23 interested in watching the Orlando Magic basketball team. The viewer activates 24 the quick find window 300 and begins entering the word "Magic." The viewer first depresses the "6"-key, which has the associated letters M, N, and 0, to enter 34 I the letter "M" in "Magic." The EPG constructs a query for all EPG items 2 beginning with the digit "6," "M, N, or"O." In Boolean logic terms, the query 3 is represented as follows:
4 Query 1 = 6 or M or N or 0 6 7 The symbol "" means that any digit or digits can follow the number or 8 letter shown. The query returns a long list of items, including the following 9 examples:
I I Quej 1: 6 or M or N or 0 12 MTV 13 Chicago Bulls at Orlando Magic 14 Seattle Mariners v. Boston Red Sox Market Wrap 16 Magical World of Science 17 Magic Kingdom at Disney World 18 Orlando Magic v. Chicago Bulls 19 Nashville Live NBC 21 Nick-at-Night 22 Outer Limits 23 Oprah 24 Channel6 Channel6l 2 3 4 The viewer next depresses the "2"-key, which has the associated letters A, B, and C, to enter the letter "a" in "Magic." The EPG constructs a query for all 6 EPG items in the first list having a next digit beginning with "2," "A B," or 7 "C." In Boolean logic terms, the query is represented as follows:
8 Query 2 = 62 or MA or MB or MC or NA or NB or NC 9 or OA or OB or OC The query returns a shorter list of items, including the following examples:
11 12 Quejy-2 13 Chicago Bulls at Orlando Magic 14 Seattle Mariners v. Boston Red Sox Market Wrap 16 Magical World of Science 17 Magic Kingdom at Disney World 18 Orlando Magic v. Chicago Bulls 19 Nashville Live NBC 21 Channe162 22 Channe1621 23 24 25 36 The viewer next depresses the 'W'-key, which has the associated letters G, 2 H, and I, to enter the letter "g" in "Magic." The EPG constructs a query for all 3 EPG items in the first list having a next digit beginning with "4," "G...... H," or 1.51 4 In Boolean logic terms, the query is represented as follows:
6 Query 3 = 624 or MAG or MAH or MAI or MBG or MBH 7... or OCG or OCH or OCI 8 9 The query returns a much shorter list of items, including the following:
I I Quely 3 12 Chicago Bulls at Orlando Magic 13 Magical World of Science 14 Magic Kingdom at Disney World Orlando Magic v. Chicago Bulls 16 Channe1624 17 18 By entry of the third digit-the letter "g"-the list of possible programs, 19 networks and channels has been dramatically reduced to a short list that can be presented to the viewer. If the viewer continues to enter the letters "i" and "c" in 21 "Magic," the list is pared down to four items shown in the quick find window 300 22 in Fig. 15. The viewer can then choose a program from the list by clicking on the 23 appropriate program title. In response, the viewer computing unit tunes to the 24 channel carrying the selected program.
37 I An alternative technique to searching on each number or letter is to pre-map 2 the program and network names into associated identification numbers which can 3 be stored as part of the data record in the EPG database. For instance, the network 4 name MTV has an associated identification number "688," where the letter "M" is mapped to the number "6," the letter "T" is mapped to the number "8," and the 6 letter "V" is mapped to the number "S." With this pre-mapped identification 7 number, the EPG can simply search on each numerical data and return all channel 8 numbers, and all programs with identification numbers satisfying the query.
9 The quick find feature is very useful to the viewer. The viewer need not use the remote keyboard to enter names of programs or networks (although the I I keyboard may be used). Instead, the viewer enters the data using the I O-key 12 keypad on the remote control handset and the EPG simultaneously considers all 13 possible meanings of the data. Although this may seem laborious, entry of just a 14 few digits (e.g., 3 to 6) is often sufficient to reduce the set of possible channel numbers, programs, and network names to only a few which can be conveniently 16 displayed to the viewer.
17 The quick find feature is described above as performing a new set of 18 queries after each digit is entered. However, the EPG can be alternatively 19 configured to await entry of multiple digits before performing the queries. For instance, the EPG can keep track of the sequence of entered digits, and the various 21 permutations of possible letter combinations within the sequence, and then 22 subsequently perform queries on those possibilities.
23 It is noted that the above example describes the viewer as entering data 24 using a keypad on the remote control handset. In other embodiments, the EPG is configured to present a keypad of soft buttons (i.e., buttons shown as part of the 38 1 graphical UI on the monitor) which the viewer can select using a handset or some 2 other remote device to enter the data. Additionally, the viewer can enter channel 3 numbers, program names, and network names using the remote keyboard.
4 It is noted that the term "program" is represented in examples as traditional television shows, or movies. The term "program" is not to be limited, however, to 6 only these forms of programming. The term "program" is to be given a broad 7 meaning, including any type of information or data that can be carried over a 8 network. or stored locally. Examples of "programs" include TV-like shows, 9 movies, games, interactive supplemental data, financial records or programs, educational materials, communications records, software, document files, and the 11 like.
12 The query-base EPG system described herein is advantageous because it 13 effectively decouples the association of channel from network and programs. The 14 viewer can create simple queries to search on prearranged categories or complex queries to search across arbitrary fields. The EPG permits viewers to merge their
16 individual queries into a composite query, which offers tremendous convenience 17 for groups of viewers. The EPG also permits a viewer to save queries in a 18 convenient hierarchic structure. The saved queries can also be loaded into a start 19 menu for execution each time the viewer boots the viewer computing unit.
The invention has been described in language more or less specific as to 21 structural and methodical features. It is to be understood, however, that the 22 invention is not limited to the specific features described, since the means herein 23 disclosed comprise preferred forms of putting the invention into effect. The 24 invention is, therefore, claimed in any of its forms or modifications within the 39 1 1 proper scope of the appended claims appropriately interpreted in accordance with the doctrine of equivalents.
6 7 8 9 10 11 12 13 14 is 16 17 18 19 20 21 22 23 24 25

Claims (7)

Claims
1. A method for operating an electronic program guide comprising the following steps:
creating a restriction query having one or more search parameters; and precluding selection of any program, channel, or network which satisfies the search parameters in the restriction query.
2. A method as recited in claim 1, wherein the search parameters are selected from a parameter group comprising genre, sub-genre, rating, time of day, and length of time watched.
3. A method as recited in claim 1 or 2, further comprising the step of saving the query in a hierarchic query structure.
4. A method as recited in any one of claims 1 to 3, further comprising the step of saving the query as an icon.
5. An electronic program guide resident in a computer-readable storage medium and executable on a processor to perform the steps of the method recited in any one of 20 claims 1 to 4.
6. A viewer computing unit programmed to perform the steps of the method recited in any one of claims 1 to 4.
7. A computer-readable storage medium which directs a computer to perform the steps of the method recited in any one of claims 1 to 4.
GB9926882A 1997-03-31 1998-03-17 Query-based electronic program guide Expired - Lifetime GB2340634B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US82870997A 1997-03-31 1997-03-31
GB9805687A GB2325537B8 (en) 1997-03-31 1998-03-17 Query-based electronic program guide

Publications (3)

Publication Number Publication Date
GB9926882D0 GB9926882D0 (en) 2000-01-12
GB2340634A true GB2340634A (en) 2000-02-23
GB2340634B GB2340634B (en) 2001-04-18

Family

ID=26313293

Family Applications (6)

Application Number Title Priority Date Filing Date
GB9926878A Expired - Lifetime GB2340633B (en) 1997-03-31 1998-03-17 Query-based electronic program guide
GB9926882A Expired - Lifetime GB2340634B (en) 1997-03-31 1998-03-17 Query-based electronic program guide
GB9926883A Expired - Lifetime GB2340635B (en) 1997-03-31 1998-03-17 Query-based electronic program guide
GB9926888A Expired - Lifetime GB2340637B (en) 1997-03-31 1998-03-17 Query-based electronic program guide
GB9926885A Expired - Lifetime GB2340636B (en) 1997-03-31 1998-03-17 Query-based electronic program guide
GB9926891A Expired - Lifetime GB2340638B (en) 1997-03-31 1998-03-17 Query-based electronic program guide

Family Applications Before (1)

Application Number Title Priority Date Filing Date
GB9926878A Expired - Lifetime GB2340633B (en) 1997-03-31 1998-03-17 Query-based electronic program guide

Family Applications After (4)

Application Number Title Priority Date Filing Date
GB9926883A Expired - Lifetime GB2340635B (en) 1997-03-31 1998-03-17 Query-based electronic program guide
GB9926888A Expired - Lifetime GB2340637B (en) 1997-03-31 1998-03-17 Query-based electronic program guide
GB9926885A Expired - Lifetime GB2340636B (en) 1997-03-31 1998-03-17 Query-based electronic program guide
GB9926891A Expired - Lifetime GB2340638B (en) 1997-03-31 1998-03-17 Query-based electronic program guide

Country Status (1)

Country Link
GB (6) GB2340633B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1345134A2 (en) * 2002-03-15 2003-09-17 Yamaha Corporation Information searching system

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728713B1 (en) 1999-03-30 2004-04-27 Tivo, Inc. Distributed database management system
US7543325B2 (en) 1999-03-30 2009-06-02 Tivo Inc. System for remotely controlling client recording and storage behavior
GB2354089B (en) * 1999-09-08 2003-09-17 Sony Uk Ltd Artificial intelligence user profiling
US20030182567A1 (en) 1999-10-20 2003-09-25 Tivo Inc. Client-side multimedia content targeting system
AU2262601A (en) * 1999-12-21 2001-07-03 Tivo, Inc. Intelligent system and methods of recommending media content items based on userpreferences
US7882520B2 (en) 2000-12-20 2011-02-01 Tivo Inc. Broadcast program recording overrun and underrun scheduling system
US6484164B1 (en) * 2000-03-29 2002-11-19 Koninklijke Philips Electronics N.V. Data search user interface with ergonomic mechanism for user profile definition and manipulation
US6662177B1 (en) * 2000-03-29 2003-12-09 Koninklijke Philips Electronics N.V. Search user interface providing mechanism for manipulation of explicit and implicit criteria
AU2001253311A1 (en) 2000-04-10 2001-10-23 United Video Properties, Inc. Interactive media guide with media guidance interface
US6772434B1 (en) 2000-05-24 2004-08-03 The Directv Group, Inc. Device and method for the integrated presentation of a secondary service as a part of a primary service
AU2001268320A1 (en) * 2000-06-12 2001-12-24 Cachestream Corporation Personalized content management
US8843965B1 (en) 2000-09-20 2014-09-23 Kaushal Kurapati Method and apparatus for generating recommendation scores using implicit and explicit viewing preferences
US7131134B2 (en) 2001-05-08 2006-10-31 Koninklijke Philips Electronics N.V. Evening planner
US7475416B2 (en) 2001-06-13 2009-01-06 Microsoft Corporation System and methods for searching interactive broadcast data
US20040078807A1 (en) * 2002-06-27 2004-04-22 Fries Robert M. Aggregated EPG manager
EP1571835A4 (en) 2002-12-12 2010-10-20 Sony Corp Information processing device and information processing method, information processing system, recording medium, and program
US7885963B2 (en) 2003-03-24 2011-02-08 Microsoft Corporation Free text and attribute searching of electronic program guide (EPG) data
US9179195B2 (en) * 2004-12-15 2015-11-03 Microsoft Technology Licensing, Llc Searching electronic program guide data
KR100850198B1 (en) * 2007-01-03 2008-08-04 삼성전자주식회사 Apparatus and method for digital broadcasting information for providing in portable communication system
KR20100021858A (en) * 2008-08-18 2010-02-26 삼성전자주식회사 Broadcast processing apparatus and control method thereof
KR20110024125A (en) * 2009-09-01 2011-03-09 엘지전자 주식회사 Apparatus for displaying image and method for operating the same
EP3726845A1 (en) * 2019-04-15 2020-10-21 Advanced Digital Broadcast S.A. System and method for electronic program guide data searching

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4706121A (en) * 1985-07-12 1987-11-10 Patrick Young TV schedule system and process
WO1994014284A1 (en) * 1992-12-09 1994-06-23 Discovery Communications, Inc. Reprogrammable terminal for suggesting programs offered on a television program delivery system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4230912A1 (en) * 1992-02-21 1993-08-26 Bosch Gmbh Robert METHOD FOR ENTERING ALPHANUMERIC INFORMATION
JP3500741B2 (en) * 1994-03-01 2004-02-23 ソニー株式会社 Channel selection method and channel selection device for television broadcasting
CA2170429C (en) * 1995-03-28 2000-04-25 Stephen Gregory Eick Method and apparatus for finding and selecting a desired data item from a large schedule of data items using a tv set and a controller similar to a tv-remote-control
DE19525336B4 (en) * 1995-07-12 2006-04-13 Deutsche Thomson-Brandt Gmbh System with a telecommunications device
US5867226A (en) * 1995-11-17 1999-02-02 Thomson Consumer Electronics, Inc. Scheduler employing a predictive agent for use in a television receiver
DE69634642T2 (en) * 1995-11-17 2006-03-02 Thomson Consumer Electronics, Inc., Indianapolis Method for locating a program by searching in a program guide for search criteria
US6163316A (en) * 1997-01-03 2000-12-19 Texas Instruments Incorporated Electronic programming system and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4706121A (en) * 1985-07-12 1987-11-10 Patrick Young TV schedule system and process
US4706121B1 (en) * 1985-07-12 1993-12-14 Insight Telecast, Inc. Tv schedule system and process
WO1994014284A1 (en) * 1992-12-09 1994-06-23 Discovery Communications, Inc. Reprogrammable terminal for suggesting programs offered on a television program delivery system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1345134A2 (en) * 2002-03-15 2003-09-17 Yamaha Corporation Information searching system
EP1345134A3 (en) * 2002-03-15 2004-12-01 Yamaha Corporation Information searching system

Also Published As

Publication number Publication date
GB9926885D0 (en) 2000-01-12
GB2340634B (en) 2001-04-18
GB9926882D0 (en) 2000-01-12
GB9926888D0 (en) 2000-01-12
GB2340633B (en) 2001-01-10
GB2340638B (en) 2000-08-09
GB2340636B (en) 2000-08-09
GB9926878D0 (en) 2000-01-12
GB2340633A (en) 2000-02-23
GB2340636A (en) 2000-02-23
GB2340637B (en) 2001-01-10
GB2340635A (en) 2000-02-23
GB9926883D0 (en) 2000-01-12
GB2340635B (en) 2000-08-09
GB2340638A (en) 2000-02-23
GB9926891D0 (en) 2000-01-12
GB2340637A (en) 2000-02-23

Similar Documents

Publication Publication Date Title
US8051450B2 (en) Query-based electronic program guide
US7779440B2 (en) Apparatus and method for constrained selection of favorite channels
US6774926B1 (en) Personal television channel system
GB2340634A (en) An electronic programme guide with restrictive queries
US20060026639A1 (en) Interactive program information page and related methods
EP3343904A1 (en) Systems and methods for a modular media guidance dashboard application
CA2352780A1 (en) Electronic program guide with related-program search feature
EP1058875B1 (en) Method and system for navigating through content in an organized and categorized fashion
GB2353123A (en) Searching for programmes of interest using both an EPG and the internet

Legal Events

Date Code Title Description
732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)

Free format text: REGISTERED BETWEEN 20150514 AND 20150520

PE20 Patent expired after termination of 20 years

Expiry date: 20180316