`
`(43) Date of A Publication 25.11.1990
`
`(21) Application No 3056872
`
`(22) Date of Filing 17.03.1998
`
`(30) Priority Data
`(31)
`“828709
`
`(32) 31.03.1997
`
`(33) US
`
`(71) Applicanflsl
`W Corporation
`(Incorporated in USA - Washington)
`One Microsoft Way, Redmond. WA 98052-6399.
`United States of America
`
`(72)
`
`Inventor“)
`James 0 R050"!
`David S Byrne
`Steve Fhlegel
`Gabe Newell
`Dan Newell
`Kenneth Abbott
`
`(51) NT CL‘
`Hum noes . soar 17/30
`
`(52) UK CL (Edition P)
`64A AUDB
`IMF F88 F022 F024
`U15 $2206
`
`(56) Documents Cited
`EP 0758833312 E? 076036” WOW/46011 A1
`WO 97102702 A2 WO 94/14284 A1 US 5606691 A
`us 5223924 A
`
`(58)
`
`Field of Search
`UK CL (Edition P l GM AUDB . me FBB
`lNT CL6 eoer 17/30 . Ham “lines
`Online: WPl
`
`
`
`(74) Agent end/or Address for Service
`Withers 8r Rogers
`4 Dyer‘s Buildings, l-lolbom, LONDON, EC1N 20F.
`United Kingdom
`
`
`(54) Abstract Title
`An electronic television programme guide
`
`(57) An electronic programme guide (EPG) database is interrogated to produce a list of programmes that may
`be of interest to a viewer. Queries may be composed by users or may be developed automatically by
`inspection of viewing habits or viewer profiles. Viewer profiles may be produced by interrogation 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 of interest as they arise in the EPG.
`Queries may restrict 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 any of the numbers or letters associated therewith
`and identifies all possible programmes and channels and networks. As the viewer continues to add letters or
`numbers. the list narrows dynamically until only a few choices remain. The EPG data may be transmitted with
`the TV signals and may contain links to Web pages.
`
`as;
`
`
`
`At least one drawing originally filed was informal and the print reproduced here is taken from a later filed formal copy. >
`SONY — Ex.-1008
`Sony Corporation — Petitioner
`
`P_ 1
`
`
`
`
`
`mswasSo!D03Mama:mason».
`
`“-,m%<:%<:om4;zo
`
`nae,moi
`
`P.2
`
`
`
`T._mmm_.o:--C2_:mQ
`
`
`
`:9:4902::
`
`29a490%
`
`
`
`:9:490853
`
`:92demo-33.3
`
`:35
`
`02:.mac!
`
`:92«o
`
`Io:49>:
`
`$85.13....
`
`Engioiago
`
`Maco-goapnqo-o:
`
`magnetzzumeozoo
`
`Eco-33.256
`
`again—‘55
`
`0253.:
`
`Maegan...—
`
`025832.83
`
`Ozaqoauuwnoaoo
`
`05508”3:58
`
`m5_=ou!m§.=oaa
`
`megaoufiaonaoa.
`
`
`
`030330In:
`
`P.3
`
`
`
`
`
`
`
`mmt>w>40x
`awaifi
`
`
`
`SOmO~>CO_O0)...)
`
`ars;v:03
`
`am_cm
`
`P.4
`
`{.IK
`
`1-8is\\.li-300223
`
`_Z_n0_uz_>._._OZ
`
`wrong»):
`
`mmm<mw
`
`....................................................................................
`
`
`
`
`
`
`2mx...Omz.
`
`
`
`m._.>m42m.»
`
`
`
`«Minn—:0$5."er
`
`{CEO—mm.
`
`m1mSwoqm
`
`gzomwcm<<mm
`
`<mm
`<mm
`<mm
`
`
`mamwmo
`
`
`
`Lfir\a
`
`
`
`
`002.52.:
`
`
`
`agowoos.20..»55383...835»...
`
`dim2203}
`
`002.324
`
`wcvnrmgmzflpr
`
`DmmOE—udoz
`
`
`
`fin
`
`a“?
`
`:33??be
`
`8585.23.
`
`
`
`33955.3.39022
`
`
`
`5:401:260E9..5530¢...
`
`.3:ooo=oo.au.ou.:§.
`
`«333?...3.
`
`azuu\§.3=afl§¢.8§
`.00..»<3».333.u389...
`
`R5
`
`
`
`
`
`DIGITAL DATA
`
`I
`i
`
`:
`
`--
`
`VIDEO
`I PLAYER
`
`:—50
`
`EPG
`DATABASE
`124
`
`.
`
`ANALOG
`
`TV
`
`VIDEO
`
`SUBSYSTEM
`
`118
`
`114
`
`‘
`
`i
`I RECEIVER
`L—,—/
`F
`I
`
`'
`
`TUNER
`I
`
`11
`
`.........................................................................................................................................
`
`
`
`
`
`
`
` MEMORY
`OPERATING
`SYSTEM
`
`.
`
`CHANNEL
`NAVIGATOR
`
`BROWSER
`
`13.
`
`
`142'\\/——\
`TAPE .
`I
`4—,
`
`I 140
`'
`
`com
`
`15°
`152
`
`I 138 I
`MODE
`CD
`
`I ‘32
`AUDIO
`
`SYSTEM
`
`STEREO
`
`134
`
`P.6
`
`
`
`
`
`56.48..82mm:6822x3.m_m5m.303
`
`..on
`
`Io;
`lMo.o
`
`3m<qm<<OCU
`.1253.2m0.5..$3.588.9::63580.5.w:mi8.
`
`981:
`
`3a
`
`3a
`
`P.7
`
`
`
`‘EJIL
`
`222
`
`228
`
`232
`
`
`./
`
`0 Find All Execpt
`
`NC
`Network
`Program Name
`
`<aunetwon<s> a _a 23°
`
`
`
`
`The Maltese Falcon
`
`46
`HBO
`Last Action Hero
`
`
`Thunderball
`
`G
`
`PG P613 R
`
`
`
`Rated
`0 Don't Find
`' *
`GPGPGuRNc
`
`Network
`
`Channel
`
`Program Name
`
`
`
`Keyword
`
`Shown Between
`
`move a 12E—
`
`P.8
`
`
`
`mam
`Gilligan's Island
`Silent Running
`Star Trek
`The Price is Right
`Pale Rider
`Deliverance
`
`Speed
`Aliens
`Maverick
`
`Toy Story
`
`1mm:
`Gilligan's Island
`Silent Running
`Star Trek
`
`The Price is Right
`Pale Rider
`Deliverance
`Speed
`Aliens
`Maverick
`
`Toy Story
`
`Movie
`
`M 9m:
`Gilligan's Island
`Series
`The Price is Right Series
`Toy Storey
`
`Silent Running
`Star Trek
`Deliverance
`Aliens
`
`Query Filter
`
`P.9
`
`
`
`ClIi7/
`
`-- Query Files
`
`file §dit \_/iew Date Search Editorial gser Help
`
`DEBUG
`
`‘
`
`264
`
`I Aristoeats
`
`Movie
`
`Movie
`
`Query filter
`
`: Seinfeld
`
`Series
`
`Comedy
`
`Sue's
`
`270I
`
`Mom's
`Query Filter
`
`JOM'S
`
`j
`I +
`; +Ouerv Flter
`I
`
` I I
`
`.GsnL m
`Special
`Sports
`Movie Musical
`Movie
`Series
`Sen'es
`Series
`
`Movie
`
`I
`I
`I
`Travel
`|
`MI
`I
`
`Earle Mm;Mam:
`3 e
`i Pr
`Special
`Sports
`I +
`266 I us Open Golf
`‘ us Open Golf
`Series
`Star Trek
`Sci-Fi
`l Sound of Music
`The Price is Right Series
`Gameshow
`3'
`Speed
`Pale Rider
`Movie Western
`268 ' Winnie the Pooh
`Sound of Music
`Movie
`Musioal
`Europe Today
`Speed
`Movie
`Action
`Seinfeld
`Winnie the Pooh
`Series
`Cartoon
`EuropeToday
`Series
`Travel
`
`759, 72
`
`P. 10
`
`
`
`10W”
`
`./NIP\
`
`SN
`
`
`001‘:00:30w:
`
`M1.......Il25535
`
`ma5ohm
`\—otz\
`
`
`
`0..--,-3.53352
`
`Emu—50w
`
`07.22“.0250m
`
`>03m>o.__29m.6»
`
`8210.0;
`
`:98
`
`co;
`
`ooHN
`
`comm
`
`86
`
`con?
`
`comm
`
`86
`
`cab
`
`86
`
`gm;.\
`
`l55“.bozo
`
`‘1!\‘l
`
`_n_-_ow02
`
`
`
`Qauocomooum
`
`:00:80m:
`
`.521flan.
`
`Emucfim
`
`comm
`
`SN
`
`86
`
`3911‘
`gas?Vx
`
`295$
`
`\
`
`wooing
`
`$322
`
`Nu
`
`33880am
`
`35>.935.
`
`=o0:25w:ooHN
`
`
`
`08525comm
`
`xot.56SN.
`
`EoEomoouw
`
`>03o>3_86
`
`.339mm85
`
`
`
`>85>2.comm
`
`9.qu8”
`
`
`
`9.3?omun
`
`can:.0venom85
`
`2a;Em.
`
`
`
`
`
`
`
`
`Hit;
`
`cm
`
`
`
`25ozomsz
`
`
`
`as;33.02
`
`=858m:
`
`889.5
`
`235%
`
`52.5
`
`Now
`
`:2802
`
`oonu
`
`3:5sin:
`
`2358
`
`3...“.ago
`
`\I’t/a
`
`:8=30w:
`
`88025
`
`
`
`xvi..65
`
`25.?
`
`=88
`
`va
`
`362Omzmi
`
`.20cook
`
`
`
`5—.zoom
`
`20883
`
`
`
`
`
`
`
`
`IZI'L
`
`'55 Quick Find
`
`Enter Network or Progtam Name
`
`Tour of the Magic Kingdom at Disney Worid
`
`Oriando Magic v. Chiwgo Bulls
`Chicago Bulls at Oriando Magic
`Magical Wand of Science
`
`Network
`
`Program Name
`
`P. 13
`
`
`
`2325537
`
`IEQHMQALEELD
`
`99§§Xz§é§§9_§£EEIBQ!£§_EBQEBé!_§§£Q§
`
`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. More particularly, this
`
`invention relates to methods for operating electronic program guides using auto-
`
`generated and viewer-generated queries
`
`to
`
`identify programs or other
`
`programming information.
`
`W T
`
`elevision 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 ofien 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. The listings are commonly
`
`arranged in a grid. Each column of the 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
`
`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
`
`10
`
`ll
`
`12
`
`l3
`
`I4
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`P. 14
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`record indicating a variety of information about the program such as its channel, its
`
`
`
`
`
`
`
`
`starting and ending times,
`
`
`
`
`
`
`
`
`
`
`its title, names of starring actors, whether closed-
`
`
`
`
`
`
`
`
`
`
`
`
`captioning and stereo are available, and perhaps a 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 fiinction 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 grid. This functionality
`
`
`
`
`
`
`
`
`
`utilizes the two-way communications capabilities of interactive cable systems.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`
`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-demand is one example of this 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 movie is retrieved and transmitted to the requesting STB. Movies—on-demand
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`thus enables viewers to shop, purchase, and watch a movie at their convenience, as
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`10
`
`11
`
`
`
`12
`
`13
`
`
`
`
`
`14
`
`15
`
`
`
`
`
`16
`
`
`
`17
`
`18
`
`
`
`
`
`19
`
`
`
`20
`
`
`
`21
`
`
`22
`
`
`
`23
`
`
`24
`
`25
`
`
`
`
`
`
`
`P. 15
`
`
`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.
`
`
`
`
`
`
`Conventional distribution networks support many channels.
`
`
`
`
`
`It is common
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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, 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
`
`
`
`
`
`
`
`
`
`
`
`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 programs he/she is attempting to find.
`
`It
`
`
`
`
`
`
`is also likely that
`
`
`
`
`
`
`
`
`
`
`the traditional practice of relating programs and
`
`
`
`
`
`
`
`
`
`
`
`
`networks to specific channels will become less meaningful as the number of
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`10
`
`11
`
`
`12
`
`13
`
`
`
`
`
`14
`
`15
`
`
`
`
`
`16
`
`17
`
`
`
`
`
`18
`
`
`
`19
`
`20
`
`
`
`
`
`21
`
`
`'22
`
`23
`
`24
`
`
`
`
`
`
`
`25
`
`
`
`
`P. 16
`
`
`P. 16
`
`
`
`
`channels increases.
`
`
`
`Suppose,
`
`
`
`
`
`
`
`
`
`
`for example, a viewer might be interested in
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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 market to 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 deve10ped a software-
`
`
`
`
`
`
`
`
`
`
`
`
`based product “ETV” which assists a viewer in 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 (U1) 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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`10
`
`
`ll
`
`
`12
`
`
`13
`
`
`14
`
`
`
`15
`
`
`
`l6
`
`
`
`17
`
`
`18
`
`
`
`19
`
`
`
`20
`
`
`
`21
`
`
`22
`
`
`
`23
`
`
`24
`
`
`
`25
`
`
`
`
`P. 17
`
`
`P. 17
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`control a focus frame or highlight bar 24 to choose a type of program from the first
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`pane 22. A second pane 26 contains a 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 programs offered for this type. The
`
`
`
`
`
`
`
`
`
`
`
`
`
`ETV system also permits rudimentary “search” capabilities. Fig. 2 shows another
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`graphical U'I 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 which are of a particular type,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`from the selected station, and satisfy the ratings and start 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 viewer is 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 which intelligently narrows
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`selections based upon viewer selections. 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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`10
`
`11
`
`
`
`12
`
`
`
`13
`
`
`
`14
`
`15
`
`
`
`
`
`16
`
`17
`
`18
`
`
`
`
`
`
`
`19
`
`
`
`20
`
`
`
`21
`
`
`22
`
`23
`
`
`
`
`
`24
`
`
`
`25
`
`
`
`
`P. 18
`
`
`P. 18
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`be listed in the second pane 34. In fact, the same lists will always occur in 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 and also allow
`
`
`
`
`
`
`
`
`
`
`
`
`
`intelligent search procedures to better assist the viewer in locating preferred
`
`
`
`programs.
`
`
`
`
`
`
`
`
`
`
`
`W T
`
`
`
`
`
`
`
`
`
`
`his 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, or the like.
`
`
`
`
`
`
`
`
`
`According to one aspect of this invention,
`
`
`
`
`
`
`
`
`the EPG is configured to
`
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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 upon the these viewer preferences, the EPG automatically develops queries
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`for identifying programs that the viewer is likely to watch and presents those
`
`
`
`
`
`
`programs to the viewer.
`
`
`
`
`
`P. 19
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`l0
`
`ll
`
`
`12
`
`
`
`l3
`
`
`l4
`
`l5
`
`
`
`
`
`l6
`
`17
`
`
`
`
`
`18
`
`
`
`I9
`
`
`
`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 of all
`
`
`
`
`
`
`
`
`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 viewer can 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, and to initiate recording procedures.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0
`
`
`ll
`
`
`
`12
`
`13
`
`
`
`
`
`14
`
`15
`
`l6
`
`
`
`
`
`
`
`I7
`
`
`
`18
`
`
`
`19
`
`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 lO-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 number to find a channel, or one of the 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 number and 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 number or letters. 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.
`
`
`
`
`
`
`
`
`
`
`
`
`
`W F
`
`
`
`
`
`
`
`
`
`
`
`
`ig. 1 is an exemplary screen illustration of a graphical user interface (UI)
`
`
`
`
`
`
`
`
`
`
`
`
`
`window presented by a prior art product which organizes programs into predefined
`
`
`
`categories.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Fig. 2 is an exemplary screen illustration of a graphical user interface (UI)
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`window presented by the prior art product which assists a viewer in searching the
`
`
`
`
`
`
`
`
`
`
`predefined categories to locate certain kinds of programs.
`
`
`
`
`
`
`
`
`
`
`
`
`Fig. 3 is a diagrammatic illustration of an entertainment system.
`
`
`
`
`
`P. 21
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`10
`
`ll
`
`
`
`12
`
`
`
`l3
`
`
`
`14
`
`
`
`15
`
`
`
`l6
`
`
`
`17
`
`
`
`18
`
`
`
`19
`
`20
`
`
`
`
`
`21
`
`
`22
`
`
`23
`
`
`24
`
`
`
`25
`
`
`
`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 screen illustration 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, and particularly, 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 EPG to identify programs satisfying the parameters of the query.
`
`
`
`
`
`
`
`
`
`
`
`
`
`Fig. 10 is a diagrammatic illustration of how a restrictive query filters the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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 diagrammatic illustration of how program information is 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 cache are filtered using
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`multiple queries to provide a short set of programs that are ultimately displayed to
`
`
`the viewer.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`10
`
`
`ll
`
`
`
`12
`
`l3
`
`
`
`
`
`l4
`
`
`
`15
`
`
`
`16
`
`
`
`[7
`
`
`18
`
`19
`
`
`
`
`
`20
`
`
`
`21
`
`
`22
`
`
`23
`
`
`
`24
`
`
`
`25
`
`
`
`
`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 name and to
`
`
`
`
`
`
`
`
`
`create queries which search for them simultaneously.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`W F
`
`
`
`
`
`
`
`
`
`
`
`ig. 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 provided in the past by on-line computer services.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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
`
`
`
`10
`
`
`
`P. 23
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`10
`
`
`
`11
`
`
`
`12
`
`
`13
`
`
`
`14
`
`15
`
`
`
`
`
`16
`
`
`
`17
`
`
`18
`
`
`
`19
`
`
`20
`
`
`
`21
`
`
`22
`
`
`
`23
`
`
`24
`
`
`
`25
`
`
`
`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 residence has 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 implemented in 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 programs or to
`
`
`
`
`
`
`
`
`
`
`
`
`rebroadcast programs received from another source, such as a satellite feed or
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`10
`
`
`
`11
`
`
`
`12
`
`
`
`13
`
`
`
`14
`
`
`
`15
`
`
`
`l6
`
`
`
`17