Method and apparatus to identify a work received by a processing system

Information

  • Patent Grant
  • 8332326
  • Patent Number
    8,332,326
  • Date Filed
    Saturday, February 1, 2003
    21 years ago
  • Date Issued
    Tuesday, December 11, 2012
    11 years ago
Abstract
A method and system for identifying a work in a data transfer. In accordance with this invention, a data transfer is received. The media content of a work is then read from the data transfer. The media content is then used to generate a fingerprint of the work. The fingerprint is then used to identify the work. A report including the identity of the work is then generated.
Description
BACKGROUND

1. Field of the Disclosure


The present disclosure relates to a system for determining an identification of a work from media content in data received by a processing system. More particularly, this invention relates to a system that generates a report of the identities of works received by a processing system.


2. The Prior Art


Data may be transferred between computer or other processing systems in a variety of ways. The data may be transferred by a first processing system writing the data to a media, such as a magnetic disk or compact disc, that may be read by a second processing system. The Internet may also be used to transfer data between computer systems. The data may be transferred via the Internet in a file or as a stream of data. The transferred data may include a work.


For purposes of the present discussion, a work is anything that is fixed in a tangible medium. Some examples of works include, but are not limited to, audio renderings, video renderings, images, video/audio renderings, and software. An example of an audio rendering is a song or other audio track. Examples of video renderings include animation or video sequence. Examples of an image include photographs and paintings. Examples of audio/video renderings include movies, television shows, and cartoons. Examples of software include word processing programs and video games.


Most works have a property right, such as a copyright associated with a work. Thus the owner of the property right is entitled to a royalty or other form of compensation for use of the work. For example, an owner of a song copyright, such as a songwriter, is entitled to a royalty for each copy of the recording produced.


Therefore, there is a need for a method to identify works that are present on computers systems and to generate reports of the works. The reports may be used to verify royalty payments or generate Arbitron®-like ratings by identifying how often works are being streamed, downloaded, or reproduced in another manner. The reports may be used by an organization to ensure that the organization obtain a proper license for a work prior to reproducing, perceiving, or otherwise communicating the work. Alternatively, the reports may be used to verify a bill of materials prior to the replication of a work. Furthermore, the report may be used to alert an agent of an owner of a work that a copy of the work is present on a processing system.


In order to identify works, most files or streams of data including the work include an identifier, such as a watermark, a meta-tag, a header, or other data structure that identifies the work in the data. Often a physical media, such as a Compact Disc (CD) or Digital Video Disc (DVD), that embodies the recording includes identifying marks or metadata stored on the media as well as the recording of the work. In order to avoid detection of a transfer of a work, many users may remove or change these identifiers in the file, a data stream or stored on a media such as a CD or DVD. Therefore, a processing system cannot rely on the presence or accuracy of these identifiers. Thus, a work may be reproduced by a processing system without the permission or knowledge of the owner of a property right in the work. For example, a user may remove a meta-tag from a file containing a song and transfer a file to a second processing system. Since the meta-tag no longer identifies the song in the file, the processing system may reproduce the song without proper identification of the work and/or the permission of an owner and may avoid paying royalty fees to the owner. Therefore, there is a need in the art for a method for identifying a work in a transferred file or data stream from the media content of the file. For purposes of the present discussion media content is the data in a transferred file or stream that is a representation of the work.


SUMMARY

The above and other problems are solved and an advance in the art is made by a method and an apparatus for identifying a work in transferred data in accordance with this invention. This invention is a system that is provided by executing instructions by processing systems in accordance with this invention. The instructions may be executed entirely by one processing system or may be executed by multiple processing systems connected in a server client relationship in accordance with this invention.


In accordance with the present invention, the identification of a work is determined and a report of a presence of the work is provided in the following manner. A processing system executes instructions that receive a fingerprint of a work. The fingerprint is generated from the media content of the work in the transferred data. The fingerprint may be an analytical representation of the works that is a measurement of the work, a collection of characteristics of the work, a synthesis of the work, and/or measurements of the work that forms a representation of the work. The processing system then determines an identity of the work from the fingerprint of the work. The processing system then generates a report that includes the identity of the work.


The fingerprint of the work may be received in a data transfer from a second processing system. In order to save time and transmission over head, the second processing unit may send fingerprints of more than one work at the same time. This occurs when the first and second processing systems are in a client server relationship. Alternatively, the fingerprint may be generated by the processing system that determines the identity. If the fingerprint of the work was received from a second processing system the report may be transmitted to the second processing unit. The second processing unit then stores the report for future use.


The first processing system may also store the report for future use. The first processing system may also transmit the report of the identification to a processing system of a owner of a property right in the work to notify the owner of a transfer of the work.


In one embodiment of this invention, the determination of the identity of a work from the fingerprint of the work is performed in the following manner. The processing system compares the fingerprint to each fingerprint of known works stored in a database of known works. When a match occurs between the fingerprint of the work and a fingerprint of a known work in the database, the identification of the work in the database is returned as the identity of the work.


