MXPA05010665A - System and method for speeding up database lookups for multiple synchronized data streams. - Google Patents

System and method for speeding up database lookups for multiple synchronized data streams.

Info

Publication number
MXPA05010665A
MXPA05010665A MXPA05010665A MXPA05010665A MXPA05010665A MX PA05010665 A MXPA05010665 A MX PA05010665A MX PA05010665 A MXPA05010665 A MX PA05010665A MX PA05010665 A MXPA05010665 A MX PA05010665A MX PA05010665 A MXPA05010665 A MX PA05010665A
Authority
MX
Mexico
Prior art keywords
footprint
cache
fingerprint
media
client
Prior art date
Application number
MXPA05010665A
Other languages
Spanish (es)
Inventor
Chris J Burges
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MXPA05010665A publication Critical patent/MXPA05010665A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/37Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying segments of broadcast information, e.g. scenes or extracting programme ID
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/432Query formulation
    • G06F16/433Query formulation using audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/43Querying
    • G06F16/438Presentation of query results
    • G06F16/4387Presentation of query results by the use of playlists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/632Query formulation
    • G06F16/634Query by example, e.g. query by humming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Abstract

A "Media Identifier" operates on concurrent media streams to provide large numbers of clients with real-time server-side identification of media objects embedded in streaming media, such as radio, television, or Internet broadcasts. Such media objects may include songs, commercials, jingles, station identifiers, etc. Identification of the media objects is provided to clients by comparing client-generated traces computed from media stream samples to a large database of stored, pre-computed traces (i.e., "fingerprints") of known identification. Further, given a finite number of media streams and a much larger number of clients, many of the traces sent to the server are likely to be almost identical. Therefore, a searchable dynamic trace cache is used to limit the database queries necessary to identify particular traces. This trace cache caches only one copy of recent traces along with the database search results, either positive or negative. Cache entries are then removed as they age.

Description

