`(12) Patent Application Publication (10) Pub. No.: US 2005/0278741A1
`(43) Pub. Date:
`Dec. 15, 2005
`Robarts et al.
`
`US 2005O278741A1
`
`(54)
`
`(75)
`
`(73)
`(21)
`(22)
`
`(63)
`
`QUERY-BASED ELECTRONIC PROGRAM
`GUIDE
`
`Inventors: James O. Robarts, Redmond, WA
`(US); David S. Byrne, Seattle, WA
`(US); Steve Fluegel, Redmond, WA
`(US); Gabe Newell, Seattle, WA (US);
`Dan Newell, Seattle, WA (US);
`Kenneth Abbott, Marietta, GA (US)
`Correspondence Address:
`LEE & HAYES PLLC
`421 W RIVERSIDEAVENUE SUTE 500
`SPOKANE, WA 992.01
`Assignee: Microsoft Corporation
`
`Appl. No.:
`
`10/686,984
`
`Filed:
`
`Oct. 16, 2003
`Related U.S. Application Data
`Continuation of application No. 08/828,709, filed on
`Mar. 31, 1997, now abandoned.
`
`Publication Classification
`
`(51)
`(52)
`
`Int. Cl." ........................... H04N 5/445; H04H 9/00;
`HO)4N 7/16
`U.S. Cl. ................................. 725/46; 72.5/13; 725/14
`
`ABSTRACT
`(57)
`An electronic program guide (EPG) organizes and presents
`programming information to the viewer and allows for
`creation of queries to facilitate both simple and complex
`Searches of the programming information. According to one
`aspect, the EPG is configured to automatically identify
`programs that a viewer is likely to prefer. The EPG collects
`Viewing preferences of a viewer and, based upon the these
`Viewing preferences, automatically develops queries for
`identifying programs that the viewer is likely to want to
`watch. The EPG further enables multiple viewers to merge
`their individual queries into one composite query or to run
`queries in background to periodically check for programs
`and notify the Viewer when a program is identified. Queries
`are saved in an EPG database in a hierarchic structure with
`directories and Sub-directories to make it easy for a viewer
`to organize and retrieve queries. Another aspect concerns
`creating queries for a channel, network name or program
`name using a 10-key keypad. The viewer enters digits in the
`number or name, one digit at a time. With each entry, the
`viewer might intend to enter a number or letter. 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 key with
`number “5,” the EPG interprets that data to mean “5” or “j”
`or “k” or “1.” The EPG identifies all programs, channels, and
`networks which begin with the number or letters. As the
`Viewer continues to enter data, the list of programs, channel,
`and networks dynamically narrows So that after a few button
`presses, the viewer is presented with a short list of possible
`choices.
`
`s
`
`
`
`O
`
`DIGITALATA
`
`RECEIVER
`
`PROCESSOR
`
`WOLATILE MEMORY
`
`
`
`rMOTE
`RECEIVER
`
`Comcast, Ex. 1026
`
`1
`
`
`
`Patent Application Publication Dec. 15, 2005 Sheet 1 of 12
`
`US 2005/0278741 A1
`
`
`
`Y.
`
`SS
`N
`
`[[[[[
`
`2
`
`
`
`Patent Application Publication Dec. 15, 2005 Sheet 2 of 12
`
`US 2005/0278741 A1
`
`
`
`I de H)
`
`
`
`sedKL uueu6oud
`
`3
`
`
`
`Patent Application Publication Dec. 15, 2005 Sheet 3 of 12
`
`US 2005/0278741 A1
`
`
`
`
`
`
`
`
`
`*JËAHES
`
`
`
`\/IC]EW SÍTOTTNILNO O
`
`– – – – – – – – – + – – – + – – – – ~- – — — — — — — \ — — — — — — w— — — —
`
`
`
`
`
`
`
`
`
`4
`
`
`
`Patent Application Publication Dec. 15, 2005 Sheet 4 of 12
`
`US 2005/0278741 A1
`
`88
`
`
`
`
`
`06
`
`5
`
`
`
`Patent Application Publication Dec. 15, 2005 Sheet 5 of 12
`
`US 2005/0278741 A1
`
`o
`
`DIGITAL DATA
`
`50
`
`RECEIVER
`
`TUNER
`
`110
`
`
`
`EPG
`DATABASE
`
`124
`
`122
`
`VIDEO -118
`PLAYER
`
`12C
`
`72
`
`GAME
`
`MONITOR
`
`116
`
`ANApg VIDEO SUBSYSTEM
`
`114
`
`PROCESSOR
`
`VOLATILE MEMORY
`
`TAPE
`DRIVE
`
`144
`FDD
`146
`
`HDD
`
`140
`
`138
`
`I/O
`ADAPTER
`
`132
`COM1
`COM2 152 MODEM CD ROM SE
`154
`66 INTERNET/
`LPT1
`KEYBOARD
`BACK
`SERE (KEYBOARD CHANNEL
`RCHANDSE
`
`148
`
`68 22, 2
`
`13
`
`STEREO
`SYSTEM
`
`6
`
`
`
`Patent Application Publication Dec. 15,2005 Sheet 6 of 12
`
`US 2005/0278741 Al
`
`quiog-V
`
`'NSQUNINoo
`ILM®AtoSBIAOWPIO
`
`
`3HLNIANTONWOOISSNIASANDTTONIS3HL_—SONaIYA
`
`116anosaudLOuM|does||nd0'6Ndo¢:8
`didMalAsdd/Z6L
`Pd|
`aIAOWNiSuvLS34O43a|SOJGIALSSINNNSesLHOIN
`
`
`-09MAUB‘gn|Dsueyay}Uo!0}sal}Aapgnaseuau],
`
`fuenearpey](_#pumeu]Lepowou|[aesnanan
`00c861961v6L
`
`
`DIOW“Bule|yJO}yJOMBOWasnedJOyJOM
`SHS
`261JAPSUODASOSET
`
`AYVINSWNDOC
`TOqieHWesTaH
`
`AVOSUNHL
`
`
`
`81)JENS
`
`7
`
`
`
`Patent Application Publication Dec. 15, 2005 Sheet 7 of 12
`
`US 2005/0278741 A1
`
`220
`
`224
`
`Program Name
`<al programs v- ?
`
`G PG PG13 R NC
`
`46
`
`AMC The Maltese Falcon
`HBO Last Action Hero
`TNN Thunderbal
`
`
`
`
`
`
`
`232
`
`
`
`is Advanced Find
`
`O Find
`
`Network
`
`Keyword
`
`Action
`O Don't Find
`
`Action
`
`Channel
`
`Iv
`
`Rated
`
`a
`
`Program Name
`
`Shown Between
`5:00pm
`and 8:00pm e
`
`Add Tab
`
`Remove Tab
`
`8
`
`
`
`Patent Application Publication Dec. 15, 2005 Sheet 8 of 12
`
`US 2005/0278741 A1
`
`
`
`Sub-Genre
`Genre
`Program Name
`Series Comedy
`Gilligan's Island
`Movie
`Sci-Fi
`Silent Running
`Series
`Sci-Fi
`Star Trek
`The Price is Right Series Gameshow
`Pale Rider ,
`Movie
`Western
`Deliverance
`Movie
`Sci-Fi
`Speed
`Movie
`Action
`Aliens
`Movie
`Sci-Fi
`Maverick
`Movie
`Western
`Toy Story
`Movie
`Comedy
`
`Program Name
`Silent Running
`Star Trek
`Deliverance
`Aliens
`
`Genre
`Movie
`Series
`Movie
`Movie
`
`Program Name
`Gilligan's Island
`Silent Running
`Star Trek
`The Price is Right
`Pale Rider
`Deliverance
`Speed
`Aliens
`Maverick
`Toy Story
`
`Sub-Genre
`Comedy
`Sci-Fi
`Sci-Fi
`Gameshow
`Western
`Sci-Fi
`Action
`Sci-Fi
`Western
`Comedy
`
`Sub-Genre
`Genre
`Program Name
`Series Comedy
`Gilligan's Island
`The Price is Right Series Gameshow
`Toy Storey
`Movie
`Comedy
`
`22, 10
`
`9
`
`
`
`Patent Application Publication Dec. 15, 2005 Sheet 9 of 12
`
`US 2005/0278741 A1
`
`260
`
`-
`
`ta
`
`sequery Files
`
`Musicals
`France
`Seinfeld
`
`
`
`
`
`Filter
`
`Program Name
`Sub-Genre
`Genre
`Program Name
`Aristocats
`Movie
`Movie
`Aristocats
`US Open Golf
`Special Sports
`H
`266 US Open Golf
`Star Trek
`Series
`Sci-Fi
`Sound of Music
`Om's
`The Price is Right Series Gameshow CE Speed
`Pale Rider
`Movie
`Western
`Filter 268 Winnie the Pooh
`Sound of Music
`Movie
`Musical
`H John's
`Europe Today
`Speed
`Movie
`Action
`Seinfeld
`Winnie the Pooh
`Series
`Cartoon
`Europe Today
`Series
`Travel
`Seinfeld
`Series Comedy
`
`272
`
`Sub-Genre
`Genre.
`Movie
`Movie
`Special Sports
`MOVie
`Musical
`MOVie
`Action
`Series
`Cartoon
`Series
`Travel
`Series Comedy
`
`10
`
`
`
`Patent Application Publication Dec. 15,2005 Sheet 10 of 12
`
`US 2005/0278741 Al
`
`O82
`
`OL)
`
`Ss)OE
`DISNWJOpunos
`
`
` woguedQsn=:00yogusdosn00:2OPesaAIIS—OOE
`
`deinHEWN00:1
`
`SINPBYDS00-2
`
`Aon]aa071~=00:9
`JEply212d=00:9
`
`Japlya|@d
`
`MioygAOL=005
`
` PIyUIEs=:00:PIAUuIES=:00:2
`INOd3a
`yesidQ=00h
`
` eseqejeqdOdo
`
`14-19$ON
`
`Many
`
`Jey
`
`skemiy
`
`PIgUlES
`
`poomsey
`
`S3IAOIN
`
`JISNWJOPUNOS=Q0:8
`nonuedQOSN00:2
`deJOEY=00:1.
`
`
`JOPBIEd==—-00°9Aone007]00:9
`
` MogAol=00:5OPBIBAIIS§O00°€
`
`WALIES00:2
`
`SJEA\JE}S
`
`PAUSES§=§=00-e
`yeidQ00°F
`SusyOFC
`
`11
`
`11
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Dec. 15, 2005 Sheet 11 of 12
`
`US 2005/0278741 A1
`
`og º
`
`
`
`
`
`
`
`
`
`Z
`
`12
`
`
`
`Patent Application Publication Dec. 15, 2005 Sheet 12 of 12
`
`US 2005/0278741 A1
`
`
`
`sOuick Find
`Enter Network or Program Name
`
`Network
`
`Program Name
`
`Orlando Magic v. Chicago Bulls
`Chicago Bulls at Orlando Magic
`Magical World of Science
`Tour of the Magic Kingdom at Disney World
`
`13
`
`
`
`US 2005/0278741 A1
`
`Dec. 15, 2005
`
`QUERY-BASED ELECTRONIC PROGRAM GUIDE
`
`RELATED APPLICATIONS
`0001. The present application is a continuation of U.S.
`patent application Ser. No. 08/828,709, attorney docket
`number MS1-104US, filed on Mar. 31, 1997 and entitled
`“Query-Based Electronic Program Guide”.
`
`TECHNICAL FIELD
`0002 This invention relates to entertainment systems,
`Such as interactive television or interactive computing net
`work Systems, and to electronic program guides which
`operate in conjunction with these Systems. More particu
`larly, this invention relates to methods for operating elec
`tronic program guides using auto-generated and Viewer
`generated queries to
`identify programs or other
`programming information.
`
`BACKGROUND OF THE INVENTION
`Television viewers are very familiar with printed
`0.003
`programming Schedules that appear in daily newspaperS or
`weekly magazines, Such as TV Guide(E). The printed pro
`gram guide lists the various television shows in relation to
`their Scheduled Viewing time on a day-to-day basis.
`0004 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. 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 Sched
`uled 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.
`0005 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 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.
`0006 Newer, interactive cable distribution systems fea
`ture electronic program guides (EPGs) which function
`Somewhat Similar to the broadcast program listing channels
`described above. Rather than Scrolling automatically, how
`ever, 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 inter
`active cable Systems.
`0007. 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.
`0008 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 opposed to being restricted to certain
`Start times as is typical with conventional premium or
`pay-per-view channels.
`0009. 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 educa
`tional courses and take exams.
`0010 Conventional distribution networks support many
`channels. It is common for a TV audience to have 50 to 100
`channels. However, as technology improves and program
`ming content continues to expand, the number of channels
`are expected to increase dramatically to many hundreds, or
`even thousands of channels.
`0011. 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 locat
`ing programs-Such as memorizing channel numbers, Scan
`ning 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. Addi
`tionally, 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.
`0012. It is also likely that the traditional practice of
`relating programs and networks to Specific channels will
`become leSS meaningful as the number of channels
`increases. Suppose, for example, a viewer might be inter
`ested 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 broad
`cast 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.
`0013 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.
`
`14
`
`
`
`US 2005/0278741 A1
`
`Dec. 15, 2005
`
`0.014) 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
`C.
`
`0.015 Toward this end, a company named TVHost, Inc.
`has developed 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 (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 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.
`0016. 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 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 which are of a particular type, from the Selected
`Station, and Satisfy the ratings and Start times.
`0017. 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
`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.
`0.018. Accordingly, there remains a need to develop oper
`ating 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.
`
`SUMMARY OF THE INVENTION
`0019. 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 infor
`mation to a viewer. The EPG is implemented in software
`which executes on a processor resident in a viewer comput
`ing 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.
`0020. 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 pref
`erences of a viewerby, 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.
`0021. 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 car
`toons. The EPG then creates a unified query which combines
`the three queries to jointly identify programs which Satisfy
`any one of the three quenes.
`0022. 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 direc
`tory and queries for Sports within a Sports directory. Another
`example organization is to arrange queries within Separate
`user directories.
`0023. According to another aspect, the EPG is configured
`to run queries in background So that the queries are peri
`odically executed unbeknownst to the viewer. When the
`EPG identifies a particular program Satisfying the back
`ground 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.
`0024. 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
`number to find a channel, or one of the letters associated
`with the key for Spelling the program or network name.
`Regardless of the viewers intent, the data generated when
`
`15
`
`
`
`US 2005/0278741 A1
`
`Dec. 15, 2005
`
`the key is depressed is the same. The EPG is configured to
`interpret the data as representing all possible choices, includ
`ing 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.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0.025
`FIG. 1 is an exemplary screen illustration of a
`graphical user interface (UI) window presented by a prior art
`product which organizes programs into predefined catego
`ries.
`FIG. 2 is an exemplary screen illustration of a
`0.026
`graphical user interface (UI) window presented by the prior
`art product which assists a viewer in Searching the pre
`defined categories to locate certain kinds of programs.
`0.027
`FIG. 3 is a diagrammatic illustration of an enter
`tainment System.
`0028 FIG. 4 is a simplified example of data fields in a
`data Structure maintained by an electronic program guide
`(EPG).
`0029 FIG. 5 is a block diagram of a viewer computing
`unit.
`0030 FIG. 6 is an exemplary screen illustration of an
`EPG UI, and particularly, a Screen having a Scrollable grid
`with program listings.
`0.031
`FIG. 7 is an exemplary screen illustration of an
`EPGUI, and particularly, a Screen used to help create Simple
`queries for searching the EPG.
`0.032
`FIG. 8 is an exemplary screen illustration of an
`EPGUI, and particularly, a Screen used to help create more
`advanced queries for Searching the EPG.
`0033 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.
`0034 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.
`0.035
`FIG. 11 is an exemplary screen illustration of an
`EPG UI, and particularly, a Screen used to manage queries
`for multiple viewers.
`0.036
`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.
`0037 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.
`0.038
`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.
`0039 FIG. 15 is an exemplary screen illustration of an
`EPGUI, and particularly, a Screen used to locate a particular
`channel, network name, or program name and to create
`queries which Search for them Simultaneously.
`
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`0040 FIG. 3 shows an entertainment system 40 accord
`ing 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 pro
`vider 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 Ser
`WCCS.
`0041. 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.
`0042. 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 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.
`0043 Another approach beside to broadcasting the con
`tent 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.
`0044. Each subscriber residence has at least one viewer
`computing unit 60. In the illustrated implementation, the
`Viewer computing unit 60 is embodied as a is broadcast
`enabled personal computer, or simply “broadcast PC.” The
`broadcast PC 60 has a large computer monitor 62, a pro
`cessing 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
`
`16
`
`
`
`US 2005/0278741 A1
`
`Dec. 15, 2005
`
`shown Separately for illustration purposes, but can be incor
`porated into the processing unit 64.
`0.045. It is noted that the viewer computing unit 60 can be
`implemented in other forms. For instance, the viewer com
`puting 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.
`0.046
`Content provider 42 is configured to originate the
`broadcast programs or to rebroadcast programs received
`from another Source, Such as a Satellite feed or 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 chan
`nel and back channel to Support interactivity. AS technology
`continues to improve, the receiver 50 might be replaced with
`a transceiver which is capable of both receiving digital data
`from the Satellite System, and transmitting data back acroSS
`the Satellite System.
`0047 The content provider 42 includes a continuous
`media server 82 which distributes the digital video data
`Streams kept in the programs database 80. The continuous
`media server and video program database are implemented,
`for example, as a disk array data Storage System consisting
`of many large capacity Storage disks. The Video data Streams
`of the movies are Stored digitally on the Storage disks in
`predetermined or mapped locations. The locations of the
`Video data Streams are kept in a memory map and each Video
`data Stream is accessed through pointers to the particular
`memory location. The continuous media Server can Service
`Simultaneous requests for a program (even the same pro
`gram) from many viewers.
`0.048. The content provider 42 also has an program
`information Server 84 to Serve programming information to
`the viewer computing unit 60. The program information
`Server 84 is implemented as a structured query language
`(SQL) database 86 with records containing information
`relating to available shows or programs.
`0049 FIG. 4 shows an example data structure 88 for
`organizing programming information within the EPG data
`base 86. The data structure includes various data fields 90 for
`holding programming information. The data fields contain
`program titles, actor names, whether the program has closed
`captioning or Stereo audio, the Scheduled time of the pro
`gram, the network name, description text, and the like. The
`data structure 88 holds pointer to locations within the
`Storage Subsystem of the continuous media Server 82 which
`identify Storage locations of the programs corresponding to
`the program records.
`0050. The data structure 88 might also contain target
`Specifications (memory pointer, hyperlink, etc.) to one or
`more target resources which maintain Supplemental content
`for the programs. The Supplemental content can be Stored at,
`and Served from, the content provider 42 or from an inde
`pendent Service provider. The Supplemental content can be
`text, hypermedia, graphics, video, picture, Sound, executable
`
`code, or other multimedia types which enhance the broad
`cast program. Examples of possible Supplemental content
`include interactive questions or games related to the pro
`gram, additional trivia on the movies or TV shows, adver
`tisements, available merchandise or other memorabilia, Web
`pages to programs of Similar type or Starring the same
`actorS/actresses, and So on.
`0051) With reference again to FIG. 3, the content pro
`vider 42 broadcasts multiple programs for different networks
`and channels as one continuous digital data feed, as is
`conventional in DSS. The EPG programming information is
`transmitted along with the Video and audio data. The data is
`compressed and placed in digital transport packets for
`transmission over the Satellite System. If desired, the data
`pertaining to particular channels or programs can be
`scrambled. The receiver 50 de-scrambles and decompresses
`the data Stream, and then reconstructs the Video, audio, and
`programming data from the digital transport packets. The
`content Separator 74 Separates the Video and audio data from
`the programming information. The Video/audio data is
`directed to a tuner in the viewer computing unit 60 which
`Selects a particular channel and displays the Video on the
`monitor 62 and plays the corresponding audio. The viewer
`controls program Selection using the keyboard 66 or remote
`control handset 68. The programming information is input to
`the EPG database 72. By caching the programming infor
`mation in the local EPG database 72, interactive function
`ality used to locate and Select certain programs from the
`EPG is handled locally.
`0052 The entertainment system 60 also includes an inde
`pendent service provider (ISP) 92 which distributes digital
`content to the viewer computing unit 60 over a Second
`network 94. An example of the second network 94 is a public
`network, such as the Internet. The ISP 92 has an ISP host 96
`and a content database 98 to serve various multimedia
`content to the user. For instance, the ISP host 96 might store
`one or more target resources (such as a Web page) that can
`be rendered by the viewer computing unit 62.
`0053 According to the FIG. 3 arrangement, the viewer
`computing unit 60 receives tradit