WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Multimedia matrix architecture user interface    
United States Patent5544354   
Link to this pagehttp://www.wikipatents.com/5544354.html
Inventor(s)May; Robert (San Francisco, CA); Granger; James E. (Corte Madera, CA); Peck; Nicolas (Millvalley, CA); Miller; Rohn J. (San Francisco, CA)
AbstractA user interface provides for accessing a large database of information using both browsing and searching behaviors. The database is hierarchically arranged using matrices containing cells, individual cells in the matrices associated with matrices in lower levels of the database. A viewer may browse the database by using commands that designate cells of interest, and viewing previews of such cells, and topically related cells, and selecting cells for retrieval. The viewer can navigate through the matrices of the database, each time further narrowing the range of cells viewing previews and selecting for retrieval. The user interface further provides for a user-configured matrix in which the user can place a variety of cells from anywhere in the database, allowing rapid access to and retrieval of frequently accessed cells.



 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5544354
Multimedia matrix architecture user interface - US Patent 5544354 Drawing
Multimedia matrix architecture user interface
Inventor     May; Robert (San Francisco, CA); Granger; James E. (Corte Madera, CA); Peck; Nicolas (Millvalley, CA); Miller; Rohn J. (San Francisco, CA)
Owner/Assignee     Ikonic Interactive, Inc. (San Francisco, CA)
Patent assignment
All assignments
Publication Date     August 6, 1996
Application Number     08/276,864
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     July 18, 1994
US Classification     707/4
Int'l Classification     G06F 017/30
Examiner     Black; Thomas G.
Assistant Examiner     Lintz; Paul R.
Attorney/Law Firm     Fenwick & West LLP
Address
Parent Case    
Priority Data    
USPTO Field of Search     395/600 395/154 395/159
Patent Tags     multimedia matrix architecture user interface
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5251294
Abelow
715/512
Oct,1993

[0 after 0 votes]
5241671
Reed
707/104.1
Aug,1993

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


We claim:

1. A system including a display screen and a first database of records, each record represented by a record cell having preview data, content data, identification data, and attributes, providing a user interface to the first database and comprising:

a) a first plurality of displayed cell positions, each cell position displaying either:

a.1) identification data of a record cell; or,

a.2) identification data of a parser cell;

the cells displayed in the first plurality of cell positions selected from of a hierarchical plurality of matrices, each matrix including a plurality of cells, the plurality of cells including record cells or parser cells, each parser cell associated with a matrix in the plurality of matrices; each of the first plurality of cell positions responsive to:

a.3) a first user input to focus the cell displayed in the cell position; and

a.4) a second user input to select the cell in the cell position when the cell displayed therein is focused; and,

a.5) a third user input to play the cell in the cell position when the cell displayed therein is focused;

b) a content window that displays selected data of a cell;

c) a computer program stored in a computer readable memory and receiving user inputs, that:

c.1) in response to a first user input to focus a cell in a cell position:

c.1.1) displays in the content window a preview of the focused cell, the preview of a focused record cell containing preview data of the focused record cell, and the preview of a focused parser cell including a sequence of previews for the plurality of cells in the matrix associated with the focused parser cell;

c.1.2) continues to display in the cell position of the focused cell the identification data thereof; and,

c.1.3) continues to display in the cell position of each non-focused cell the identification data of the non-focused cell.

2. The user interface of claim 1, wherein the computer program stored in the computer readable memory:

c.2) in response to a second user input to select a focused record cell, the preview of which is displayed in the content window, the computer program either:

c.2.1) initiates in and continues to displays in the content window content data included in the record cell while continuing to display in each cell position of each non-selected cell the identification data of the non-focused cell; or,

c.2.2) removes all displayed cell positions, and initiates and continues to display at full screen size content data included in the record cell;

c.3) in response to a third user input to play a focused parser cell, the preview of which is preview data of a record cell which is displayed in the content window at a time when the third user input is received, the computer program either:

c.3.1) initiates in and continues to displays in the content window content data included in the record cell which is displayed in the content window at the time when the third user inputs is received, while continuing to display in each cell position of each non-selected cell the identification data of the non-selected cell; or

c.3.2) removes all displayed cell positions, and initiates and continues to display at full screen size content data included in the record cell which is displayed in the content window at the time when the third user inputs is received.