SYSTEM AND METHOD TO ACCELERATE DATABASE RESEARCH FOR MULTIPLE CURRENTS OF SYNCHRONIZED DATA BACKGROUND TECHNICAL FIELD The invention relates to the identification of media objects in streaming media stream, and in particular, to a system and method for providing concurrent server identification of media objects, such as songs, in large synchronized data streams. numbers of individual clients while minimizing the server database query record.
RELATED TECHNIQUE There are many existing schemes for extracting "characteristics" of signals to be used for identification purposes. For example, with respect to a one-dimensional signal such as an audio signal or audio file, the audio feature extraction has been used as a necessary step for sorting, retrieving, and identifying tasks involving media objects in the signal of audio For identification purposes, the extracted features or "fingerprints" are typically compared with a known "fingerprint" to identify any of the elements within the audio signal or the complete audio signal. Such conventionally well-known media object identification schemes are known as "audio fingerprint printing". A number of conventional schemes have adapted such audio fingerprint printing techniques to provide identification of particular songs in an audio stream, such as a radio or Internet broadcast. For example, a user who listens to an audio stream can listen to a song from which he would like to know the title, artist, album, etc. The conventional audio fingerprint printing techniques are then used to extract one or more tracks from samples of the song. Typically, these fingerprints are then compared to fingerprints in a known music database to identify a match, with the results being provided to the user. In addition, such techniques have also been adapted to a number of conventional services to provide fee-based song identification or search service that is generally based on audio fingerprint printing techniques and database comparisons. For example, different song identification services, such as relatively well-known music identification service "Shazam", operate to identify specific songs for users through a cell phone network. In particular, systems such as those offered by Shazam generally operate first by requesting the user to dial a number on their cell phone and then hold the cell phone for music for around 15 to 30 seconds. Shazam's service then identifies the music by comparing the music (or calculated tracks of the music) to a database of known music. The Shazam service then returns a text message to the user with the title, artist, album, etc., of the song identified. Unfortunately a problem with search services of the type described above is that while the number of users accessing the music identification system at any time data increases, the number of database search requests per second also increases. This problem is mitigated, for example, in services such as those provided by Shazam, since the user must pay for the telephone call and for the same service, for each song that he wishes to identify, since the effect of charging the user of this This form tends to limit the number of concurrent users of the system, therefore reducing the total server load. Another problem with such a system is that it requires that the samples of the complete song (limited by the frequency / bandwidth fractions of the telephone service) be transmitted to the server which is then required to calculate tracks for the sample transmitted from the current media. Consequently, while the number of concurrent users increases to large numbers, the corresponding calculation load to calculate fingerprints or fingerprints of the incoming music, perform database searches to identify those fingerprints and respond to individual users can quickly saturate even the relatively large banks of dedicated servers. As a result, such schemes tend to be limited by the assumption that the number of concurrent users will be relatively low. In addition, while it is possible to classify which schemes to provide a sufficient number of servers to handle large numbers of concurrent users, potentially in the hundreds of millions, the dollar cost for such a system would probably be prohibitive. Therefore, what is needed is a system and method to provide real time identification of songs. In addition, such a system and method must be able to efficiently provide song identification services to large numbers of concurrent users while simultaneously minimizing server load and database searches. Finally, such a system and method must also minimize the server load by eliminating the footprint calculation load for samples of the media stream by requiring that that task be performed by each of the plurality of client computers.
COMPENDIUM OF THE INVENTION A "Media Identifier", as described herein, operates to solve previously identified problems by providing individual clients and a real-time server side identification of media objects used in an omission of stream media, such as, for example, , a radio, television, or Internet broadcast. These media objects include, for example, songs, commercials, sung announcements, station identifiers, etc. In general, the Media Identifier operates by providing at least one server that provides real-time identification of media objects in the streaming media stream to individual clients by comparing "fingerprints" calculated by each client of portions sampled in the stream of data. means to a database of known fingerprints. In general, the calculated fingerprints are sent by each client to the server and compared, either directly, or through a server side footprint cache, against a large database of stored, precalculated fingerprints (referred to here as (fingerprints) ) to differentiate them from the prints generated from clients) of known identification. In particular, for each client, the fixed length segments of the incoming media stream are used to calculate small-footprint "traces" in tissue intervals. In a tested mode, such fingerprints are calculated and sent by each client in the order of approximately 6 times a second of samples of the media stream in the order of approximately 6 seconds. Clearly, more or less traces, which use longer or shorter sample periods can be used, in these parameters typically being dependent on the particular techniques are used by footprint calculation. The calculation of the footprints of the media stream is performed using conventional techniques, such as, for example, the system described in U.S. Patent Application Publication No. 2003/0236661, entitled "System and Method for Characteristic Extraction of Volume Ruidoso ", the subject subject that is incorporated here by this reference. In general, such systems operate by sampling the incoming media stream and calculating low-dimensional feature vectors (ie, "fingerprints") of the sampled signal. The calculation of traces of sampled media streams is known to those skilled in the art, and will not be described here in detail. The fingerprints that comprise the fingerprint database are usually calculated in the same way as fingerprints, using the same algorithms. However, other than the fingerprints, the fingerprints are commonly calculated once, from one or more samples of each known media object to construct the known fingerprint database. Once created, this database is then simply accessed by the server, without the need to recalculate fingerprints for known media objects. However, the database of known fingerprints can then be updated with new fingerprints while creating new media objects (songs, etc.) - Therefore, the known fingerprint database is preferably created outside of line and then simply provided to the server to eliminate any additional computing load on the server during the media identification operations performed by the Media Identifier described herein. For each client, the server then uses inaccurate matching to determine if any of the fingerprints matches any of the fingerprints in the database within some threshold or tolerance. The use of such inaccurate matching techniques is preferable to exact match techniques, since the fingerprints calculated by any of the customers may vary due to noise, interference, signal attenuation, etc., even where the tracks are calculated from the same exact portions of the media stream. In addition, the use of inaccurate matching also counts small temporary equivalents of the sampled portions of the media stream for which the fingerprints are calculated. In one embodiment, the inaccurate match uses specific fingerprint renormalization, to improve accuracy, as is known in the art, as described in the publication entitled "discriminate distortion analysis for audio fingerprint printing", by Christopher J. C.
Burges, John C. Platt, and Soumya Jana, IEEE transactions in language and audio processing, IEEE transactions in language and audio processing, Vol. 11, No. 3, pgs. 165-174, May 2003, the subject matter that is incorporated herein by this reference. . At any time a fingerprint of a customer matches a fingerprint, the server informs that customer of the identity of a particular media object corresponding to the fingerprint. In the case of media objects such as songs, this identity typically includes information such as, for example, the artist, title of the song, name of the album, genre, etc. Clearly, given a known media object, any information desired to be associated with fingerprints in the database that are used to identify that media object. However, rather than providing a brute-force search of a fingerprint database for each fingerprint sent to the server, the Media Identifier described here introduces an extra lateral server cache that leverages the fact that at any time, many of the fingerprints generated by the user are likely to be more identical, assuming that there is a finite number of media streams, and that typically there is a large number of users that are receiving the same media stream at any given time. In other words, at any time in the given time, there are likely to be many, potentially hundreds of thousands or even millions, of people who are listening to the same media stream, such as private radio, television, or Internet broadcasts. This observation continues for the creation of the lateral server cache that caches both the incoming traces and the results of the database search to match the fingerprints. In particular, each incoming footprint of each client is first checked against the cache memory, which contains some number of fingerprints. If the footprint is not in the cache, then a full database search is done, and the results of that database search, whether positive or negative, are stored in the cache along with the footprint sent by the client. Searches in both the cache and the database can be performed using conventional techniques, such as, for example, a linear (ie sequentially) repository revision (a known method for accelerating distance comparisons using linear revision) . In another mode, searches in the database are accelerated through the use of bit vector index, as described in a co-pending US patent application entitled "Multi-dimensional Data Object Search Using Bit Vector Indices. ", which has a file date of June 23, 2003, and assigned serial number 10 / 602,438, subject subject that is incorporated herein by this reference. This bit-vector index approach is also described in a publication entitled "Indexing High-Dimensional Rectangles for Rapid Multimedia Identification", by Jonathan Goldstein, John C. Platt, and Christopher JC Burges, Microsoft MRS-TR Technical Report -2003-38, dated October 28, 2003, the subject matter that is incorporated herein by this reference. In general, the bit vector index methods described in the aforementioned U.A. patent application and the corresponding Microsoft technical report addresses the problem of rapidly performing point queries against high-dimensional regios. Such queries are useful in the important problems in increasing multimedia identification and retrieval, where the different database entries have different replicas for similarity. In contrast to the typical database index that focuses on indexing by nearest high-density neighborhood and close-range and epsilon queries, indexing for point queries against high-dimensional regions provides an efficient indexing method that relies on the combination of redundancy and bit vector index to achieve significant realization gains. Such methods have been observed to provide an increase in significant realization over linear real-world scans.
The negative results of the database search, that is, without matching the footprint against the fingerprint in the database, are not sent back to the client. The positive results of the database search, ie, a match between the fingerprint and a fingerprint, are sent back to the customer to identify the media object from which the fingerprint was calculated. As noted above, the cache is searched to identify fingerprint matching before searching the fingerprint database. Consequently, if no match is found against the traces stored in the cache, another database search is no longer necessary, while the footprint and the cache will include either the identity of the associated media object, or simply indicate that there is no agreement with fingerprint. In the event that a fingerprint matches a fingerprint in the database, any identity information associated with that fingerprint match will be sent back to the customer. An advantage of the server side cache provided by the Media Identifier is that the size of the cache is relatively small, making cache searches extremely fast. In particular, the size of the cache is a function of the maximum expected delay between clients receiving a point in the media stream, and the number of unique media streams for which the identification services are being provided. Also, it should be noted that the size of the cache is not a function of the number of users. In particular, each particular media emission stream is approximately synchronized for each client that is receiving that particular media stream. For example, any two or more clients that receive the same radio station are probably receiving the same signal within a short time equivalent, in the order of approximately one second or the like. The same is also true for most Internet broadcasts or mainstream media network. Therefore, there is no need to keep footprints in the media cache for more than some small multiple of the maximum expected delay time (with the delay time also including the maximum expected delay for each client to calculate and transmit the footprint). In other words, this delay is simply the maximum time between the server that receives the first fingerprint for a given section of a particular media object, and the server that receives the last fingerprint (from the slowest client) for the section Therefore, the footprints only need to be maintained for a short period, in the order of several seconds, as a result, the need for a large cache to store all the unique incoming footprints. more than trying to determine or estimate multiple delay times to set footprint life times in the cache, a simpler solution it is to simplify removing cache footprints after they fail to match any of the incoming footprints for a short period of time, in the order of about one second or the like. In other alternate modes, other cache schemes may also be used, including, for example, the use of a fixed cache size that produces traces based on conventional LRU (most recently used) logic. In view of the previous compendium, it must be clear that the Media identifier described herein provides a unique system and method for providing real-time media identification for large numbers of concurrent client requests by synchronous media streams. In addition to the benefits described, other advantages of Media Identifier will be apparent from the detailed description that follows this when taken in conjunction with the accompanying drawings.
DESCRIPTION OF THE DRAWINGS The specific features, aspects, and advantages of the present invention will be better understood with respect to the following description, claims, and accompanying drawings, wherein: Figure 1 is a general system diagram illustrating a general purpose computing device that constitutes an illustrative system that implements a "Media Identifier", described herein. Figure 2 provides an illustrative architectural system diagram illustrating a general relationship between functional components for implementing the Media Identifier, described herein. Figure 3 provides an illustrative architectural flow diagram illustrating program modules for implementing the Media Identifier, described herein. Figure 4 provides an operational flow diagram illustrating the general operation of a mode of the Media Identifier, described herein.
DETAILED DESCRIPTION OF THE PREFERRED MODALITIES In the following description of the preferred embodiments of the present invention, reference is made to the accompanying drawings, which form a part thereof, and which is shown by way of specific embodiments of illustration in which the invention can be practiced. It is understood that other embodiments may be used and structural changes may be made without departing from the scope of the invention. 1. 0 Illustrative Operating Environment Figure 1 illustrates an example of a suitable computing system environment 100 in which the invention can be implemented. The computing system environment 100 is only an example of a suitable computing environment and is not intended to suggest any limitation to the scope of use or functionality of the invention. The computing environment 100 should also not be interpreted as having any dependency with requirement that relates to one or combination of components illustrated in the illustrative operating environment 100. The invention is operational with numerous other environments or configurations of general purpose or computer system. special purpose Examples of well-known computer systems, environments, and / or configurations that may be suitable for use with the invention include, but are not limited to, personal computers, server computers, laptops, laptop or mobile or communication devices such as PDA cell phones, multiprocessor systems, microprocessor based systems, cable TV boxes, consumer programmable electronics, network PCs, minicomputers, macrocomputers, distributed computing environments that include any of the above systems or devices, and Similar. The invention can be described in the general context of computer executable instructions, such as program modules, being executed by a computer in combination with hardware modules, including components of microphone order 198. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. The invention can also be practiced in distributed computing environments where tasks are performed through remote processing devices that are connected through a communications network. In a distributed computing environment, program modules can be located on both local and remote computer storage media including memory storage devices. With reference to Figure 1, an illustrative system for implementing the invention includes a general purpose computing device in the form of a computer 110. The components of the computer 110 may include, but are not limited to, a processing unit 120. , a system memory 130, and a common system conductor 121 that couples various system components including the system memory to the processing unit 120. The system conductor 121 can be any of different types of common conductor structures including a common memory driver or memory controller, a common peripheral driver, and a local common conductor that uses any of a variety of common conductor architectures. As an example, and not limitation, such architectures include Industry Standard Architecture (ISA) common conductor, Microchannel Architecture Common Conductor (MCA), Improved ISA Common Conductor (EISA), Local Common Conductor of Electronic Video Standards Association (VESA), and common Peripheral Component Interconnect (PCI) driver also known as Mezanine's common driver.
The computer 110 typically includes a variety of computer readable media. Computer-readable media can be any available media that can be accessed through computer 110 and includes both volatile and non-volatile media, removable media and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and media. "Computer storage media" includes volatile and non-volatile, removable and non-removable media, implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, PROM, EPROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile discs (DVD), or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other means that can be used to store the desired information and which can be accessed by the computer 110. The media typically represent computer-readable instructions , data structures, program modules or other data in a modulated data signal, such as a vehicle wave or other transport mechanism and include any information delivery means. The term "modulated data signal" means a signal having one or more of its characteristics set or changed in such a way that it encodes the information in the signal. By way of example, and not limitation, the communication means include means by cables such as a network with cables or direct cable connection, and wireless means such as acoustic, RF, infrared or other wireless means. Combinations of any of the foregoing should also be included within the scope of computer readable media. The system memory 130 includes computer storage means in the form of volatile and / or non-volatile memory, such as read-only memory (ROM) 131 and random access memory (RAM) 132. A basic input / output system 133 (BIOS), containing the basic routines that help transfer information between elements within the computer 110, such as during startup, is typically stored in ROM 131. RAM 132 typically contains data and / or program modules that they are immediately accessible and / or are actually operated through the processing unit 120. By way of example, and not limitation, Figure 1 illustrates the operating system 134, application programs 135, other program modules 136, and program data 137. Computer 110 may also include other removable / non-removable, volatile / non-volatile computer storage media. By way of example only, Figure 1 illustrates a hard disk drive 141 that reads from or writes to non-removable, non-volatile magnetic media, a magnetic disk unit 151 that reads from or writes to a removable, non-volatile magnetic disk 152 , and an optical disk unit 155 that reads from or writes to a removable, non-volatile optical disk 156 such as a CD-ROM or other optical means. Other removable / non-removable, volatile / non-volatile computer storage media that can be used in the illustrative operating environment include, but are not limited to, magnetic tape cassettes, instant memory cards, digital versatile discs, digital video cassette , Solid state RAM, solid state ROM, and the like. The hard disk drive 141 is typically connected to the common system conductor 121 through a non-removable memory interface such as the interface 140, and the magnetic disk unit 151 and the optical disk unit 155 are typically connected to the common conductor of system 121 through a removable memory interface, such as interface 150. Units and their associated computer storage media, discussed above and illustrated in Figure 1, provide a storage of computer-readable instructions, data structures, program modules, and other data for the computer. 110. In Figure 1, for example, hard disk drive 141 is illustrated as storing operating system 144, application programs 145, other program modules 146, and program data 147. Note that these components can be either equal or different from the operating system 134, the application programs 135, other program modules 136, and program data 137. The operating system 144, the application programs 145, other program modules 146 and program data 147 are provided to them. different numbers here to illustrate that, at a minimum, they are different copies. A user can enter commands and information on the computer 110 through input devices such as a keyboard 162 and pointing device 161, commonly referred to as a mouse, seguibola, or touch-sensitive pad. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, radio receiver, and a broadcast video receiver or receiver, or the like. These and other input devices are usually connected to the processing unit 120 through a wired or wireless user input module 160 which is coupled to the common system conductor 121, but can be connected through another interface conventional and common conductor structures, such as a parallel port, game port, a common universal serial driver (USB), an IEEE 1394 interface, a Bluetooth ™ wireless interface, an IEEE 802.11 wireless interface, etc. In addition, the computer 110 may also include a language or audio input input device, such as a microphone or a microphone order 198, as well as a loudspeaker 197 or other sound output device connected through an audio interface. 199, again including wired or wireless interfaces, such as, for example, parallel, serial, USB, IEEE 1394, Bluetooth ™, etc. A monitor 191 or other type of display device is also connected to the common system conductor 121 through an interface, such as a video interface 190. In addition to the monitor, the computers may also include other peripheral output devices such as a printer 196, which may be connected through a peripheral output interface 195. Computer 110 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 180. Remote computer 180 may be a personal computer, a server, a router, a network PC, an even device, or other common network node, and typically includes many or all of the elements described above in relation to the computer 110, although only one device is illustrated. memory storage 181 in Figure 1. The logical connections illustrated in Figure 1 include a local area network (LAN) 171 and a wide area network (WAN) 173, but may also include other networks. Such networked environments are commonly located in offices, computer networks distributed in companies, intranets and the Internet. When used in a LAN network environment, computer 110 connects to LAN 171 through a network interface or adapter 170. When used in a WAN network environment, computer 110 typically includes a modem 172. or other means to establish communications on WAN 173, such as the Internet. The modem 172, which can be internal or external, can be connected to the common system conductor 121 through the user input interface 160, or other appropriate mechanism. In a networked environment, the program modules illustrated in relation to the computer 110, or their portions, can be stored in the remote memory storage device. By way of example, and not limitation, Figure 1 illustrates remote application programs 185 as resident in memory device 181. It will be appreciated that the network connections shown are illustrative and other means of establishing a communications link can be used. between computers. The illustrative operating environment that has now been described, the remaining part of this description will be devoted to a discussion of the program modules and processes that represent a "Media Identifier" that provides customers with real-time server side identification of objects of means fixed in a transmission of current means. 2. 0 Introduction A "Media Identifier", as described herein, provides individual customers with real-time identification of media objects set in a stream of modified media such as a radio, television, or Internet transmission. Such media objects may include songs, commercials, sung announcements, station identifiers etc. In general, the identification of media objects is provided to individual customers by comparing "fingerprints" generated by customers to a large database or stored, precalculated fingerprints (referred to herein as "fingerprints" to differentiate them from fingerprints generated by customers). ) of known identification. These fingerprints generated per client are calculated by each client from samples of the media stream on an ongoing basis and transmitted to the server for identification. Furthermore, given a finite number of media streams and a much larger number of clients, most of the traces sent to the server are probably almost identical, since many clients will concurrently be checking the same media stream. This observation is used in the creation of a dynamic fingerprint cache that can be searched to limit the number of database queries needed to identify the particular fingerprints, and thus the media objects are associated with those fingerprints. An advantage of the fingerprint cache search more than in the database is that a fingerprint job database will typically include millions of entries, while the footprint cache will typically be smaller by orders of magnitude. The fingerprint cache caches only one copy of recent fingerprints sent by the various clients, along with database search results, either positive or negative. In other words, any fingerprint that is sent by one of the clients that does not currently exist in the cache will be stored in the cache, at least temporarily, as explained in more detail later. Therefore, the fingerprint cache is searched before making a database query. The database is then only consulted to identify a new footprint generated by the client when there is no footprint matching in the footprint cache. In addition, the traces stored in the footprint cache are removed as a function of time. In a modality, this is simply a pre-established "life time", while in a related modality this time to live is based on the period since a last concordance trace was sent to the server by a client. In other words, the cache entries are simply removed from the cache while they age without having matching fingerprints. These general concepts are illustrated by the architectural and illustrative system diagram of Figure 2, which illustrates a general functional relationship between components to implement the Media Identifier. In particular, Figure 2 shows that each of the plurality of clients 200 receives a media transmission stream 210. As discussed in more detail here, the universe of available media streams 210, such as radio station transmissions, television or cable transmissions, network-based current means, etc., is substantially smaller than the number of potential clients 200. Consequently, the majority of media streams 210 will be simultaneously verified by more than one client 200, and potentially by hundreds, thousands, or even millions of customers. However, it should be noted that all media streams 210 will be available to all clients 200, as media streams include locally available transmissions, and clients can be located anywhere in the world while communicating with server 230 through Internet 220 or another network. Clients 200 then sample the verified media stream 210 and send calculated fingerprints through a network or Internet 220 to a server 230 (or server banks). The server 230 then verifies a fingerprint cache 240, and, if necessary, a fingerprint database 250, in an attempt to identify the media objects from which the fingerprints were generated. If identified, the media identification information corresponding to the individual fingerprints was returned to the client sending 200 by the server 230 through the network 220. 2. 1 System Review As noted above, the Media Identifier described here provides customers with real-time server side identification of fixed media objects in a stream media transmission, such as, for example, a radio transmission , television, or Internet. In general, the Media Identifier operates by providing at least one server that provides real-time identification of media objects in the stream of transmission media to individual clients by comparing "footprints" calculated by each client of portions sampled from the stream of media. means to a database of known fingerprints. In general, the calculated fingerprints are sent by each client to the server and compared, either directly, or through a server side footprint cache, against a large database or stored, precalculated fingerprints of known identification. For each client, the server then uses inaccurate matching to determine if any of the fingerprints matches any of the fingerprints in the database within the same threshold or tolerance. The use of such inaccurate matching techniques is preferable to the exact matching techniques, since the tracks calculated by any of the different clients may vary in some way due to noise, interference, signal attenuation, etc., even where the Smears are nominally calculated from the same portions of the media stream. In addition, the use of inaccurate agreement also counts small temporary equents of the sampled portions of the media stream from where the traces were calculated. Whenever a fingerprint from a customer matches a fingerprint (either in the fingerprint cache or in the fingerprint database), the server informs that customer of the identity of the particular media object corresponding to that fingerprint. paw print. In the case of media objects such as songs, this identity typically includes information such as, for example, the artist, song title, album name, genre, etc. Clearly, given a known media object, any desired information may be associated with fingerprints in the database that are used to identify that media object. However, rather than providing a brute force search of the fingerprint database for each fingerprint sent to the server, the Media Identifier described here instead introduces an extra server side footprint cache that leverages the fact that at any time, many of the fingerprints generated by the user are probably almost identical, assuming that there is a finite number of media streams, and that there is typically a large number of users that are receiving the same stream of media at any given time . In other words, at any given point in time, there are likely to be many, potentially hundreds of thousands or even millions, of people who are listening to the same media stream, such as radio, television, or Internet transmissions. This observation allows the creation of the server side footprint cache that caches both the incoming footprints and the results of the database search for matching fingerprints. In particular, each incoming footprint of each client is first checked against the footprint cache, which contains some number of fingerprints. If the fingerprint is not in the fingerprint cache, it is stored here, and a full database search is done. The results of that database search, whether positive or negative, are then stored in the footprint cache along with the footprint sent by the client. Searches in both the footprint cache and the database can be done using conventional techniques, such as, for example, a linear (ie sequentially) revision with deposit (a known method for accelerating distance comparisons using linear revision). In another embodiment, searches in the database are accelerated by the use of bit vector index, as described in a co-pending US patent application entitled "Multidimensional Data Object Search Utilizing Bit Vector Indices" , which has a file date of June 23, 2003, and assigned serial number 10 / 602,438, subject subject that is incorporated herein by this reference. This bit vector index approach is also described in a publication titled "High Density Rectangle Index for Rapid Multimedia Identification", by Jonathan Goldstein, John C Platt, and Christopher JC Burges, Microsoft MRS-TR Technical Report. 2003-38, filed on October 28, 2003, the subject matter of which is incorporated herein by this reference. In general, the bit vector index methods described in the aforementioned U.A. patent application and the corresponding Microsoft Technical Report address the problem of rapidly performing point queries against high-dimensional regios. Such queries are useful in the important problems in increasing multimedia identification and retrieval, where the different database entries have different metrics for similarity. In contrast to the typical database index that focuses on the nearest high-density neighbor index and close-range and epsilon queries, the index for point queries against high-dimensional regions provides an effective index method that relies in the combination of redundancy and the bit vector index to achieve significant realization gains. Such methods have been observed to provide an increase in significant realization with linear real-world revisions. With each of the aforementioned database search methods, the negative results of the database search, that is, without matching the footprint against the fingerprints in the database, are not sent back to the database. client. The positive results of the database search, that is, a match between the fingerprint and a fingerprint, are sent back to the client to identify the media object from which the fingerprint was calculated. As noted above, the result is searched to identify matching fingerprints before searching the fingerprint database. Consequently, if a match is found against the traces stored in the cache, no further database search is needed, while the cache footprint will either include the identity of the associated media object, or simply indicate that it does not. there is a concordance fingerprint. In the event that a coal match a footprint in the database, any identity information associated with that match footprint will be sent back to the customer. 2. 2 System Architectural Review The procedures summarized above are illustrated by the general system diagram of Figure 3. In particular, the system diagram of Figure 3 illustrates the interrelationships between the program modules for implementing a Media Identifier, as shown in Figure 3. described earlier. In general, the Media Identifier begins the operation with respect to each client 200 when each client receives one of the media streams 210 by using a media stream capture module 305 to receive the media stream. It should be noted that the media streams 210 may be audio stream, video streams, or a mixture of both. Clients 200 then sample incoming media streams in real time using a media stream sample module. A fingerprint calculation module 315 is then used by each client to continuously generate traces of the sampled media stream. It should be noted that the number and frequency of fingerprints generated by each client is described in more detail later in section 3. The fingerprints generated afterwards are provided to a fingerprint transmitting module 320 which transmits the fingerprints to the server 230 through the network or Internet 220. The server 230 then uses a fingerprint receiving module to receive the traces transmitted from the various clients 200. As soon as the server 230 begins to receive the fingerprints of the various clients 200, they are provided to a module. search footprint 335 which first searches the footprint cache 240 to find matching fingerprints. If there is no matching footprint in the fingerprint cache, the footprint is stored in the fingerprint cache and a fingerprint database search 250 is performed by the footprint search module 335. Finally, a fingerprint module cache maintenance 345 provides general cache cleaning operations. In particular, as noted above, all fingerprints received by the server 230 that can not be found in the fingerprint cache 240 are added to the cache along with the results of a corresponding database search (either positive or negative). However, without some limitations in this process, the footprint 240 cache would quickly become saturated. Therefore, as described in more detail in section 3, the footprint cache is cleaned of old footprints as a time merge. Especially, in one embodiment, the cache maintenance module 345 removes any of the oldest traces from some predetermined period of the cache memory. Alternatively, the cache maintenance module 345 removes any of the traces that have not been matched, with inbound traces by the track search module 335 for some predetermined period of time. In other embodiments, the cache maintenance module 345 uses either a combination of these fingerprint life time, different fingerprint life times for fingerprints with positive database hits 250, and negative database hits. 3. 0 Operation Review The program modules described above are used to implement the Media Identifier. As summarized above, the Media Identifier provides individual customers with real-time identification of fixed media objects in a verified media stream such as a radio or Internet transmission. The following sections provide a detailed discussion of the operation of the Media Identifier, and of illustrative methods for implementing the program modules described in section 2 with respect to Figure 2 and 3. In addition, the following detailed description of the Identifier operation of Media provided later in section 3.1, an operation flow diagram is presented with respect to Figure 4 which summarizes the total operation of the Media Identifier in view of that detailed description. 3. 1 Media Identifier Operation Details The following paragraphs detail specific operations and alternate modes of the Media Identifier described here. In particular, the following paragraphs describe the calculation of fingerprints and the construction of the fingerprint database; the life spans of fingerprints in the fingerprint cache; search for the footprint cache; search of database; the use of local client database searches using subgroups downloaded from the fingerprint database; and finally, provide identification of media objects to the client. 3. 1.1 Fingerprint Calculation and Construction of Fingerprint Database The calculation of fingerprint or "fingerprints" of an audio signal or samples of an audio stream to be used in media identification is a concept that is well understood by those skilled in the art. In general, such systems often operate by sampling the incoming media stream and calculating compact feature vectors (ie, "fingerprints") of the sampled signal. These compact feature vectors may comprise low dimension vectors or may comprise binary mixture keys. Since the current footprint calculation of sampled media is known to those skilled in the art, the matter will now not be described in detail here. With respect to the Media Identifier, the calculation of the footprints of the media stream is made using any number of conventional techniques. For example, a fingerprint calculation technique used in a proven modality of the media identifier is described in U.S. Patent Application Publication No. US 2003/0236661, entitled "System and Method for Noise Volume Feature Extraction". ", the subject of which is incorporated here by this reference. The system described by U.S. Patent Application Publication No. US 2003/0236661, generally operates by calculating or extracting characteristics of audio signals using a "feature extractor" that is trained in a mixture of artificial signals and / or real world that use a "distortion discrimination analysis" (DDA) to define parameters of the characteristic extractor. The feature extractor takes signals that have one or more dimensions with a temporal or spatial structure, applies a principal oriented component analysis (OPCA) for limited regions of the signal, adds the output of multiple OPCAS that are spatially or temporally adjacent, and applies OPCA to the aggregate. The aggregate steps of adjacent OPCA outputs and applying OPCA to the aggregated values are performed one or more times to extract low-volume noise volume characteristics from signals, including audio signals, images, video data, or any other time or frequency domain signal. Once trained, the feature extractor is then simply used to generate the fingerprints (and fingerprints) used by the media identifier described here. However, as noted above, the "feature extractor" identified above is clearly not the only method to calculate fingerprints or fingerprints. Regardless of how fingerprints or fingerprints are calculated, the basic idea is to calculate compact "footprints" of fixed length segments of the incoming media stream for each customer. In a tested mode, such traces are calculated and sent by each client in the order of approximately six times and one second for samples of the media stream in the order of approximately 6 seconds. Clearly, more or less traces, longer or shorter sample periods of use can be used, with these parameters typically being dependent on the particular techniques being used by footprint calculation. The fingerprints that comprise the fingerprint database are generally calculated in some way as fingerprints, using the same algorithms so that there is a clear correspondence between the fingerprints calculated by each client and the fingerprints used to populate the fingerprint database. However, unlike prints that are continually calculated as media stream progresses, fingerprints are commonly calculated once, from one or more samples taken from particular locations within known media objects to populate fingerprints of database corresponding to those known media objects. The number of fingerprints calculated for each media object can be as little or as much as desired. However, in a tested mode, it was found that providing multiple fingerprints per media object was sufficient to provide object identification of media volume. Once created, the fingerprint database is then simply accessed by the server, as described here, if the need to recalculate the fingerprints for known media objects. However, the database of known fingerprints can then be updated with new fingerprints as new media objects (songs, etc.) are created. Therefore, the known fingerprint database is preferably created offline using any of the fingerprint calculation algorithms that are used by the clients to calculate the fingerprints, and then simply provided to the server to eliminate any computational load additional on the server during media identification operations performed by the Media Identifier described herein. 3. 1.2 Fingerprint Cache Life Times One advantage of the server side footprint cache provided by the Media Identifier is that the size of the cache is relatively small, making cache searches extremely fast. In particular, the cache size is a function of the maximum expected delay between requests for each client, and the number of unique media streams for which the identification services are being provided. Also, it should be noted that the cache size is not a function of the number of individual clients or users accessing the server with fingerprint identification requests. Specifically, each particular media transmission stream is approximately synchronized for each client that is receiving that particular media stream. For example, whether two or more clients receiving the same radio station are probably receiving the same signal within a very short maximum time equivalent, in order of about one second or the like, depending on the type and source of media stream being received. The same is also true for most Internet transmissions or mainstream media networks. Therefore, there is no need to keep footprints in the media cache for more than some small multiple of the expected maximum inter-client delay time (with the delay time also including the maximum expected delay for each client to calculate and transmit the footprint to the server). In other words, this delay is simply the maximum time between the server that receives the first footprint for a given section of a particular media object, and the server that receives the last footprint (from the slowest client) for the section of the same object media. Consequently, the prints do not need to be maintained for a short period, in the order of several seconds. As a result, there is no need for a large cache to store all unique incoming traces. In a related mode, rather than attempting to determine or estimate maximum delay times to establish cache footprint life times, a simpler solution is to simply remove traces from the cache memory after they fail to match any of the traces incoming for some short period of time, in the order of about a second or similar. In other alternate modes, other cache schemes are also used, including, for example, the use of a fixed cache size that produces traces based on conventional LRU (most recently used) logic. 3. 1.2 Fingerprint cache search As noted above, as soon as the server receives any of the fingerprints, the fingerprint cache is immediately searched to determine if there is a fingerprint cache footprint match. Then, if there is a match, a determination is made as if the match footprint has any associated media object identification information, or if it is a fingerprint that was not found in the database. Again, traces not found in the footprint cache are added to the footprint cache, and the database is then immediately searched to determine if the footprint exists in the database. The determination of whether the incoming footprints match any of the footprints in the footprint cache is done using conventional signal comparison techniques. Such techniques include, for example, conventional cross-correlations, a linear review that directly compares the points of the incoming footprint with each of the footprints in the footprint cache. In each case, the adjustment is preferably inaccurate, as noted above, because the footprints calculated by any of the different clients may vary in some way., due to noise, interference, signal attenuation, etc., even where the fingerprints are nominally calculated from the same portions of the media stream. Exact match can be used, but it has been proven to be less effective when correctly identifying match fingerprints. In one embodiment, the inaccurate match uses specific fingerprint renormalization, to improve accuracy, as is known in the art, as described in the publication entitled "discriminate distortion analysis for audio fingerprint printing", by Christopher JC Burges, John C. Platt, and Soumya Jana, IEEE transactions in language and audio processing, IEEE transactions in language and audio processing, Vol. 11, No. 3, pgs. 165-174, May 2003, the subject matter of which is incorporated herein by reference. In the case of inaccurate concordance, the agreement is determined with respect to some distance metric / and a corresponding threshold q. For example, if the footprints are low-dimensional vectors, to directly compare the incoming footprint X with a group of fingerprint saved in cache memory Y, a simple way to make the comparison between the footprints is to simply evaluate the square Euclidean distance in the equation 1, once for each footprint indexed by; ': á "(x¡ - y ¡¡) 2 < q Equation 1 ¡= 1 where x is the element iv0 of the trace, and j is the element iv0 of the cache footprint jvo, n is the number of components of a footprint vector, and j is a distance threshold associated with the The trace stored in the cache. It should be noted that the comparison method described above is only one of a large number of conventional techniques for comparing signals or fingerprints. Such methods are well known to those skilled in the art, and will not be described here. However, it should be understood that any conventional technique for comparing two signals or fingerprints is applicable for use with the media identifier described herein, and that the Media Identifier does not intend to be limited to the use of the simple linear revision described above. In addition, there is also a number of conventional techniques to accelerate searches for signals or matching fingerprints. A simple method is to simply search the cache memory in order to match the frequency of occurrence of the previous ones. Clearly there are other conventional search acceleration schemes, any of which are applicable for use with the Media Identifier described herein. 3. 2.4 Database Searches As noted above, database searches are only performed in the case that a particular incoming footprint fails to match any of the fingerprint cache footprints. The actual search of the fingerprint database is done almost in the same way as the match search in the fingerprint cache. In fact, the same types of fingerprint comparisons described above with respect to fingerprint cache searches are used to compare the fingerprint footprints in the fingerprint database. However, it should be noted that the fingerprint database is expected to be substantially larger than the footprint cache. In fact, a media object database containing only song fingerprint impressions can be expected to easily have millions of entries if the available spectrum of the music is to be fully represented being fluid or transmitted throughout the world. Consequently, the methods to accelerate the search trend of database to be substantially more important than the acceleration of the search of cache of footprint. With respect to this, the search for popularity or frequency of occurrence trend provides a significant increase in performance, and it is substantially more likely that a very popular song will be fluent in one or more stream of medium than other archaic songs with an unknown artist. Measuring the frequency of occurrence is an easily performed task. In particular, a simple method is to simply count the number of times that a particular media object is identified in different streams at different times through some period (by counting the strokes of footprint cache and database matching) . For search purposes, the entries in the fingerprint database can then be sorted for the purpose of occurrence frequency. Furthermore, as noted above, there are a number of conventional techniques for accelerating database searches to match signals or fingerprints, any of which are applicable for use with the media detector described herein. 3. 1.5 Local Database Searches In one mode, the server load is also reduced by automatically updating some small part or subgroup of the total fingerprint database (and also some possible part of the fingerprint cache) to one or more from local customers. Typically, the fingerprints and / or fingerprints that are charged to the individual clients must be those that are most frequently observed (i.e., those fingerprints / fingerprints corresponding to the most popular media objects). In this mode, rather than immediately sending each calculated footprint to the server, each client that has a subgroup of the fingerprint database and / or the footprint cache (that is, a "subgroup of local footprint") will first consult to the local fingerprint subgroup before sending any calculated footprint to the server for identification purposes. If any calculated fingerprint matches any of the fingerprints in the local footprint subgroup, then any identification information associated with the fingerprint in the local fingerprint subgroup is assigned to the fingerprint calculated, and the footprint calculated afterwards is not sent to the footprint. server. In this way, at least one media identification load can be downloaded from the server to one or more of the local clients. It should be noted that fingerprints in the local fingerprint subgroup may contain many more fingerprints per song than those in the full server database, since the number of currently popular media objects, such as songs, is relatively small compared with the full population of media objects. This has the added advantage of also reducing the number of fingerprints sent to the server, since as soon as a match is made, the media object that is currently being used can be logically checked against the local storage of fingerprints for that object. media as much as the media object reproduces it. For example, if a fingerprint was calculated every 5 seconds for a song, the client would not have to send any of the tracks to the server while finding the expected match every 5 seconds. In another embodiment, the client simply stops sending traces to the server as soon as a positive match is identified, to give duration of the reminder of the identified media object, such as song S. This duration information can be sent to the customer as from server, along with other identification information, when a positive match is found. While this is a simple method to lighten the load on the server / cache system, it can result in a false negative (that is, a media object that should have been identified, but was not) if the user, for example , change the media streams before the end of the song S identified above. However, this can be prevented by simply keeping track of when the client keeps changing streams, and then immediately starts sending traces to the server again (after a first check against the local fingerprint subgroup, if one exists), at any time that a change of current occurs. 3. 1.6 Identification of Media Object As noted above, the identification of media objects is made by matching a fingerprint calculated by a local client with a fingerprint, or fingerprint, held by the server (except in the case of searching the subgroup). of local footprint, as described above). At any time that the server identifies a match to a fingerprint footprint having associated media object identification information, as described above, then that media object information is immediately returned from the server to the particular customer who sent the particular match footprint to the server. Once the media object identification information has been received by the client, then the client can make any use of that information if desired. For example, in the simplest case, the client can simply present the media object information in real time to inform the user that the media object is currently being reproduced in the media stream. Other uses of the media object identification information is to interpret local playlists that provide a local history record of the media objects identified in any of the streams verified by each individual customer. 3. 2 Media Identifier Operation The processes described above with respect to Figure 2 and Figure 3 are illustrated by the general operational flow diagram of Figure 4. In general, Figure 4 illustrates an illustrative operational flow chart showing different Operational Modes of the Media Identifier. It should be noted that any of the frames and interconnections between frames that are represented by broken or dotted lines in Figure 4 represent alternate modes of the Media Identifier described here, and that any or all of these alternate modes, as described below, they can be used in combination with other alternative modalities that are described through this document. In addition, it should be noted that in the subsequent discussion, the system is generally described with respect to an individual client that operates with an individual server. However, in view of the preceding discussion, it should be clear that the media identifier described here is fully capable of operating with an extremely large number of clients and any desired number of servers. In particular, as illustrated by Figure 4, the operation of the Media Identifier begins when the client 200 captures 405 a stream of means 210. The capture of media stream is performed using conventional methods, including, for example, simply changing to a radio or television transmission, or subscribe to a streaming media transmission or simultaneous transmission through a network such as the Internet. Such a media stream 210 is captured 405, the client regenerates real-time fingerprints 410 for samples of the media stream. These real-time media traces are then transmitted 415 to the server 230 using conventional network transmission protocols. The calculation and transmission of the media fingerprints continues while the media stream is being received, for as long as the customer wishes to have identification information for the media objects fixed in the media stream. However, as noted above, in one embodiment, the client will temporarily suspend the calculation and transmission of traces to the server following the receipt of information identifying the server's media object. For example, as noted above, the fingerprints calculated for the fingerprint database are calculated from the known positions within the known media objects. Consequently, the remaining length of those media objects will be known relative to the calculated footprint (less than the delay time of sending the footprint to the server and receipt of the return media object identification of the server). Thus, with this modality, while this duration information is provided with the media object identification information, there will be no need for the client to either calculate or send any additional traces to the server until after the expected point of the media object currently reproduced, however, in the event that the client begins to capture current from different media (such as when changing radio stations, for example) then the calculation of footprint and transmission will be immediately summarized. It should be clear that this mode can substantially reduce the server load by dramatically reducing the number of traces sent to the server by following a successful media object identification returned to the client. Once the server 230 receives 420 traces transmitted from the server 200, the server immediately checks 425 the footprint cache 240 to determine 430 whether there is a matching footprint in the cache memory. If there is a match footprint in the footprint cache, then the cache footprint in the cache is examined 435 to determine if it is associated with a positive database hit. If the match footprint is associated with a positive database hit, then the media identification information associated with the match footprint is immediately transmitted 460 back to the client 200. Conversely, in the case that the cache memory If fingerprint 240 does not contain a match fingerprint, the next step is to check 440 fingerprint database 250 in an attempt to locate a matching fingerprint. If there is a database match 445, then the footprint is stored 450 to the fingerprint cache 240, and the media identification information associated with the fingerprint is immediately transmitted 460 back to the client 200. In the case that there is no database matching 445, then the fingerprint is again stored 450 to the fingerprint cache 240 as a negative hit. In either case, whether a match 430 has been found in the footprint cache 240, or not, a match 445 located in the database, or not, and any associated media object identification information transmitted 460 to the client, then the server simply waits for the next fingerprint to be sent from the client by comparison to the fingerprints and / or fingerprints in the fingerprint cache 240 and / or the fingerprint database 250, respectively. In addition, as noted above, the footprint cache 240 is handled 455 on an ongoing basis to remove footprint entries whose life time has expired. Once the client 200 receives any media object identification information, that information is processed 465 by the customer and provided to the user as desired. For example, in one embodiment, the media object identification information is used to provide a current media object identity display to the user while the media stream is received and reproduced. Alternatively, the media object identification information may be used for other purposes, including, but not limited to, playlist generation, media stream characterization, static analysis of media stream, etc. Finally, in another embodiment, a subset of the fingerprint database 250 (and / or the fingerprint cache 240) is downloaded 470 by the client 200 from the server 230 to act as a local fingerprint database . As noted above, this subgroup may also contain additional fingerprints that the same server does not use for searching, in order to increase coverage, as described above (for example, the client may check several fingerprints per song). In particular, for additional fingerprints of relatively more popular media objects (or more frequently observed) are calculated for each media object by the server and included in the subset of fingerprints downloaded to the clients to further reduce server calls. As described above, this local database is then searched for 475 by the client before transmitting any fingerprint to server 230. In the event that a fingerprint match is located in this local database search, then the corresponding footprint it is not sent to server 230 to process as described above. The above description and the Media Identifier have been presented for the purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise form described. Many modifications and variations are possible in view of the previous teaching. In addition, it should be noted that any or all of the aforementioned alternative modes can be used in any desired combination to form additional hybrid modes of the Media Identifier. It is intended that the scope of the invention not be limited by this detailed description, but more than that by the appended claims to this.

