Not applicable.
Not applicable.
Search engines provide a way for users to search for various web content. Multimedia search, including search of multimedia objects such as image, audio, or video objects, takes up a rapidly growing part of query traffic that results from Internet searches. Duplicate multimedia objects are highly prevalent on the web. For example, common images such as balls and lines are used on millions of web pages for layout purposes. Another example is celebrity and news pictures. Such pictures are frequently duplicated across news or other information portal sites when articles are syndicated. Still another example is corporate logos that are used throughout each page on corporate web sites.
Presenting duplicates of a multimedia object such as an image or picture in response to a search request is both a difficult and complicated task. Duplicates of an image, for instance, may be saved in different formats, at different resolutions, or with minor edits using graphical techniques such as cropping and rotation. Multiple web sites may contain duplicates and near duplicates for the same or different purposes. Current search engines, however, are often unable to identify and sort through such duplicates to provide more efficient and intelligent presentation to users. Therefore, users are often forced to wait until a search request returns such duplicates when in fact most of the duplicates are indistinguishable from one another. For example, when a user searches for a popular multimedia object such as an image of the user's favorite movie star, a search engine would return a slew of hyperlinks or other type of links of images containing the pictures of the movie star. Most of the images, however, are likely to be duplicates or near duplicates of each other. The user has to download and view each of the images one at a time until the user finds an image having acceptable clarity and resolution. Some of the images may be downloaded from a web site server that is located within just few miles of the user's residence. Some other images, however, may have to travel half way around the globe to reach the user. The images may be available in JPG, TIFF, PDF, GIF, or in other numerous image file types. The duplicate images may contain pictures having excessively high or terribly low resolutions for the user. Frequently, therefore, the user may have to spend a great amount of time before identifying a duplicate having acceptable clarity and resolution that is saved in the user's favorite image file type. Therefore, a user's ability to perform a search for a desired multimedia object may be significantly limited by the scarcity of time as well as the limited bandwidth that is clogged by duplicates and near duplicates that offer little or no distinct alternative to the user.
Embodiments of the present invention provide methods for sorting and displaying duplicates and near duplicates of a multimedia object. In one embodiment, duplicates and near duplicates of a multimedia object are sorted to determine the most desirable duplicate or near duplicate. Only a representation of the most desirable duplicate or near duplicate is initially displayed. The remaining duplicates and near duplicates are initially hidden from a user's view and an annotation is displayed instead, indicating that the remaining duplicates and near duplicates are available to the user.
It should be noted that this Summary is provided to generally introduce the reader to one or more select concepts described below in the Detailed Description in a simplified form. This Summary is not intended to identify key and/or required features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
The present invention is described in detail below with reference to the attached drawing figures, wherein:
FIGS. 3A-C are diagrams for presenting duplicates and near duplicates of a multimedia object, according to embodiments of the present invention;
Referring initially to
The invention may be described in the general context of computer code or machine-useable instructions, including computer-executable instructions such as program modules, being executed by a computer or other machine, such as a personal data assistant or other handheld device. Generally, program modules including routines, programs, objects, components, data structures, etc., refer to code that perform particular tasks or implement particular abstract data types. The invention may be practiced in a variety of system configurations, including hand-held devices, consumer electronics, general-purpose computers, more specialty computing devices, etc. The invention may also be practiced in distributed computing environments where tasks are performed by remote-processing devices that are linked through a communications network. In a distributed-computing environment, program modules may be located in both local and remote computer-storage media including memory-storage devices. The computer-useable instructions form an interface to allow a computer to react according to a source of input. The instructions cooperate with other code segments to initiate a variety of tasks in response to data received in conjunction with the source of the received data.
With reference to
Computing device 100 typically includes a variety of computer-readable media. By way of example, and not limitation, computer-readable media may comprise Random Access Memory (RAM); Read Only Memory (ROM); Electronically Erasable Programmable Read Only Memory (EEPROM); flash memory or other memory technologies; CDROM, digital versatile disks (DVD) or other optical or holographic media; magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, carrier wave or any other medium that can be used to encode desired information and be accessed by computing device 100.
Memory 112 includes computer-storage media in the form of volatile and/or nonvolatile memory. The memory may be removable, nonremovable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard drives, optical-disc drives, etc. Computing device 100 includes one or more processors that read data from various entities such as memory 112 or I/O components 120. Presentation component(s) 116 present data indications to a user or other device. Exemplary presentation components include a display device, speaker, printing component, vibrating component, etc.
I/O ports 118 allow computing device 100 to be logically coupled to other devices including I/O components 120, some of which may be built in. Illustrative components include a microphone, joystick, game pad, satellite dish, scanner, printer, wireless device, etc.
In operation 208, an annotation is displayed to indicate that there are more duplicates and near duplicates for users to view. In embodiments, the annotation may be displayed in the form of text, an icon, an image, or a combination thereof that is capable of informing the users. For instance, an icon with a plus sign inside a small square box may be used to indicate that there is a list of more duplicates and near duplicates that may become visible if the icon is expanded. However, embodiments are not limited to any particular annotation. Once the representation of the selected duplicate and the annotation are displayed, a user may choose to open the most desirable duplicate or near duplicate by making a request. For example, the most desirable duplicate or near duplicate may be displayed when the user double-clicks the representation. The user may also choose to view remaining duplicates and near duplicates that are initially hidden. For example, the remaining duplicates and near duplicates may be displayed when the user double clicks the annotation. In operation 210, it is determined whether the user has made a request for displaying the most desirable duplicate or near duplicate. If the user has made such request, the selected most desirable duplicate or near duplicate is displayed in operation 214. In operation 212, it is determined whether the user has made a request for displaying the initially hidden duplicates and near duplicates. If the user has made the request, all or parts of the hidden duplicates and near duplicates are displayed in operation 216. Any additional information that is associated with the hidden duplicates and near duplicates is also displayed in operation 218.
FIGS.3A-C are diagrams for presenting duplicates and near duplicates of a multimedia object, according to embodiments of present invention. More specifically, FIGS. 3A-C illustrate diagrams for initial and subsequent displaying of duplicates and near duplicates of multimedia objects, their representations, the annotations, and other pertinent information.
Advantageously, embodiments of the present invention allow for more efficient and flexible display environments. A user is initially presented with a representation of the most desirable duplicate or near duplicate of a multimedia object such as a thumbnail image, audio summary, or video summary. The user, however, may expand the initial display by making a request to download the most desirable duplicate or near duplicate and play or view the duplicate if the representation of the duplicate was interesting enough to attract the user's attention. The user may also go beyond the initial presentation of the most desirable duplicate or near duplicate to select from duplicates and near duplicates that were initially hidden from the user. The user can be, thereby, spared from downloading one image or video clip after another until the user encounters a duplicate that fits the user's preference or purpose.
In one embodiment, method 400 advantageously assigns a distinct rank to each of the duplicates and near duplicates for orderly display. Assigning a distinct rank to each of the duplicates and near duplicates is also important because the method 400 may not be able to display all of the duplicates and near duplicates. This is beneficial because there could be, for instance, tens of thousands of duplicate and near duplicate images of a popular singer or movie star.
In one embodiment, the method 400 advantageously sorts a set of randomly ordered duplicates and near duplicates of a multimedia object using sorting criteria to rearrange such duplicate and near duplicates, thereby bringing a faster and more efficient multimedia search experiences to users. By sorting duplicates and near duplicates of a video object having a considerable file size, for example, using the geographic distance from the user as the sole sorting criterion or in combination with other sorting criteria, the method 400 can present the most desirable duplicate that can be downloaded faster. The geographic distance between the user and the location of the server for the site from which the most desirable duplicate was retrieved is used to determine the ranks of the resulting sort order to the user's advantage. Also, by sorting duplicates and near duplicates of an image using file type popularity, the method 400 can present a number of useful advantages to a user. For example, an image object that is saved in GIF format may be easier to download because its file size to resolution ratio may be better than other image object formats. The same image captured in JPG format, on the other hand, may be better if the user intends to attach the image to the outgoing emails or to print out multiple copies of the image using a printer because it may be a more acceptable format for printing devices and for network transmissions.
In another embodiment, the method advantageously sorts a set of randomly ordered duplicates and near duplicates of a multimedia object using a set of sorting criteria that comprises the destination page or site quality and a display dimension such as image resolutions. By sorting the randomly arranged duplicates and near duplicates based on the destination page or site quality, a user can gain access to more recently produced near duplicates of the multimedia object. For example, news sites of CNN and NBC are more likely to update their site contents more frequently than other sites. Also, by sorting the randomly arranged duplicates and near duplicates based on image resolutions, the user can save time downloading a multimedia object such as an image or video file by avoiding objects having excessively high resolutions that may not be suitable for non-commercial use or personal enjoyment. Embodiments of the present invention are not limited to any particular sorting criteria.
In one embodiment, operation 506 may be implemented by multiplying a primary weighting factor to each rank of the primary sort order to obtain the primary rank. In one embodiment, operation 510 can be similarly implemented by multiplying a secondary weighting factor to each rank of the secondary sort order to obtain the secondary rank. For example, suppose that the geographic distance from a user is used as a primary sorting criterion that is associated with a primary weighting factor of five (5) and the file type popularity is used as a secondary sorting criterion that is associated with a secondary weighting factor of two (2). If a particular duplicate or near duplicate of a multimedia object is ranked second (2) within the primary sort order and sixth (6) within the secondary sort order, the combination rank of the particular duplicate or near duplicate can be calculated by multiplying the primary weighting factor (5) by the primary rank (2), multiplying the secondary weighting factor (2) by the secondary rank (6), and adding the two products. The method may also employ other algorithms for producing a similar linear combination. The method may also employ a tertiary sorting criterion and a quadratic sorting criterion or beyond if necessary.
In operation 614, the duplicates and near duplicates are sorted again using a secondary sorting criterion to obtain a secondary sort order. In one embodiment, the user is given an opportunity to set a value for a secondary weighting factor to obtain a secondary sorting order. For example, a popup window or a dialog box may be used to ask for a value to be used as the secondary weighting factor. Operation 616 determines whether the user has provided a value for the secondary weighting factor. If the user has provided a desired value, the value set by the user is assigned to the secondary weighting factor in operation 618. Otherwise, a default value is assigned to the secondary weighting factor in operation 620. For instance, a system default value may be already pre-assigned to the secondary weighting factor and may be overridden only when a user provides a desired value. Once the secondary weighting factor is properly assigned, secondary ranks are obtained and assigned to the duplicates and near duplicates within the secondary sort order in operation 622. In one embodiment, the secondary ranks may be obtained in operation 622 by multiplying the secondary weighting factor to the ranks within the secondary sort order. For example, if the value of the secondary weighting factor is set as seven (7), the secondary rank of a duplicate or near duplicate of an image object that is ranked third (3) within the secondary sort order can be obtained by multiplying the secondary weighting factor (7) by the rank within the secondary sort order (3).
In one embodiment, once the primary and the secondary ranks are properly obtained for the duplicates and near duplicates, the primary rank and secondary rank of each of the duplicates and near duplicates are added to obtain a combination rank for each of the duplicates and near duplicates in operation 624. In operation 626, the duplicates and near duplicates are rearranged using the combination rank to obtain a combination order. The most desirable duplicate or near duplicate is then determined from the combination order in operation 628.
In one embodiment, the method 600 advantageously offers a user an opportunity to customize the weighting factors such that the user can tailor the resulting presentation of duplicates and near duplicates of a multimedia object to the user's preference or a particular purpose. At the same time, the method 600 also offers a degree of flexibility to the user by providing a default value if the user intentionally or mistakenly fails to provide a desired value to be assigned to the weighting factors.
A method for presenting multimedia search results to a user comprises: after a most desirable duplicate or near duplicate from a plurality of duplicates or near duplicates of a multimedia object that is available to a user has been determined, displaying a representation of the most desirable duplicate or near duplicate to the user; initially hiding all but the most desirable duplicate or near duplicate of the plurality of duplicates or near duplicates from the user; and displaying an annotation indicating that all but the most desirable duplicate or near duplicate of the plurality of duplicates or near duplicates are available to the user.
A method of creating a web page to present multimedia search results to a user comprises: after a most desirable duplicate or near duplicate from a plurality of duplicates or near duplicates of a multimedia object that is available to a user has been determined, coding a web page to display a representation of the most desirable duplicate or near duplicate to the user; coding the web page to initially hide all but the most desirable duplicate or near duplicate of the plurality of duplicates or near duplicates from the user; and coding the web page to display an annotation indicating that all but the most desirable duplicate or near duplicate of the plurality of duplicates or near duplicates are available to the user.
A method of sorting multimedia search results, comprises: after a plurality of duplicates or near duplicates of a multimedia object that is available to a user has been determined, sorting the plurality of duplicates or near duplicates using a first set of sorting criteria to obtain a sort order; and determining a most desirable duplicate or near duplicate from the sort order, wherein the multimedia object is an image, an audio object, or a video object.
Although the present invention has been described with reference to specific exemplary embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.