3. The user interface of claim 2, wherein the computer program stored in the computer readable memory:

c.4) in response to a second user input on a cell position of a focused parser cell to select the parser cell:

c.4.1) updates the plurality of cell positions to display the matrix associated with the selected parser cell; and,

c.4.2) focuses one of the cell positions, causing a preview of the focused cell to display in the content window.

4. The user interface of claim 3, wherein the computer program stored in the computer readable memory:

c.5) in response to a fourth user input to move back to a previous display of cells of a first matrix during the display of cells of a second matrix associated with a parser cell in the first matrix:

c.5.1) displays in the plurality of cell positions the cells in the first matrix including the parser cell; and,

c.5.2) focuses the parser cell to display in the content window of a preview of the parser cell, the preview including a sequence of previews for the cells in the second matrix.

5. The user interface of claim 3, further comprising:

a default cell position in the first plurality of cell position that is automatically focused after a matrix of cells is displayed by the computer program in response to a second user input on a cell position of focused parser cell to select the parser cell.

6. The user interface of claim 2, wherein the computer program is further responsive to a fourth user input to stop the display of content data of a record cell and focus a cell position in the displayed matrix, such that the content window displays a preview of the focused cell.

7. The user interface of claim 1, wherein the computer program in the absence of a user input for a predetermined interval of time automatically focuses selected ones of the plurality of displayed cell positions in a predefined order to:

1) display in the content window a preview of a selected focused cell, the preview of a focused record cell containing second selected data of the focused record cell, and the preview of a focused parser cell including a sequence of previews for the plurality of cells in the matrix associated with the focused parser cell;

2) continue to display in the cell position of the selected focused cell the first selected data thereof; and,

3) continue to display in the cell position of each non-focused cell the first selected data of the non-focused cell.

8. The user interface of claim 1, wherein the computer program in response to a fourth user input updates the cell positions to display the cells of a first matrix, and focuses a selected parser cell in the first matrix to cause the display in the content window of a preview of the selected parser cell, the preview including a sequence of previews for the cells in the matrix associated with the selected parser cell.

9. The user interface of claim 1, wherein the computer program is responsive to a fourth user input to accelerate a preview displayed in the content window.

10. The user interface of claim 1, wherein the computer program is responsive to a fourth user input to display in a reverse manner a preview displayed in the content window.

11. The user interface of claim 1, wherein the computer program is responsive to a fourth user input to increment the display in the content window to a next preview of a cell in the sequence of previews for the plurality of cells in the matrix associated with the focused parser cell.

12. The user interface of claim 1, wherein the computer program is responsive to a fourth user input to decrement the display in the content window to a previous preview of a cell in the sequence of previews for plurality of cells in the matrix associated with the focused parser cell.

13. The user interface of claim 1, further comprising:

a user configured matrix of cells containing cells designated by a user;

a user configured parser cell associated with the user configured matrix; the user configured matrix displayed in the first plurality of cell positions by the computer program in response to a second user input to select the user configured parser cell.

14. The user interface of claim 1, further comprising:

at least one matrix in the hierarchical plurality of matrices includes a search cell, the search cell associated with a search matrix that is accessed by a second user input to select the search cell in the matrix, the search matrix including at least one code cell that retrieves record cells contained only in matrices at or below the matrix containing-the selected search cell.

15. The user interface of claim 14, wherein the record cells retrieved by each code cell are contained in a linearized subtree associated with the matrix that includes the focused search cell.

16. The user interface of claim 14, wherein the search matrix further comprises:

at least one categorical code cell, having a categorical attribute, for retrieving record cells in matrices associated with a selected parser cell, the retrieved record cells having a selected attribute matching the categorical attribute of with the categorical code cell, wherein the identification data of the retrieved record cells is displayed in the content window.

17. The system of claim 1, further comprising:

a second database physically distant to the first database and communicatively coupled thereto, and including a plurality of records;

at least one matrix in the hierarchical plurality of matrices includes a search cell, the search cell associated with a search matrix that is accessed by a second user input to select the search cell in the matrix, the search matrix including at least one code cell that retrieves records in the second database.

18. The system of claim 1, wherein the focused parser cell occurs in level (n) of the database, the matrix associated with the focused parser cell is in level (n+1), and the sequence of previews for each parser cell (j) in the matrix associated with the focused parser cell includes a preview of a (k.sup.th) record cell in a matrix in a level (n+m) below the first matrix, where m is greater than one.