Claims (27)

1. - A method for providing identification of media objects fixed in media transmission streams verified by client for each of the plurality of client computers, comprising using a computing device: for each of the plurality of client computers, transmitting media stream footprints generated by client to a server computer on an ongoing basis; for each transmitted media stream footprint received by the server, use the server to search a footprint cache for a footprint matching the media current footprint; if the fingerprint cache includes a matching fingerprint, transmit any media object identification information associated with that fingerprint of the server to the corresponding client; If the footprint cache does not include a match footprint, search for a fingerprint database to determine if any of the matching fingerprints exist for the media stream footprint and store the media stream footprint transmitted to the footprint. footprint cache along with database search results; and if the fingerprint database includes a matching fingerprint, transmitting the media object identification information associated with the server fingerprint to the corresponding client.
2. The method according to claim 1, wherein the footprints of means generated per client are calculated and transmitted by each client in the order of approximately six times a second of samples of the media transmission stream in the order of approximately six seconds in duration.
3. - The method according to claim 1, wherein each footprint in the footprint cache includes a predetermined life time, and wherein any fingerprint having an expired life time is removed from the footprint cache along with any associated media object identification information.
4. - The method according to claim 3, wherein the predetermined life time is larger for fingerprints having associated media object identification information than fingerprints that do not have associated media object identification information.
5. - The method according to claim 3, wherein the time remaining in the predetermined life time for a footprint in the footprint cache is reset to the predetermined life time when the footprint in the footprint cache matches a footprint of media stream.
6. - The method according to claim 3, wherein the footprint cache footprints that are frequently matched to the media current traces are persistently maintained in the footprint cache regardless of the predetermined life time.
7. The method according to claim 1, wherein each fingerprint cache fingerprint is removed from a fingerprint cache along with any associated media object identification information after failing to match any of the fingerprint caches. the current traces of media transmitted during a predetermined period of time.
8. The method according to claim 1, wherein the footprint cache has a fixed size, and wherein an older footprint in the footprint cache is removed from the footprint cache along with any other footprint information. associated media object identification at any time that a transmitted media stream footprint is stored to the footprint cache.
9. - The method according to claim 1, further comprising loading a subset of one or more fingerprints of the fingerprint database and zero or more footprint cache fingerprints and any object identification information of media associated with the loaded fingerprints and fingerprints of the server to one or more client computers.
10. - The method according to claim 9, where the fingerprints sent to the client, even if they are stored on the server, are not used by the server itself for footprint matching.
11. - The method according to claim 9, wherein the subgroup of fingerprints and fingerprints in each client is searched for a match to each media stream footprint generated by the corresponding customer before transmitting the media stream footprints. generated by client to the server computer, and where the media stream prints generated by the client are not sent to the server computer if those media stream prints generated by the client match any of the fingerprint and fingerprint entries in the subgroup.
12. - The method according to claim 1, wherein the media object identification information transmitted to each corresponding client includes a remaining duration of a current current media object set in the media transmission stream verified by client , and wherein any client receiving such information temporarily suspends the transmission of media stream footprints generated by client to the server for the remaining duration of the media object currently flowing.
13. The method according to claim 12, wherein the transmission of current traces of media generated per client to the server is summarized as soon as the system detects that the user has switched to a different stream.
14. A system for providing identification of media objects fixed in media transmission streams for each of the plurality of clients, comprising: verifying any of the plurality of media stream transmissions in each of the plurality of computers of customer; generate real-time fingerprints of samples of verified media stream transmissions on each of the client computers; transmit each real-time fingerprint of each client computer to a bank of one or more server computers; for each real-time fingerprint received by the server bank, use the server bank to search a server-based fingerprint cache for a match to the real-time fingerprint, and transmit any media object identification information associated with a fingerprint cache matching footprint to the corresponding customer; if the footprint cache does not include a real-time footprint match, use the server bank to search a server-based fingerprint database for a fingerprint match to the real time footprint, transmit any information media object identification associated with a matching fingerprint of the fingerprint database to the corresponding customer, and storing the real time footprint to the fingerprint cache together with the results of the database search.
15. The system according to claim 14, wherein each footprint in the footprint cache includes a predetermined life time, and wherein any footprint having an expired life time is removed from the footprint cache together. with any associated media object identification information.
16. - The system according to claim 15, wherein the predetermined lifetime is greater for footprints that have associated media object identification information than for footprints that do not have associated media object identification information.
17. - The system according to claim 15, wherein the time remaining in the predetermined life time for a footprint in the fingerprint cache is preset when the footprint in the footprint cache matches a footprint of the fingerprint cache. media.
18. - The system according to claim 15, wherein the footprint cache footprints that are frequently matched with media stream footprints are persistently maintained in the footprint cache regardless of the predetermined life time.
19. - The system according to claim 14, wherein each fingerprint cache footprint is removed from the fingerprint cache along with any associated media object identification information after failing to match any of the fingerprint caches. media stream traces transmitted for a predetermined period of time.
20. The system according to claim 14, wherein the media object identification information transmitted to each corresponding client includes a remaining duration of a current media object currently set in the media transmission stream verified by each corresponding client, and wherein each client receiving such information temporarily suspends transmitting real time fingerprints to the server bank for the remaining duration of the current current media object.
21. A computer readable medium having computer executable instructions for providing media object identification to a plurality of client computers, said computer executable instructions comprising: using a plurality of client computers to generate real time footprints sequencing for samples of captured media streams being verified by each client; transmit the generated fingerprints to a server computer; and for each footprint transmitted, use the server computer to: find a footprint cache accessible by the server computer to determine if the footprint cache includes a match footprint, in the case that the fingerprint cache memory includes a matching fingerprint, determining whether the fingerprint of match includes any associated media object identification information, and if so, transmitting that endpoint identification of media from the server to the corresponding customer , in the event that the footprint cache does not include a match footprint, search for a fingerprint database to determine if any of the match fingerprints exist and store the footprint transmitted to the footprint cache along with the fingerprint caches. results of the database search, and in the case that the fingerprint database includes a concordance fingerprint, transmit identification information of the media object associated with the server's fingerprint to the corresponding client.
22. The computer readable medium according to claim 21, wherein each footprint in the footprint cache includes a predetermined life time, and wherein any fingerprint having an expired life time is removed from the cache memory. of footprint along with any associated media object identification information.
23. The computer readable medium according to claim 22, wherein the predetermined life time for a footprint in the footprint cache is re-established when the footprint in the fingerprint cache matches a footprint of media stream. .
24. The computer-readable medium according to claim 22, wherein the fingerprint cache footprints that are frequently matched with transmitted fingerprints are persistently maintained in the fingerprint cache regardless of the predetermined life time.
25. The computer readable medium according to claim 21, wherein each fingerprint cache footprint is removed from the footprint cache along with any associated media object identification information after failing to match any of the traces transmitted during a predetermined period of time.
26. - The computer readable medium according to claim 27, wherein the footprint cache has a fixed size, and wherein an older footprint in the footprint cache is removed from the footprint cache along with any associated media object identification information at any time that a transmitted fingerprint is stored in the fingerprint cache.
27. - The computer readable medium according to claim 21, wherein the media object identification information transmitted to each corresponding client includes a remaining duration of a current current media object set in the captured captured media stream. for each client, and where each client receiving such information temporarily suspends the transmission of footprint to the server computer for the remaining duration of the current current media object.
MXPA05010665A 2004-11-02 2005-10-03 System and method for speeding up database lookups for multiple synchronized data streams. MXPA05010665A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/980,684 US7574451B2 (en) 2004-11-02 2004-11-02 System and method for speeding up database lookups for multiple synchronized data streams

