`
`.
`
`Unlted States Patent [19]
`Graves et a1.
`
`US005410344A
`
`[11] Patent Number:
`[45] Date of Patent:
`
`5,410,344
`Apr. 25, 1995
`
`[54] APPARATUS AND METHOD OF
`SELECTING VIDEO PROGRAMS BASED ON
`VIEWERS’ PREFERENCES
`
`[75] Inventors: Gordon T. Graves; Brendan M.
`O’Connor, both of Austin, Tex.; Alva
`C_ Barker’ Tempe, Ariz
`.
`_
`_
`[73] Asslgneei A-l'l'owsmlth Technologles, Inc's
`Austin, Tex.
`[21] Appl. No.: 124,945
`.
`.
`Sen‘ 22’ 1993
`[22] Flled‘
`[51] Int. Cl.6 ............................................. .. H04N 7/16
`[52] US. Cl. ........................................ .. 348/1; 348/10;
`.
`455/2
`[58] Field of Search ----------------------- -- 348/1, 2, 5, 7, 12,
`348/10; 353/84, 36; H04N 7/16, 7/ 173; 455/2,
`4-2
`
`[56]
`
`. References Cited
`
`U'S' PATENT DOCUMENTS
`1(7);
`18.811, Jr- et al. ..................... .. 255/67
`
`................ .. 235/462
`4,954,699 9/1990 Coffey et a1.
`.... .. 348/1
`5,036,537 7/1991 Jeffers et a1. ..
`358/86
`5,179,439 1/1993 Hashimoto ...... ..
`.. 358/335
`5,189,630 2/ 1993 Barstow et al.
`5,293,456 3/1994 Guez et a1. .......................... .. 395/24
`_
`.
`_
`Primary Exammer—-James J. Groody
`Assistant Examiner—-Chr1s Grant
`Attorney, Agent, or Firm-Vinson & Elkins
`
`CT
`ABS
`[57]
`A method and apparatus for selecting audiovisual pro
`grams for presentation to a viewer. The audiovisual
`programs have attributes and a corresponding content
`code including information pertaining to the attributes.
`The method includes various steps. First, a viewer pref
`erence ?le is stored which includes information pertain
`ing to the impact of various attributes of the audiovisual
`programs on the viewer. Second, a plurality of content
`codes corresponding to a plurality of the audiovisual
`programs are received. Third, the viewer preference
`tile is compared to theplurality of the corresponding
`content codes. Finally, at least one of the plurality of
`
`,
`
`,
`
`irazi ........... ..
`
`48/11
`
`'
`
`'
`
`'
`
`'
`
`-
`
`4,528,589 W85 .31.... .1. ........... .. 3.8/1
`4,578,700 3/1986 Roberts et a].
`358/84
`4,751,578 6/1988 Reiter et a1. ..
`.. 358/183
`4,816,904 3/1989 McKenna et a].
`.. 358/84
`
`p
`
`P;331133;;sfffggdvggjvffo'lse ‘0 the Com
`P
`‘
`
`20 Claims, 5 Drawing Sheets
`
`120
`12\ |-- --.
`, CONTENT |
`| CODER '
`
`h - - _ -t
`
`10
`/
`
`l 4 \ SYSTEM
`HEAD END
`r_-__—__I_—-—---_—----_—_—__—_-_----_?
`l
`f’’'
`4__l
`VIEWER
`_
`|
`TV
`—’ EVALUATION T’ 22
`0
`SEKHON
`l
`00
`\ I
`l
`250 .
`
`SCREENING
`24 / PROCESS
`0R
`0
`
`I
`
`PREFERRED
`\HEMHNG
`FILE
`
`PERSONAL
`PREFERENCE
`FILE
`
`,
`
`|
`
`2/8° #200
`l
`UPDATE
`}
`PROCESSOR :
`
`CISCO Exhibit 1011, pg. 1
`
`
`
`U.S. Patent
`
`59915..2MA
`
`Sheet 1 of 5
`
`5,410,344
`
`CISCO Exhibit 1011, pg. 2
`
`
`
`US. Patent
`
`Apr. 25, 1995
`
`14\
`
`SYSTEM
`HEAD END
`
`_. /. __ : O __
`
`__ W .R _ N
`
`
`
`Sheet 2 of 5 FIG. 2
`
`‘
`
`. N R
`
`Q a 3
`
`. 2 _ x
`
`: A." AK“ _
`a
`rRwNkw w/ o ._ R
`“ N2 .n m
`
`
`u llll 'l-lnn ?NU
`__ Wag Wm __ 5 m
`
`_//\\ 0 _ 1 M
`UA D _ N
`- To ES _- 4. m
`
`_ \\ I)“ am _
`
`- 0 1 _
`
`n _ WW
`
`-
`
`
`
`1 lllllllllllllll IIJ N 7mmm233244422222m9
`
`H mm
`
`
`
`T. T...“ 3
`
`_ - 6
`
`_ _ _ T u
`
`- rr _ E
`
`_- RV - T“
`_ m6 _ Sm .n WNE __ 8 EM
`_- __ 7 R (G
`_ Hum". __ S S
`__ _- P HS
`I P __ 0 01 B
`
`P _ S
`
`E] 9 RC
`
`2
`
`_ _ T
`
`_" SP .n_ H EGS4MSEPDSP§NMCSS
`
`__ mR __ 1. ENrolwmmnNummRonnwmsmEm
`
`
`
`_ m _ 3 .MR 1 OCED .l C
`
`
`
`u. Mm __ 05% m I | I | I I ' | | I I l 2 i rr II I L.“ ‘I. _ _~_Mmmwn4u4U._U.uM?444_
`
`lllllllllllllll II F 2 u... m.
`
`NO 0 _ T “R SCF.
`"- __ 1 N yCD \! m Ema
`. NS _ 1. l AEE 0 C K T
`- F. EPR N E 1.0 .IE
`.. EE _ F. E G D N R M
`1. O R E
`
`- .l. R .Hlu Tl U0
`
`
`
`E EICR UIPP
`
`AR .lS
`
`comem HEADER LAYOUT
`FIG. 3
`
`CISCO Exhibit 1011, pg. 3
`
`
`
`US. Patent
`
`Apr. 25, 1995
`
`Sheet 3 of 5
`
`5,410,344
`
`34\
`'
`
`RECEIVE PROGRAM '
`AND CONTENT CODES
`I
`COMBINE CORRESPONDING
`36\ FIELDS OF CONTENT HEADER
`AND PREFERENCES TO
`CALCULATE FACTORS
`I
`APPLY FACTORS
`TO NEURAL NETWORK
`I
`DETERMINE GRADE
`WITH NEURAL NETWORK
`I
`COMPARE GRADE TO
`PREVIOUSLY STORED
`420/
`PREFERRED VIEWING PROGRAMS
`
`38\ ‘
`
`40\-‘
`
`LARGER THAN THAT OF
`PROGRAM WITH LOWEST
`
`REJECT
`PROGRAM \42C
`
`ADD PROGRAM TO
`.
`42d/- PREFERRED VIEWING FILE
`
`FIG. 4
`
`CISCO Exhibit 1011, pg. 4
`
`
`
`US. Patent
`
`Apr. 25, 1995
`
`Sheet 4 0f 5
`
`5,410,344
`
`uss CHANNEL H
`CONTROL T0
`SELECT FEATURE
`
`82
`
`RATING
`up USE VOLUME CONTROL
`DOWN“
`TO SET GRADE
`1
`2 s 4 s a 7 a 9 1o
`
`OVERALL FEATURE
`STORY APPEAL
`ACTION LEVEL
`ACTOR #1
`
`ACTOR #5
`DIALOG
`MUSIC
`SUSPENSE LEVEL
`VIOLENCE LEVEL
`ROMANCE LEVEL
`
`%
`
`/
`
`VIEWED FEATURE REVIEW SCREEN
`PLAY GAME
`RANK PUBLIC
`
`CNL
`
`0K
`
`FIG. 5
`
`558%
`
`
`
` W 2 m1 V% 6% N
`
`L 0 0 III
`
`MW;
`
`zwnv ////
`mes 7%,
`mus % // 4 “m6 7/ %
`
`/
`
`|' OS
`253%: § @5552 Y\\
`Hmm mm 3mm m 2
`m a .M:0.
`
`62 &
`
`CNL
`
`VIEWED FEATURE REVIEW SCREEN
`NONE
`PREVIEW
`
`0K
`
`FIG. 6
`
`
`wmKmwmmw m mmm mmmmmmmwmw
`
`Emu mmmsmmmmmm
`mi U .MAnREmmRw
`mum.
`mums m ans
`
`QMNWWGWDNU
`
`CISCO Exhibit 1011, pg. 5
`
`
`
`US. Patent
`
`Apr. 25, 1995
`
`Sheet 5 of 5
`
`5,410,344
`
`THRESHOLD
`ACTIVATION
`FUNCTION '
`
`CISCO Exhibit 1011, pg. 6
`
`
`
`APPARATUS AND METHOD OF SELECTING
`VIDEO PROGRAMS BASED ON VIEWERS’
`PREFERENCES
`
`TECHNICAL FIELD OF THE INVENTION
`This invention is in the ?eld of television media, and
`is more speci?cally directed to selecting television pro
`grams based on program content and viewer prefer
`
`ence.
`
`'
`
`10
`
`20
`
`BACKGROUND OF THE INVENTION
`The advent of ?ber optics, increased data rates, ef?
`cient data formats, and related technologies have
`caused, and will continue to cause, the number of televi~
`sion channels available to subscribers to greatly in
`crease. Consequently, the viewer is inundated with
`program choices from which to select a desirable pro
`gram. Indeed, even the diligent viewer must expend a
`great deal of time sampling the numerous available
`programs, and such time expenditure is likely to be
`inef?cient and potentially aggravating.
`The prior art includes various systems directed
`toward enhancing television viewing ef?ciency. For
`25
`example, U.S. Pat. No. 4,230,990, (“the ’990 patent”)
`was issued Oct. 28, 1980 to Lert, Jr. et al. and is entitled
`“Broadcast Program Identi?cation Method And Sys
`tem.” The ’990 patent describes an automated system
`for identifying broadcast programs using pattern recog
`nition. Speci?cally,_a signature pattern is used with the
`program which is either inserted into the program, or
`derives from a naturally occurring portion of the pro
`gram. The signature pattern is compared to numerous
`35
`reference patterns in an attempt to identify the event of
`broadcasting a particular program. Such noti?cation is
`stated to be helpful, for example, to advertisers wishing
`to verify broadcasting of commercials or, as another
`example, to artists collecting royalties based on pro
`gram broadcasting.
`As another example, U.S. Pat. No. 4,751,578 (“the
`’578 patent) was issued Jun. 14, 1988, to Reiter et a1. and
`is entitled “System For Electronically Controllably
`Viewing On A Television Updateable Television Pro
`gramming Information.” The ’578 patent describes an
`electronic system whereby a user telephones a central
`computer which downloads information to the user,
`such as television listing information. The user may then
`view the downloaded information on his/her television
`and access it using the television remote control unit.
`Access is permitted in various formats, some of which
`are determined by codes associated with programs.
`Thus, the system can search for the appropriately coded
`programs and display them to the user.
`While the embodiments of the ’990 and ’578 patents
`may, in some instances, add convenience to television
`viewing, neither contemplates or addresses the problem
`of program selection in view of the viewer’s personal
`preferences given tens, hundreds, and quite possibly
`thousands of programming choices. Therefore, it is an
`object of the present invention to provide a method and
`apparatus for automatically selecting a program or pro
`grams from a large number of selections, wherein the
`selection is based on the personal preferences of the
`viewer.
`It is a further object of the present invention to pro
`vide such a method and apparatus such that an adaptive
`
`55
`
`60
`
`65
`
`1
`
`5,410,344
`
`2
`or neural system creates a preferred viewing ?le based
`on the personal preferences of the viewer.
`It is a further object of the present invention to pro
`vide such a method and apparatus such that an adaptive
`or neural system updates a preferred viewing ?le based
`on the personal preferences of the viewer.
`It is a further object of the present invention to pro
`vide such a method and apparatus wherein the neural
`system is a learning system such that it adapts its deci
`sion-making process based on ongoing feedback from
`the viewer.
`It is a further object of the present invention to pro
`vide such a method and apparatus wherein content
`codes are embedded into programs before they are
`transmitted to viewers such that the codes describe
`various attributes about the corresponding program.
`Other objects and advantages of the present invention
`will be apparent to those of ordinary skill in the art
`having reference to the following speci?cation together
`with its drawings.
`
`SUMMARY OF THE INVENTION
`In one embodiment, the present invention includes a
`method for selecting audiovisual programs for presenta
`tion to a viewer. Each of the audiovisual programs has
`attributes and a corresponding content code including
`information pertaining to the attributes of the audiovi
`sual program. The method includes various steps. First,
`a viewer preference ?le is stored which includes infor
`mation pertaining to those attributes of audiovisual
`programs which affect the particular viewer and the
`degree of impact of those attributes on the viewer. Sec
`ond, a plurality of content codes corresponding to a
`plurality of the audiovisual programs are received.
`Third, the viewer preference ?le is compared to the
`plurality of the corresponding content codes. Finally, at
`least one of the plurality of audiovisual programs is
`selected in response to the comparison for storage in the
`preferred viewing ?le and for eventual presentation to
`the viewer.
`Various other embodiments, including methodolo
`gies arising from the above embodiments are also in
`cluded within the present invention.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`For a more complete understanding of the present
`invention and its advantages, reference is now made to
`the following description taken in conjunction with the
`accompanying drawings, in which:
`FIG. 1 illustrates a block diagram of a cable television
`system depicting the preferred environment for imple
`menting the present invention;
`FIG. 2 illustrates a detailed block diagram of the
`components and ?les associated with the controller
`blocks shown in FIG. 1;
`FIG. 3 illustrates the preferred ?elds of the content
`header used in the present invention to encode various
`attributes of an audiovisual program;
`FIG. 4 illustrates a ?ow chart of the general method
`ology of evaluating a candidate program using the pres
`ent invention;
`FIG. 5 illustrates an example of a screen display used
`to solicit ratings from a viewer pertaining to various
`attributes of an audiovisual program;
`FIG. 6 illustrates an example of a screen display used
`to solicit rankings from a viewer pertaining to various
`programs previously chosen by the system as the view
`er’s preferred listing of audiovisual programs;
`
`CISCO Exhibit 1011, pg. 7
`
`
`
`3
`FIG. 7 illustrates a generalized diagram of a neural
`network neuron element; and
`FIG. 8 illustrates a neural network for receiving in
`puts related to content coding and viewer preference
`information and for outputting a grade for the audiovi
`sual program associated with the given inputs.
`
`H 0
`
`5
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`The preferred embodiment of the present invention
`will now be described in detail relative to FIGS. 1
`through 8. Referring ?rst to FIG. 1, the present inven
`tion operates within the context of a cable system for
`communicating programs to viewers and designated
`generally at 10. Programs to be transmitted within cable
`system 10 typically originate from a movie or television
`post production facility 12. Facility 12 delivers the pro
`grams to a system head end 14. System head end 14
`operates as an interface between facility 12 and the end
`viewers; thus, system head end 14 transmits the pro
`grams on one of many available channels to a communi
`cation medium, such as a cable 16.
`Cable 16 connects the channels/programs to a num
`ber of home users, either directly, or as shown, through
`a neighborhood node 17. Typically, neighborhood node
`17 serves anywhere from 500 to 2,000 home users. For
`purposes of ease of illustration, only a few home users
`are shown, and are designated as 18a, 18b, 18c and 18z,
`with the like number (i.e., “18”) indicating the same
`general components, and the varying letter designation
`(i.e., “a” through “z”) indicating that the number of
`home users may vary as known in the art. Each home
`user 18 includes the same two general components. For
`example, user 18a includes a converter/controller 20a
`and a television 220. In general, converter/controller
`20a selects a particular channel and conveys the pro
`gram on the selected channel to television 22a. Further,
`however, converter/controller 200 also performs nu
`merous other features. For example, converter/con
`troller 20a typically provides de-compression of digital
`transmissions, preview information, television control,
`and navigation functions. In the embodiment of the
`present invention, however, and as discussed in detail
`below, converter/controller 20a also screens incoming
`programs and selects those which are likely to be of
`interest to a viewer based on the viewer’s personal pref
`erences. Television 22a, or a comparable device such as
`a monitor, displays the selected program to the individ
`ual user. The remaining home users include like compo
`nents and, hence, are illustrated with corresponding
`reference numerals but different letter designations
`(e.g., user 18b includes converter/controller 20b and
`television/monitor 22b).
`FIG. 2 illustrates an expanded block diagram of post
`production facility 12 and converter/controller 20a of
`FIG. 1 to illustrate the inventive operation with respect
`to a given home user 180. Before proceeding, however,
`it should be understood that the same principles apply
`to other home users (e.g., 18b, 181:, 182) as well. It also
`should be understood that some of the functions de
`scribed in connection with the converter/controller
`2000f FIG. 2 might be housed in other locations, such as
`a neighborhood node 17 or system head end 14. The
`speci?c location of a function is preferably chosen by
`considerations of efficiency. Thus, if a particular func
`tion requires large amounts of digital storage, and such
`storage is available at a neighborhood node 17, then the
`storage function is preferably performed at that loca
`
`5,410,344
`4
`tion. Naturally, other functions, such as digital process
`ing, also may be relocated to locations where such func
`tionality is available and/or most ef?ciently performed.
`Note also that neighborhood node 17 is not shown in
`FIG. 2 for purposes of simplifying the drawing.
`With reference to FIG. 2, post production facility 12
`includes a content coder 12a. Content coder 12a is pref
`erably a microprocessor-based device which, as de
`scribed in greater detail with respect to FIG. 3, encodes
`descriptive information about the attributes of each
`video program. The descriptive information may in
`clude, for example, the name of the program, the stars,
`the author, the director, a story synopsis and additional
`information described below. In addition, content coder
`12a ,inserts the encoded description into the digital
`information representing the actual video signal for the
`particular program. Thus, the information may be
`added to a video tape, disk or other medium storing the
`digital program information. Consequently, the en
`coded description is passed along with the program
`itself through system head 14 to cable 16.
`The program and encoded description pass via cable
`16 to home user 18a and, more particularly, to conver
`ter/controller 20a . Converter/controller 20aincludes a
`screening processor 240,- a viewer evaluation station
`26a, and an update processor 280. The detailed func
`tionality of these blocks is discussed below, but a brief
`overview before proceeding is instructive. Screening
`processor 24a is preferably a single or multiple micro
`processor system which receives a program(s) from
`cable 16, calculates a program grade, and generates a
`preferred viewing ?le 30a. Preferred viewing ?le 30a
`lists the program grades, and preferably the story syn
`opsis, for the programs determined to be of highest
`interest to the viewer. Preferred viewing ?le 30a is
`available to viewer evaluation station 26a. Viewer eval
`uation station 26a preferably includes a set-top cable
`converter box and an input device such as a remote
`control or a keyboard. Station 260 is coupled to televi
`sion 22a for displaying selections stored in preferred
`viewing ?le 30a. Station 260 also allows the viewer to
`input its program preferences as well as to evaluate the
`results created by controller 200. Viewer evaluation
`station 26a is coupled to update processor 28awhich has
`access to, and modi?es, a personal preference ?le 32a.
`Personal preference ?le 32a is established and modi?ed
`to re?ect the personal preferences of a viewer with
`respect to various program attributes. Consequently,
`preference ?le 32a is also available to screening proces~
`sor 24a for performing the functions described above,
`and detailed below.
`FIG. 3 illustrates one embodiment for encoding the
`descriptive program information by content coder 12a
`in the form of a content header. The content header is
`arranged in a series of 50 ?elds. In the preferred em
`bodiment, the complete content header is less than 1K
`bits in length and, thus, is approximately two parts in
`one million of the required memory to store a digitally
`compressed one hour program. The ?elds and a more
`detailed description of each is as follows:
`Field: Description
`1 (identi?cation): uniquely identi?es a particular pro
`gram using seven digits.
`2~20 (genre): represents a particular genre class (e.g.,
`action, comedy, drama, news, historical, mystery, west
`ern, violence, musical, shopping, romance, dance,
`erotic, horror, science ?ction, game, etc.) using thirty
`digits. Each genre ?eld contains a rating of zero to eight
`
`60
`
`25
`
`40
`
`65
`
`CISCO Exhibit 1011, pg. 8
`
`
`
`10
`
`20
`
`30
`
`35
`
`5,410,344
`5
`for that particular genre class. For example, a particular
`program may receive a seven for action, three for com
`edy, zero for musical, one for romance, zero for dance,
`one for erotic, eight for violence, one for horror, and
`zero for science ?ction.
`21-25 (actors/actresses): identi?es each of the top
`?ve actors/actress using a unique ?ve digit identi?ca-_
`tion number plus three digits corresponding to the num
`ber of minutes that particular actor/actress is on screen.
`33~36 (critic): identi?es various critics by a unique
`four-digit identi?cation code and their applicable rating
`of the particular program (using two digits, 1 to 99).
`37 (date released): identi?es the initial date of publica
`tion of the program.
`38 (setting): identi?es the setting in which the story/
`program takes place.
`39 (length): identi?es the duration of the program in
`whatever desirable units (e.g., minutes).
`40 (period/year): identi?es the period in which the
`story/program takes place.
`41 (director): uniquely identi?es the director(s) of the
`program.
`42 (screen writer): uniquely identi?es the screen wri
`ter(s) of the program.
`43 (producer): uniquely identi?es the producer(s) of
`the program.
`44 (studio): uniquely identi?es the production studio
`of the program.
`45 (network): uniquely identi?es the broadcasting
`network of the program.
`46 (musical score): identi?es the characteristic of the
`musical score.
`47 (cinematic attributes): identi?es the cinematic
`characteristics of the movie.
`48 (special effects): describes any unusual special
`effects.
`49-50 (spare): these ?elds are intentionally open
`ended for future ?exibility of additional and/or alterna
`tive ?elds. Of course, while ?elds 1—50 represent the
`preferred content header, it should be understood that
`40
`one skilled in the art could choose more, less, and/or
`alternative ?elds without departing from the spirit of
`the intended invention.
`Having explained the preferred format of the content
`header, reference is now returned to FIG. 2 for the
`detailed operation of its functional blocks. Personal
`preference ?le 32a is initially loaded into controller 20a
`to provide a foundation for analyzing and selecting
`subsequently arriving programs according to the view
`er’s preferred interests. In the preferred embodiment,
`personal preference ?le 32a includes codes relating to
`the impact of various attributes of the audiovisual pro
`grams on the viewer, that is, re?ecting the tastes, inter
`ests, and preferences of the viewer with respect to those
`attributes. These codes correspond to the ?elds within
`the content headers of the coded programs and, thus,
`correspond to the attributes of a program de?ned by
`those ?elds. Note also that ?le 32a includes a preference
`ranking of all actors and actresses that a viewer has ever
`ranked. Newscasters, subjects of the news, talk show
`60
`hosts, talks show gusts, sports announcers and the like
`are also included in this group. The codes for prefer
`ence ?le 320 may be solicited by various techniques,
`including a mailed questionnaire, telephone interview,
`or by a television menu controlled by key/remote con
`trol input. Note also that ?le 32a is preferably arranged
`in a format such that it may be transported either by
`telecommunication link routing or “smart card” to any
`
`6
`distant location of the viewer who created the ?le.
`Moreover, to preserve con?dentiality, ?le 320 also is
`formatted or protected in a manner so that only the
`viewer creating it has access to its contents.
`Once personal preference ?le 32a is established,
`screening processor 240 evaluates programs (more par
`ticularly, the program content headers) in view of the
`viewer preferences established in ?le 32a. Particularly,
`screening processor 240 compares a program content
`header to personal preference ?le 32a and generates a
`grade for each analyzed program using a hierarchical
`analytic decision-making process described below. Pro
`grams receiving a favorable grade are stored in pre
`ferred viewing ?le 30a. In the preferred embodiment,
`?le 30a consists of the ten programs receiving the high
`est grade from screening processor 24a.
`FIG. 4 illustrates the preferred detailed steps for
`performing the screening processor methodology. In
`block 34, a new content coded program is received
`from cable 16 and the content header is input to screen
`ing processor 240. In block 36, each header ?eld value
`is combined with the corresponding category from
`personal preference ?le 32a to obtain a corresponding
`factor. In block 38, each of these factors is coupled to
`the appropriate input of a neural network process per
`formed by screening processor 240. As detailed below,
`the neural network process predicts the programs in
`which a viewer would have the highest interest by
`determining a grade for each analyzed program. Thus,
`in block 40, the neural network outputs a program
`grade corresponding to the program being analyzed.
`Finally, in block 42a, the program grade is compared to
`the ten grades corresponding to the ten programs previ
`ously stored in preferred viewing ?le 30a. Block 42b
`determines if the newly-calculated grade is larger than
`that of the lowest of the ten stored preferred grades. If
`the grade is not larger, then in block 42c the program is
`deemed of insigni?cant interest to the viewer and re
`jected. If, however, the newly-calculated grade is larger
`than the lowest preferred grade, then in block 42d a
`program identi?er for the program corresponding to
`the grade is stored in preferred viewing ?le 30a, thereby
`updating the ?le with the new program. Moreover, the
`previously-stored program with the lowest grade is
`dropped from ?le 30a, thereby leaving the top ten grade
`programs stored therein. Note that if two programs
`have the same lowest grade within the ten programs
`stored in ?le 30a, the most recent is retained while the
`older is discarded from the ?le. Lastly, note that the
`viewer may display the contents of ?le 30a at his or her
`leisure, thereby notifying the viewer of the selected
`programs for their viewing pleasure.
`As mentioned above in connection with FIG. 2, con
`troller 20a also includes a viewer evaluation station 260
`which interacts with the viewer to solicit his/her pref
`erences regarding programs and program attributes. In
`the preferred embodiment, viewer input of preferences
`to station 260 occurs in any of three different modes
`described immediately below.
`The ?rst viewer input mode for gathering viewer
`preference data occurs after a particular program has
`been viewed. At this time, a series of questions are pres
`ented to the viewer on television 22a. The viewer an
`swers the questions with an input device such as a key
`pad or remote control. A screen illustrating a typical set
`of questions is shown in FIG. 5. Thus, for each feature
`shown in the left column of FIG. 5, the viewer adjust
`the corresponding horizontal bar graph to the rating
`
`50
`
`55
`
`65
`
`CISCO Exhibit 1011, pg. 9
`
`
`
`8
`ing on conventional computing equipment; it should be
`noted, however, that special dedicated hardware for the
`implementation of neural networks also has been con
`structed and implemented as known in the art.
`Neural networks are typically illustrated comprising
`numerous simple processing units called neurons. FIG.
`7 illustrates a model of a neuron indicated generally at
`44. Neuron 44 includes multiple inputs, called synapses,
`designated A0 through A,,. Neuron 44 also includes one
`output, designated x, which, as illustrated in FIG. 8,
`may be connected to the inputs of several different
`neurons. The output value, or activation, of neuron 44 is
`related to its state, which is computed by applying a
`threshold function to inputs A0 through A,,. The thresh
`old function is generally non-linear and is dependent on
`the sum of the products of each incoming neuron’s
`output and the synaptic weight of the connection to the
`respective output. A typical threshold function is based
`on added functions of the following form:
`
`0
`
`5
`
`5,410,344
`7
`appropriate for the program just watched. For example,
`in FIG. 5, the user has adjusted the overall grade to a
`rating of eight, the story appeal to a rating of seven, the
`action level to a rating of nine, and so forth.
`The second viewer input mode for gathering viewer
`preference data occurs when the viewer tunes to a pre
`view channel to view the program listing of preferred
`viewing ?le 30a. FIG. 6 illustrates a typical screen
`shown on the preview channel. In this mode, the pro
`grams titles stored in preferred viewing ?le 300 are
`displayed to the viewer. Note that the number of pro
`grams in this ?le is between 0 and 10. The viewer ranks
`the displayed programs on a preference scale which
`ranges from one to the number of programs in ?le 300.
`Thus, if there are only ?ve programs in the ?le (and,
`thus, ?ve displayed programs), the viewer ranks the
`displayed programs from one to ?ve. Note that other
`parameters about the displayed programs also may be
`solicited, such as whether the viewer has seen the pro
`gram before.
`The third viewer input mode for gathering viewer
`preference data occurs when the viewer participates in
`a trivia game show. Speci?cally, the present invention
`contemplates the transmission of a game show to view
`ers wherein the game show solicits viewers to rate pro
`gram attributes such as movies, actors, directors, etc.
`For example, the game show might display a synopsis of
`a program, and ask the viewer to grade various aspects
`of the program in their own preferences as well as their
`predictions of the preferences of the majority of other
`viewers participating in the game show. Various prizes
`and the like may be'used to encourage viewers to partic
`ipate in the game show. Regardless of the format of the
`game show, inquiries are issued to the viewer so that
`updated information is obtained pertaining to the view
`er’s program preferences.
`Having described the alternative processes for ac~
`quiring the viewer personal preferences, note that such
`preferences are used for two purposes. First, the new
`preferences supersede those in personal preference ?le
`40
`32a which were earlier input by the viewer and, thus,
`update processor 28a modi?es, or “updates,” ?le 32a to
`re?ect any changes in viewer preference. Second, the
`new preferences are used to enhance the accuracy of
`the grade formulated by controller 20a. Speci?cally, the
`present invention preferably includes a neural weighing
`system to determine a grade for each incoming pro
`gram. Such a system includes weighing factors to for
`mulate its grade. Thus, update processor 28a modi?es
`these weighing factors in view of the newly entered
`preferences to enhance the accuracy of future grades
`attributed to incoming programs. In other words, the
`weights are adjusted so that the calculated grade ap
`proaches the actual grade given by the viewer.
`From the above, it should be appreciated that the
`present invention provides apparatus and methodology
`for screening incoming programs and selecting those
`with the highest interest to a viewer based on the view
`er’s personal preferences regarding numerous program
`attributes. As mentioned above, the method selects
`programs by giving each a grade, and storing those
`programs with the highest relative grades. Grade for
`mation is preferably performed using computing tech
`niques commonly referred to as adaptive, or neural,
`networks. Neural network computing techniques are
`65
`well known and have been used for the solution of
`certain types of problems. These neural networks are
`commonly implemented by computer programs operat
`
`60
`
`25
`
`35
`
`where,
`n is the number of incoming neurons;
`A is the vector of incoming neurons; and
`w is the vector of synaptic weights. Since the rela
`tionships in a viewer selection system are likely
`non-linear, it is preferable that the activation func
`tions of the neurons also be non-linear.
`FIG. 8 illustrates a conventional neural network des
`ignated generally at 46 ‘and in accordance with the
`present invention. Network 46 is a representation of the
`operation of a computer program; such a representation
`for computer programs of this type is conventional and
`well-known in the art. Network 46 includes three
`groups of neurons 48, 50 and 52, arranged in layers.
`Each neuron of layer 48 receives an input (A,-) to net
`work 46, and the layer is referred to as the input layer.
`Conversely, the single neuron layer 52, which presents
`an output from network 46, is referred to as the output
`layer. Note that the output layer could include addi
`tional neurons as well. In the present embodiment, the
`output represents the grade for the program being ana
`lyzed. The layer of neurons 50, each of which receives
`inputs from input neurons 48, and presents an output to
`output neuron 52, is commonly referred to as a hidden
`layer. Each neuron of each layer receives an input and
`calculates a weighted sum as discussed in connection
`with FIG. 7 and Eqn. 1, above.
`In the present invention, the inputs Althrough A50
`correspond to a combination of the ?fty ?elds charac
`terized in the program content header and each corre
`sponding ?eld in personal preference ?le 32a. The par
`ticular method of combining a speci?c ?eld and prefer
`ence depends on the given attribute. For example, with
`respect to the actor ?elds 21 through 25, the top ?ve
`actors/actresses in a program are matched with their
`ratings contained in personal preference ?le 32a. The
`actor/actress rating in personal preference ?le 32a for
`each of the top ?ve actors/actresses is then multiplied
`times the number of minutes the corresponding actor
`/ actress appears in the program. This product is entered
`as an input to one of input