If the fingerprint of the work does not match a fingerprint in the database of known works, the following process may be performed. The processing unit may compare the fingerprint to fingerprints stored in a database of unknown works. The processing unit then determines if the fingerprint matches any unknown works that have previously been received by the system. If the fingerprint of the work matches one of the fingerprints of unknown works, the processing unit may return a time of first detection of the work in the report and an indication that the work is unknown. If the fingerprint of the work does not match a fingerprint in the database of unknown work, the fingerprint may be stored in the database of unknown works along with a time of first detection and other information about the detection.


When the processing unit doing the identification is a server, a second processing unit or client may perform the following process to provide the fingerprint of the work to the server. The second processing system receives a data transfer including the work. The second processing unit then reads the media content of the work from the data being transferred. The fingerprint is then generated from the media content. The fingerprint is then transmitted to the server.


After the server generates the report including the identification of the work, the client receives the report from the server. The server then may store the report in a memory. The report then may be transmitted from the client or server to a processing system of the owner of a property right or other interested party, such as an agent, in the work. The report may also be provided in a printable format by the client or the server.


In order to generate the fingerprint from the media content of the work, the client may have to convert the format of the media content in the data transfer into a standard format. The conversion may include converting to the standard format from another format such as MP3, WMA, AVI, or Cabinet. The conversion may include separating audio and video data of a work.





BRIEF DESCRIPTION OF THE DRAWING FIGURES

The above described and other features of this invention are described in the following Detailed Description and shown in the following drawings:



FIG. 1 illustrating a connection of processing systems in a network that perform processes for providing this invention;



FIG. 2 illustrating a block diagram of an example of a processing system that may perform any of the processes in accordance with this invention;



FIG. 3 illustrating a flow diagram of an exemplary process executed by a processing unit for receiving a data transfer and generating a fingerprint and receiving a report; and



FIG. 4 illustrating a flow diagram of an exemplary process executed by processing unit to generate a report on the identity of a work;



FIG. 5 illustrating a flow diagram of a exemplary process executed by a processing unit to determine an identity of a work from the fingerprint; and



FIG. 6 illustrating a flow diagram of an exemplary a process executed by a cline to provide a file transfer from a master copy.





DETAILED DESCRIPTION

Persons of ordinary skill in the art will realize that the following description is illustrative only and not in any way limiting. Other modifications and improvements will readily suggest themselves to such skilled persons having the benefit of this disclosure.


This disclosure relates to identifying a work in a data transfer from the media content of the work in the transferred data. Various disclosed aspects may be embodied in applications executed by computers or other processing systems. The applications are instructions stored on a media that is readable by a processing unit. The media may be any type of device that may store machine readable instructions and data.



FIG. 1 illustrates a system 100 having processing systems connected to network 105. For purposes of this discussion, a processing system is any system having a processor, microprocessor or any combination of processors and/or microprocessors to execute instructions stored in a memory to perform applications for handling data. In system 100, computers 150 and 152 are connected to network 105 via paths 151 and 153 to communicate with other processing systems in the network. Server 102 is connected to network 105 and provides various applications to other processing systems. Router 103 is connected to network 105 via path 163 and manages communication over network 105. Gateway server 104 is connected to network 105 via path 164 and connects to the servers via path 140 to provide Internet service, and other connections for use of network 105.



FIG. 2 illustrates a block diagram of an exemplary processing system 200 connected to network 105. Each of the processing systems such as personal computers 150, 152, server 102, router 103, and gateway computer 104 include the basic components of processing system 200. One skilled in the art will recognize that the various processing systems may include other components or other configurations depending on the particular function of the processing system in network 100. However, each of the processing systems may be able to execute the instructions for providing the following processes in accordance with this invention.


Processing system 200 includes a Central Processing Unit (CPU) 200. CPU 200 is a processor, microprocessor, or a group of a combination of processors and/or microprocessors. Each processor and/or microprocessor includes registers and other circuitry for executing instructions stored in a memory to provide applications for processing data. The CPU may also include firmware which is circuitry that stores instructions for various applications.


Memory bus 205 connects CPU 201 to memories for storing executable instructions and data for applications being executed by CPU 201. A non-volatile memory such as Read Only Memory (ROM) 210 may be connected to memory bus 205. ROM 210 stores instructions for drivers and configuration data for processing system 200. A volatile memory, such Random Access Memory (RAM) 215 is also connected to memory bus 205. RAM 215 stores data and instructions for applications being executed by CPU 201. One skilled in the art will recognize that other types of volatile memory SRAM and DRAM may also be connected. One skilled in the art will also recognize that memory caches may also be included in the memories and CPU modules.


Input/Output bus 220 connects CPU 201 to peripheral devices for transmission of data between CPU 201 and the peripheral devices. Examples of peripheral devices that may be connected to I/O bus 220 include memory 225, keyboard 230, pointing device 235, display 240, modem 245, and network connector 250. Those skilled in the art will recognize that these devices are shown for exemplary purposes and any of the devices may not be included in a processing system or other device may be included.


