`
`(22) Date of Filing 17.03.1998
`
`{30) Priority Data
`(31)
`08828709
`
`(32) 31.03.1997
`
`(33) US
`
`{71) Applicant(s)
`Microsoft
`(incorporated in USA - Washington)
`One Microsoft Way, Redmond, WA 98052-6399,
`United States of America
`
`(72)
`
`Inventor(s)
`James O Robarts
`David S Byrne
`Steve Fiuegel
`Gabe Newell
`Dan Newell
`Kenneth Abbott
`
`
`
`(43) Date of A Publication 25.11.1998
`
`(51)
`
`INTCL®
`HO4N 7/088 , GO6F 17/30
`
`(52) UK CL(Edition P)
`G4A AUDB
`H4F FBB FD22 FD24
`U1S $2206
`
`(56) Documents Cited
`EP 0758833 A2 EP 0705036A2 WO 97/46011 A1
`WO97/02702 A2 WO 94/14284 A1 US 5606691 A
`US 5223924 A
`
`(58)
`
`Field of Search
`UKCL(Edition P) G4A AUDB , H4F FBB
`INT CL® GO6F 17/30 , HO4N 7/088
`Online: WPI
`
`aa JK Patent Application «»GB «2325 537 asA
`
`(74) Agent and/or Address for Service
`Withers & Rogers
`4 Dyer’s Buildings, Holborn, LONDON, EC1N 20P,
`United Kingdom
`
`
`(54) Abstract Title
`An electronic television programme guide
`
`(57) An electronic programme guide (EPG) databaseis interrogated to produce a list of programmes that may
`be of interest to a viewer. Queries may be composedbyusers or may be developed automatically by
`inspection of viewing habits or viewer profiles. Viewer profiles may be produced byinterrogation of the
`viewer. User queries may be stored hierarchically and queries relating to different viewers may be merged.
`Queries may be allowed to run continually to uncover programmes ofinterest as they arise in the EPG.
`Queries mayrestrict selection of certain categories. A 10-key alphanumeric keypad may be used to enter query
`data. The EPG interprets the data from each key to mean anyof the numbers orletters associated therewith
`andidentifies all possible programmesand channels and networks. As the viewer continues to addletters or
`numbers,the list narrows dynamically unti) only a few choices remain. The EPG data maybe transmitted with
`the TV signals and may contain links to Web pages.
`
`eo
`
`At least one drawingoriginally filed was informal and the print reproduced hereis taken fromalaterfiled formal copy. >
`
`P. 1
`
`SONY - Ex.-1008
`Sony Corporation - Petitioner
`
`
`
`
`
`=ETV--TVHOST,INC
`
`FileEditViewDateSearch
`
`
`
`EditorialUserHelp
`
`
`
`
`
`Educational:Teach
`
`Rating
`
`Educational:Science
`
`;-|Search--Untitled
`
`Childrens
`
`
`
`Business:Finance
`
`Business:Business
`
`Business:investment
`
`
`
`Date/TimeField
`
`
`
`P.3
`
`
`
`
`
`
`
`
`SEPARATOR
`CONTENT“
`PROGRAM«<INFO
`
`VIDEO/AUDIODATA
`
`yw
`
`—50
`
`aa
`
`—72
`
`INFORMATION
`
`
`
`MEDIASERVER
`
`SERVER
`
`PROGRAM
`
`P.4
`
`
`
`
`
`NEXTGEN.
`
`STARTREK
`
`STEREO
`
`rH|tec
`woaoew|ox
`
`YES
`
`startrek.htmi
`
`seinfeld.html
`
`CONTENT1
`
`CONTENT
`
`
`BOM|cas
`
`TIMENETWORK
`http:/Avww.collections.com/
`
`trekiecollectables.html
`http:/Avwww.nbc.com/
`http:/Awww.fox.com/
`SUPPLEMENTAL
`
`"DeltaVega"Picardisfaced....
`
`
`“TheFriarsClub"Jerrytries...
`
`
`
`DESCRIPTION
`
`
`
`
`
`
`
`"TheSecretofGilaJunction"Jessica...
`
`P.5
`
`
`
`
`VIDEO
`122—
`
`VCR > piaver
`|
`a,
`
`
`72 | ‘GAME
`(ANALOG
`
`Tv
`
`«+s; MONITOR
`VIDEO
`SUBSYSTEM
`5
`
`118
`
`|"
`
`ms
`
`~\
`
`50
`
`EPG
`
`|
`
`DIGITAL DATA
`—tx
`| RECEIVER |
`.
`DATABASE)
`124
`
`TUNER
`7
`
`"
`
`
`L442
`
`106
`
`MEMORY
`
`
`OPERATING
`160
`SYSTEM
`
`~
`
`
`
`
`
`
`CHANNEL
`
`BROWSER
`
`162
`
`164
`
`166
`
`rennetnen
`
`142
`
`138
`
`lew
`De
`a leery
`150
`162
`("cD
`AUDIO
`(MODE)
`ake
`10
`
`ORMETester omJBOARDi
`
`EDD
`
`LPT) 68 INTERNET/
`1
`
`| REMOTE
`CHANNEL
`RECEIVER
`
`
`} =OooO
`—/
`
`148
`
`134
`
`STEREO
`
`SYSTEM
`
`P.6
`
`
`
`workercausemoreworkforElaine.More
`
`
`
`8:00PM6:30PM
`"TheFriersClub"JerrytriestojointheFriarsClub;anewco-
`
`
`
`192
`
`196198200
`
`P.7
`
`
`
`Biz
`
`Program Name
`
`
`
`
`
`O Find All Execpt /
`226
`
`
`
`
`
`G
`PG PGs RNC
`Network
`
` [allprograms>[wv]
`<all networks>
`|W]
`
`
`
`
`The Maltese Falcon
`46 HBO_Last Action Hero
`
`Thunderball
`
`
`
`222
`
`228
`
`232
`
`© Find
`
`O Don't Find
`
`Rated
`
`Network
`
`Channel
`
`PG PGs RNC
`G
`Program Name
`
`
`
`Keyword
`
`Shown Between
`E00pm ana fkO0em
`
`Remove Tab] (Open—]Save
`
`P.8
`
`
`
`ProgramNameProgramName
`Gilligan's Island
`Silent Running
`Silent Running
`Star Trek
`Star Trek
`Deliverance
`The Price is Right
`Aliens
`Pale Rider
`
`i
`
`i
`i
`
`aetae.‘
`
`Pale Rider
`
`[ir
`
`.
`
`ProaramName| FrosramName
`
`Gilligan's Island
`Gilligan's Island
`Series
`Silent Running
`The Price is Right Series
`Star Trek
`Toy Storey
`Movie
`The Price is Right
`
`i
`j
`
`P.9
`
`
`
`Qe
`
`Ten eat
`
`
`
`
`Eile Edit View Date Search Editorial User HelpMeleEdtYowpulaSearchleertop|Edimpel
`LL
`
`Seinfeld
`
`Musicals
`France
`
`} |
`
`}
`
`/
`
`264
`
`
`St| ProgramName Genre Sub-Genre date ProgramName
`
`Genre
`Sub-Genre |
`
`Aristocats
`Movie
`Movie
`Movie
`Movie
`| Aristocats
`| USOpenGolf
`Special
`Sports +
`266| USOpenGolf
`Special
`Sports
`StarTrek
`Series
`Sci-Fi <a
`Sound of Music
`Movie
`Musical
`The Price is Right Series
`Gameshow
`Speed
`Movie
`Action
`}8 Winnie the Pooh
`Pale Rider
`Movie Westen
`Series
`Cartoon
`Sound of Music
`Movie
`Musical
`Europe Today
`Series
`Travel
`Seinfeld
`Series
`Comedy
`Speed
`Movie
`Action
`Winnie the Pooh
`Series
`Cartoon
`Europe Today
`Series
`Travel
`Seinfeld
`Series
`Comedy
`
`Mom's
`:
`Query Filter
`|
`268]
`><
`| *
`\
`John's
`Query Filter
`|
`270|
`'__/~gues |
`—\_ Query Filter
`
`Query Filter
`
`+
`
`Fig. (2
`
`
`
`(oli
`
`oIsnwjopunos
`
`
`
`Aon807}
`
`JOplyaed
`
`00:9
`
`00:9
`
`00:8
`
`
`
`ainpeyss00:z
`
`sOuedoSn
`
`
`
`JOply9j/ed
`
`00:2
`
`00:9
`
`playuies
`00:2
`
`y8c-—
`shemvJ
`
`playuies
`
`~
`
`€6|.ob
`
`082
`
`on
`
`INDd3
`
`eZ
`
`“9oe
`
`plajulas
`00:2
`
`00-1
`
`OpBJSAIIS
`
`KioygAoy
`
`yeido
`
`00:2
`
`00:€
`
`00:7
`
`00:S
`
`sOuedoS/N
`
`des}OveEW
`14-195ONwe
`_
`(mshon
`
`
`aIsnWsOpUNnoS00°8
`WopuedQSn00:2
`
`desjouey
`eseqejeqOd3
`
`fon}a007}00:9
`
`JaplyaJ€q00:9
`SIBAAJEIS:
`
`
` KigysAol=90'Spasuieg=002
`OpelaA|IS=00-E
`YILIEIS00:2
`yesdQ=00'
`SsualiyOEE
`
`
`
`
`
`
`
`fiz
`
`09
`
`SwenOaNsW
`RINJOueEW
`
`PIajUIES
`
`HODvedoSN
`
`OpesAAIIS
`
`yesdo
`
`I4-19SON
`
`Joyi4yAiand
`
`a
`
`0Duedosn
`
`OPBJONIIS
`
`
`
`4O1|,JEIS
`
`Playuias
`
`SUI
`
`yesdo
`
`b)OE
`
`eyoedGoM
`
`yeydyoo
`
`
`
`LO}uooR
`
`
`
`SME8NDENSW00:1
`
`c8C
`
`
`
`
`
`desjouey
`
`
`
`
`
`
`
`jZ ie
`
`/-
`
`ae
`
`Telia aie
`Enter Network or Program Name
`
`Tourof the Magic Kingdom at Disney World
`
`Network
`
`Program Name
`
`Orlando Magic v. Chicago Bulls
`Chicago Bulls at Orlando Magic
`Magical World of Science
`
`
`
`2325537
`
`TECHNICALFIELD
`
`QUERY-BASED ELECTRONIC PROGRAM GUIDE
`
`This invention relates to entertainment systems,
`
`such as
`
`interactive
`
`television or interactive computing network systems, and to electronic program
`
`guides which operate in conjunction with these systems. Moreparticularly, this
`
`invention relates to methods for operating electronic program guides using auto-
`
`generated and viewer-generated queries
`
`to
`
`identify programs or other
`
`programming information.
`
`
`
`BACKGROUNDOFTHEINVENTION
`
`Television viewers are very familiar with printed programming schedules
`
`that appear in daily newspapers or weekly magazines, such as TV Guide®. The
`
`printed program guide lists the various television shows in relation to their
`
`scheduled viewing time on a day-to-day basis.
`
`Cable TV systems often include a channel with a video broadcast of the
`
`printed program guide. The cable channel is dedicated to displaying listings of
`
`programs available on the different available channels. Thelistings are commonly
`
`arranged in a grid. Each column ofthe grid represents a particular time slot, such
`
`as 4:00 p.m. to 4:30 p.m. Each row represents a particular broadcast or cable
`
`channel, such as ABC, PBS, or ESPN. The various scheduled programs or shows
`
`20
`
`21
`
`22
`
`are arranged within the rows and columns, indicating the channels and times at
`
`which they can be found. The grid is continuously scrolled vertically so that a
`
`viewer watches a continuously refreshing set of programs within three or four time
`
`slots.
`
`Data for available programs is typically received by a cable system as a
`
`plurality of data records. Each available program has a single corresponding data
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`record indicating a variety of information about the program suchasits channel,its
`
`
`
`
`
`
`
`
`
`
`
`starting and ending times,
`its title, names of starring actors, whether closed-
`
`
`
`
`
`
`
`
`
`
`
`captioning andstereo are available, and perhapsa brief description of the program.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`
`
`
`broadcast repeatedly and continuously to the thousands of homes served by the
`
`
`cable system.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Newer, interactive cable distribution systems feature electronic program
`
`
`
`
`
`
`
`
`
`
`guides (EPGs) which function somewhat similar to the broadcast program listing
`
`
`
`
`
`
`
`
`
`channels described above. Rather than scrolling automatically, however, an EPG
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`allows a viewer to use a remote control device or other input device to scroll as
`
`
`
`
`
`
`
`
`
`
`desired both horizontally and vertically through a program gnd. This functionality
`
`
`
`
`
`
`
`
`
`utilizes the two-way communications capabilities of interactive cable systems.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The EPGis typically implemented in software which runs onaset-top box
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`(STB) connected between a TV and a cable system home entry line. When
`
`
`
`
`
`
`
`
`
`
`
`
`scrolling to a new column or row,
`the set-top box inserts the appropriate
`
`
`
`
`
`
`
`
`
`
`
`programming information into each new row or column. This information is either
`
`
`
`
`
`
`
`
`
`
`
`cached at the STB, or requested from the cable system’s headend.
`
`
`
`
`
`
`
`
`
`
`Interactive systems permit viewers to control what programs are shown on
`
`
`
`
`
`
`
`
`
`
`
`their TV and when. Movies-on-demandis one example ofthis interactive control.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`A viewer can peruse a list of available movies from the EPG, and then order a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`selected movie. The STB sends a request for the movie to the headend server.
`
`
`
`
`
`
`
`
`
`
`The movieis retrieved and transmitted to the requesting STB. Movies-on-demand
`
`
`
`
`
`
`
`
`
`
`
`
`
`thus enables viewers to shop, purchase, and watch a movie at their convenience, as
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`20
`
`
`21
`
`
`
`22
`
`
`23
`
`
`
`24
`
`
`
`25
`
`
`
`
`P. 15
`
`
`
`opposed to being restricted to certain start times as is typical with conventional
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`premium or pay-per-view channels.
`
`
`
`
`Many industry and commercial experts expect entertainment systems to
`
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`groceries or other goods, conduct banking and other financial transactions, play
`
`
`
`
`
`
`
`
`
`
`games, or attend educational courses and take exams.
`
`
`
`
`
`
`
`
`It is common
`Conventional distribution networks support many channels.
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`
`
`
`expected to increase dramatically to many hundreds, or even thousands of
`
`
`
`
`
`
`
`
`
`
`channels.
`
`
`
`
`
`
`
`
`
`
`One problem with the growth in the number of channels is that vastly
`
`
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`
`
`
`programs—such as memorizing channel numbers, scanning program grids, or
`
`
`
`
`
`
`
`
`random surfing—will become less effective as the number of channels increase.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`For example, imaginethe 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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`unworkable for large program and channel offerings. Additionally, surfing
`
`
`
`
`
`
`
`
`
`through hundreds or thousands of channels will likely consume a large amount of
`
`
`
`
`
`
`
`
`
`
`
`
`time, causing the viewer to miss the programshe/sheis attemptingto find.
`
`
`
`
`
`
`
`
`
`
`
`
`
`is also likely that
`the traditional practice of relating programs and
`
`
`
`
`
`
`
`
`
`
`
`
`networks to specific channels will become less meaningful as the number of
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`It
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`20
`
`21
`
`
`"2
`
`23
`
`24
`
`
`
`
`
`
`
`25
`
`
`
`
`
`P. 16
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`23
`
`
`
`24
`
`
`25
`
`
`
`
`
`
`
`
`
`for example, a viewer might be interested in
`Suppose,
`channels increases.
`
`
`
`
`
`
`
`
`
`
`
`watching football. Today, a viewer might remember that channel 6 (NBC) and
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`channel 3 (FOX) carry the football games and simply tune to one of these
`
`
`
`
`
`
`
`
`
`
`
`In the future, however, there might be football games being broadcast
`channels.
`
`
`
`
`
`
`
`
`
`
`
`
`
`on channels 78, 495, and 1042. These channels might be small local stations that
`
`
`
`
`
`
`
`
`
`
`
`
`
`are broadcasting their local football team, or one of many channels used by a
`
`
`
`
`
`
`
`
`
`
`
`
`major network. Viewers are not likely to remember that channels 78, 495, and
`
`
`
`
`
`
`
`
`1042 are carrying football games at specific times.
`
`
`
`
`
`
`
`
`
`
`
`Moreover, the correlation of channels to networks and programs vary from
`
`
`
`
`
`
`
`
`
`
`
`
`market to market. For instance, the sports network ESPN might be carried on
`
`
`
`
`
`
`
`
`
`
`
`
`channel 15 in one market and on channel 29 in another market. Memorizing
`
`
`
`
`
`
`
`
`
`
`
`
`program offerings in terms of channel numbers will prove frustrating as a viewer
`
`
`
`
`
`
`
`travels from one marketto the next.
`
`
`
`
`
`
`
`
`
`
`Accordingly, there is a need to develop operating methods which allow
`
`
`
`
`
`
`
`
`
`
`
`
`viewers to easily find programs or networks regardless of the channels on which
`
`
`
`
`
`
`
`
`
`
`
`they are carried. Additionally, these operating methods should enable viewers to
`
`
`
`
`
`
`
`
`
`locate programs regardless of whether they remember the channel number,
`
`
`
`
`
`program name, or network name.
`
`
`
`
`
`
`
`
`
`Toward this end, a company named TVHost, Inc. has developed a software-
`
`
`
`
`
`
`
`
`
`
`
`based product “ETV”which assists a viewerin locating particular programs. The
`
`
`
`
`
`
`
`
`
`ETV system organizes the different program offerings according to different
`
`
`
`
`
`
`
`
`
`
`
`topical categorizes. Fig.
`1 shows an example screen display of a graphical user
`
`
`
`
`
`
`
`
`
`
`
`
`
`interface (UI) window 20 supported by the ETV system. The ETV window 20 has
`
`
`
`
`
`
`
`
`
`
`
`
`
`a first pane 22 that lists alphabetically predefined types of programs, such as
`
`
`
`
`
`
`
`
`
`
`Business, Children, Educational, Game Shows, and so forth. The viewer can
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`P. 17
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`control a focus frameor highlight bar 24 to choose a type of program from thefirst
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`pane 22. A second pane 26 containsa list of programs that are available for the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`program type highlighted in the first pane 22. In this example, the type “business”
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`is highlighted, and hence business-related programs are shown in the second pane
`
`
`
`
`
`
`
`
`
`
`
`
`
`26. The second pane 26 also provides other programming information including
`
`
`
`
`
`
`
`
`
`
`start time, network or station, and duration.
`
`
`
`
`
`
`
`
`
`
`
`The ETV system thereby offers an alternative to a scrollable grid
`
`
`
`
`
`
`
`
`
`
`
`
`
`presentation which organizes programs according to type. This allows the viewer
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`to select a program type, and then review the programsoffered for this type. The
`
`
`
`
`
`
`
`
`
`
`
`
`
`ETV system also permits rudimentary “search” capabilities. Fig. 2 shows another
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`graphical UI window 30 which appears when performing a search. A first pane 32
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`contains a scrollable alphabetized list of stations, and allows a viewer to choose a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`station. A second pane 34 contains a scrollable alphabetized list of program types
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`these selections, the ETV system locates programs whichare ofa particular type,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`from the selected station, and satisfy the ratings andstart times.
`
`
`
`
`
`
`
`
`
`
`
`
`
`The ETV system is limited in many respects. The ETV system does not
`
`
`
`
`
`
`
`
`permit searches on arbitrary fields.
`
`
`
`
`
`
`
`Instead, the categories are predefined for the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`viewer. The vieweris not able to define his/her own complex searches using, for
`
`
`
`
`
`
`
`
`
`
`
`
`example, Boolean logic of “OR,” “AND,” and “NOT.” Another limitation is that
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the ETV system does not provide any active controls whichintelligently narrows
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`selections based upon viewerselections. An “active” control is a control that does
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`not require any other action on the part of the user. For instance, if a viewer
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`selects a station in pane 32 of the search window 30 (Fig.2), all program types will
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`20
`
`
`
`21
`
`
`22
`
`
`
`23
`
`
`
`24
`
`
`
`
`25
`
`
`
`
`P. 18
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`be listed in the second pane 34. In fact, the same lists will always occurin both the
`
`
`
`
`
`
`
`
`
`
`
`
`first and second panes 32, 34 regardless of what selections the viewer has
`
`
`
`
`
`
`
`
`
`
`
`
`
`previously made. The viewer is not able to see any results until
`the viewer
`
`
`
`
`
`activates a “Begin” search key 36.
`
`
`
`
`
`
`
`
`
`Accordingly, there remains a need to develop operating methods which
`
`
`
`
`
`
`
`
`
`
`
`decouple associations between the channel and network or program andalso allow
`
`
`
`
`
`
`
`
`
`
`intelligent search procedures to better assist the viewer in locating preferred
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`programs.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`SUMMARYOFTHEINVENTION
`
`
`
`
`
`
`
`
`
`
`
`This invention concerns an electronic program guide (EPG) which enables
`
`
`
`
`
`
`
`
`
`
`
`creation of queries to facilitate simple and complex searches across predefined and
`
`
`
`
`
`
`
`
`
`
`arbitrary fields. The EPG organizes and presents programming information to a
`
`
`
`
`
`
`
`
`
`
`
`viewer. The EPG is implemented in software which executes on a processor
`
`
`
`
`
`
`
`
`
`
`
`
`resident in a viewer computing unit. As described herein, the viewer computing
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`unit can be implemented as a set-top box (STB) connected to a television (TV), as
`
`
`
`
`
`
`
`a computer and monitor, orthe like.
`
`
`
`
`
`
`
`
`
`
`
`the EPG is configured to
`According to one aspect of this invention,
`
`
`
`
`
`
`
`
`
`
`
`automatically identify programsthat a vieweris likely to prefer. The EPG collects
`
`
`
`
`
`
`
`
`
`
`viewing preferences of a viewer by, for example, monitoring and logging viewing
`
`
`
`
`
`
`
`
`
`
`
`
`
`habits of the viewer or through creation of a viewer profile in which a viewer
`
`
`
`
`
`
`
`
`
`
`
`
`
`answers a series of questions designed to discover the viewer’s likes and dislikes.
`
`
`
`
`
`
`
`
`
`
`Based uponthe these viewer preferences, the EPG automatically develops queries
`
`
`
`
`
`
`
`
`
`
`
`
`for identifying programs that the viewer is likely to watch and presents those
`
`
`
`
`programsto the viewer.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`20
`
`
`21
`
`
`
`22
`
`
`23
`
`
`
`24
`
`
`
`25
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`P. 19
`
`
`
`The EPG can further be configured to merge the queries of individual
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`viewers into a composite query which searches for programs on behalf ofall
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`viewers. Each viewer defines his/her own query.
`
`
`
`
`
`
`
`
`For instance, one family
`
`
`
`
`
`member might define a query for college basketball games, another family
`
`
`
`
`
`
`
`
`
`
`
`
`member might define a query for Civil War programs, and another family member
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`might define a query for cartoons. The EPG then creates a unified query which
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`combines the three queries to jointly identify programs which satisfy any one of
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the three queries.
`
`
`
`
`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-
`
`
`
`
`
`
`
`
`
`
`
`
`directories to organize the queries. For instance, a viewer might arrange queries
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`for different kinds of movies within a Movie directory and queries for sports
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`within a Sports directory. Another example organization is to arrange queries
`
`
`
`
`
`
`
`
`
`
`
`
`
`within separate user directories.
`
`
`
`
`
`According to another aspect,
`
`
`
`
`
`
`the EPG is configured to run queries in
`
`
`
`
`
`
`
`
`
`
`background so that the queries are periodically executed unbeknownst to the
`
`
`
`
`
`
`
`
`
`
`
`
`viewer. When the EPG identifies a particular program satisfying the background
`
`
`
`
`
`
`
`
`
`
`
`
`
`query,
`
`
`
`the EPG automatically notifies
`
`
`
`
`
`the viewer of the program and/or
`
`
`
`
`
`
`
`
`automatically initiates procedures to record the program. For example, suppose a
`
`
`
`
`
`
`
`
`
`
`
`
`viewer wants to watch shows on the Great Wall of China. The viewercan define a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`query for identify any programs mentioning the Great Wall and have the query
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`execute in background, perhaps for a long duration of time. As the EPG identifies
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`programs on the Great Wall, the EPG notifies the viewer of when the program is
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`scheduled to be shown,andto initiate recording procedures.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`20
`
`21
`
`
`
`22
`
`
`
`23
`
`
`24
`
`
`
`25
`
`
`
`
`P. 20
`
`
`P. 20
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`According to another aspect of this invention, the EPG assists a viewer in
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`finding a program, channel number, or network by using a 10-key keypad as
`
`
`
`
`
`
`
`
`
`
`
`
`typically found on remote control handsets. The keypad has ten numerical keys,
`
`
`
`
`
`
`
`
`
`
`
`
`which also correspond to associated letters. When the viewer presses a key, the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`viewer might intend to be entering a numberto find a channel, or one ofthe letters
`
`
`
`
`
`
`
`
`
`
`
`
`associated with the key for spelling the program or network name. Regardless of
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the viewer’s intent, the data generated when the key is depressed is the same. The
`
`
`
`
`
`
`
`
`
`
`
`EPG is configured to interpret the data as representing all possible choices,
`
`
`
`
`
`
`
`
`
`
`
`
`including the numberand letters associated with the key. For instance, when a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`viewer depresses the number “5” key, the EPG interprets that data to mean “5” or
`
`
`
`
`
`
`
`
`
`
`
`
`
`“J” or “K” or “L.” The EPG then identifies programs, channels, and networks
`
`
`
`
`
`
`
`
`
`
`
`
`
`which begin with or contains the numberorletters. As the viewer continues to
`
`
`
`
`
`
`
`
`
`
`
`enter each digit, the list of programs, channel, and networks dynamically narrows.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`After a few button presses, the viewer is presented with a short list of possible
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`choices.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`BRIEFDESCRIPTIONOFTHEDRAWINGS
`
`
`
`
`
`
`
`
`
`
`
`
`Fig. 1 is an exemplary screen illustration of a graphical user interface (UI)
`
`
`
`
`
`
`
`
`
`
`window presented by a prior art product which organizes programsinto predefined
`
`
`
`
`19
`
`
`
`20
`
`categories.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Fig. 2 is an exemplary screen illustration of a graphical user interface (UI)
`
`
`
`
`
`
`
`
`
`
`
`
`
`window presented by the prior art product whichassists a viewer in searching the
`
`
`
`
`
`
`
`
`predefined categories to locate certain kinds of programs.
`
`
`
`
`
`
`
`
`
`Fig. 3 is a diagrammatic illustration of an entertainment system.
`
`
`
`
`
`
`
`
`21
`
`
`22
`
`
`23
`
`
`
`
`25
`
`
`
`P. 21
`
`
`P. 21
`
`
`
`Fig. 4 is a simplified example of data fields in a data structure maintained
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`by an electronic program guide (EPG).
`
`
`
`
`
`
`
`Fig. 5 is a block diagram of a viewer computing unit.
`
`
`
`
`
`
`
`
`
`
`
`Fig. 6 is an exemplary screen illustration of an EPG UI, and particularly, a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`screen having a scrollable grid with program listings.
`
`
`
`
`
`
`
`
`
`Fig. 7 is an exemplary screenillustration of an EPG UI, and particularly, a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`screen used to help create simple queries for searching the EPG.
`
`
`
`
`
`
`
`
`
`
`
`
`Fig. 8 is an exemplary screen illustration of an EPG UI, andparticularly, a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`database of the EPGto identify programssatisfying the parameters of the query.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Fig. 10 is a diagrammatic illustration of howarestrictive query filters the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`20
`
`
`
`21
`
`
`22
`
`
`23
`
`
`
`24
`
`
`
`25
`
`
`program database of the EPG to identify and prevent programs satisfying the
`
`
`
`
`
`
`
`
`
`
`
`
`
`parameters of the query from being displayed.
`
`
`
`
`
`
`
`
`Fig. 11 is an exemplary screen illustration of an EPG UI,and particularly, a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`screen used to manage queries for multiple viewers.
`
`
`
`
`
`
`
`
`
`
`Fig. 12 is a diagrammatic illustration of how individual queries can be
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`merged into a composite query used to search the program database of the EPG.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Fig. 13 is a diagrammaticillustration of how program informationis filtered
`
`
`
`
`
`
`
`
`
`
`
`
`through multiple queries to provide a short set of programs that are ultimately
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`displayed to the viewer.
`
`
`
`
`
`Fig. 14 is a diagrammatic illustration of how program information in an
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`EPG database and other content information in a Web cacheare filtered using
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`multiple queries to provide a short set of programsthat are ultimately displayed to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the viewer.
`
`
`
`
`
`
`P. 22
`
`
`P. 22
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Fig. 15 is an exemplary screen illustration of an EPG UI, and particularly, a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`screen used to locate a particular channel, network name, or program nameand to
`
`
`
`
`
`
`
`create queries which search for them simultaneously.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`DETAILEDDESCRIPTIONOFTHEPREFERREDEMBODIMENT
`
`
`
`
`
`
`
`
`
`
`
`Fig. 3 shows an entertainment system 40 according to one implementation
`
`
`
`
`
`
`
`
`
`
`
`
`
`of this invention. System 40 includes a centralized headend or content provider 42
`
`
`
`
`
`
`
`
`
`
`which is configured to provide continuous video content programs to multiple
`
`
`
`
`
`
`
`
`
`subscribers. Programs provided by content provider 42 might include traditional
`
`
`
`
`
`
`
`
`
`
`
`broadcast TV shows, on-demand movies, games, and other services such as those
`
`
`
`
`
`
`
`
`
`commonly providedin the past by on-line computerservices.
`
`
`
`
`
`
`
`
`
`
`
`The content provider 42 supplies video and other data over a distribution
`
`
`
`
`
`
`
`
`
`
`
`
`
`network 44 to the subscribers.
`In this implementation, the network 44 is a satellite
`
`
`
`
`
`
`
`
`
`
`
`
`network which transmits the data in a digital format from the content provider
`
`
`
`
`
`
`
`
`
`
`directly to individual subscribers. The satellite network 44 includes a transmitter
`
`
`
`
`
`
`
`
`
`
`
`
`
`46, an orbiting satellite 48, and a receiver 50. As one example, the satellite
`
`
`
`
`
`
`
`
`
`
`
`network 44 can be implemented using DSS (Direct Satellite System) technology,
`
`
`
`
`
`
`
`
`
`
`
`where individual subscribers own small 18” receiving dishes 50 which are resident
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`to the satellite receiver 50.
`
`
`
`
`
`
`
`
`
`
`
`The distribution network 44 can be implemented in other ways instead of
`
`
`
`
`
`
`
`
`
`
`
`DSS technology. One implementation is a multi-tier network which includes a
`
`
`
`
`
`
`
`
`high-speed, high-bandwidth fiber optic cable network between the content
`
`
`
`
`
`
`
`
`
`
`
`provider 40 and regional distribution nodes (not shown), and conventional home
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`20
`
`
`21
`
`
`
`22
`
`
`23
`
`
`
`24
`
`
`25
`
`
`
`10
`
`P. 23
`
`
`P. 23
`
`
`
`entry lines, such as twisted-pair lines or coaxial cable, between the distribution
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`nodes and viewer computing units 60. Anther network implementation might
`
`
`
`
`
`
`
`
`
`
`
`
`include traditional RF broadcast
`
`
`
`
`
`
`technologies.
`
`
`The network can also be
`
`
`
`
`
`
`constructed using a combination of wireless and wire-based technologies.
`
`
`
`
`
`
`
`
`
`
`Another approach beside to broadcasting the content to the subscribers is by
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`multicasting the content over the Internet. With this approach,
`
`
`
`
`
`
`
`
`
`
`the content
`
`
`
`
`providers transmit the data content to a designated multicast address on the
`
`
`
`
`
`
`
`
`
`
`
`
`
`Internet. Subscribers listen to the multicast address to receive the primary content.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Each subscriber residencehas at least one viewer computing unit 60. In the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`illustrated implementation,
`
`
`
`
`the viewer computing unit 60 is embodied as a
`
`
`
`
`
`
`
`
`
`
`
`broadcast enabled personal computer, or simply “broadcast PC.” The broadcast
`
`
`
`
`
`
`
`
`
`
`
`
`PC 60 has a large computer monitor 62, a processing unit 64, and input devices in
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the form of remote keyboard 66 and/or remote control handset 68. The remote
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`be directly connected. The broadcast PC 60 also includes an EPG database 72 and
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`a content separator 74, which are shown separately for illustration purposes, but
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`can be incorporated into the processing unit 64.
`
`
`
`
`
`
`
`
`
`It is noted that the viewer computing unit 60 can be implementedin other
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`forms. For instance, the viewer computing unit 60 can be embodied as a set-top
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`box coupled to a conventional television. Another implementation includes a TV
`
`
`
`
`
`
`
`
`
`
`
`
`or other visual display device, which has processing components incorporated
`
`
`
`
`
`
`
`
`
`
`
`
`therein.
`
`
`
`Content provider 42 is configured to originate the broadcast programsor to
`
`
`
`
`
`
`
`
`
`
`
`
`
`rebroadcast programs received from another source, such as a satellite feed or
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`20
`
`21
`
`
`22
`
`
`
`23
`
`
`
`24
`
`
`
`25
`
`
`I]
`
`
`
`P. 24
`
`
`P. 24
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`20
`
`
`21
`
`
`
`22
`
`
`23
`
`
`
`24
`
`
`25
`
`
`
`
`
`
`
`
`
`
`
`the content provider 42 is configured to
`In addition,
`another cable system.
`
`
`
`
`
`
`
`
`
`
`
`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