19. A method for retrieving data from a database, the database organized through a plurality of hierarchically arranged matrices, each matrix including any combination of record cells, or parser cells, each record cell containing data, each parser cell associated with a matrix, the method comprising:

displaying a first matrix of cell positions, each cell position displaying identification data of a cell;

receiving an input to focus a cell in a cell position;

responsive to receiving an input to focus, a cell position including identification data of a record cell, displaying a preview of the record cell, the preview of a focused record cell containing preview data of the focused record cell;

responsive to receiving an input to focus a cell position including identification data of a parser cell, displaying a preview of the parser cell, the preview of a focused parser cell including a sequence of previews for the plurality of cells in a second matrix associated with the focused parser cell;

continuing to display in the cell position of the focused cell the identification data thereof; and

continuing to display in the cell position of each non-focused cell the identification data of the non-focused cell.

20. The method of claim 19, further comprising:

automatically and sequentially focusing each of the cell positions in the first matrix in a defined order.

21. The method of claim 20, wherein the predetermined order is based on an advertising model.

22. The method of claim 19, further comprising:

receiving an input to select a focused cell position;

responsive to receiving an input to select a focused record cell, displaying content data of the focused record cell;

responsive to receiving an input to select a focused parser cell, displaying in the first matrix of cell positions cells in a second matrix associated with the focused parser cell, automatically focusing a default cell position in the displayed first matrix, and displaying a preview of the focused default cell.

23. The method of claim 22, wherein at least one matrix includes a search cell, further comprising:

displaying in a cell position in a first matrix a search cell;

responsive to receiving an input to focus a cell position including a search cell, displaying a search matrix, the search matrix including cells for retrieving record cells at or below the matrix that includes the focused search cell.

24. The method of claim 19, wherein the focused parser cell occurs in level (n) of the database, the matrix associated with the focused parser cell is in level (n+1), and the sequence of previews for each parser cell (j) in the matrix associated with the first parser cell includes a preview of a (k.sup.th) record cell in a second matrix in a level (n+m) below the first matrix, where m is greater than one.

25. The method of claim 19, further comprising:

receiving an input to select one of the previews displayed for the focused cell; and,

retrieving content data of the record cell having the selected preview.

26. A system providing a user interface for accessing a database, comprising:

a) a display device for displaying data;

b) a content window on the display device that displays selected data of a cell;

c) a hierarchical plurality of matrices, each matrix including a plurality of cells, including record cells or parser cells, each parser cell associated with a matrix, at least one matrix being displayed to a user through a plurality of cell positions on the display device, each cell position associated with a cell in the matrix and displaying identification data of the cell, each cell in a matrix associated computer executable methods responsive to a pointing device, including:

c.1) a focus method that receives a first user input to focus the cell, and in response to thereto:

c.1.1) displays in the content window a preview of the focused cell, the preview of a focused record cell containing preview data of the focused record cell, and the preview of a focused parser cell including a sequence of previews for the plurality of cells in the matrix associated with the focused parser cell; and,

c.1.2) continues to display in the cell position of the focused cell the identification data thereof, such that each cell position of a non-focused cell continues to display the identification data of the non-focused cell.

27. The system of claim 26, wherein each cell further comprises:

c.2) a select method that receives a second user input to select the cell, and in response thereto:

c.2.1) where the selected cell is a record cell, either:

c.2.1.1) initiates in and continues to display in the content window content data included in the record cell while continuing to display in each cell position of each non-selected cell the identification data of the non-focused cell; or,

c.2.1.2) removes all displayed cell positions, and initiates and continues to display at full screen size of the display content data included in the record cell;

c.2.2) where the selected cell is a parser cell, displays in the plurality of cell positions on the display device cells of the matrix associated with the selected parser cell, and focuses one of the cell positions, displaying a preview of the focused cell in the content window.

28. The system of claim 26, wherein each cell further comprises:

c.3) a play method that receives a third user input to play a focused cell, and in response thereto:

c.3.1) where the cell is a parser cell, the preview of which includes preview data of a record cell displayed in the content window at a time when the third user input is received, either:

c.3.1.1) initiates in and continues to displays in the content window, content data included in the record cell which is displayed in the content window at the time when the third user input is received, such that each cell position of each non-selected cell continues to display the identification data of the non-selected cell; or,