Memory 225 is a device for storing data and instructions for applications on a media. Memory 225 may include a disk drive for reading and writing data to a magnetic media, or an optical device for reading and/or writing data to in an optical format to an optical media such as a compact disc. Keyboard 230 is a device receiving alphanumeric data from a user. Pointing device 235 is a mouse, touch pad or other such device used to receive input for moving an icon or “pointer” across a display. Display 240 is a device that receives data from the processing unit and displays the data on a monitor. Modem 245 is a device that connects to a telephone and converts digital data to analog signals for transmission over the telephone line. Network device 250 is a device that connects system 200 to a network to send and receive data over the network. An example of a network device 250 is an “Ethernet Card” which includes circuitry for connecting to a network.



FIGS. 3-5 illustrate flow diagrams of the steps of processes executed by the processing systems to provide determination of an identification of a work in a data transfer. For purposes of this discussion, a data transfer may be a file read from a media, receiving a file in a file transfer via a network connection, or receiving a stream of data over a network connection.



FIG. 3 illustrates a process 300 executed by a client computer to receive a data transfer including a work. In FIG. 1, client computers may be personal computers 150 and 152 or a server that connects via the gateway server. One skilled in the art will recognize that process 300 may be modified to allow process 300 to be executed by the same processing system that performs the process of identifying the work by modifying process 300. In order to be performed by the same processing system, process 300 may be modified to pass data to the processes described below that are being executed by the same processing system.


Process 300 begins with the client computer receiving a data transfer that includes the media content of a work in step 305. As stated above, the data transfer may be reading a file stored on a media, receiving a file via file transfer over a network, or receiving a stream of data over a network. Furthermore, media content is the data that is a representation of a work and does not include meta-tags, headers or other descriptors that may be used to identify the work.


After, receiving the data transfer, the client reads the media content of the work from the received data in step 310. This may include separating headers, meta-tags, other descriptors, and data management overhead from the media content in the received data. Reading the media content in step 310 may also include extracting the media content from a physical media such as a CD or DVD. After the media content is read, an optional step of converting the media content to a format suitable for generating a fingerprint may be performed in step 315. If the media content is audio data, the format may be PCM samples. If the media content is compressed data or software, the suitable format may be an uncompressed form of the data. The conversion of step 315 is to put the data in the proper format to generate the fingerprint. The conversion of step 315 may also include separating video and audio data of a work. The conversion in step 315 may also include a rendering of MP3 data, a decoding of DDP data, a rendering of WMA real audio, a decoding of B64, or other typical encoding methods are known in the art. The conversion of step 315 may also include the decompression or separation of compressed binary data.


After, the media content of the work is in a suitable format the processing unit then generates the fingerprint of the media content in step 320. One skilled in the art will recognize that there are many algorithms that may be used to generate a fingerprint. Some of these known algorithms use the media content of the work exclusively to generate a fingerprint. Other algorithms may use the media content as well as physical descriptors, such as the descriptors separated in step 310, to generate the fingerprint. An example of a process for generating the fingerprint is the process described in U.S. Pat. No. 5,918,223 that may be used to generate a fingerprint of an audio work which is incorporated by reference into as if set forth in this application. An example of a process for generating a fingerprint of a software work is a Cyclical Redundancy Check that is well known in the art. One skilled in the art will recognize that the exact method for generating the fingerprint may be varied as long as the fingerprint generated is suitable for comparison against the fingerprints of known works.


If process 300 is being performed by a client processing unit, an optional step 325 may be performed in which the fingerprint is compared to fingerprints stored in a local known works database. This database may be populated with fingerprints and metadata of the most frequently copied works or with most previously transferred works or works of a particular interest. Typically, the local database may be significantly smaller than a known works database on a server. This local database may be used to speed up identification and reduce traffic to the server.


If optional step 325 is performed, the processing system determines whether the fingerprint of the work matches a fingerprint in the local database in step 330. If the fingerprint matches one of the fingerprints in the local database, the processing system obtains the identification information in step 332 and generates a report from the obtained information in step 334. The report includes the identification or title of the work and the time that the identification is performed. The report may also include the owner of the work, a list of attributes of the work, or any other information about the work stored in the database. The report is then stored in a memory connected to the processing system for future use in step 350.


If the fingerprint of the work does not match a fingerprint in the local database or after step 320 if optional step 325 is not performed, the processing system transmits the fingerprint of the work to an ID server, or second processing unit, in step 335. In order to reduce transmissions, save time or other reasons, the processing system may transmit the fingerprints of more than one works in a request. The transmission is typically in standard TCP/IP format over the Internet or a local network where there is connection of between the processing systems.


In step 340, the processing system then waits to receive a report back from the ID server. When the report is received, optional step 345 may be performed in which the fingerprint of the work and the identity of the work are stored in the local known works database for future comparisons. The report is then stored in step 350.


