U.S. patent application number 15/711729 was filed with the patent office on 2018-08-16 for distributed, interactive television program guide; system and method.
The applicant listed for this patent is TiVo Solutions Inc.. Invention is credited to Brian Beach, Alan Waterman.
Application Number | 20180234737 15/711729 |
Document ID | / |
Family ID | 22613147 |
Filed Date | 2018-08-16 |
United States Patent
Application |
20180234737 |
Kind Code |
A1 |
Beach; Brian ; et
al. |
August 16, 2018 |
DISTRIBUTED, INTERACTIVE TELEVISION PROGRAM GUIDE; SYSTEM AND
METHOD
Abstract
In an interactive network-based personal video recording system,
a user interface is provided that allows viewers to search a
database of program guide information according to program title,
indexed program attributes such as actor and director, and key
word. Viewer interaction is by way of a remote control unit.
Inventors: |
Beach; Brian; (Santa Cruz,
CA) ; Waterman; Alan; (Los Gatos, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
TiVo Solutions Inc. |
San Carlos |
CA |
US |
|
|
Family ID: |
22613147 |
Appl. No.: |
15/711729 |
Filed: |
September 21, 2017 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
14741337 |
Jun 16, 2015 |
9794637 |
|
|
15711729 |
|
|
|
|
13472369 |
May 15, 2012 |
9060099 |
|
|
14741337 |
|
|
|
|
11757958 |
Jun 4, 2007 |
8181203 |
|
|
13472369 |
|
|
|
|
10168839 |
Jun 21, 2002 |
7228556 |
|
|
PCT/US00/35152 |
Dec 20, 2000 |
|
|
|
11757958 |
|
|
|
|
60171829 |
Dec 21, 1999 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
H04N 21/4668 20130101;
H04N 21/2747 20130101; H04N 21/42204 20130101; H04N 21/4345
20130101; H04N 21/47 20130101; H04N 21/4828 20130101; H04N 21/4755
20130101; H04N 21/4821 20130101; H04N 5/44543 20130101; Y10S
707/99933 20130101; H04N 21/4147 20130101; H04N 21/8405 20130101;
H04N 7/173 20130101; H04N 5/782 20130101; H04N 5/76 20130101; H04N
21/4334 20130101; H04N 21/4586 20130101; Y10S 707/99943 20130101;
H04N 21/4826 20130101 |
International
Class: |
H04N 21/482 20110101
H04N021/482; H04N 21/466 20110101 H04N021/466; H04N 21/475 20110101
H04N021/475; H04N 21/2747 20110101 H04N021/2747; H04N 21/8405
20110101 H04N021/8405; H04N 21/434 20110101 H04N021/434; H04N 5/445
20110101 H04N005/445; H04N 5/76 20060101 H04N005/76; H04N 21/422
20110101 H04N021/422; H04N 7/173 20110101 H04N007/173; H04N 21/433
20110101 H04N021/433; H04N 21/458 20110101 H04N021/458; H04N
21/4147 20110101 H04N021/4147 |
Claims
1-20. (canceled)
21. A computer-implemented method comprising: generating a
plurality of strings based at least in part on program information
stored in a database, a first string in the plurality of strings
having a first number of characters and the program information
including a second number of characters, the first number of
characters being less than the second number of characters;
receiving a first input including a first character; searching the
plurality of strings to identify a first search result that
includes the first character and at least one additional character
based at least in part on the first character; receiving a second
input that includes a second character; and searching the plurality
of strings to identify a second search result based at least in
part on the first character, the second character, and the at least
one additional character.
22. The method of claim 21, further comprising: generating, based
at least in part on the first input and the second input, program
search profiles, individual program search profiles comprising one
or more different search constraints, the one or more different
search constraints including at least one of a key word, an actor
name, or a category.
23. The method of claim 22, further comprising: storing program
search profiles, each program search profile saved in association
with a respective program search profile name.
24. The method of claim 21, further comprising: grouping the
plurality of strings keys according to specific indexes, individual
index of the specific indexes being associated with a group of the
plurality of strings; receiving a selection of an index; and
performing a search on the group of the plurality of strings
associated based at least in part on the index.
25. The method of claim 21, wherein the second character is
received after the first character.
26. The method of claim 21, further comprising: presenting the
first search result based at least in part on the first input; and
updating the first search result to present the second search
result based at least in part the second input.
27. The method of claim 21, wherein the second search result
includes the first character, the second character and the at least
one additional character.
28. A system comprising control circuitry configured to: generate a
plurality of strings based at least in part on program information
stored in a database, a first string in the plurality of strings
having a first number of characters and the program information
including a second number of characters, the first number of
characters being less than the second number of characters; receive
a first input including a first character; search the plurality of
strings to identify a first search result that includes the first
character and at least one additional character based at least in
part on the first character; receive a second input that includes a
second character; and search the plurality of strings to identify a
second search result based at least in part on the first character,
the second character, and the at least one additional
character.
29. The system of claim 28, wherein the control circuitry is
further configured to: generate, based at least in part on the
first input and the second input, program search profiles,
individual program search profiles comprising one or more different
search constraints, the one or more different search constraints
including at least one of a key word, an actor name, or a
category.
30. The system of claim 29, wherein the control circuitry is
further configured to: store program search profiles, each program
search profile saved in association with a respective program
search profile name.
31. The system of claim 28, wherein the control circuitry is
further configured to: group the plurality of strings keys
according to specific indexes, individual index of the specific
indexes being associated with a group of the plurality of strings;
receive a selection of an index; and perform a search on the group
of the plurality of strings associated based at least in part on
the index.
32. The system of claim 28, wherein the second character is
received after the first character.
33. The system of claim 28, wherein the control circuitry is
further configured to: present the first search result based at
least in part on the first input; and update the first search
result to present the second search result based at least in part
the second input.
34. The system of claim 28, wherein the second search result
includes the first character, the second character and the at least
one additional character.
35. A non-transitory computer readable medium comprising memory
with instructions encoded thereon, the instructions comprising: an
instruction for generating a plurality of strings based at least in
part on program information stored in a database, a first string in
the plurality of strings having a first number of characters and
the program information including a second number of characters,
the first number of characters being less than the second number of
characters; an instruction for receiving a first input including a
first character; an instruction for searching the plurality of
strings to identify a first search result that includes the first
character and at least one additional character based at least in
part on the first character; an instruction for receiving a second
input that includes a second character; and an instruction for
searching the plurality of strings to identify a second search
result based at least in part on the first character, the second
character, and the at least one additional character.
36. The non-transitory computer-readable medium of claim 35,
wherein the instructions further comprise: an instruction for
generating, based at least in part on the first input and the
second input, program search profiles, individual program search
profiles comprising one or more different search constraints, the
one or more different search constraints including at least one of
a key word, an actor name, or a category.
37. The non-transitory computer-readable medium of claim 36,
wherein the instructions further comprise: an instruction for
storing program search profiles, each program search profile saved
in association with a respective program search profile name.
38. The non-transitory computer-readable medium of claim 35,
wherein the instructions further comprise: an instruction for
grouping the plurality of strings keys according to specific
indexes, individual index of the specific indexes being associated
with a group of the plurality of strings; an instruction for
receiving a selection of an index; and an instruction for
performing a search on the group of the plurality of strings
associated based at least in part on the index.
39. The non-transitory computer-readable medium of claim 35,
wherein the second character is received after the first
character.
40. The non-transitory computer-readable medium of claim 35,
wherein the instructions further comprise: presenting the first
search result based at least in part on the first input; and
updating the first search result to present the second search
result based at least in part the second input.
41. The non-transitory computer-readable medium of claim 35,
wherein the second search result includes the first character, the
second character and the at least one additional character.
Description
CLAIM OF PRIORITY AND RELATED APPLICATIONS
[0001] This application claims benefit as a continuation of U.S.
patent application Ser. No. 13/472,369, filed May 15, 2012, which
claims benefit as a continuation of U.S. patent application Ser.
No. 11/757,958, filed Jun. 4, 2007, now U.S. Pat. No. 8,181,203,
which claims benefit as a continuation of U.S. patent application
Ser. No. 10/168,839, filed Jun. 21, 2002, now U.S. Pat. No.
7,228,556, which claims benefit of U.S. Provisional Patent
Application Ser. No. 60/171,829, filed Dec. 21, 1999, the entire
contents of which are hereby incorporated by reference as if fully
set forth herein, under 35 U.S.C. .sctn. 120. The applicant(s)
hereby rescind any disclaimer of claim scope in the parent
application(s) or the prosecution history thereof and advise the
USPTO that the claims in this application may be broader than any
claim in the parent application(s).
BACKGROUND OF THE INVENTION
Field of the Invention
[0002] The invention relates generally to a network-based video
recording system. More particularly, the invention relates to a
method and apparatus for searching a client-side database of
program guide information to identify program items of
interest.
Description of Related Art
[0003] The number of programming options available to television
viewers is constantly increasing, with television programming now
available from the major networks, cable channels, satellite,
pay-per-view, community access television, and so on. Paralleling
this growing availability of television programming is a decrease
in the amount of leisure time viewers have for watching television;
due to job demands, time spent commuting, family responsibilities
and the like. Because of these severe schedule constraints, the
complaint is pervasive among viewers that "There's nothing on" when
they do have time for television viewing, in spite of the
unprecedented availability of television entertainment. This
complaint is more a result of the difficulty of matching one's own
schedule to network television schedules than it is due to quality
or availability of television programming. The ability provided by
VCR's and other recording devices to make automatic, unattended
recordings of television programs has freed viewers from the
dictates of network scheduling.
[0004] However, the viewer is still faced with the time-consuming
chore of examining schedules for literally hundreds of television
channels to identify programs of interest. As a result, electronic
program guides have been developed to help viewers deal with the
mass of programming information. Typically, such guides are
provided in cable and satellite television environments. The
program information is presented in a grid format, organized by
time slot and channel. The guide is displayed by scrolling across
the screen. However, these guides are not interactive; they cannot
be searched, nor can the viewer control the display of information
in any way. The viewer must simply passively watch the information
scroll by, hoping that something useful or interesting will pass
by.
[0005] Searchable program guides are now available. For example, S.
Schein, J. Leftwich, Method and apparatus for searching a guide
using program characteristics, U.S. Pat. No. 6,133,909 (Oct. 17,
2000) describe a searchable program guide that allows a viewer to
search according to program attributes such as actors or directors.
The guide described by Schein, et al. eases the viewer's task of
locating programs of interest. Unfortunately, the described guide
only allows the user to search the guide according to indexed
attributes, such as actor or director. However, indexed attributes
often fail to anticipate a user's search behavior. Thus, Schein, et
al. do not provide the user with any way to search outside of those
indexed attributes.
[0006] From the foregoing, it is apparent that an interactive
program guide that affords the viewer more flexible search options
would be a significant technological advance.
SUMMARY OF THE INVENTION
[0007] The invention provides a method and apparatus for searching
a database of program information in an interactive, network-based
video recording system, in order to identify programs of interest.
A viewer enters search terms using a virtual alphanumeric keypad
displayed in a viewer interface by means of a remote control. The
viewer may search according to program title, indexed attributes
such as category, actor, and director; or a key word search allows
the viewer to search by program content or subject matter. A prefix
matching capability provides a type-ahead feature, so that search
terms may be rapidly located in the appropriate index simply by
entering one or more of the leading characters of the search
term.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] FIG. 1 shows a block diagram of an interactive,
network-based video recording system, according to the
invention;
[0009] FIG. 2 shows a top-level screen of a viewer interface for
searching an interactive program guide, according to the
invention;
[0010] FIG. 3 shows a screen from the viewer interface of FIG. 2
for searching by title, according to the invention;
[0011] FIG. 4 shows an alphanumeric keypad for searching by title,
according to the invention;
[0012] FIG. 5 shows an alphanumeric keypad for searching by actor
name, according to the invention;
[0013] FIG. 6 shows a category list for narrowing an actor name
search, according to the invention;
[0014] FIG. 7 shows an alphanumeric keypad for searching by
keyword, according to the invention; and
[0015] FIG. 8 shows a category list for narrowing a keyword search,
according to the invention.
DETAILED DESCRIPTION
[0016] In an interactive, network-based video recording system, a
searchable program guide is provided to facilitate the task of
identifying programs of interest by the viewer. As shown in FIG. 1,
a viewer interface 1 to a client unit 3 provides a series of
interactive screens that incorporate interface elements such as
text boxes, searchable lists, selection bars, and alphanumeric
keypads. The viewer navigates the interface and generally interacts
with the system by means of a hand-held remote control 4 that
communicates with the client unit by means of a data signal 5. In
the preferred embodiment, the data signal is embedded in an IR
carrier signal, but other carrier signals known to those skilled in
the art of wireless data transfer would also be suitable.
Typically, the interface is displayed on the screen of a television
set 2 connected to the client unit. However, other display means
would also be suitable. The client unit is in periodic contact 6
(the arrows denoting the network connection are dashed to indicate
the intermittent nature of the connection) with a server 7, during
which time, current program information, originating from a vendor,
is downloaded to the client unit. After downloading, the program
information is imported into a database application resident on a
fixed storage medium such as a disk drive. The current embodiment
of the invention employs an object-oriented database application,
but other types of database applications, such as relational
databases, would also be suitable.
[0017] Referring now to FIG. 2, shown is a top-level screen 20 to
the search interface. A selection bar 21 highlights the various
search options available. The first option 22, allows the viewer to
search the program guide according to program title. A second
option 23, allows the user to create search profiles that search
according to actor name, director name, category and key word. In
addition, other search options are possible. For example, expanded
search functionality may include indices for year of release,
language, choreographer, or any other program attribute that could
be indexed. Navigating arrows 24 advise the viewer of the
navigation options available. For example, in FIG. 2, a `right`
arrow 24a navigates the viewer to a screen (FIG. 3) for searching
by title; a `down` arrow 24b allows the viewer to scroll through
the list of provided options; and a `left` arrow 24c navigates the
viewer back to the previous screen. If the selection bar were
positioned farther down in the list of options, an `up` arrow (not
shown) would permit the viewer to scroll up the list. The `up,`
`down,` `right` and `left` arrows are operated by pressing
corresponding buttons on the handheld remote control 4. In the
example of FIG. 2, the viewer selects `Search by title` 22.
[0018] Referring now to FIG. 3, a screen 30 is shown that gives the
viewer the option of narrowing a title search according to program
category, or not, according to the viewer's need or desire. By
selecting the `all programs` option, the search is performed in the
entire program database. Selecting a category 32, limits the search
to programs defined by the corresponding category descriptor.
Limiting a search by category would be most useful when the viewer
is browsing for a program of particular type. If the viewer desired
to maximize retrieval, or if they were searching for a specific
program for which they knew at least a portion of the title,
limiting by program category might be less useful.
[0019] After choosing a category, the user is navigated to a screen
as shown in FIG. 4. Shown is a screen 40 displaying a virtual
alphanumeric keyboard 41 and a text box 44. The viewer uses the
navigation controls (not shown) on the remote control to position a
selection marquee 48 around the character of choice. When the
selection marquee is properly positioned at the desired character,
the viewer presses a `select` button, upon which the selected
character appears in the text box 44. The viewer continues
selecting characters, until they have entered at least a portion of
the program title in the text box. `Clear,` `space` and `delete`
functions 45, 46 and 47, respectively, are provided for clearing
the box, inserting a space between words, and deleting single
characters. Prefix matching gives the screen a type-ahead
capability. Thus, as the viewer enters characters, the title list
42 automatically scrolls to the program items having prefixes that
match the character string entered by the viewer. As described
previously, the directional arrows 24a-d advise the user of the
navigation options available to them. As shown in FIG. 4, the
selection marquee is positioned around the character `T` in the
rightmost column of the keypad 41. In this case, navigating to the
right would cause focus to shift from the keypad to the title list
42. `Up` and `down` arrows 43a and b indicate that the viewer may
scroll up or down in the title list.
[0020] As described above, the viewer may create search profiles in
which they search according to indexed program attributes or
keywords. Program attributes may include actor name, director name,
category, choreographer, language, year of release, and the like.
FIG. 5 shows a screen 50 for searching according to actor name. It
should be noted that searching according to indexed attributes or
key word requires the creation of a search profile. When the search
profile is created, it may be saved and named. Interaction with the
search screen 50 is analogous to that previously described for the
title entry screen, thus it will not be further described. As FIG.
6 shows, following entry of an actor name, a screen 60 allows the
user to narrow a search according to category, if desired. Another
set of screens (not shown) is provided for searching according to
director name. Their appearance and function is analogous to those
for searching according to actor name, thus they will not be
further described.
[0021] FIGS. 7 and 8 show screens 70 and 80 for searching according
to key word and narrowing according to category, respectively. As
previously described, keyword searching requires the creation of a
search profile. As will be described below, key words are extracted
from actor and director names, titles and a narrative program
description.
[0022] The key word search feature is highly advantageous in that
it provides an important additional access point not found in
conventional program guides. It is a well-known problem to those
skilled in the design of publicly accessible information retrieval
systems that it is impossible to anticipate a user's search
behavior with complete certainty. Thus, no matter how skillfully
indexed an information base may be, it will be unable to
accommodate the information-seeking behavior of all users.
Therefore, to provide a system that delivers maximum serviceability
to its constituency, it is highly desirable to provide as many
different access points as possible. By including a key word search
feature, the current invention provides an important, highly
flexible means of accessing program content and subject matter
outside of the indexed attributes.
[0023] The method of interacting with the key word search screens
is exactly analogous to the screens previously described. Thus,
they will not be further described.
Indexing
[0024] As previously noted, the video recording system of the
present invention is network-based, consisting of a central server,
and a plurality of client units, each client being in periodic
communication with the server. In the preferred embodiment of the
invention, the network connection is a dial-up connection over a
publicly available telecommunication network. However, other
network connections, a wireless connection, for example, would be
equally suitable. In the preferred embodiment of the invention, the
client is in communication with the server for a brief period on a
daily basis. During the daily connection period, the client
downloads current program guide data. The downloaded program
information is imported into an object-oriented database resident
on the client. As previously indicated, when a viewer searches the
database to find programs of interest, they may search by program
name, by indexed attributes such as actor name or director name;
and by keyword. A direct, sequential search of the records in the
database objects would be prohibitively time-consuming and would
waste system resources, unfavorably affecting the usability of the
program guide. Thus, the database is indexed, and searches are
conducted on the provided index files, greatly improving search
efficiency.
[0025] While the database may include other objects, the title
search feature is concerned primarily with the `Series` object. The
attribute search and key word search features are concerned
primarily with the `Program` object. The `Series` object includes a
record for each television series. For the title search, the most
important field of the `Series` object is the series `Title`
field.
[0026] The attribute search and the key word search are concerned
primarily with the `Program` object. The `Program` object includes
a record for each individual program item, where an individual
program item might be a single episode of a series, for example.
The `Program` object includes at least the following fields: [0027]
Title; [0028] Episode title; [0029] Description; [0030] Actors
[0031] Hosts; [0032] Guest stars; and [0033] Directors.
[0034] The above list is not intended to be limiting. Other record
configurations consistent with the spirit and scope of the
invention are possible. Information is extracted from the
individual records and assembled into a series of index files. For
the title search feature, a `Title` index is constructed. For the
attribute search feature, `Actor` and `Director` indices are built.
Finally, for the key word search, a `Key word` index and a `Title
word` index are provided.
[0035] Generally, the process of indexing the database includes the
following steps: [0036] Extracting index terms from the database
records; [0037] Constructing intermediate files from the extracted
index terms; [0038] Creating raw, unsorted index files from the
intermediate files; [0039] Sorting the raw index files; and [0040]
Compressing the sorted files to form final index files.
[0041] The several steps of the indexing process are described in
greater detail below.
[0042] For the `Title` index, the entire series title is extracted
as a text string from the `Title` field of each `Series` record,
with each text string constituting a separate index term, or
key.
[0043] For the `Actor` index, each name is extracted from the
`Actors,` `Hosts` and `Guest stars` fields of the `Program`
records, with each name from each record constituting a separate
actor key. Similarly, for the `Director` index, each name is
extracted from the `Directors` field, with each name from each
record constituting a separate director key.
[0044] For the `Title word` index, each separate word, having a
length of at least two characters, of each title from both the
`Title` and `Episode title` fields is extracted, with each separate
word constituting a separate title word. For the `Key word` index,
each separate word having a length of at least two characters is
extracted from the `Description` field, with each occurrence of
each word constituting a separate key word.
[0045] Following key extraction, the keys are assembled into
intermediate files: one for each of `Title,` `Actor,` `Director,`
`Title word` and `Key word`. The `Title` intermediate file includes
the `Title` keys, the `Actor` intermediate file includes the
`Actor,` `Host` and `Guest star` keys, and the `Director`
intermediate file includes the `Director` keys, with the names in
the `Actor` and `Director` keys listed directory style: last name
and first name, separated by a comma. The `Title word` file
includes the title words extracted form the `Title` and `Episode
title` fields of the `Program` object. The `Key word` file,
however, is constructed differently from the previous intermediate
files. Each key word forms a separate entry in the `Key word` file.
Additionally, actor names are incorporated into the `Key word`
index. The actor names are parsed into separate first and last
names, and then added to the `Key word` intermediate file. Thus the
`Key word` file includes the words from the,` `Description` field
and the name words from the `Actors,` `Hosts` and `Guest stars`
fields. The end result of this step is an intermediate file for
each of `Title,` `Actor,` `Director,` Title word` and `Key word,`
each comprising a simple listing of the respective keys or index
terms, in a text file.
[0046] The intermediate files are subsequently used to build raw,
unsorted index files. Each key of the intermediate files described
above is paired with a program identifier that corresponds to the
record that the key originated from. The program identifier is a
system-generated, alphanumeric identifier, distinct from the
program identifiers assigned by commercial programming information
vendors such as TRIBUNE MEDIA SERVICES. The raw index files take
the form of delimited text files; however other data structures,
such as tables, would be equally suitable. In the preferred
embodiment of the invention, the files are formatted as
follows:
TABLE-US-00001 <KEY> <TAB> <PROG ID> . . . . .
<KEY> <TAB> <PROG ID>.
[0047] As will be described further below, a binary search
algorithm is employed to search the indices, requiring that the
index be sorted. Thus, the raw index files are sorted on the
keys.
[0048] The sorted index files are subsequently compressed by
eliminating redundant keys, so that each distinct key is paired
with a list of the program identifiers corresponding to each
occurrence of the key in the database. In the preferred embodiment
of the invention, the compressed index files are also delimited
text files, formatted as follows:
TABLE-US-00002 CAT <TAB> <ID.sub.1, ID.sub.2, . . . ,
ID.sub.N> LASER <TAB> <ID.sub.1, ID.sub.2, . . . ,
ID.sub.N> STAR <TAB> <ID.sub.1, ID.sub.2, . . . ,
ID.sub.N> TREK <TAB> <ID.sub.1, ID.sub.2, . . . ,
ID.sub.N>,
[0049] Where `cat,` `laser,` `star` and `trek` might be title words
or key words and `ID.sub.1, ID.sub.2, . . . , ID.sub.N` is a list
of program identifiers for each unique key.
Search Algorithm
[0050] A search engine employing a binary search algorithm is used
to search the various indices. In general, the binary algorithm
begins with an interval covering the whole search space. The search
space is repeatedly divided in half according to how the search
value compares with the middle element. If the search value is less
than the item in the middle of the interval, the interval is
narrowed to the lower half; otherwise it is narrowed to the other
half. The operation is performed until the search value is found or
the interval is empty.
[0051] As described above, the key word search includes title
words. Therefore, during a key word search, a binary search of both
the `Keyword` index and the `Title word` index is performed.
[0052] Although the invention has been described herein with
reference to certain preferred embodiments, one skilled in the art
will readily appreciate that other applications may be substituted
without departing from the spirit and scope of the present
invention. Accordingly, the invention should only be limited by the
Claims included below.
Example Embodiments
[0053] Examples of embodiments are set forth, without limitation,
in accordance with the following numbered clauses.
[0054] 1. A system for searching a distributed, interactive
television program guide database, wherein a viewer searches said
database to identify programs of interest, said system comprising:
a server; a client, wherein said client is in periodic
communication with said server, and wherein said client downloads
current program information from said server; a program guide
database resident on said client, wherein said program information
is imported into said database; an interactive viewer interface
displayed on a display means in communication with said client;
means for interacting with said viewer interface by said viewer;
means for searching said database according to program title; means
for searching said database according to indexed program
attributes; and means for searching said database according to key
words.
[0055] 2. The system of Clause 1, wherein said system is a
component of an interactive, network-based video recording
system.
[0056] 3. The system of Clause 1, wherein said interface comprises
a plurality of screens having interface elements for navigation,
entering search values and displaying search results.
[0057] 4. The system of Clause 3, wherein said means for
interacting with said interface comprises a remote control unit,
said remote control unit communicating with said client by means of
a data signal.
[0058] 5. The system of Clause 4, wherein said data signal is
embedded in a carrier signal.
[0059] 6. The system of Clause 4, wherein said means for searching
said database according to program title comprises a screen for
optionally selecting a program category.
[0060] 7. The system of Clause 5, wherein said means for searching
said database according to program title further comprises a screen
for entering a program title and displaying a list of program
titles, said screen for entering a program title comprising: a
virtual alphanumeric keypad for entering characters to spell said
program title; a text box for displaying said entered characters;
and a scrollable list of program titles, wherein a prefix matching
feature causes said list of program titles to automatically scroll
to titles in said list having prefixes that match a character
string displayed in said text box.
[0061] 8. The system of Clause 7, wherein said viewer enters
characters by activating controls on said remote control that
correspond to virtual controls on said keypad.
[0062] 9. The system of Clause 4, wherein said means for searching
said database according to indexed attributes comprises: a screen
for searching according to Actor name; a screen for searching
according to Director name; and separate screens preceding said
Actor name screen and said Director name screen for optionally
selecting a program category.
[0063] 10. The system of Clause 9, wherein said screen for
searching according to Actor name comprises: a virtual alphanumeric
keypad for entering characters to spell said Actor name; a text box
for displaying said entered characters; and a scrollable list of
Actor names, wherein a prefix matching feature causes said list of
Actor names to automatically scroll to Actor names in said list
having prefixes that match a character string displayed in said
text box.
[0064] 11. The system of Clause 10, wherein said viewer enters
characters by activating controls on said remote control that
correspond to virtual controls on said keypad.
[0065] 12. The system of Clause 9, wherein said screen for
searching according to Director name comprises: a virtual
alphanumeric keypad for entering characters to spell said Director
name; a text box for displaying said entered characters; and a
scrollable list of Director names, wherein a prefix matching
feature causes said list of Director names to automatically scroll
to Director names in said list having prefixes that match a
character string displayed in said text box.
[0066] 13. The system of Clause 12, wherein said viewer enters
characters by activating controls on said remote control that
correspond to virtual controls on said keypad.
[0067] 14. The system of Clause 4, wherein said means for searching
said database according to key word comprises a screen for
optionally selecting a program category.
[0068] 15. The system of Clause 14, wherein said means for
searching said database according to key word further comprises a
screen for entering a key word, said screen for entering a key word
comprising: a virtual alphanumeric keypad for entering characters
to spell said key word; and a text box for displaying said entered
characters.
[0069] 16. The system of Clause 15, wherein said viewer enters
characters by activating controls on said remote control that
correspond to virtual controls on said keypad.
[0070] 17. The system of Clause 4, wherein said indexed attributes
include any of: Actor name; Director name; Host name; Guest star
name; Choreographer; Year of release; Category; and Language.
[0071] 18. The system of Clause 1, wherein said program guide
database comprises an object-oriented database application, said
database application including at least: a `Series` object; and a
`Program` object.
[0072] 19. The system of Clause 18, wherein said `Series` object
includes a series `Title` field.
[0073] 20. The system of Clause 19, wherein said program guide
database further comprises a `Title` index, said `Title` index
being built from entries in said `Series` title field.
[0074] 21. The system of Clause 20, wherein said means for
searching said database according to program title comprises a
search engine for searching said `Title` index.
[0075] 22. The system of Clause 18, wherein said `Program` object
includes fields for: Title; Episode title; Description; Actors;
Hosts; Guest stars; and Directors.
[0076] 23. The system of Clause 22, wherein said database further
comprises an `Actor` index, said `Actor` index being built from
entries in said `Actors,` `Hosts,` and `Guest stars` fields.
[0077] 24. The system of Clause 23, wherein said database further
comprises a `Director` index, said Director` index being built from
entries in said `Director` field.
[0078] 25. The system of Clause 24, wherein said means for
searching said database according to program attributes comprises a
search engine for searching said `Actor` and said `Director`
indices.
[0079] 26. The system of Clause 18, wherein said database further
comprises a `Title word` index, said `Title word` index being built
from said `Title` fields and said `Episode title` fields.
[0080] 27. The system of Clause 26, wherein said database further
comprise a `Key word` index, said `Key word` index being built from
words in said `Description` field, said `Actors` field, said
`Hosts` field and said `Guest stars` field.
[0081] 28. The system of Clause 27, wherein said means for
searching said database according to key words comprises a search
engine for searching said `Title word` index and said `Key word`
index.
[0082] 29. A method of searching a distributed, interactive
television program guide database, wherein a viewer searches said
program guide database to identify programs of interest, comprising
the steps of: providing a server; providing a client, wherein said
client is in periodic communication with said server, and wherein
said client downloads current program information from said server;
providing a program guide database resident on said client, wherein
said program information is imported into said database; providing
an interactive viewer interface displayed on a display means in
communication with said client; providing means for interacting
with said viewer interface by said viewer; and searching said
database by said viewer according to at least one of: program
title; indexed program attributes; and key words.
[0083] 30. The method of Clause 29, wherein said system is a
component of an interactive, network-based video recording
system.
[0084] 31. The method of Clause 29, wherein said interface
comprises a plurality of screens having interface elements for
navigation, entering search values and displaying search
results.
[0085] 32. The method of Clause 31, wherein said means for
interacting with said interface comprises a remote control unit,
said remote control unit communicating with said client by means of
a data signal.
[0086] 33. The method of Clause 32, wherein said data signal is
embedded in a carrier signal.
[0087] 34. The method of Clause 32, wherein said step of searching
said database according to program title comprises the steps of
optionally, selecting a program category in a first screen; and
entering a program title in a second screen, said second screen
comprising: a virtual alphanumeric keypad for entering characters
to spell said program title; a text box for displaying said entered
characters; and a scrollable list of program titles, wherein a
prefix matching feature causes said list of program titles to
automatically scroll to titles in said list having prefixes that
match a character string displayed in said text box.
[0088] 35. The method of Clause 34, wherein said viewer enters
characters by activating controls on said remote control that
correspond to virtual controls on said keypad.
[0089] 36. The method of Clause 32, wherein said step of searching
said database according to indexed attributes comprises one of the
steps of: searching according to Actor name; searching according to
Director name; and optionally selecting a program category prior to
either of said steps of searching according to Actor name or
searching according to Director name.
[0090] 37. The method of Clause 36, wherein a screen for searching
according to Actor name comprises: a virtual alphanumeric keypad
for entering characters to spell said Actor name; a text box for
displaying said entered characters; and a scrollable list of Actor
names, wherein a prefix matching feature causes said list of Actor
names to automatically scroll to Actor names in said list having
prefixes that match a character string displayed in said text
box.
[0091] 38. The method of Clause 37, wherein said viewer enters
characters by activating controls on said remote control that
correspond to virtual controls on said keypad.
[0092] 39. The method of Clause 36, wherein a screen for searching
according to Director name comprises: a virtual alphanumeric keypad
for entering characters to spell said Director name; a text box for
displaying said entered characters; and a scrollable list of
Director names, wherein a prefix matching feature causes said list
of Director names to automatically scroll to Director names in said
list having prefixes that match a character string displayed in
said text box.
[0093] 40. The method of Clause 39, wherein said viewer enters
characters by activating controls on said remote control that
correspond to virtual controls on said keypad.
[0094] 41. The method of Clause 32, wherein said step of searching
said database according to key word comprises the steps of:
optionally, selecting a program category from a first screen; and
entering a key word in a second screen, said second screen
comprising a virtual alphanumeric keypad for entering characters to
spell said key word; and a text box for displaying said entered
characters.
[0095] 42. The method of Clause 41, wherein said viewer enters
characters by activating controls on said remote control that
correspond to virtual controls on said keypad.
[0096] 43. The method of Clause 32, wherein said indexed attributes
include any of: Actor name; Director name; Host name; Guest star
name; Choreographer; Year of release; Category; and Language.
[0097] 44. The method of Clause 29, wherein said program guide
database comprises an object-oriented database application, said
database application including at least: a `Series` object; and a
`Program` object.
[0098] 45. The method of Clause 44, wherein said `Series` object
includes a series `Title` field.
[0099] 46. The method of Clause 45, wherein said program guide
database further comprises a `Title` index, said `Title` index
being built from said series `Title` field.
[0100] 47. The method of Clause 46, wherein said means for
searching said database according to program title comprises a
search engine for searching said `Title` index.
[0101] 48. The method of Clause 44, wherein said `Program` object
includes fields for: Title; Episode title; Description; Actors;
Hosts; Guest stars; and Directors.
[0102] 49. The method of Clause 48, wherein said database further
comprises an `Actor` index, said `Actor` index being built from
said `Actors,``Hosts`, and `Guest stars` fields.
[0103] 50. The method of Clause 49, wherein said database further
comprises a `Director` index, said `Director` index being built
from entries in said `Director` field.
[0104] 51. The method of Clause 50, wherein said means for
searching said database according to `Actor` or `Director` or
comprises a search engine for searching said `Actor` and said
`Director` indices.
[0105] 52. The method of Clause 44, wherein said database further
comprises a `Title word` index, said `Title word` index being built
from entries in said `Title` fields and said `Episode title`
fields.
[0106] 53. The method of Clause 52, wherein said database further
comprise a `Key word` index, said `Key word` index being built from
said words in said `Description` field, said `Actors` field, said
`Hosts` field and said `Guest stars` field.
[0107] 54. The method of Clause 53, wherein said means for
searching said database according to key words comprises a search
engine for searching said `Title word` index and said `Key word`
index.
* * * * *