c.3.1.2) removes all displayed cell positions, and initiates and continues to display at full screen size of the display device content data included in the record cell.

c.3.2) where the cell is a record cell, either:

c.3.2.1) initiates in and continues to displays in the content window content data included in the record cell such that each cell position of each non-selected cell continues to display the identification data of the non-selected cell; or,

c.3.2.2) removes all displayed cell positions, and initiates and continues to display at full screen size of the display device content data included in the record cell.

29. The system of claim 26, wherein:

each matrix is associated with a computer executable method that in the absence of a user input to a cell in the matrix for a predetermined interval of time when the matrix is displayed on the display device, automatically invokes the focus method of particular ones of the plurality of displayed cell positions in a predefined order, such that the preview of each particular ones of the cells is displayed in the content window.

30. The system of claim 26, wherein each cell includes a method that accelerates a preview of the cell displayed in the content window.

31. The system of claim 26, wherein each cell includes a method that displays in a reverse manner a preview of the cell displayed in the content window.

32. The system of claim 26, wherein each parser cell includes a method that displays in the content window a next preview of the cell in the sequence of previews for the plurality of cells in the matrix associated with the parser cell.

33. The system of claim 26, wherein each parser cell includes a method displays in the content window a previous preview of a cell in the sequence of previews for plurality of cells in the matrix associated with the focused parser cell.

34. The system of claim 26, wherein each matrix further comprises:

a default cell of which the focus method of the cell is automatically invoked after the matrix is displayed on the display device, such that the preview of the default cell is displayed in the content window.

35. The system of claim 26, further comprising:

a user configured matrix of cells containing cells designated by a user;

a user configured parser cell associated with the user configured matrix; the user configured matrix displayed on the display device in response to a second user input to select the user configured parser cell when a matrix containing the user configured parser cell is displayed on the display device.

36. The system of claim 26, wherein:

at least one matrix in the hierarchical plurality of matrices includes a search cell, the search cell associated with a search matrix that is accessed by a second user input to select the search cell in the matrix, the search matrix including at least one code cell, each code cell including a computer executable method that retrieves record cells contained only in matrices at or below the matrix containing the selected search cell.

37. The system of claim 34, wherein computer executable method of a code cell retrieves record cells in a linearized subtree associated with the matrix that includes the focused search cell.

38. The system of claim 34, wherein the search matrix further comprises:

at least one categorical code cell, having a categorical attribute, the categorical code cell including a computer executable method that retrieves record cells in matrices associated with a selected parser cell, the retrieved record cells having a selected attribute matching the categorical attribute of with the categorical code cell, wherein identification data of the retrieved record cells is displayed in the content window.

39. The system of claim 26, wherein the focused parser cell occurs in level (n) of the database, the matrix associated with the focused parser cell is in level (n+1), and the sequence of previews for each parser cell (j) in the matrix associated with the focused parser cell includes a preview of a (k.sup.th) record cell in a matrix in a level (n+m) below the first matrix, where m is greater than one.

40. A system providing a user interface to a database, comprising:

a) a processor;

b) a database including a hierarchical plurality of matrices, each matrix including a plurality of cells, the plurality of cells including leaf cells or parser cells, each parser cell associated with a subordinate matrix of cells, including leaf cells and parser cells, in the plurality of matrices;

c) a display device;

d) a computer program stored in a computer readable memory, and executable by the processor, that:

i) displays on the display device cells in a first matrix; and,

ii) in response to a first user input to focus a displayed parser cell of the first matrix, displays on the display device concurrently with the focused parser cell and at least one non-focused cell in the first matrix, a first sequence of previews of cells in at least one second matrix subordinate to focused parser cell the first matrix.

41. The system of claim 40, wherein the computer program:

iii) in response to a second user input to select a focused parser cell, removes the displayed cells of the first matrix, and displays the cells in the subordinate matrix associated with the focused parser cell, and focuses one of the displayed cells of the subordinate matrix to display a preview of the focused cell concurrently with the cells of the subordinate matrix.

42. The system of claim 40, wherein the computer program:

iv) in the absence of a user input for a predetermined interval of time automatically focuses selected ones of the of displayed cells in a predefined order, and for each of the focused cells, displays a preview of the focused cell.

43. The system of claim 40, wherein the computer program:

v) in response to a third user input to play a leaf cell, the preview of which is being displayed in response to a first user input to focus a parser cell in the first matrix, removes all displayed cells, and initiates and continues to content data included in the leaf cell.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to the field of viewer interfaces, and more particularly to viewer interfaces for accessing multimedia databases.

2. Description of the Background Art

Continuing advances in computer based information storage, retrieval, and telecommunication technologies promise to make large-scale multimedia databases available to a broad spectrum of consumers. Until recently, commercially available databases were limited to providing access to textual information. Now information providers can store and retrieve for online users graphic images, and current developments will enable the storage and retrieval of video and audio data in real time from large collections of such works. Additionally, improvements in telecommunications will enable such databases to be accessed by an ever increasing number and variety of users through computers or televisions connected to the databases of information providers. Database vendors will need to provide viewer interfaces for such multimedia databases that enable consumers to rapidly and efficiently access specific products or services, such as motion pictures, news articles, audio recording, entertainment items, or the like, that are stored in the database. The design of such viewer interfaces requires addressing a number of issues relating to viewer behavior, database size, and system constraints.

User behavior in accessing large databases can be described as falling into one of two categories: "searching" or "browsing." A viewer's behavior typically changes depending on the viewer's mood and perception of the information space--the amount and organization of information in the database--the system's response characteristics, and many other variables. All users demonstrate both kinds of behavior at various times.

Searching involves attempting to locate a specific item, such as the movie "Rear Window," or a specific product, for example, a red plaid medium sized shirt from L. L. Bean, typically by specifically identifying the item of interest. Browsing, by contrast, involves the exploration of various categories of information, such as movies in the "Drama" category or types of casual clothing. Conventional viewer interfaces tend to support a preferred mode of accessing records, either through searching or browsing, which limits the flexibility and adaptability to various users and viewer behaviors. A flexible user interface for a multimedia database should enable efficient searching and browsing, or any combination of behaviors at any time, rather than forcing the viewer to use on approach over the other.

The first class of problems in designing viewer interfaces for efficient browsing results from the sheer size of current and future multimedia databases. Databases providing movies, audio recordings, and new items are likely to have tens of thousands to hundreds of thousands of records in various categories. A user interface should therefore provide for an efficient way to sift through these records in order to locate a specific record in a timely manner.

One method commonly used in viewer interfaces for browsing are hierarchical menus, which are typically text based, but also can be iconographic. Hierarchical systems in general are an efficient way of organizing many records, because they partition the information space of the database into discrete and meaningful segments. Typically, the database is hierarchically arranged into various topical areas, with numerous subtopics, and related records.

However, typical hierarchical menus require the viewer to repeatedly input or select sequential text strings or icons to go "deeper" into the various levels of the database in search of the desired record. Conventionally, only one level of the hierarchy is available to the viewer at any given time, from which the viewer selects one of a number of presented items in order to access the next level of the database. Since the viewer can select only from the choices that are available in the current level of the database, and since only one level is available at a time, conventional browsing can be taxing for the novice viewer who must make guesses about where in the hierarchy a desired record or type of record resides. The viewer has no way of knowing what records reside in the lowest levels of the database without actually selecting a menu and traversing to the lower level menus. This is true even with iconographic menus, which generally show only icons for one level of the database at any given time.

Assume, for example, a database offering various entertainment services, including movies from various providers, and in numerous categories. A typical viewer may be interested in browsing for a movie to watch, but does not have a particular movie genre in mind. In a conventional interface, if the viewer is at a menu of movie genres, such as "Westerns," "Horror," "Drama", "Science Fiction," and the like, the viewer typically has no information about what specific movies are included in each category. Thus the viewer has to select "Drama" to get a list of movie titles. Typically, little or any information about individual movies is provided. If the list does not contain anything of interest, the viewer has to move back up to the genre menu, and proceed to the next category. This repeated selection process can be very time consuming for extremely large databases, thereby inhibiting exploration, and thus use of the database, and leading to viewer dissatisfaction.

The above example illustrates some of the problems with conventional hierarchical menu interfaces. The viewer must learn the structure of the database either by reviewing printed codes or repeated usage. In the latter case, the viewer's knowledge is limited to an understanding of only the various branches of the hierarchy the viewer has previously explored. Further, the active involvement required to make the repeated selections or inputs can be fundamentally foreign to certain groups of users. Television viewers typically prefer a passive relationship to their content source (e.g. TV programs), where only very limited active searching by the viewer is necessary. Such users typically will not invest the effort necessary to explore and use a conventional database using hierarchical menus.