In step 355, the stored report may then be used to generate a printable report of all works received by the processing unit. This report may then be used as an anti-piracy report or an inventory report for confirmation of a bill of materials. Alternatively, an HTML version of the report may be generated. This allows the report to viewed using a commonly available web browser. In another alternative, the processing system may transmit the report to a processing system maintained by an owner of a property right in the work for billing or other uses. Alternatively, the report may be transmitted to processing systems of other interested parties, such as agents.



FIG. 6 illustrates a second exemplary embodiment a process 600 executed by a client processing system that copies multiple works to one or more storage media or in some other way distributes the works. Process 600 begins in step 605 by receiving a master copy of works to transfer. For purposes of this discussion, a master copy is collection of data that includes media content of one or more one or more works that is to be copied or in some other manner transmitted to another system. As stated above, the data transfer may be reading a file stored on a media, receiving a file via file transfer over a network, or receiving a stream of data over a network. Furthermore, media content is the data that is a representation of a work and does not include meta-tags, headers or other descriptors that may be used to identify the work.


In step 610, process 600 determines if there are any remaining works in the data of the master copy. If there is media content for at least one work remaining in the master copy, process 600 reads the media content of a work from the master copy in step 615. This may include separating headers, meta-tags, other descriptors, and data management overhead from the media content in the received data. Reading the media content of a work in step 615 may also include extracting the media content from a physical media such as a CD or DVD.


After the media content is read, an optional step of converting the media content to a format suitable for generating a fingerprint may be performed in step 620. If the media content is audio data, the format may be PCM samples. If the media content is compressed data or software, the suitable format may be an uncompressed form of the data. The conversion of step 620 is to put the data in the proper format to generate the fingerprint. The conversion of step 620 may also include separating video and audio data of a work. The conversion in step 620 may also include a rendering of MP3 data, a decoding of DDP data, a rendering of WMA real audio, a decoding of B64, or other typical decoding or decrypting methods are known in the art. The conversion of step 620 may also include the decompression or separation of compressed binary data.


After, the media content of the read work is in the suitable format the processing unit then generates the fingerprint of the media content in step 622. One skilled in the art will recognize that there are many algorithms that may be used to generate a fingerprint. Some of these known algorithms use the media content of the work exclusively to generate a fingerprint. Other algorithms may use the media content as well as physical descriptors, such as the descriptors separated in step 310, to generate the fingerprint. An example of a process for generating the fingerprint is the process described in U.S. Pat. No. 5,918,223 that may be used to generate a fingerprint of an audio work which is incorporated by reference into as if set forth in this application. An example of a process for generating a fingerprint of a software work is a Cyclical Redundancy Check that is well known in the art. One skilled in the art will recognize that the exact method for generating the fingerprint may be varied as long as the fingerprint generated is suitable for comparison against the fingerprints of known works.


An optional step 625 may be performed in which the fingerprint of the read work is compared to fingerprints stored in a local database of known works. This database may be populated with fingerprints and metadata of the most frequently copied works or with most previously transferred works or works of a particular interest. Typically, the local database may be significantly smaller than a known works database on a server. This local database may be used to speed up identification and reduce traffic to the server.


If optional step 625 is performed, the processing system determines whether the fingerprint of the read work matches a fingerprint in the local database in step 630. If the fingerprint matches one of the fingerprints in the local database, the processing system obtains the identification information of the matching fingerprint in step 632 in and ads the identification information to a report in step 634. The report includes the identification or title of the work and the time that the identification is performed. The report may also include the owner of the work, a list of attributes of the work, or any other information about the work stored in the database. Process 600 then returns to step 610 to perform another iteration.


If the fingerprint of the read work does not match a fingerprint in the local database in step 630 or after step 622 if optional step 625 is not performed, the processing system adds the fingerprint of the read work to request to be transmitted to an ID server, or second processing unit, in step 635. Process 600 then returns to step 610 to perform another iteration.


When process 600 determines that there are no remaining works to process, process 600 transmits the request that includes the fingerprints of the works to be identified in step 640. The request is transmitted to an ID sever or second processing system. The transmission is typically in standard TCP/IP format over the Internet or a local network where there is connection of between the processing systems.


In step 645, the processing system then waits to receive a report back from the ID server. When the report is received, optional step 645 may be performed in which the fingerprints and identities of the identified works are stored in the local known works database for future comparisons. The report is then stored in step 655. A viewable format of the report may then be generated in step 660. This may be a text file that is accessible by a word processing application or a file readable by a standard web browser.


Optional step 665 may also be performed in which data from the report is read. The read data is then compared to a criteria in step 670. This may include the owners or works, identities of work, or other data about works that are in the report. If the criteria is met by the data from the report, process 600 proceeds with the file transfer in step 675 and process 600 ends. Otherwise, process 600 terminates the transfer because the criteria was not met in step 680 and process 600 ends.