Publications (1)

Publication Number Publication Date
MXPA05010665A true MXPA05010665A (en) 2006-05-04

Family

ID=35810153

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA05010665A MXPA05010665A (en) 2004-11-02 2005-10-03 System and method for speeding up database lookups for multiple synchronized data streams.

Country Status (13)

Country Link
US (1) US7574451B2 (en)
EP (1) EP1653381A3 (en)
JP (1) JP5031217B2 (en)
KR (1) KR101143115B1 (en)
CN (1) CN100507911C (en)
AU (1) AU2005209695B2 (en)
BR (1) BRPI0504265A (en)
CA (1) CA2519828C (en)
MX (1) MXPA05010665A (en)
MY (1) MY147083A (en)
RU (1) RU2422891C2 (en)
TW (1) TWI390924B (en)
ZA (1) ZA200507924B (en)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005173938A (en) * 2003-12-10 2005-06-30 Pioneer Electronic Corp Musical piece search device, method and program and information recording media
US7899564B2 (en) * 2004-11-09 2011-03-01 Bang & Olufsen Procedure and apparatus for generating automatic replay of recordings
US7886068B1 (en) * 2005-10-27 2011-02-08 Network Appliance, Inc. Management of streaming media playlists
US8239327B2 (en) * 2005-11-02 2012-08-07 Jump Technologies, Inc. System and method for user logging of audio and video broadcast content
US7872574B2 (en) * 2006-02-01 2011-01-18 Innovation Specialists, Llc Sensory enhancement systems and methods in personal electronic devices
US8495075B2 (en) * 2006-03-08 2013-07-23 Apple Inc. Fuzzy string matching of media meta-data
WO2007127881A2 (en) * 2006-04-26 2007-11-08 Business Controls, Inc. Anonymous reporting system
WO2008042953A1 (en) * 2006-10-03 2008-04-10 Shazam Entertainment, Ltd. Method for high throughput of identification of distributed broadcast content
US7707224B2 (en) 2006-11-03 2010-04-27 Google Inc. Blocking of unlicensed audio content in video files on a video hosting website
EP2080303A4 (en) * 2006-11-03 2013-07-03 Google Inc Content management system
US7945540B2 (en) * 2007-05-04 2011-05-17 Oracle International Corporation Method to create a partition-by time/tuple-based window in an event processing service
EP2162818A1 (en) * 2007-05-25 2010-03-17 Bang & Olufsen A/S System and a method for providing events to a user
CN101855635B (en) * 2007-10-05 2013-02-27 杜比实验室特许公司 Media fingerprints that reliably correspond to media content
ES2326019B1 (en) * 2008-03-26 2010-07-07 Tuylek, S.L. "MULTIFUNCTIONAL EQUIPMENT FOR VITAL DATA MEASURING WITH A CENTRALIZED DATA PROCESSING SYSTEM".
WO2009124002A1 (en) * 2008-03-31 2009-10-08 Dolby Laboratories Licensing Corporation Distributed media fingerprint repositories
CN101610281B (en) * 2008-06-19 2012-11-21 华为技术有限公司 Method and device for storing data fingerprints
US20100023328A1 (en) * 2008-07-28 2010-01-28 Griffin Jr Paul P Audio Recognition System
US8972410B2 (en) * 2008-07-30 2015-03-03 Hewlett-Packard Development Company, L.P. Identifying related objects in a computer database
WO2010022303A1 (en) 2008-08-22 2010-02-25 Dolby Laboratories Licensing Corporation Content identification and quality monitoring
US9390167B2 (en) 2010-07-29 2016-07-12 Soundhound, Inc. System and methods for continuous audio matching
US20100198926A1 (en) * 2009-02-05 2010-08-05 Bang & Olufsen A/S Method and an apparatus for providing more of the same
US9633014B2 (en) 2009-04-08 2017-04-25 Google Inc. Policy based video content syndication
US8738354B2 (en) * 2009-06-19 2014-05-27 Microsoft Corporation Trans-lingual representation of text documents
US20110041154A1 (en) * 2009-08-14 2011-02-17 All Media Guide, Llc Content Recognition and Synchronization on a Television or Consumer Electronics Device
US8677400B2 (en) 2009-09-30 2014-03-18 United Video Properties, Inc. Systems and methods for identifying audio content using an interactive media guidance application
US8161071B2 (en) 2009-09-30 2012-04-17 United Video Properties, Inc. Systems and methods for audio asset storage and management
US8594392B2 (en) * 2009-11-18 2013-11-26 Yahoo! Inc. Media identification system for efficient matching of media items having common content
US8682145B2 (en) 2009-12-04 2014-03-25 Tivo Inc. Recording system based on multimedia content fingerprints
US20110258211A1 (en) * 2010-04-18 2011-10-20 Kalisky Ofer System and method for synchronous matching of media samples with broadcast media streams
CA2798093C (en) * 2010-05-04 2016-09-13 Avery Li-Chun Wang Methods and systems for processing a sample of a media stream
US20120191231A1 (en) * 2010-05-04 2012-07-26 Shazam Entertainment Ltd. Methods and Systems for Identifying Content in Data Stream by a Client Device
CN102959544B (en) * 2010-05-04 2016-06-08 沙扎姆娱乐有限公司 For the method and system of synchronized multimedia
US20120136701A1 (en) * 2010-11-26 2012-05-31 Rohan Relan Method and system for faciliating interactive commercials in real time
US8935300B1 (en) * 2011-01-03 2015-01-13 Intellectual Ventures Fund 79 Llc Methods, devices, and mediums associated with content-searchable media
US8643703B1 (en) 2011-03-30 2014-02-04 Amazon Technologies, Inc. Viewer tracking image display
US9035163B1 (en) 2011-05-10 2015-05-19 Soundbound, Inc. System and method for targeting content based on identified audio and multimedia
KR101578279B1 (en) * 2011-06-10 2015-12-28 샤잠 엔터테인먼트 리미티드 Methods and systems for identifying content in a data stream
KR101828342B1 (en) 2011-08-10 2018-02-12 삼성전자 주식회사 Broadcast signal receiver, method for providing broadcast signal relation information and server
US8560719B2 (en) * 2011-09-14 2013-10-15 Mobitv, Inc. Fragment server directed device fragment caching
KR101873364B1 (en) 2011-09-27 2018-08-03 삼성전자 주식회사 Broadcast signal receiver and method for providing broadcast signal relation information
US9852135B1 (en) * 2011-11-29 2017-12-26 Amazon Technologies, Inc. Context-aware caching
US9223902B1 (en) 2011-11-29 2015-12-29 Amazon Technologies, Inc. Architectures for content identification
US9292894B2 (en) * 2012-03-14 2016-03-22 Digimarc Corporation Content recognition and synchronization using local caching
KR101404596B1 (en) * 2012-05-03 2014-06-11 (주)엔써즈 System and method for providing video service based on image data
KR101396413B1 (en) * 2012-05-07 2014-05-19 주식회사 마크애니 Information providing system and method using digital fingerprinting
US8843952B2 (en) 2012-06-28 2014-09-23 Google Inc. Determining TV program information based on analysis of audio fingerprints
US9113203B2 (en) 2012-06-28 2015-08-18 Google Inc. Generating a sequence of audio fingerprints at a set top box
EP2868109B1 (en) * 2012-06-28 2016-08-17 Google, Inc. Generating a sequence of audio fingerprints at a set top box
CN102880973A (en) * 2012-09-05 2013-01-16 常州嘴馋了信息科技有限公司 Webpage advertisement playing management system
US9661361B2 (en) 2012-09-19 2017-05-23 Google Inc. Systems and methods for live media content matching
GB2506897A (en) * 2012-10-11 2014-04-16 Imagination Tech Ltd Obtaining stored music track information for a music track playing on a radio broadcast signal
EP2750055A1 (en) * 2012-12-27 2014-07-02 Magix AG System and method for content recognition in portable devices
US20140188592A1 (en) * 2012-12-27 2014-07-03 Magix Ag Content recognition based evaluation system in a mobile environment
US9792350B2 (en) 2013-01-10 2017-10-17 International Business Machines Corporation Real-time classification of data into data compression domains
US9564918B2 (en) 2013-01-10 2017-02-07 International Business Machines Corporation Real-time reduction of CPU overhead for data compression
US9053121B2 (en) 2013-01-10 2015-06-09 International Business Machines Corporation Real-time identification of data candidates for classification based compression
KR101462113B1 (en) * 2013-01-16 2014-11-17 네이버 주식회사 System, apparatus, method and computer readable recording medium of grouping using the multimedia dna of the brodcasting
US9009103B2 (en) * 2013-03-15 2015-04-14 Microsoft Technology Licensing, Llc Fingerprint-based, intelligent, content pre-fetching
KR101456926B1 (en) * 2013-06-14 2014-10-31 (주)엔써즈 System and method for detecting advertisement based on fingerprint
US9906575B2 (en) * 2013-08-15 2018-02-27 Comcast Cable Communications, Llc Media fling system
US9552205B2 (en) * 2013-09-27 2017-01-24 Intel Corporation Vector indexed memory access plus arithmetic and/or logical operation processors, methods, systems, and instructions
TWI526966B (en) 2013-11-25 2016-03-21 財團法人資訊工業策進會 A data processor and a data processing method
US9749416B2 (en) * 2013-11-26 2017-08-29 International Business Machines Corporation Managing inventory data for a distributed cache provided by a plurality of wireless mobile devices
US20150193199A1 (en) * 2014-01-07 2015-07-09 Qualcomm Incorporated Tracking music in audio stream
US9430474B2 (en) * 2014-01-15 2016-08-30 Microsoft Technology Licensing, Llc Automated multimedia content recognition
KR102166423B1 (en) * 2014-03-05 2020-10-15 삼성전자주식회사 Display device, server and method of controlling the display device
US9710220B2 (en) * 2014-10-24 2017-07-18 Sony Corporation Context-sensitive media classification
KR102217191B1 (en) 2014-11-05 2021-02-18 삼성전자주식회사 Terminal device and information providing method thereof
US9946489B2 (en) 2016-07-27 2018-04-17 Western Digital Technologies, Inc. Multi-stream journaled replay
RU172737U1 (en) * 2017-04-18 2017-07-21 Общество с ограниченной ответственностью "ДЖЕНТ КЛАБ" DEVICE FOR IDENTIFICATION OF MUSIC WORKS
US10972203B2 (en) * 2017-06-12 2021-04-06 Gracenote, Inc. Detecting and responding to rendering of interactive video content
KR102546026B1 (en) 2018-05-21 2023-06-22 삼성전자주식회사 Electronic apparatus and method of obtaining contents recognition information thereof
GB201810202D0 (en) * 2018-06-21 2018-08-08 Magus Communications Ltd Answer machine detection method & apparatus
KR102599951B1 (en) 2018-06-25 2023-11-09 삼성전자주식회사 Electronic apparatus and controlling method thereof
KR20200080387A (en) * 2018-12-18 2020-07-07 삼성전자주식회사 Display apparatus and control method thereof
US11334746B2 (en) * 2019-05-01 2022-05-17 EMC IP Holding Company LLC Facial recognition for multi-stream video using high probability group
CN111966887A (en) * 2019-05-20 2020-11-20 北京沃东天骏信息技术有限公司 Dynamic caching method and device, electronic equipment and storage medium
CN110647077B (en) * 2019-09-26 2020-12-25 珠海格力电器股份有限公司 Control method and system of industrial control device, storage medium and industrial control device
US20210200741A1 (en) * 2019-12-30 2021-07-01 Imperva, Inc. Passive classification of data in a database based on an event log database
CN116825129B (en) * 2023-05-09 2024-02-09 广东保伦电子股份有限公司 Method, equipment and medium for accurately distributing audio stream

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5958008A (en) * 1996-10-15 1999-09-28 Mercury Interactive Corporation Software system and associated methods for scanning and mapping dynamically-generated web documents
US5944815A (en) * 1998-01-12 1999-08-31 Advanced Micro Devices, Inc. Microprocessor configured to execute a prefetch instruction including an access count field defining an expected number of access
US6721740B1 (en) 1998-05-29 2004-04-13 Sun Microsystems, Inc. Method and apparatus of performing active update notification
US7174293B2 (en) * 1999-09-21 2007-02-06 Iceberg Industries Llc Audio identification system and method
US6952737B1 (en) * 2000-03-03 2005-10-04 Intel Corporation Method and apparatus for accessing remote storage in a distributed storage cluster architecture
US6990453B2 (en) * 2000-07-31 2006-01-24 Landmark Digital Services Llc System and methods for recognizing sound and music signals in high noise and distortion
KR20020053979A (en) * 2000-12-26 2002-07-06 오길록 Apparatus and method for contents-based musical data searching
EP1410380B1 (en) * 2001-07-20 2010-04-28 Gracenote, Inc. Automatic identification of sound recordings
US20030028796A1 (en) * 2001-07-31 2003-02-06 Gracenote, Inc. Multiple step identification of recordings
US20030055910A1 (en) * 2001-09-19 2003-03-20 International Business Machines Corporation Method and apparatus to manage data on a satellite data server
US7509393B2 (en) * 2001-12-19 2009-03-24 International Business Machines Corporation Method and system for caching role-specific fragments
US20050144455A1 (en) * 2002-02-06 2005-06-30 Haitsma Jaap A. Fast hash-based multimedia object metadata retrieval
US20040003101A1 (en) * 2002-06-26 2004-01-01 Roth David J. Caching control for streaming media
US7089396B2 (en) 2002-10-10 2006-08-08 International Business Machines Corporation Method and profiling cache for management of virtual memory
KR20050061566A (en) * 2002-10-28 2005-06-22 그레이스노트, 인코포레이티드 Personal audio recording system
KR100468325B1 (en) * 2003-03-28 2005-01-27 주식회사 프리챌 P2p service method
US20040260682A1 (en) * 2003-06-19 2004-12-23 Microsoft Corporation System and method for identifying content and managing information corresponding to objects in a signal