Another significant problem is the "depth," or number of levels, with which it is necessary to organize very large databases, even where the records are organized by one or more criteria. The depth of the database compounds the repeated selection problem, further impeding browsing by the viewer. A related problem is heterogeny of data. In today's large multimedia databases, media types may vary from text and static graphics, to full color photographs, computer animations, full motion video, and stereo quality audio, with all possible permutations. Conventional text based hierarchical menus cannot adequately represent or describe the various types of media found in large multimedia databases, limiting the viewer's understanding of the available content, and impeding exploration of the database.

User interfaces designed for searching also encounter various problems when applied to multimedia databases. Again, the large number of records in such databases can make it difficult to precisely and quickly locate a particular record. Searching generally requires alphanumeric input capabilities in order to allow the viewer to precisely identify the item of interest. Alphanumeric input requires specific input devices, either keyboards, mice, or the like, which limits the accessibility of the database to users with the required components, and thus prevents use by those potential users who do not already possess the required hardware. While keyboard based interfaces allow rapid text entry, they limit the application of the interface to computer based systems. Iconographic interfaces that provide simulated keyboards, with either alphabetical letter strings, or pictographic typewriters are very slow and error prone, severely hampering text entry. In addition, efficient searching requires the ability to concatenate searches, for example, performing a first search for all movies, and then all Hitchcock films, and finally selecting the movie "Rear Window" from a list of Hitchcock films. Thus systems that require a specific designation of a record do not satisfy the needs of viewer to incrementally narrow a search set to locate a specific item.

An additional concern of both searching and browsing interfaces, is that regardless of the depth or breadth of the database, it should be possible for the viewer to place records at viewer-determined positions so that the viewer can organize information within the database to facilitate immediate access to frequently used data. Conventional interfaces offer little customization by the viewer, at best, allowing the viewer to save previous search results, or simple preferences. Further, to the extent that conventional interfaces allow customization, they do so using a distinct set of commands and operations that are typically unrelated to the actual commands for accessing the database. That is, the user must learn one set of operations for retrieving records from the database, and a separate set of commands for customizing the interface. This increases the apparent complexity of the interface to the user, requiring the user to invest a greater effort to learn the various commands, and thereby discouraging the passive, casual user from customizing the interface.

In conventional databases that provide records of different types, the sets of data associated with various categories, or data types may have differing levels of granularity. Thus where it is meaningful to organize the records of one data type into five hierarchical levels, for example, it may be meaningful to organize another data set into only two levels. Conventional databases provide no standard mechanism that is independent of the actual data, for accommodating these differing levels of granularity in a manner transparent to the viewer. Rather, where there is a high level of granularity, the viewer typically must make numerous selections to narrow the data set to identify a desired record.

There are various other concerns that must be addressed during the design of a user interface. Given the breadth of potential users with different hardware, such as computers or televisions, there is a very limited ability to rely on the use of specific input devices for operating the user interface. Conventional viewer interfaces for databases generally require a computer, and either a keyboard for text input, a mouse for iconographic input, or both. These components are still found in only a small number of homes, and even there, are fixed to specific computers and operating systems that may not be interoperable with the service provider's database and computer system. Also, while computer and telecommunication systems are becoming increasing powerful, there are still serious computational and transmission limits that constrain the type of information the user interface can convey to the viewer at any given time; this is especially true for databases which will be accessed by thousands of users simultaneously. Limited bandwidth and transmission speeds limit many viewer interfaces to simple text driven interfaces, that suffer from the above described problems.

Finally, conventional viewer interfaces are generally designed to offer the products or services of a single service provider, and thus offer little flexibility to accommodate multiple, potentially competitive providers. Conventional interfaces do not offer a usage model that can be used to develop fee structures based on the usage patterns of users. While users may use a given interface in a particular manner, accessing certain records or categories more frequently than others, conventional databases do not lend themselves to a model of use that can determine relative pricing for "placing" records at various points in the database.