FIG. 4 illustrates a process 400 for generating a report about the identity of a work by an identification server. Process 400 may also be modified to be executed by the same processing unit that is executing process 300 depending on configuration of a system.


Process 400 begins in step 405 by receiving a request for a report of the identification of a work. The request includes a fingerprint of the work that is generated from the media content of the work. In order to minimize transmission and time, a request may include fingerprints of more than one work. In which case, the remaining steps of process 300 may be executed on each fingerprint in the request. Process 300 describes the generation of this fingerprint in the above description.


In step 410, process 400 determines the identity of the work based upon the received fingerprint. A description of a preferred method of determining the identity is described below and shown in FIG. 5.


In step 415, process 400 generates a report that includes the name of the work. The report may also include the time that the identification is requested, number of times the work is identified or any other relevant data that one skilled in the art determines necessary. The report is then stored in a memory that is connected to the processing system executing process 400 in step 420. The report may then be used to generate statistics and reports about the transfers of the work between processing systems.


In step 425, process 400 transmits the generated report to the processing system or client, requesting the identification. Optionally, process 400 may then transmit the report to a processing system maintained by an owner of a property right in the work or other interested party in step 430. The processing system may be determined from a record showing an IP or other address of the owner and may be sent as an E-mail or other type of transmission. The report may also be combined with other reports and sent to the owner as a batch of data periodically. The exact manner of the transmission is left to designer of the system knowing the requirements of various users of the system. After step 425 or step 430, process 400 ends.


Process 500 illustrates a preferred process for identifying a work from a fingerprint generated from the media content of the work that is performed in step 410 of FIG. 4. One skilled in the art will recognize that other method including statistical analysis of the fingerprint, may be interchangeable with process 500.


Process 500 begins in step 505 by comparing the fingerprint of the work to fingerprints of known works that are stored in a known works database. The known works database is a database that is maintained by the processing system that includes the fingerprints of all works that have an identity that is known. This database may be populated in many ways. For example, the database may be populated from the media content of works that are provided by owners of a property right in works. For example, a media company may provide the works including the identities and associated identification information. In a second example, a software publisher may provide the works including identities and associated identification information for software applications. In a third example, an image library, such as a stock photography company, may provide the works including identities and associated identification information for images. Fingerprints of the works are then generated and stored in a record of the work along with the identity of the work and other associated information. The exact populating and maintaining of the database is left to a designer of the system that will know the exact requirements needed by users of the system which will be obvious to anyone skilled in the art designing such a database.


In step 510, process 500 determines whether the received fingerprint matches one of the fingerprints in the database of known works. If the received fingerprint matches one of the fingerprints in the database of known works, process 500 retrieves the associated identifying information for each of the matching fingerprints from the database in step 515 and adds the identifying information to the results of the matching. The results are then returned in step 520. Process 500 then returns to step 410 of process 400 or step 330 of process 300.


If there is no match for the fingerprint in the database of known works, process 500 may return an unknown work message. Alternatively, process 500 may compare the fingerprint to fingerprints stored in a database of unknown works in step 530. The database of unknown works is a database maintained by the processing system that stores a record of all fingerprints encountered that did not match a fingerprint in the database of known works. The record for each fingerprint in this database may include a time the fingerprint is encountered, a number of times the fingerprint is encountered, a geographic or network location of the system requesting identification, other information that one skilled in the art may desire to track encounters of unidentified works.


Process 500 then determines whether the received fingerprint matched one of the fingerprints in the database of unknown works in step 535. If the received fingerprint matches one of the fingerprints in the unknown works database, process 500 retrieves the time of first encounter, number of encounters, and/or other metadata information in step 540. The time of first encounter, number of encounters and/or metadata information is then added to the result in step 545. The result is then returned in step 550. The number of encounters then may be incremented or updated in step 560 and then process 500 returns to step 410 of process 400 or step 330 of process 300.


If the received fingerprint does not match a fingerprint in the database of unknown works in step 535, an “unknown work” message is returned in step 580. Additionally, the received fingerprint may be added to the database of unknown works in step 585. The added record for the received fingerprint will include a time of the request as time of first encounter and any other information about the encounter that one skilled in the art may want to store. After step 585, process 500 ends.


While embodiments and applications have been shown and described, it would be apparent to those skilled in the art that many more modifications and improvements than mentioned above are possible without departing from the inventive concepts herein. The disclosure, therefore, is not to be restricted except in the spirit of the appended claims.