Also Published As

Publication number Publication date
KR101143115B1 (en) 2012-05-08
TW200627884A (en) 2006-08-01
RU2422891C2 (en) 2011-06-27
CA2519828A1 (en) 2006-05-02
AU2005209695B2 (en) 2011-02-10
ZA200507924B (en) 2007-12-27
CA2519828C (en) 2013-06-25
US7574451B2 (en) 2009-08-11
CN100507911C (en) 2009-07-01
EP1653381A2 (en) 2006-05-03
EP1653381A3 (en) 2006-09-13
AU2005209695A1 (en) 2006-05-18
JP2006146883A (en) 2006-06-08
CN1770156A (en) 2006-05-10
MY147083A (en) 2012-10-31
US20060106867A1 (en) 2006-05-18
TWI390924B (en) 2013-03-21
RU2005132924A (en) 2007-04-27
BRPI0504265A (en) 2006-06-27
JP5031217B2 (en) 2012-09-19
KR20060051233A (en) 2006-05-19

Similar Documents

Publication Publication Date Title
MXPA05010665A (en) System and method for speeding up database lookups for multiple synchronized data streams.
US10025841B2 (en) Play list generation method and apparatus
US7877438B2 (en) Method and apparatus for identifying new media content
US20050144455A1 (en) Fast hash-based multimedia object metadata retrieval
US7788696B2 (en) Inferring information about media stream objects
KR100988996B1 (en) A system and method for identifying and segmenting repeating media objects embedded in a stream
CN1759396A (en) Improved data retrieval method and system
US8819408B2 (en) Document processing method and system
US20150254342A1 (en) Video dna (vdna) method and system for multi-dimensional content matching
KR20060123508A (en) Methods and apparatuses for synchronizing and identifying content
CN116319467B (en) Depth synthesis audio detection method and system based on bidirectional flow of IDC machine room
WO2022161291A1 (en) Audio search method and apparatus, computer device, and storage medium
WO2022194277A1 (en) Audio fingerprint processing method and apparatus, and computer device and storage medium
Herley Accurate repeat finding and object skipping using fingerprints
CN114756901B (en) Operational risk monitoring method and device
Liu et al. On real-time detecting duplicate web videos
WO2006112843A1 (en) Distributed acoustic fingerprint based recognition

Legal Events

Date Code Title Description
FG Grant or registration