In addition, because conventional databases are designed primarily around one service provider's data, the interfaces are typically specifically adapted to search through the provider's database and its internal data structures. Accordingly, because of the integration of the data with the interface, there is little flexibility in the interface for accessing database of multiple database vendors having a variety of different underlying databases.

Accordingly, it is desirable to provide a user interface which overcomes the limitations of existing viewer interfaces. A desirable user interface will enable the viewer to see various levels of the hierarchy at once, so that the viewer can determine if a given category of information is desirable based on actual records in the category, and not merely on a textual or graphic label for the category. Further the user interface should allow direct access to specific records from any number of levels "above" the level to which the record is formally linked. This overcomes the repeated selection problem and the disparities of granularity among data sets, and provides for instantly "flattening" the hierarchical structure of the database. The user interface also should enable viewers to navigate readily throughout the database, providing the above described information, while informing viewers of "where" they are in the database, and how they can return to where they started or from where they most recently came.

A desirable user interface will enable a viewer to determine the contents of any record in a standard fashion, using standard techniques for the heterogeneous data types. In addition, the viewer will be able to rapidly view and compare a plurality of like records when deciding on which record to access. A successful user interface will thus bring the disparate records, or programs, to the viewer, without requiring the viewer to actively search while in a passive viewing state.

It is also desirable for a user interface to make only limited assumptions about the capabilities of input devices available. The user interface should thus be manipulable without requiring hardware that is unlikely to be readily available to the majority of users. Similarly, the user interface should accommodate the resource limitations and communications or processor demands from the rapid searching and display of multimedia data types by multiple users.

Further, it is desirable to provide an interface that can access a number of different databases provided by differing vendors, while offering a common interface and set of operations to the user. This separates the user interface from the underlying design of the databases, and affords the user access to a larger universe of information without the increased need to learn to use multiple interfaces.

Additionally, it is desirable for the user interface to offer a standard arrangement of records to enable business opportunities and advertising sales by the service provider to various database vendors based on the value of given locations within the user interface according to a model of viewer usage. In conjunction with such business opportunities, the interface should allow multiple points of access to the records of a given vendor, thereby allowing those vendors who purchase more locations in the interface to achieve greater visibility to the user. In addition, multiple points of access provide increased efficiencies by reducing redundant data storage.

Finally, a successful user interface will enable its viewers to easily identify and configure their own data sets for easy access to frequently used records. The user interface should allow configuration in a manner that is entirely consistent with the methods of use provided by the interface, thereby reducing the burden on the viewer in learning a variety of distinct operations, and encouraging customization by casual or more passive users.

SUMMARY OF THE INVENTION

A user interface provides access to a large database of records. The interface is comprised of a hierarchical plurality of matrices, each matrix including cells. One matrix is displayed to the viewer, showing the cells of the matrix. The interface includes a content window for displaying either previews or the content of records. The viewer can focus on a cell in the matrix, thereby displaying a preview of the focused cell in the content window. Upon seeing a preview of interest, the viewer can select the focused cell, causing either the contents of the focused cell to be retrieved in full, or the matrix of cells currently displayed to be updated to show a new matrix associated with the focused cell. Once the new matrix is displayed, a new series of previews is displayed, and again the user may focus and select various cells in the displayed matrix. Navigation commands enable the viewer to navigate between the levels of the database, and to increase or reverse the display of previews, and to skip forwards or backwards between previews. Also, the interface provides for searching for selected cells using search cells that filter the titles of cells that are available at or below the level of the database that viewer is currently viewing. The user can then select a desired item for retrieval.

The user interface supports various methods of accessing a database, including the steps of focusing a cell, displaying a preview of a focused cell, and selectively retrieving data of a focused cell. Further refinements of the method include continuously determining if there is a user input during the display of a preview, and if not, then displaying a preview of a next cell. The viewer may select a focused parser cell, and thereby update the displayed matrix to show the cells in the matrix associated with the focused parser cell.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A-1H are various illustrations of the matrix architecture user interface of the present invention;

FIG. 2 is an illustration of the hierarchical structure underlying the matrix architecture user interface.

FIG. 3 is an illustration of the modes of operation for the matrix architecture user interface;

FIG. 4 is a flowchart of the focus command;

FIG. 5 is a flowchart of the select command;

FIG. 6 is a flowchart of the play command;

FIG. 7 is a flowchart of the stop command;

FIG. 8 is a flowchart of various movement commands;