Claims
  • 1. A computer readable storage medium that provides instructions, which when executed by a first processing unit, cause the first processing unit to: receive a fingerprint of a work from a second processing unit, the fingerprint being generated from perceptual features of media content of said work without using metadata describing said work;determine that said fingerprint does not match any of a plurality of fingerprints in a database of known works coupled to the first processing unit;determine, by the first processing unit, that the fingerprint matches one of a plurality of fingerprints in a database of unknown works, the database of unknown works comprising record data for fingerprints encountered that did not match a fingerprint in the database of known works; andsend, by the first processing unit, record data from the database of unknown works for the fingerprint to the second processing unit.
  • 2. The computer readable storage medium of claim 1, wherein said instructions cause the first processing unit to receive said fingerprint of said work by: receiving a request from the second processing system, wherein the request includes a plurality of fingerprints wherein said fingerprint is a one of said plurality of fingerprints.
  • 3. The computer readable storage medium of claim 2, wherein said instructions further cause the first processing unit to: send a message indicating that the fingerprint is an unknown work.
  • 4. The computer readable storage medium of claim 1, wherein the record data in the database of unknown works comprises at least one of a time the fingerprint is encountered, a number of times the fingerprint is encountered, a geographic location of a system requesting an identification of the fingerprint, and a network location of a system requesting an identification of the fingerprint.
  • 5. The computer readable storage medium of claim 1, wherein said instructions cause the first processing unit to send data by: providing a time of a first detection of said fingerprint.
  • 6. The computer readable storage medium of claim 1, wherein said instructions cause the first processing unit to send data by: providing a location of a first detection of said fingerprint.
  • 7. The computer readable storage medium of claim 1, wherein said instructions further cause the first processing unit to: storing said fingerprint in said database of unknown works.
  • 8. A method to determine an identification of replicated media content, implemented by a first processing system the method, comprising: receiving a fingerprint of a work from a second processing system, the fingerprint being generated from perceptual features of media content of said work without using metadata describing said work;determining that said fingerprint does not match any of a plurality of fingerprints in a database of known works maintained by the first processing system;determining that the fingerprint matches one of a plurality of fingerprints in a database of unknown works, the database of unknown works comprising record data for fingerprints encountered that did not match a fingerprint in the database of known works; andsending record data from the database of unknown works for the fingerprint to the second processing system.
  • 9. The method of claim 8 wherein receiving said fingerprint of said work further comprises: receiving a request from the second processing system by said first processing system wherein said request includes a plurality of fingerprints wherein said fingerprint is a one of said plurality of fingerprints.
  • 10. The method of claim 9, wherein sending data from the database of unknown works comprises: send a message indicating that the fingerprint is an unknown work.
  • 11. The method of claim 8, wherein the data in the database of unknown works comprises at least one of a time the fingerprint is encountered, a number of times the fingerprint is encountered, a geographic location of a system requesting an identification of the fingerprint, and a network location of a system requesting an identification of the fingerprint.
  • 12. The method of claim 8 wherein sending data comprises: providing a time of a first detection of said fingerprint.
  • 13. The method of claim 8 wherein sending data comprises: providing a location of a first detection of said fingerprint.
  • 14. The method of claim 8, further comprising: storing said fingerprint in said database of unknown works maintained by said first processing system.
  • 15. A system comprising: a processing device; anda memory coupled to the processing device to provide instructions, which when executed by the processing device, cause the processing device todetermine that a fingerprint of a work received from a second system does not match any of a plurality of fingerprints in a database of known works maintained by the system, the fingerprint being generated from perceptual features of media content of said work without using metadata describing said work;determine that the fingerprint matches one of a plurality fingerprints in a database of unknown works, the database of unknown works comprising data for fingerprints encountered that did not match a fingerprint in the database of known works andsend record data from the database of unknown works for the fingerprint to the second processing device.
  • 16. The system of claim 15 wherein the processing device is further to: store said fingerprint in said database of unknown works.
  • 17. The system of claim 15 wherein the data in the database of unknown works comprises at least one of a time the fingerprint is encountered, a number of times the fingerprint is encountered, a geographic location of a system requesting an identification of the fingerprint, and a network location of a system requesting an identification of the fingerprint.
  • 18. The system of claim 15 wherein the first processing device is to send data to the second processing device by: providing a time of a first detection of said fingerprint.
  • 19. The system of claim 15 wherein the first processing device is to send data to the second processing device by: providing a location of a first detection of said fingerprint.
