METHOD, SYSTEM AND CONTROLLER FOR SEARCHING A DATABASE CONTAINING DATA ITEMS
A method, system and controller is provided for searching a database containing data items with a user via a user inter the method comprising the steps of specifying an initial search subset of some or all of the data items in the database (1201); identifying representatives of each of a number of data categories in the search subset (1203); displaying the representatives on the user interface (1204); selecting one or more of the representatives (1205); specifying a refined search subset of data items in the search subset within the data categories corresponding to the selected representatives (1207); and repeating the steps of identifying and displaying representatives for the refined search subset.
This application is a continuation of U.S. patent application Ser. No. 13/394,918, filed Mar. 8, 2012, which is a 371 of International Appln. No. PCT/AU2010/001176, filed Sep. 10, 2010, which claims priority to Australian Appln. No. 2009904400, filed Sep. 11, 2009, the contents of all incorporated herein by reference.
FIELDThe present invention relates to a computerized method, system and controller for searching a database of data items, particularly but not limited to media items such as images, music, movies, games or books.
BACKGROUND TO THE INVENTIONSearching through databases of media items such as stock photographs is a task often undertaken both in the media industry and by consumers generally. Websites such as gettyimages.com images.google.com and others typically provide searching methods that involve descriptor based indexing of image content. The content descriptors typically relate to aspects such as concept, emotion, location or to the characteristics of people in the image. The user specifies values of one or more content descriptors typically using checkboxes in drop-down lists and the image search engine then searches the image database index for images matching the user-specified values. Matching images are then typically displayed, accompanied with technical information such as resolution or origin, in a scrollable window. Usually a first page shows the closest matches, which may involve some assessment of additional native properties such as colour balance, and multiple further pages contain less close matches. The user inspects the many images and may refine the search by specifying further content descriptor values, or by choosing one reference image as an example.
Although an initial search using descriptors produces many potentially relevant images, refinement of the search to select out images of more interest is often frustrating. Further, the need to scroll through and individually examine a mixture of a large number of images and text is tiring and tedious.
There is therefore a need to provide improved database searching techniques that enable more efficient and user-friendly identification of useful data items.
The inventors of the current invention have found a much improved method of assisting the user to locate a data item of interest, by making advances in the use of selection and display of representative data items.
SUMMARY OF THE INVENTIONAccording to a first aspect of the invention there is provided a method of searching a database containing data items with a user via a user interface, comprising the steps of
specifying an initial search subset of some or all of the data items in the database;
identifying representatives of each of a number of data categories in the search subset;
displaying the representatives on the user interface;
selecting one or more of the representatives;
specifying a refined search subset of data items in the search subset within the data categories corresponding to the selected representatives; and
repeating the steps of identifying and displaying representatives for the refined search subset.
In one embodiment, the step of specifying an initial search subset comprises receiving a restriction criterion from the user and defining the initial subset as data items satisfying the restriction criterion. The restriction criterion may be a value of a search term.
In one embodiment, the data items are associated with descriptor values in a multidimensional descriptor space and the data categories in the search subset are sectors in the descriptor space. The multidimensional descriptor space may be defined having regard to obtaining categories adapted to the specified search subset, such as from a descriptor table of stored values in a descriptor space of larger dimensionality by an algorithm that identifies a set of appropriate descriptors with reduced dimensionality for the search subset. The reduced dimensionality is chosen having regard to the number of categories.
In an embodiment, an origin of the descriptor space is near a centre of the search subset so that the descriptor coordinates of the search subset have positive and negative values; and
at least one of the categories is a sector in the multidimensional descriptor space that is greater in a positive or negative direction in one dimension compared to the other dimensions.
In one embodiment, the number of categories is chosen so that all the representatives can be displayed to the user at once. The step of displaying the representatives of the refined search set may comprise displaying the representatives of the refined search subset next to the representatives of the initial search subset.
In one embodiment, the process of specifying, identifying, displaying and selecting is adapted to repeat until all the categories have no more than one member.
In one embodiment, the data items comprise digital media.
According to a second aspect of the invention there is provided a database searching system for interactively searching a database containing data items with a user, comprising
a user interface with a display;
an initial search subset specifier for specifying an initial search subset of some or all of the data items in the database;
a representative identifier for identifying representatives of each of a number of data categories in the search subset;
a representative display controller for displaying the representatives on the display;
a representative selector for selecting one or more of the representatives;
a refined search subset specifier for specifying a refined search subset of data items in the search subset within the data categories corresponding to the selected representatives;
a repeater for repeating the steps of identifying and displaying representatives for the refined search subset.
According to a third aspect of the invention there is provided a database searching controller for interactively searching a database containing data items with a user via a user interface having a display, comprising
an initial search subset specifier for specifying an initial search subset of some or all of the data items in the database;
a representative identifier for identifying representatives of each of a number of data categories in the search subset;
a representative display controller for displaying the representatives on the display;
a representative selector for selecting one or more of the representatives;
a refined search subset specifier for specifying a refined search subset of data items in the search subset within the data categories corresponding to the selected representatives;
a repeater for repeating the steps of identifying and displaying representatives for the refined search subset.
According to a fifth aspect of the invention there is provided a computer readable medium comprising the program code of the fourth aspect of the invention.
According to a sixth aspect of the invention there is provided a data signal comprising the computer program code of the fourth aspect of the invention.
Referring to the drawings, there is shown various aspects of a database searching system, controller and method according to an embodiment of the invention.
The system may take a number of different forms. In a first form, a standalone system is provided wherein all or most components required are present in a local user operable computer and interface.
In a second form, a distributed architecture is provided wherein some of the components required for implementing the system are present in local user operable computer and interface and some of the components are located remotely relative to the user. For example, a “thick client” architecture may be used wherein part of the search and/or display control is executed on a local user operable computer and interface and part is executed remotely, such as by a server; or a “thin client” architecture may be used wherein most of the search and display control is executed remotely such as by a server and a local machine is used only for the user interface.
A typical web-based implementation involves a conventional personal computer with display, keyboard and mouse or touch sensitive screen, implementing the database searching controller as a JavaScript or XML program which may be downloaded from a website. The database will typically be stored remotely from the user and be interrogated by the database searching controller.
Referring now to
Components of the user interface 20 include a display 200 such as an LCD monitor and a position selector 210 such as a mouse for the user to indicate a position on the display 200 with at least one selector button such as a left or right mouse button to enable the user to select the position and perform other input functions.
The database searching controller 30 is in data communication with the user interface 20 and data memory 40 and typically contains or is implemented on a processor that processes the search in accordance with user input and outputs on display 200. Herein the term “processor” is used to refer generically to any device that can perform this function and may include: a microprocessor, microcontroller, programmable logic device or other computational device, a general purpose computer (e.g. a PC) or a server.
For media applications, data items database 420 is a large database of media data items, accompanied as is standard in the art by a restriction tag table 421 typically containing textual or binary content-based information in relation to each media item, but may also contain some native media information such as media type (e.g. colour/B&W). Data memory 40 also contains descriptor table 422 of derived descriptors for each media item as described herein which typically originate from native audiovisual descriptors but may also originate from content-based information. Tables 421 and 422 are computed during a database build and may be remotely located from media item database 420, particularly in the case where the invention is being exercised by a party other that the owner of the data items database 420. Tables 421 and 422 may be ordered or indexed in whole or part such as with a binary tree to speed identification of items in database 420 satisfying values or value ranges in the descriptors or restriction tags, as is known in the art.
Database searching controller 30 has an initial search subset specifier 310 for specifying an initial search subset typically by receiving a restriction criterion from the user via the user interface. In simple implementations, initial search subset specifier 310 may be trivially adapted only to specify the entire data items in database 420 or a fixed subset thereof. Database searching controller 30 also has a representative identifier 320 for identifying a set of representative data items in the search subset 420, each being representative of one of a number of categories in the search subset, a representative display controller 321 for displaying the representatives on display 200, and representative selector 330 for selecting one or more of the representatives, typically selected by the user via position selector 210. Also provided in database searching controller 30 is a refined search subset specifier 331 for specifying a refined search subset of data items in the search subset within the data categories corresponding to the selected representatives, and a repeater 332 for transferring the refined search subset to representative identifier 320 and for displaying the newly identified representatives via representative display controller 321.
Referring now to
As the hierarchical search proceeds, the breadcrumb trail 63 extends and the series at representatives of the search subsets are added to a band which disappears to the left. The user can jump back to any search subset in the sequence by clicking on the relevant box in the breadcrumb trail, and can add further restriction to the search subsets by editing the restriction criterion window 62.
Example of Image-Based Descriptor TableIt is contemplated that in typical embodiments of the invention, the multidimensional descriptor space appropriate to the data categories is defined from a descriptor table 422 of stored values in a descriptor space of larger dimensionality.
For application to images, there are many available image descriptors that can be used in the invention to generate the descriptor table 422. Examples include colour histogram, SIFT edge detection, SURF edge detection, Canny edge detection, Tamura texture features, and Gabor texture features.
The inventors' currently implemented embodiment for images such as photographs or movie stills uses, for the descriptor table, a set of 35 descriptors derived during a database build using single value decomposition (SVD) of the 336 descriptors in the combination of the uncompressed CEDD [Ref 1] and FTCH [Ref 2] descriptor sets.
Example of Finding Data Categories for the Search SubsetIn the embodiment illustrated in
In terms of mathematical symbols, the positive sector of points x≡(x1,x2..xn) for the kth dimension of an n-dimensional descriptor space (e.g. of the new reduced 10 dimensional space) is defined by
S+k={all points x such that xk≧xi and |xk|≧|xi| for all i≠k}
and the negative sector is defined by
S−k={all points x such that xk≦xi and |xk|≧|xi| for all i≠k}
This way of defining sectors runs efficiently on a standard database via the use of a B+tree.
Example of Identifying Representatives of Data CategoriesFor the categories found in the above example, a representative data item can be identified for each category by a variety of methods. An example of a rapidly executing method on a standard database is to identity the maximum and minimum values. In other words, the representative for the positive sector for the kth dimension is defined by the data item in sector S with the largest (most positive) xk, and the representative for the negative sector for the kth dimension is defined by the data item in sector S−k with the lowest (most negative) xk.
Example of Displaying the RepresentativesFor the image example detailed in this specification, display of the representatives can be conveniently ordered by placing the representatives for S+k and S−k at opposing positions on the display grid for example, S+1 and S−2 are placed in the top left (row 1, column 1) and bottom right (5, 4) positions, and S+2 and S−2 are placed in adjacent opposing positions (2,1) and (4,4) and so on.
As seen in
The figures show an example of an image database, but the invention is equally applicable to audio data such as music.
Examples of audio descriptors that can be used in the invention include Mel-Frequency Cepstrum, Zero-Crossings, Spectral Analysis, Spectral Centroid, Spectral Rolloff, Linear Predictive Coding Coefficients, and Beat Histograms.
The inventors' currently implemented embodiment for music and audio data items uses, for the multidimensional descriptor space, a combination of a large variety of the known audio descriptors, such as are implemented on jAudio descriptor computation software [Ref 3], found on the internet at http://jmir.sourceforge.net/jAudio.html. A large number of available descriptors (in this case 330) are first tested on the data set to remove any (typically about 30) that tend to cause errors in the SVD algorithm for certain data types. The robust remaining set (about 300) is then subjected to the SVD algorithm as in the image example to provide a set of 35 descriptors to be stored in descriptor table 422. Computation of 10-dimensional and lower descriptor spaces in the course of the search proceed as described above.
Example of Audio DisplayIn the case of photographs, the nature of the item is apparent to the user in the display of the item. Clearly in the case of audio, adaptations are desirable in representative display controller 321 in the display of the audio items to convey some information on the nature of the audio, usually in addition to visual aspects such as the supplied music track artwork or album cover. One approach is to condense the descriptor coordinates further from 35 to 3 using SVD, and to represent the 3 condensed coordinates as RGB values in a colour space. The user will came to understand which colours correspond to which type of sounds.
Tag-Based Descriptor ApplicationsAlthough in the above examples the database is built from descriptors that are calculated from the native audiovisual data, such as colour balance or edge information for images and time series descriptors in the case of music, it is possible to include search terms in the original descriptor set, which can also be condensed together with the native descriptors in the SVD algorithm.
Depending on the database and application there may also be situations where the set of descriptors in the descriptor table 422 is calculated entirely from content-based descriptors. For example, when searching for a movie or more especially a book it may be found that information such as actors, director, author, plot, violence level etc is more useful in providing recommendations to the user than the native descriptors. There may also be a wide range of binary descriptors such as, in the case of video games, whether the game has action or strategy elements, puzzles, elves or guns. These content tags can all be treated the same way as the native disrupters and reduced to a multidimensional set of a manageable number of continuous coordinates using an algorithm such as SVD.
It will be appreciated that while single value decomposition from a large number of descriptors has been described as one method of calculating a manageable descriptor space for the descriptor table 422 and the multidimensional descriptor space of reduced dimensionality for the initial search subset and refined search subsets, the invention encompasses any way of categorizing and identifying representatives however produced. In particular, another clustering algorithm such as NIPALS could be used instead of SVD. Furthermore, the descriptor space is not restricted to Cartesian spaces, and may for example be a tree of nodes, the coordinates being any way of representing position in the tree, or any other structure. Further, although an automatic classification adapting to the contents of the search subsets is exemplified, the invention in its broadest form encompasses rigid non-adaptive categorizations also.
In the claims and the description, the term “initial search subset” extends to any search subset which precedes and is refined to the “refined search subset”, and is not required to be an absolutely first search subset specified by the user in a searching session.
Persons skilled in the art will also appreciate that many other variations may be made to the invention without departing from the scope of the invention.
In the claims which follow and in the preceding description of the invention, except where the context requires otherwise due to express language or necessary implication, the word “comprise” or variations such as “comprises” or “comprising” is used in an inclusive sense, i.e. to specify the presence of the stated features but not to preclude the presence or addition of further features in various embodiments of the invention.
It is to be understood that, if any prior art publication is referred to herein, such reference does not constitute an admission that the publication forms a part of the common general knowledge in the art, in Australia or any other country.
REFERENCES
- 1. S. A. Chatzichristofis and Y. S. Boutalis, “CEDD: COLOR AND EDGE DIRECTIVITY DESCRIPTOR—A COMPACT DESCRIPTOR FOR IMAGE INDEXING AND RETRIEVAL.”, <<6th International Conference in advanced research on Computer Vision Systems ICVS 2008>>Proceedings: Lecture Notes in Computer Science (LNCS) pp. 312-322, May 12 to May 15, 2008, Santorini, Greece
- 2. S. A. Chatzichristofis and Y. S. Boutalis, “FCTH: FUZZY COLOR AND TEXTURE HISTOGRAM- A LOW LEVEL FEATURE FOR ACCURATE IMAGE RETRIEVAL”, <<9th International Workshop on Image Analysis for Multimedia Interactive Services”, Proceedings: IEEE Computer Society pp. 191-196, May 7 to May 9, 2008, Klagenfurt, Austria
- 3. McEnnis, D., C. McKay, I. Fujinaga, and P. Depalle. 2005. jAudio: A feature extraction library Proceedings of the International Conference on Music Information Retrieval. 600-3.
Claims
1. A method of searching a database containing data items with a user via a user interface, the method comprising the steps of specifying an initial search subset of some or all of the data items in the database; identifying representatives of each of a number of data categories in the search subset; displaying the representatives on the user interface; selecting one or more of the representatives; specifying a refined search subset of data items in the search subset within the data categories corresponding to the representatives selected; and repeating the steps of identifying and displaying representatives for the refined search subset.
Type: Application
Filed: Jul 30, 2014
Publication Date: Nov 20, 2014
Inventors: BRETT JAMES GRONOW (Fitzroy), KEITH DAVID DEVERELL (Collingwood), JONATHAN DAVID PAK (Fitzroy North), CHRISTOPHER GLENDON BATES (Box Hill North), DAVID PETER WOLF (Northcote VIC)
Application Number: 14/447,276
International Classification: G06F 17/30 (20060101);