FIG. 9 is a flowchart of the set-up mode for the user configured matrix;

FIG. 10 is an illustration of one environment of the preferred embodiment;

FIG. 11 is a flowchart of the operation of a software application for implementing the matrix architecture user interface of the present invention; and

FIG. 12 is a diagram of the object classes used in a preferred embodiment of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENT

Structure of the Matrix Architecture User Interface

The Matrix Concept and the Hierarchical Data Structure

The matrix architecture user interface of the present invention is modeled on the concept of a hierarchical database. The database is organized using a series of matrices, each matrix including a number of cells, and each cell in a matrix associated with either a record in the database or a further matrix of cells. The matrix architecture user interface provides methods for rapidly and easily browsing through various topical areas, or searching for individual records in such a hierarchical database, overcoming the limitations of existing viewer interfaces to large databases.

Referring now to FIG. 1A, there is shown an embodiment of the matrix architecture user interface of the present invention for accessing large multimedia databases. The matrix architecture user interface 101 includes a displayed matrix 103 of cells 105, and a content window 107. Though there are numerous matrices in the database, only one matrix 103 is displayed at a time to the viewer. The displayed matrix 103 changes according to the viewer's inputs as the viewer accesses different parts of the underlying database.

The matrix arrangement of the cells 105 defines a serial ordering for the cells 105, the ordering defining a sequence by which a viewer can access each of the cells 105 displayed in the interface using a pointing device (not shown). In the preferred embodiment the ordering is from left to right, top to bottom, the top left cell being the first cell, and the bottom right cell being the last cell. FIG. 1A shows numbering indicative of the ordering of the cells 105 in the preferred embodiment, with the various cells 105 labeled 1 through 12. The ordering is circular in that the first cell 105 in the upper left hand corner is assumed to also be next to the last cell 105 in the lower right, such that navigating from the last cell places the viewer at the first cell. Other orderings of the cells are possible, and the matrix architecture user interface 101 provides for customization of the ordering according to the needs of the service provider. The service provider can define the order based on the frequency of use for the various cell positions, and can accordingly model a fee structure for selling advertising or content in each cell based on the cell position in the matrix 103. One benefit of the matrix architecture user interface 101 is that regardless of how the serial ordering is defined, there will always be readily identifiable patterns of access that the service provider can use in determining a pricing structure.

The displayed matrix 103 shows one portion of a hierarchical data structure based on the service provider's database of records. This hierarchical structure is composed of four different types of cells 105, specifically record cells, parser cells, search cells, and code cells. The hierarchical data structure underlying the matrix architecture user interface 101 is provided by the parser cells. Each parser cell is associated with a specific subset of cells in a next lower level of the database, also called a matrix 104, which may include parser cells, record cells, search cells, or code cells, or any combination thereof. Only one matrix 104 is displayed at a time to the viewer, through the use of various navigation and operational commands further described below. The database is hierarchical because a parser cell may be associated with a matrix 104 including other parser cells in the next lower level of the database. (In the remainder of this disclosure, the term "the matrix 103" refers to the matrix displayed to the viewer at any given time, and the terms "matrix 104" or "matrices 104" refer to any matrix or number of matrices in lower levels of the database not currently displayed to the viewer. Since all of the matrices shown in FIGS. 1A-G are shown as displayed, they are referenced individually as "the matrix 103", but it should be clear from the foregoing that each is a separate and distinct matrix 104 when it is not displayed to the viewer.)

It is important to realize the distinction between the cells and the matrices as constituting a hierarchical database, and thereby a logical structure, and the visual representation of the cells and matrices when displayed to the viewer. Accordingly, in the preferred embodiment each of the cells 105, the content window 107, and the overall matrix 103 as displayed are rectangular in shape, and of 3:4 proportion, as is typically found in televisions sets conforming to the NTSC standard. However, the shape and size of the cells and content window 107 and the visual arrangement of the matrix 103 can vary. For example, in various embodiments, the cells 105, matrix 103, or content window 107 can be square, or even circular, or any other shape found suitable by the service provider. Further, the matrix 103 need not surround the content window 107, but may take any arrangement suitable to the service provider's needs. Regardless of the visual appearance of these elements, the underlying hierarchical arrangement of the database is the same, as is the functional operation of the matrix architecture user interface 101.

The hierarchical structure can be understood from the following example, In