US Referenced Citations (183)
Number Name Date Kind
3919479 Moon et al. Nov 1975 A
4230990 Lert, Jr. et al. Oct 1980 A
4449249 Price May 1984 A
4450531 Kenyon et al. May 1984 A
4454594 Hefron et al. Jun 1984 A
4677455 Okajima Jun 1987 A
4677466 Lert, Jr. et al. Jun 1987 A
4739398 Thomas et al. Apr 1988 A
4843562 Kenyon et al. Jun 1989 A
4918730 Schulze Apr 1990 A
5210820 Kenyon May 1993 A
5247688 Ishigami Sep 1993 A
5283819 Glick et al. Feb 1994 A
5327521 Savic et al. Jul 1994 A
5437050 Lamb et al. Jul 1995 A
5442645 Ugon et al. Aug 1995 A
5504518 Ellis et al. Apr 1996 A
5581658 O'Hagan et al. Dec 1996 A
5588119 Vincent Dec 1996 A
5612729 Ellis et al. Mar 1997 A
5612974 Astrachan Mar 1997 A
5613004 Cooperman et al. Mar 1997 A
5638443 Stefik Jun 1997 A
5692213 Goldberg et al. Nov 1997 A
5701452 Siefert Dec 1997 A
5710916 Barbara et al. Jan 1998 A
5724605 Wissner Mar 1998 A
5732193 Aberson Mar 1998 A
5850388 Anderson et al. Dec 1998 A
5881182 Fiete et al. Mar 1999 A
5918223 Blum et al. Jun 1999 A
5924071 Morgan et al. Jul 1999 A
5930369 Cox et al. Jul 1999 A
5943422 Van Wie et al. Aug 1999 A
5949885 Leighton Sep 1999 A
5959659 Dokic Sep 1999 A
5983176 Hoffert et al. Nov 1999 A
6006183 Lai et al. Dec 1999 A
6006256 Zdepski et al. Dec 1999 A
6011758 Dockes et al. Jan 2000 A
6026439 Chowdhury et al. Feb 2000 A
6044402 Jacobson et al. Mar 2000 A
6067369 Kamei May 2000 A
6088455 Logan et al. Jul 2000 A
6092040 Voran Jul 2000 A
6096961 Bruti et al. Aug 2000 A
6118450 Proehl et al. Sep 2000 A
6192340 Abecassis Feb 2001 B1
6195693 Berry et al. Feb 2001 B1
6229922 Sasakawa et al. May 2001 B1
6243615 Neway et al. Jun 2001 B1
6243725 Hempleman et al. Jun 2001 B1
6253193 Ginter et al. Jun 2001 B1
6253337 Maloney et al. Jun 2001 B1
6279010 Anderson Aug 2001 B1
6279124 Brouwer et al. Aug 2001 B1
6285596 Miura et al. Sep 2001 B1
6330593 Roberts et al. Dec 2001 B1
6345256 Milsted et al. Feb 2002 B1
6374260 Hoffert et al. Apr 2002 B1
6385596 Wiser et al. May 2002 B1
6418421 Hurtado et al. Jul 2002 B1
6422061 Sunshine et al. Jul 2002 B1
6438556 Malik et al. Aug 2002 B1
6449226 Kumagai Sep 2002 B1
6452874 Otsuka et al. Sep 2002 B1
6453252 Laroche Sep 2002 B1
6460050 Pace et al. Oct 2002 B1
6463508 Wolf et al. Oct 2002 B1
6477704 Cremia Nov 2002 B1
6487641 Cusson et al. Nov 2002 B1
6490279 Chen et al. Dec 2002 B1
6496802 van Zoest et al. Dec 2002 B1
6526411 Ward Feb 2003 B1
6542869 Foote Apr 2003 B1
6550001 Corwin et al. Apr 2003 B1
6550011 Sims, III Apr 2003 B1
6552254 Hasegawa et al. Apr 2003 B2
6591245 Klug Jul 2003 B1
6609093 Gopinath et al. Aug 2003 B1
6609105 Van Zoest et al. Aug 2003 B2
6628737 Timus Sep 2003 B1
6636965 Beyda et al. Oct 2003 B1
6654757 Stern Nov 2003 B1
6732180 Hale et al. May 2004 B1
6771316 Iggulden Aug 2004 B1
6771885 Agnihotri et al. Aug 2004 B1
6834308 Ikezoye et al. Dec 2004 B1
6947909 Hoke, Jr. Sep 2005 B1
6968337 Wold Nov 2005 B2
7043536 Philyaw et al. May 2006 B1
7047241 Erickson et al. May 2006 B1
7058223 Cox et al. Jun 2006 B2
7181398 Thong et al. Feb 2007 B2
7266645 Garg et al. Sep 2007 B2
7269556 Kiss et al. Sep 2007 B2
7281272 Rubin et al. Oct 2007 B1
7289643 Brunk et al. Oct 2007 B2
7349552 Levy et al. Mar 2008 B2
7363278 Schmelzer et al. Apr 2008 B2
7426750 Cooper et al. Sep 2008 B2
7443797 Cheung et al. Oct 2008 B2
7500007 Ikezoye et al. Mar 2009 B2
7529659 Wold May 2009 B2
7546120 Ulvenes et al. Jun 2009 B1
7562012 Wold Jul 2009 B1
7565327 Schmelzer Jul 2009 B2
7593576 Meyer et al. Sep 2009 B2
20010013061 DeMartin et al. Aug 2001 A1
20010027493 Wallace Oct 2001 A1
20010027522 Saito Oct 2001 A1
20010034219 Hewitt et al. Oct 2001 A1
20010037304 Paiz Nov 2001 A1
20010041989 Vilcauskas et al. Nov 2001 A1
20010051996 Cooper et al. Dec 2001 A1
20010056430 Yankowski Dec 2001 A1
20020049760 Scott et al. Apr 2002 A1
20020064149 Elliott May 2002 A1
20020069098 Schmidt Jun 2002 A1
20020082999 Lee et al. Jun 2002 A1
20020087885 Peled et al. Jul 2002 A1
20020120577 Hans et al. Aug 2002 A1
20020123990 Abe et al. Sep 2002 A1
20020129140 Peled et al. Sep 2002 A1
20020133494 Goedken Sep 2002 A1
20020141384 Liu et al. Oct 2002 A1
20020152261 Arkin et al. Oct 2002 A1
20020152262 Arkin Oct 2002 A1
20020156737 Kahn et al. Oct 2002 A1
20020158737 Yokoyama Oct 2002 A1
20020186887 Rhoads Dec 2002 A1
20020198789 Waldman Dec 2002 A1
20030014530 Bodin et al. Jan 2003 A1
20030018709 Schrempp et al. Jan 2003 A1
20030023852 Wold Jan 2003 A1
20030033321 Schrempp et al. Feb 2003 A1
20030037010 Schmelzer Feb 2003 A1
20030051100 Patel Mar 2003 A1
20030061352 Bohrer et al. Mar 2003 A1
20030061490 Abajian Mar 2003 A1
20030095660 Lee et al. May 2003 A1
20030135623 Schrempp et al. Jul 2003 A1
20030191719 Ginter et al. Oct 2003 A1
20030195852 Campbell et al. Oct 2003 A1
20040008864 Watson et al. Jan 2004 A1
20040010495 Kramer et al. Jan 2004 A1
20040053654 Kokumai et al. Mar 2004 A1
20040073513 Stefik et al. Apr 2004 A1
20040089142 Georges et al. May 2004 A1
20040133797 Arnold Jul 2004 A1
20040148191 Hoke, Jr. Jul 2004 A1
20040167858 Erickson Aug 2004 A1
20040201784 Dagtas et al. Oct 2004 A9
20050021783 Ishii Jan 2005 A1
20050039000 Erickson Feb 2005 A1
20050044189 Ikezoye et al. Feb 2005 A1
20050097059 Shuster May 2005 A1
20050154678 Schmelzer Jul 2005 A1
20050154680 Schmelzer Jul 2005 A1
20050154681 Schmelzer Jul 2005 A1
20050216433 Bland et al. Sep 2005 A1
20050267945 Cohen et al. Dec 2005 A1
20050289065 Weare Dec 2005 A1
20060034177 Schrempp Feb 2006 A1
20060062426 Levy et al. Mar 2006 A1
20070074147 Wold Mar 2007 A1
20070078769 Way et al. Apr 2007 A1
20070186229 Conklin et al. Aug 2007 A1
20070226365 Hildreth et al. Sep 2007 A1
20080008173 Kanevsky et al. Jan 2008 A1
20080019371 Anschutz et al. Jan 2008 A1
20080133415 Ginter et al. Jun 2008 A1
20080141379 Schmelzer Jun 2008 A1
20080154730 Schmelzer Jun 2008 A1
20080155116 Schmelzer Jun 2008 A1
20090030651 Wold Jan 2009 A1
20090031326 Wold Jan 2009 A1
20090043870 Ikezoye et al. Feb 2009 A1
20090077673 Schmelzer Mar 2009 A1
20090089586 Brunk Apr 2009 A1
20090192640 Wold Jul 2009 A1
20090240361 Wold Sep 2009 A1
20090328236 Schmelzer Dec 2009 A1
Foreign Referenced Citations (36)
Number Date Country
0349106 Jan 1990 EP
0 402 210 Jun 1990 EP
0 459 046 Apr 1991 EP
0 517 405 May 1992 EP
0 731 446 Aug 1995 EP
0689316 Dec 1995 EP
0 859 503 Dec 1998 EP
1 449 103 Aug 2004 EP
1 485 815 Dec 2004 EP
1 593 018 Nov 2005 EP
1354276 Dec 2007 EP
1485815 Oct 2009 EP
9636163 Nov 1996 WO
9820672 May 1998 WO
0005650 Feb 2000 WO
0039954 Jul 2000 WO
WO 0063800 Oct 2000 WO
WO 0123981 Apr 2001 WO
WO 0147179 Jun 2001 WO
WO 0152540 Jul 2001 WO
WO 0162004 Aug 2001 WO
WO 0203203 Jan 2002 WO
WO 0215035 Feb 2002 WO
0237316 May 2002 WO
WO 0237316 May 2002 WO
WO 02082271 Oct 2002 WO
WO 03007235 Jan 2003 WO
WO 03009149 Jan 2003 WO
WO 03036496 May 2003 WO
WO 03067459 May 2003 WO
WO 02037316 Aug 2003 WO
WO 03091990 Nov 2003 WO
WO 2004044820 May 2004 WO
WO 2004070558 Aug 2004 WO
WO 2006015168 Feb 2006 WO
WO 2009017710 Feb 2009 WO
Related Publications (1)
Number Date Country
20040163106 A1 Aug 2004 US