Users sometimes import entertainment information, including songs, movies, and the like, into a personal digital library, such as one operating with a home entertainment system or a personal entertainment device. After import, users prefer to refer to that entertainment information using natural references, such as by author or title, rather than by a serial number or other computer identification. Most common encoding formats used to encode that entertainment information and most common recording media used to maintain that encoded entertainment information do not include natural references, but there are public services, both commercial and free, which can provide those references in response to media data from the media used to maintain that encoded entertainment information. The process of association is sometimes called DMR (digital media recognition).
One problem in known systems is that it might be difficult to associate that media data with those natural descriptions of that entertainment information. The user's device has access to the media itself, while those public services associate only known media data with those natural references.
In some systems, attempts are made to match that information from that media with those natural references, in response to such information as a list of tracks and their timing information (sometimes called “table of contents” or “TOC” recognition), or in response to such information as acoustic characteristics of the digital entertainment information (sometimes called “acoustic fingerprinting” recognition). While these systems often achieve recognition of the natural references associated with the digital entertainment information, they are not always successful, sometimes requiring user interaction, such as the user entering the desired information or the user responding to a prompt to select one of a set of possibilities.
The invention provides techniques, such as embodied in apparatus or methods, by which information about or from the user's personal digital library, or other demographic or specific information about the user, assist in digital media recognition, before substantial user interaction.
In a preferred embodiment, digital media recognition is performed responsive to publicly available metadata, in which (1) that publicly available metadata, possibly assisted by reference to the user's personal digital library, can be used to filter the set of all possible items of digital media to a smaller set, and in which (2) at least some ambiguity or uncertainty can be resolved by reference to the user's personal digital library, or other demographic or specific information about the user. Possibly, some steps of filtering might be performed more than once, or some steps of disambiguation might be performed more than once, or both. (They need not be performed alternately.)
For example, if the user imports a commercial CD which might be identified as having been performed by the Academy of St. Martin in the Fields, or by the Boston Pops, and the user's personal library includes many works by the latter orchestra, and few by the former, any ambiguity is resolved by the system in favor of the latter orchestra, as being perceived by the system as the more likely user preference.
In a preferred embodiment, publicly-available metadata is used for a first set of attempts, with more specific information, such as information about the user's personal digital library, or other demographic or specific information about the user, being used when the publicly-available metadata is deemed insufficient to make a clear association. However, in the context of the invention, there is no specific requirement for this particular order. As described herein, all possible information might be used, either in a particular order, randomly or pseudo-randomly, or in an order responsive to other factors (such as, for example, the nature of the encoded entertainment information itself).
In a preferred embodiment, information about the user's personal digital library, or other demographic or specific information about the user, is used in at least one of two ways:
The nature of the invention is flexible enough to include a sequence of repeated steps of filtering and ranking, not necessarily in ordered pairs. For example, in a preferred embodiment, there are four possibilities: (1) information about the user's personal digital library used for filtering, (2) other demographic or specific information about the user also used for filtering, (3) information about the user's personal digital library used for ranking, (4) other demographic or specific information about the user also used for ranking, with no specific required order of application, and with no specific required number of steps performed.
Useful information from the user's personal library might include specific songs that are included, preferred authors or genres that are included, or a similarity relationship between the user's personal library and the corpus of a collective library.
In a preferred embodiment, demographic or specific information about the user is obtained responsive to a generic description of the user's personal library (e.g., “mostly heavy metal rock”), along with conclusions it might be reasonable to make about the user responsive thereto. For example, if the user imports a commercial CD which might be identified as either “Sesame Street” or as a popular song by Kelly Clarkson, and the user's personal library includes songs which indicate that the user is likely to be a high-school student in a small Midwestern town, this ambiguity might be resolved by the system in favor of the latter genre, as being perceived by the system as the more likely user preference.
Similarly, the system might resolve ambiguity using one or more of the following possibilities:
After reading this application, those skilled in the art would recognize that these particular matching techniques are individual cases of a wide variety of possibilities, including combinations, conjunctions, intersections or unions of these cases, and the like. Those skilled in the art would recognize that it would be possible to “mix and match” these cases, or to add other cases using data available to an embodiment, to produce a much larger number of possibilities than explicitly mentioned herein. These alternatives would not require new invention or undue experimentation. They are part of the scope and spirit of the invention.
A system 100 includes elements as shown in
Operation of the system 100 includes either a physical medium 180 maintaining encoded entertainment information for storage, or a virtual medium 190 maintaining encoded entertainment information either on another storage device or in communication transit, such as possibly using the communication link 140 or another communication link (not shown).
The input port 110 is disposed for being coupled to encoded entertainment information, either in the form of a physical medium 180 or in the form of a virtual medium 190, and is further disposed for being coupled to the local computing device 130.
As further described herein, the local computing device 130 is therefore capable of receiving encoded entertainment information, either from a physical medium 180 (such as a CD, DVD, or other device), or from a virtual medium 190 (such as a disk image, a sequence of one or more messages) and determining, responsive to information maintained in the system 100, metadata including natural references to encoded entertainment information.
The local database 120 includes a user personal library 121, which itself includes a set of entertainment information items 122 along with their associated metadata 123. In a preferred embodiment, the user personal library 121 is coupled to the computing device 130 and disposed for being controlled and maintained for storage thereby.
The local computing device 130 includes a local processor 131, local program and data memory 132, and local mass storage 133. The local processor 131 is coupled to the local program and data memory 132, and operates under control of instructions maintained therein. The local processor 131 might also write one or more intermediate data values to the local data memory 132, which maintains those values for use as directed by the local processor 131.
The communication link 140 is disposed for being coupled to at least one or more of: the local database 120, the local computing device 130, the community external database server 150, the public external database server 160, the virtual medium 190. The communication link 140 is capable of transporting information between or among these elements. In a preferred embodiment, the communication link 140 includes a wired or wireless LAN, VLAN, VPN, WAN, an enterprise network, internet, private or public switched network, any combination or conjunction thereof, or any other system capable of performing the functions described herein.
The community external database server 150 is disposed for being coupled to the communication link 140 or another communication link (not shown). The community external database server 150 includes a community server processor 151, community server processor program and data memory 152, and community server mass storage 153. The community server processor 151 is coupled to the community server program and data memory 152, and operates under control of instructions maintained therein. The community server processor 151 might also write one or more intermediate data values to the community server data memory 152, which maintains those values for use as directed by the community server processor 151.
In a preferred embodiment, the community external database server 150 operates as the server in a client-server interactive process, receiving requests from one or more computing devices 130 using the communication link 140, and generating responses thereto. As described herein, the community external database server 150 maintains a community library for use by one or more computing devices 130 included in systems made by a manufacturer of one or more embodiments.
The public external database server 160 is disposed for being coupled to the communication link 140 or another communication link (not shown). The public external database server 160 includes a public server processor 161, public server processor program and data memory 162, and public server mass storage 163. The public server processor 161 is coupled to the public server program and data memory 162, and operates under control of instructions maintained therein. The public server processor 161 might also write one or more intermediate data values to the public server data memory 162, which maintains those values for use as directed by the public server processor 161.
In a preferred embodiment, the public external database server 160 operates as the server in a client-server interactive process, receiving requests from one or more computing devices 130 using the communication link 140, and generating responses thereto. As described herein, the public external database server 160 maintains a public library for use by one or more computing devices 130, whether or not included in systems made by a manufacturer of one or more embodiments.
The user interface 170 is disposed for presenting information to one or more users (not shown), and for receiving commands or other information therefrom.
Operation of the system 100 includes either a physical medium 180 (not part of the system 100) maintaining encoded entertainment information for storage, or a virtual medium 190 (not part of the system 100) maintaining encoded entertainment information either on another storage device or in communication transit, such as possibly using the communication link 140 or another communication link (not shown).
A method 200 includes flow points and method steps as shown in
At a flow point 210, the system 100 is ready for input of encoded entertainment information using either physical media 180 or virtual media 190. In a preferred embodiment, the system 100 waits at the flow point 210 until input of one or more items of encoded entertainment information begins.
At a flow point 220, the system 100 has begun receiving input of one or more items of encoded entertainment information using either physical media 180 or virtual media 190. In a preferred embodiment, the system 100 receives the one or more items of encoded entertainment information, under control of the local computing device 130.
At a step 230, the system 100, under control of the local computing device 130, reads the one or more items of encoded entertainment information.
At a step 240, the system 100, under control of the local computing device 130, requests metadata, including natural references, regarding the one or more items of encoded entertainment information, from the public external database server 160. If the system 100 is able to obtain those natural references, the method 200 proceeds to the flow point 210, where the system 100 is ready to receive further items of encoded entertainment information.
At a step 250, the system 100, under control of the local computing device 130, requests metadata, including natural references, regarding the one or more items of encoded entertainment information, from the community external database server 150. If the system 100 is able to obtain those natural references, the method 200 proceeds to the flow point 210, where the system 100 is ready to receive further items of encoded entertainment information.
At a step 260, the system 100, under control of the local computing device 130, obtains information regarding the user's private library from local mass storage 133.
At a step 270, as described above, the system 100, under control of the local computing device 130, performs a number of heuristics to attempt to determine a best match of metadata, including natural references, regarding the one or more items of encoded entertainment information. If the system 100 is able to find a satisfactory match, the method 200 proceeds to the flow point 210, where the system 100 is ready to receive further items of encoded entertainment information.
At a step 280, as described above, the system 100, under control of the local computing device 130, interacts with one or more users, using the user interface 170, to narrow down (possibly to a single item) the metadata, including natural references, to associate with the one or more items of encoded entertainment information.
At a flow point 290, the system 100 has completed its treatment of encoded entertainment information using either physical media 180 or virtual media 190. The method proceeds to the flow point 210.