A digital watermark detection method exploits autocorrelation properties of the watermarked signal that enable synchronization of the digital watermark despite temporal or geometric distortion of the host signal. Other watermark methods employ keys, including a key dependent on the content in which the watermark is embedded and another key that is not dependent on the content.

Patent
   7366908
Priority
Aug 30 1996
Filed
Apr 30 2001
Issued
Apr 29 2008
Expiry
Jun 03 2021
Extension
1376 days
Assg.orig
Entity
Large
21
42
EXPIRED
2. A method of digital watermarking a media signal comprising:
deriving a first key that is a function of the media signal;
generating a digital watermark signal that is a function of the first key and a second key that is not dependent on the media signal;
embedding the digital watermark in the media signal.
3. A method of detecting a digital watermark in a host signal comprising:
obtaining a first key that is a function of the host signal;
generating a representation of a digital watermark from the first key and a second key that is not dependent on the host signal; and
processing the host signal with the representation of the digital watermark to extract the digital watermark from the host signal.
1. A method of detecting a digital watermark embedded in a host signal comprising:
receiving the host signal including a media signal and a digital watermark that has been perceptually adapted to the media signal in frequency and non-frequency domains;
processing the host signal with a representation of the digital watermark to compute a measure of the digital watermark; and
based on the measure of the digital watermark, extracting the digital watermark from the host media signal wherein the host signal has autocorrelation properties that enable synchronization of the digital watermark despite temporal or geometric distortion of the host signal.

This application is a continuation-in-part of application Ser. No. 08/921,931, filed Aug. 27, 1997 (now U.S. Pat. No. 6,226,387), which claims priority to provisional applications No. 60/050,587, filed Jun. 24, 1997, and 60/024,979, filed Aug. 30, 1996.

This application is also a continuation-in-part of application Ser. No. 08/918,126, filed Aug. 27, 1997 (now U.S. Pat. No. 6,272,634), which claims priority to provisional applications No. 60/050,587, filed Jun. 24, 1997, and 60/024,979, filed Aug. 30, 1996.

This application is also a continuation-in-part of application Ser. No. 08/918,125, filed Aug. 27, 1997 (now U.S. Pat. No. 6,282,299), which claims priority to provisional applications No. 60/050,587, filed Jun. 24, 1997, and 60/024,979, filed Aug. 30, 1996. This application resulted from conversion of provisional application No. 60/287,873 to a non-provisional application, in accordance with the provisions of 37 CFR 1.53(c)(3).

This application is related to cofiled, copending and coassigned application entitled “SYSTEMS AND METHODS FOR INTERCEPTING MEDIA DATA, INCLUDING WAVEFORM DATA”, Ser. No. 09/846,686, which is hereby incorporated by reference herein for all purposes.

The inventions detailed in applications 08/918,125, 08/921,931, and 08/918,126 were made with government support by AFOSR under grant AF/F49620-94-1-0461, NSF under grant NSF/INT-9406954 and ARPA GRANT No. AF/F49620-93-1-0558. The Government has certain rights in those inventions.

The invention relates to digital watermarking.

A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawings hereto: Copyright @ 2001, Cognicity, Inc. All Rights Reserved.

One aspect of the invention is a method of detecting a digital watermark embedded in a host signal. The method receives the host signal including a media signal and a digital watermark that has been perceptually adapted to the media signal in frequency and non-frequency domains. The method processes the host signal with a representation of the digital watermark to compute a measure of the digital watermark. Based on the measure of the digital watermark, the method extracts the digital watermark from the host media signal. The host signal has autocorrelation properties that enable synchronization of the digital watermark despite temporal or geometric distortion of the host signal.

Another aspect of the invention is a method of digital watermarking a media signal. This method derives a first key that is a function of the media signal, generates a digital watermark signal that is a function of the first key and a second key that is not dependent on the media signal, and embeds the digital watermark in the media signal.

Another aspect of the invention is a method of detecting a digital watermark in a host signal. This method obtains a first key that is a function of the host signal, generates a representation of a digital watermark from the first key and a second key that is not dependent on the host signal, and processes the host signal with the representation of the digital watermark to extract the digital watermark from the host signal.

FIG. 1 is a block diagram of the hardware and operating environment in which different embodiments of the invention can be practiced; and

FIG. 2 is a diagram illustrating a system level overview of an exemplary embodiment of a media interception system.

FIG. 3 is a diagram illustrating one approach of a digital rights management system.

FIG. 4 is a diagram illustrating another approach of a digital fights management system.

The detailed description describes systems, clients, servers, methods, and computer-readable media of varying scope. In the following detailed description, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific exemplary embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical, electrical and other changes may be made without departing from the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense.

In the Figures, the same reference number is used throughout to refer to an identical component which appears in multiple Figures. Signals and connections may be referred to by the same reference number or label, and the actual meaning will be clear from its use in the context of the description.

The detailed description is divided into multiple sections. In the first section the hardware and operating environment of different embodiments. In the second section, the software environment of varying embodiments. In the final section, a conclusion is provided.

FIG. 1 is a diagram of the hardware and operating environment in conjunction with which embodiments of the invention may be practiced. The description of FIG. 1 is intended to provide a brief, general description of suitable computer hardware and a suitable computing environment in conjunction with which the invention may be implemented. Although not required, the invention is described in the general context of computer-executable instructions, such as program modules, being executed by a computer, such as a personal computer or a server computer. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types.

Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

As shown in FIG. 1, the computing system 100 includes a processor. The invention can be implemented on computers based upon microprocessors such as the PENTIUM® family of microprocessors manufactured by the Intel Corporation, the MIPS® family of microprocessors from the Silicon Graphics Corporation, the POWERPC® family of microprocessors from both the Motorola Corporation and the IBM Corporation, the PRECISION ARCHITECTURE® family of microprocessors from the Hewlett-Packard Company, the SPARC® family of microprocessors from the Sun Microsystems Corporation, or the ALPHA® family of microprocessors from the Compaq Computer Corporation. Computing system 100 represents any personal computer, laptop, server, or even a battery-powered, pocket-sized, mobile computer known as a hand-held PC.

The computing system 100 includes system memory 113 (including read-only memory (ROM) 114 and random access memory (RAM) 115), which is connected to the processor 112 by a system data/address bus 116. ROM 114 represents any device that is primarily read-only including electrically erasable programmable read-only memory (EEPROM), flash memory, etc. RAM 115 represents any random access memory such as Synchronous Dynamic Random Access Memory.

Within the computing system 100, input/output bus 118 is connected to the data/address bus 116 via bus controller 119. In one embodiment, input/output bus 118 is implemented as a standard Peripheral Component Interconnect (PCI) bus. The bus controller 119 examines all signals from the processor 112 to route the signals to the appropriate bus. Signals between the processor 112 and the system memory 113 are merely passed through the bus controller 119. However, signals from the processor 112 intended for devices other than system memory 113 are routed onto the input/output bus 118.

Various devices are connected to the input/output bus 118 including hard disk drive 120, floppy drive 121 that is used to read floppy disk 151, and optical drive 122, such as a CD-ROM or DVD-ROM drive that is used to read an optical disk 152. The video display 124 or other kind of display device is connected to the input/output bus 118 via a video adapter 125.

A user enters commands and information into the computing system 100 by using a keyboard 40 and/or pointing device, such as a mouse 42, which are connected to bus 118 via input/output ports 128. Other types of pointing devices (not shown in FIG. 1) include track pads, track balls, joy sticks, data gloves, head trackers, and other devices suitable for positioning a cursor on the video display 124.

As shown in FIG. 1, the computing system 100 also includes a modem 129. Although illustrated in FIG. 1 as external to the computing system 100, those of ordinary skill in the art will quickly recognize that the modem 129 may also be internal to the computing system 100. The modem 129 is typically used to communicate over wide area networks (not shown), such as the global Internet. The computing system may also contain a network interface card 53, as is known in the art, for communication over a network.

Software applications 136 and data are typically stored via one of the memory storage devices, which may include the hard disk 120, floppy disk 151, CD-ROM/DVD-ROM 152 and are copied to RAM 115 for execution. In one embodiment, however, software applications 136 are stored in ROM 114 and are copied to RAM 115 for execution or are executed directly from ROM 114.

In general, the operating system 135 executes software applications 136 and carries out instructions issued by the user. For example, when the user wants to load a software application 136, the operating system 135 interprets the instruction and causes the processor 112 to load software application 136 into RAM 115 from either the hard disk 120 or the optical disk 152. Once software application 136 is loaded into the RAM 115, it can be used by the processor 112. In case of large software applications 136, processor 112 loads various portions of program modules into RAM 115 as needed.

The Basic Input/Output System (BIOS) 117 for the computing system 100 is stored in ROM 114 and is loaded into RAM 115 upon booting. Those skilled in the art will recognize that the BIOS 117 is a set of basic executable routines that have conventionally helped to transfer information between the computing resources within the computing system 100. These low-level service routines are used by operating system 135 or other software applications 136.

In one embodiment computing system 100 includes a registry (not shown) which is a system database that holds configuration information for computing system 100. For example, Windows® 95, Windows 98®, Windows® NT, Windows 2000® and Windows Me® by Microsoft maintain the registry in two hidden files, called USER.DAT and SYSTEM.DAT, located on a permanent storage device such as an internal disk.

This section describes a software environment of systems and methods that provide for interception of media data. FIG. 2 is a block diagram describing the major components of a media interception system 200 according to an embodiment. In one embodiment, media interception system includes a media player/recorder application 202, media SDK (Software Development Kit) 206, media device driver 208 and interception layer software 204.

Media player/recorder application 202 is an application that can playback and/or record audio, video or other multimedia data using hardware on a computer system, such as computer 100 (FIG. 1). Examples of such applications include the RealPlayer and RealJukebox applications from RealNetworks Inc., the Winamp player from Nullsoft, Inc., and the Windows Media Player application from Microsoft Corp. In general, a media player/recorder application 202 is capable for reading and/or writing at least one type of media data stream 220. An example of a particular media type is the waveform audio type. Waveform audio data can be stored in multiple formats. One popular format is the WAV (Microsoft RIFF format), which stores the audio data in a non-compressed form. Other waveform formats store the data in compressed form. These formats include the Microsoft Windows Audio format (wm, .wma), Real Audio format (.ra), the Sun Audio format (.au) and the MP3 (.mp3) format. These formats are listed as exemplary formats; the invention is not limited to any particular format.

The media data streams 220 can be stored in a number of ways. For example, the data streams can come from a file that resides on a hard drive, a CD-ROM, or a DVD-ROM. Alternatively, the data streams can reside on a remote system, and can be transferred to the application over a network such as the Internet. The invention is not limited to any particular source for the data stream.

Some audio systems add an additional encryption layer to the compressed audio data for copyright protection purposes. Despite the fact that the audio data may be encrypted, compressed or even specially processed, the audio data that goes to the media SDK 206 has to be in wave format. It is the application responsibility to convert the compressed/encrypted/processed audio data to regular wave format.

Media SDK 206 comprises a collection of modules that provide an API (Application Program Interface) that enables software developers to develop applications that play and/or record media data streams, such as audio or video data streams. In one embodiment, the media SDK 206 is a waveform Software Development Kit (SDK) from Microsoft Corporation that enables software applications developers to develop applications that receive waveform input data from audio devices and play the waveform audio data through the output audio device. Software developers can use the waveform SDK to add sound effects to applications and capture the audio input from the microphone, sound card line-in and any audio input device. For both waveform input and waveform output services, the waveform SDK uses the standard wave format to represent the audio data. In some embodiments, this wave format is defined using the WAVEFORMATHDR and WAVEFORMATEX data structures defined by the SDK. Applications 202 can communicate with SDK 204 either by direct function calls to the SDK APIs or through sending messages to the SDK to request the proper operation.

It should be noted that FIG. 2 has illustrated a single media player/recorder application 202. However, in some embodiments of the invention, media SDK 206 can support playing waveform buffers from a plurality of different instances of an application 202 simultaneously as well as capturing input from the audio in devices. Thus, the invention is not limited to any particular number or type of media player/recorder applications.

Media device driver 208 provides an interface to control a particular type of media hardware 210. For example, media device driver 208 can be a sound card device driver for controlling input and input for a particular brand of sound card in a computer system.

Interception layer software 204 intercepts, collects, filters and controls media input and output data. In one embodiment, the interception layer software 204 controls waveform audio data. The interception layer software 204 logically resides between a media player/recorder application 202 and the media SDK 206, and emulates the API calls and message handling of a media SDK. In addition, media SDK 206 can emulate callback functions on behalf of an application 202. Thus, to media player/recorder application 206, the interception layer appears as a media SDK, and to media SDK, the interception software layer appears to be an application. The interception layer software 204 can apply its functions to any media player/recorder application 202. In some embodiments, these media player/recorder applications 202 are capable of running under any or all Microsoft Windows platforms. In one embodiment, the interception layer software 204 collects and controls the waveform input data as it goes from the audio input device before it reaches the application and collects and controls the waveform output data as it goes from the application and before it reaches the audio output device 210 via media SDK 206.

In some embodiments, particularly those embodiments that operate in a Microsoft Windows environment, the interception software 204 includes a replacement kernel module 214 that can replace a previously existing kernel32.dll. The replacement kernel module 214 provides all the services that the original kernel32.dll exports to other system modules and applications. In addition, replacement kernel module 214 provides additional processing as described below.

In various embodiments, the interception software layer 204 must be installed before it will operate. In embodiments that operate on Windows 95, Windows 98 and Windows Me platforms, during the software installation process, a windows-modules-patching component patches the winmm.dll file and changes the reference of the Windows kernel32.dll to refer to the replacement kernel module 214. This type of system file patching forces the Windows applications loader to load the interception layer software 204 in the address space of any application 202 that imports services from winmm.dll.

In some embodiments, during the loading of any media player/recorder application 202, if the winmm.dll is used by application 202 or any one of its referenced modules, then the Windows platform loads the interception software layer 204, including the replacement kernel module 214 in the address space of the application 202. As mentioned earlier, this is because winmm.dll has been patched to refer to the replacement kernel module 214 instead of the original windows kernel32.dll. Loading the interception layer software 204 by the replacement kernel module 214 ensures that the software 204 will be active in the address space of any application that uses services exported from winmm.dll. This is desirable, because doing so provides optimal system performance, as the software 204 is active only when there is a request for a winmm.dll service.

In embodiments that operate on the Windows NT and Windows 2000 platforms, the installation software places standard entries in the Windows registry database that forces the loading of the interception layer software 204 inside the address space of any running media player/recorder application 202.

Thus in embodiments that operate on Windows NT or Windows 2000, Windows loads the replacement kernel software 214 as it loads a media player/recorder application 202. During the application loading process for a media player/recorder application 202, the new kernel software 214 checks if the winnmm.dll is loaded or not. If it is not loaded, it then activates the interception layer software 204 for this application's address space. Otherwise it stays passive and listens to application requests. If there is a new request for a winmm.dll service, then the software switches back to the active mode. This ensures the best system performance, as the software is active only when there is a request for a winmm.dll service.

In further alternative embodiments that operate under all Windows platforms, while the replacement kernel software 214 is active, it installs a “Module-Load-Monitor” thread 212 that monitors the loading of any module by the application 202. If the application is loading the winmm.dll or requesting a service from the winmm.dll then the software changes the reference to winmm.dll or the winmm.dll service to call another module provided by the interception layer software 204.

The replacement kernel module 214 intercepts all the calls and messages that go from the application 202 to the media SDK (e.g. winmm.dll) and dispatches them to interception layer 204. Therefore, the interception layer software 204 module receives all the requests for waveform input and output services. In some embodiments, the interception layer software 204 includes two controllers: the first controller is the Wave-Out Audio Controller that manages the requests for audio output services and the second controller is the Wave-In Audio Controller that manages the requests for audio input services.

In general, the Wave-Out Audio Controller is capable of doing the following functions:

In general, the Wave-In Audio Controller is capable of performing the same types of functions provided by the Wave-Out Audio Controller except that it applies it to input audio data.

This section has described the various software components in a system that provide for the interception of media data, including waveform audio data. As those of skill in the art will appreciate, the software can be written in any of a number of programming languages known in the art, including but not limited to C/C++, Java, Visual Basic, Smalltalk, Pascal, Ada and similar programming languages. The invention is not limited to any particular programming language for implementation.

Systems and methods that provide for the interception of media data streams are disclosed.

The embodiments provide numerous advantages over previous systems, and various embodiments include various combinations of the following features:

In addition to the aspects described above, Appendix A provides a description of an embodiment that includes components described above to provide a digital rights management system.

Furthermore, Appendix B provides details of an alternative digital rights management system according to an embodiment.

The discussion provided in Appendix A and Appendix B refers to watermarking. While any general file watermarking can be adapted to the embodiments described above, specific methods of watermarking are described in the following patents and patent applications, all of which are hereby incorporated by reference herein for all purposes.

Ser. No. Filed Title Status
08/918,122 Aug. 27, 1997 Method and Ap- Issued: Feb. 29, 2000
paratus for Em- U.S. Pat. No.
bedding Data, In- 6,031,914
cluding Water-
marks, in Human
Perceptible
Images
08/918,891 Aug. 27, 1997 Method and Ap- Issued: May 9, 2000
paratus for Em- U.S. Pat. No.
bedding Data, In- 6,061,793
cluding Water-
marks, in Human
Perceptible
Sounds
08/918,125 Aug. 27, 1997 Method and Ap- Issued: Aug. 28, 2001
paratus for U.S. Pat. No.
Video 6,282,299
Watermarking
08/921,931 Aug. 27, 1997 Method and Ap- Issued: May 1, 2001
paratus for Scene- U.S. Pat. No.
Based Video 6,226,387
Watermarking
08/918,126 Aug. 27, 1997 Digital Water- Issued: Aug. 7, 2001
marking to Re- U.S. Pat. No.
solve Multiple 6,272,634
Claims of
Ownership
09/228,224 Jan. 11, 1999 Multimedia Data Issued: Aug. 27, 2002
Embedding U.S. Pat. No.
6,442,283
09/481,758 Jan. 11, 2000 Transaction Issued: Jul. 5, 2005
Watermarking U.S. Pat. No.
6,951,481
09/480,391 Jan. 11, 2000 Degradation Abandoned
Watermarking
09/585,102 May 31, 2000 Persistent Linking Abandoned
Via
Watermarking
09/573,119 May 16, 2000 Systems And Abandoned
Methods For Pro-
viding Author-
ized Playback
And Tracking Of
Multimedia
Content Over
Networks

Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement which is calculated to achieve the same purpose may be substituted for the specific embodiments shown. This application is intended to cover any adaptations or variations of the present invention.

The terminology used in this application is meant to include all of these environments. It is to be understood that the above description is intended to be illustrative, and not restrictive. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description and the attached appendices.

The Concept

The basic idea is to have two audio files, the first file is a distributable audio file that will be available for public download to the end users community, (we will call this file, the Public Track) while the second audio file will be the complete secured track, (we will call this file the Private Track). The user can listen, play and distribute the Public track without any restriction.

Each Public Track has a Track-Id that is used to identify the track at any time. The corresponding Private Track has also the same Track-ID. In addition to the Track-Id there is one bit that indicates the type of the Track. For the Public Track the bit value is zero and for the private Track the bit value is one.

The Private Track will be encrypted and hosted and secured on a remote server not accessible by the end user. Each Private Track is encrypted with a unique encryption key. The Decryption Key for each Private Track is hosted securely also on a remote server.

The Private Track will be hidden to the user. It will be handled in transparently to the user. The user can never have access to the Private Track file in an open non-encrypted form.

If cognicity software is installed, then at any time there is an access to the Public Track then Cognicity software checks if the corresponding Private Track is installed to the user local hard disk or not. If the Private Track is installed then the software transparently switches the file access operation to point to the Private Track. The Private Track is still encrypted and not available in a decrypted form. If the Private Track is not available on the user machine then the software establishes a secure connection with the server to download both the Private Track and the Decryption Key (required to decrypt this specific Private Track). During file reading operations, the software uses the Decryption Key and decrypt the Private Track data on the fly as being read by the application.

Theoretically, the Public Track can contain any audio data. The Private Track does not have to have a direct match or overlap with the data used for the Private Track. However, for the purpose of Cognicity application the Public Track audio data was prepared by cutting the proper audio data from the Private track.

While editing the Public Track a promotional audible message is added near the end of the track to encourage the end user to download the software to listen to the full track (Private Track).

Implementation Details

A system level file system controller has been developed. This file system controller provides a full control on the application level for all the types of file access operations done by the application. The following types of controls have been provided:

Cognicity watermarking technology is used to encode the watermark value inside both the Private Track and the Public Track. The watermark value used is equal to the Track-Id designed for each Track. As mentioned earlier, there is on added bit that indicates the type of the track.

An system level audio interceptor has been developed to collect the audio data as being played by the application. The system audio collector collects the audio data as being played by the application in a raw PCM format. It interacts with Cognicity watermark decoder to decode the watermark on the fly while the track is being played by the application. The system level audio interceptor and detector can collect any audio data played by the application whether the application is using the Windows Wav-out SDK or using the Direct Sound SDK to play the audio tracks.

The software supports four basic media file formats: WAV , Real Media, Windows Media and MP3 formats. For each format, a format decoder has been implemented. The basic function of each format CODEC is as follows:

The Public Track and Private tracks are encoded in three audio file formats Real Media, Windows Media and MP3. While encoding the Private Track a format-specific attribute is added to define the track-id of the Public Track. There is format attribute used for the Private Track as the file is not available to the end user.

The software uses some DRM rules to allow the substitution of the Public Track with the Private Track. The DRM rules are hosted on a remote secure server and retrieved from the server as the Private Track is downloaded from the server. The DRM rules specifies the following:

There are different techniques that enable the end user to save any audio content back to a file while the file is played by any application on his machine. If there is no secured protection for this techniques then the end user can install the software, get the proper DRM rules as a regular user, listen to the Private Track and then use any audio write-back tool to get the content of the Private Track in an open format.

The software provides solutions on different levels to secure the audio write-back case. The application apply solutions on different levels as follows:

The production phase starts by having the PCM data corresponds to both the Private Tracks and the Public Track. The operator defines the Track-Id used for this pair of tracks. It then encode the watermark into both tracks with the bit that indicates the track type added to the watermark value. After then, both Tracks are encoded to the proper file format (RealAudio, Windows Audio or MP3). The format attribute that's equivalent to the watermark value is added also to encoded tracks. Then, the production software starts to encrypt the Private Track and generate the Decryption Key.

The system operator takes the Private Track, Decryption Key, Public Track as well DRM rules and upload them to the proper location on the designated server.

Generalization of the Concept

The same idea can be applied easily to any media content whether it's for audio content or video content or even mixed content. The same watermark technology can be used as well as the file format attributes.

A “DRM” like solution that is format agnostic. The objective, of course, is to strongly motivate the listeners to download our software, thereby allowing a media provider to get the information you seek in return for the free music.

Described below are two approaches to Digital Rights Management. Both effectively and easily solve the problem of allowing: non-users of media player software to be able to play NO more than 30 seconds of audio NO MATTER HOW they get the audio tracks.

Approach 1 is illustrated in FIG. 3

In this approach shown in FIG. 3, the file consists of clean first 30 seconds plus a corrupted remainder. The corruption takes the form of many audible noise clips inserted at random locations within the track.

Without our software

player reads whole file, renders first 30 seconds perfectly and renders all noise clips in remainder of the track resulting in an unusable remainder.

With our software

Our software can read the watermarks in the random insertions and block the rendition of these clips. Result: a pristine file.

Comments

In this approach shown in FIG. 4, a file is broken into 2 or more separate files. The first 30 seconds are in one file that is clearly named and can easily be forwarded to others. The rest of the file is inserted at a random location within a larger “auxiliary file” that resides on the user hard drive.

A watermark extracted from the first 30 seconds points to the location of the rest of the file in the auxiliary file.

For added security, the rest is broken into several pieces, each inserted at a random location and each containing a watermark pointer to the piece that comes after it.

Without our software

Listener can only play first 30 seconds. Listener will not play a corrupted remainder.

With our software

File is seamlessly assembled for player. Listener can hear the full song.

Listener can only forward the first 30 seconds.

(Listener can also forward the auxiliary file. However, that file will be large and cannot be properly played without the watermark extraction as it consists of randomly ordered blocks from many tracks.)

Comments

Tewfik, Ahmed

Patent Priority Assignee Title
10089158, Sep 06 2011 CITIBANK, N A Methods and apparatus to detect uninstallation of an on-device meter
10691510, Sep 06 2011 CITIBANK, N A Methods and apparatus to detect uninstallation of an on-device meter
11003413, Jun 18 2012 GOOGLE LLC System and method for selective removal of audio content from a mixed audio recording
11049094, Feb 11 2014 Digimarc Corporation Methods and arrangements for device to device communication
11500698, Sep 06 2011 The Nielsen Company (US), LLC Methods and apparatus to detect uninstallation of an on-device meter
7519819, May 29 2002 DIGIMARC CORPORATION AN OREGON CORPORATION Layered security in digital watermarking
7578002, Nov 25 2002 MUSIC PUBLIC BROADCASTING, INC Controlling interaction of deliverable electronic media
7822225, Apr 17 2000 DIGIMARC CORPORATION AN OREGON CORPORATION Authentication of physical and electronic media objects using digital watermarks
7945781, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Method and systems for inserting watermarks in digital signals
7992003, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Methods and systems for inserting watermarks in digital signals
8027510, Jan 13 2000 Digimarc Corporation Encoding and decoding media signals
8095795, Sep 25 1998 DIGIMARC CORPORATION AN OREGON CORPORATION Methods and apparatus for robust embedded data
8175329, Apr 17 2000 Digimarc Corporation Authentication of physical and electronic media objects using digital watermarks
8181261, May 13 2005 Xerox Corporation System and method for controlling reproduction of documents containing sensitive information
8184851, Nov 18 1993 Digimarc Corporation Inserting watermarks into portions of digital signals
8190901, May 29 2002 DIGIMARC CORPORATION AN OREGON CORPORATION Layered security in digital watermarking
8345316, May 29 2002 DIGIMARC CORPORATION AN OREGON CORPORATION Layered security in digital watermarking
8472528, Dec 14 2006 TREDESS 2010, S L Method for marking a digital image with a digital water mark
8701125, Sep 06 2011 CITIBANK, N A Methods and apparatus to detect uninstallation of an on-device meter
9225822, Apr 26 2011 Digimarc Corporation Channelized audio watermarks
9405599, Sep 06 2011 CITIBANK, N A Methods and apparatus to detect uninstallation of an on-device meter
Patent Priority Assignee Title
3845391,
4313197, Apr 09 1980 Bell Telephone Laboratories, Incorporated Spread spectrum arrangement for (de)multiplexing speech signals and nonspeech signals
4939515, Sep 30 1988 GENERAL ELECTRIC COMPANY, A CORP OF NEW YORK Digital signal encoding and decoding apparatus
4979210, Jul 08 1987 Matsushita Electric Industrial Co., Ltd. Method and apparatus for protection of signal copy
5010405, Feb 02 1989 Massachusetts Institute of Technology Receiver-compatible enhanced definition television system
5319735, Dec 17 1991 Raytheon BBN Technologies Corp Embedded signalling
5404377, Apr 08 1994 Intel Corporation Simultaneous transmission of data and audio signals by means of perceptual coding
5450490, Mar 31 1994 THE NIELSEN COMPANY US , LLC Apparatus and methods for including codes in audio signals and decoding
5530759, Feb 01 1995 International Business Machines Corporation Color correct digital watermarking of images
5581800, Sep 30 1991 THE NIELSEN COMPANY US , LLC Method and apparatus for automatically identifying a program including a sound signal
5613004, Jun 07 1995 Wistaria Trading Ltd Steganographic method and device
5636292, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Steganography methods employing embedded calibration data
5646997, Dec 14 1994 Sony Corporation Method and apparatus for embedding authentication information within digital data
5652626, Sep 03 1993 Kabushiki Kaisha Toshiba Image processing apparatus using pattern generating circuits to process a color image
5719937, Sep 12 1996 Verance Corporation Multi-media copy management system
5721788, Jul 31 1992 DIGIMARC CORPORATION AN OREGON CORPORATION Method and system for digital image signatures
5765152, Oct 13 1995 DIGIMARC CORPORATION AN OREGON CORPORATION System and method for managing copyrighted electronic media
5774452, Mar 14 1995 VERANCE CORPORATION, DELAWARE CORPORATION Apparatus and method for encoding and decoding information in audio signals
5822360, Sep 06 1995 Verance Corporation Method and apparatus for transporting auxiliary data in audio signals
5822432, Jan 17 1996 Wistaria Trading Ltd Method for human-assisted random key generation and application for digital watermark system
5825892, Oct 28 1996 RPX Corporation Protecting images with an image watermark
5835639, Dec 18 1996 Intellectual Ventures Fund 83 LLC Method for detecting rotation and magnification in images
5841978, Mar 17 1994 DIGIMARC CORPORATION AN OREGON CORPORATION Network linking method using steganographically embedded data objects
5845281, Feb 01 1995 Rovi Solutions Corporation Method and system for managing a data object so as to comply with predetermined conditions for usage
5857038, Jun 29 1993 Canon Kabushiki Kaisha Image processing apparatus and method for synthesizing first and second image data
5859920, Nov 30 1995 Intellectual Ventures Fund 83 LLC Method for embedding digital information in an image
5862260, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Methods for surveying dissemination of proprietary empirical data
5892900, Aug 30 1996 INTERTRUST TECHNOLOGIES CORP Systems and methods for secure transaction management and electronic rights protection
5930369, Sep 28 1995 NEC Corporation Secure spread spectrum watermarking for multimedia data
5943422, Aug 12 1996 Intertrust Technologies Corp.; INTERTRUST TECHNOLOGIES CORP Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
5963909, Dec 06 1995 Verance Corporation Multi-media copy management system
6031914, Aug 30 1996 DIGIMARC CORPORATION AN OREGON CORPORATION Method and apparatus for embedding data, including watermarks, in human perceptible images
6122403, Jul 27 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Computer system linked by using information in data objects
6141753, Feb 10 1998 Thomson Licensing; Mitsubishi Corporation Secure distribution of digital representations
6243480, Apr 30 1998 Thomson Licensing Digital authentication with analog documents
6285774, Jun 08 1998 GOOGLE LLC System and methodology for tracing to a source of unauthorized copying of prerecorded proprietary material, such as movies
6359985, Jun 16 1995 MediaSec Technologies GmbH Procedure for marking binary coded data sets
6374036, Oct 08 1997 Rovi Solutions Corporation Method and apparatus for copy-once watermark for video recording
6398245, Aug 13 1998 Level 3 Communications, LLC Key management system for digital content player
7171018, Jul 27 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Portable devices and methods employing digital watermarking
20030103645,
20060129627,
///
Executed onAssignorAssigneeConveyanceFrameReelDoc
Apr 30 2001Digimarc Corporation(assignment on the face of the patent)
Oct 24 2008L-1 SECURE CREDENTIALING, INC FORMERLY KNOWN AS DIGIMARC CORPORATION DIGIMARC CORPORATION FORMERLY DMRC CORPORATION CONFIRMATION OF TRANSFER OF UNITED STATES PATENT RIGHTS0217850796 pdf
Apr 30 2010DIGIMARC CORPORATION A DELAWARE CORPORATION DIGIMARC CORPORATION AN OREGON CORPORATION MERGER SEE DOCUMENT FOR DETAILS 0243690582 pdf
Date Maintenance Fee Events
Dec 13 2010ASPN: Payor Number Assigned.
Sep 23 2011M1551: Payment of Maintenance Fee, 4th Year, Large Entity.
Sep 24 2015M1552: Payment of Maintenance Fee, 8th Year, Large Entity.
Dec 16 2019REM: Maintenance Fee Reminder Mailed.
Jun 01 2020EXP: Patent Expired for Failure to Pay Maintenance Fees.


Date Maintenance Schedule
Apr 29 20114 years fee payment window open
Oct 29 20116 months grace period start (w surcharge)
Apr 29 2012patent expiry (for year 4)
Apr 29 20142 years to revive unintentionally abandoned end. (for year 4)
Apr 29 20158 years fee payment window open
Oct 29 20156 months grace period start (w surcharge)
Apr 29 2016patent expiry (for year 8)
Apr 29 20182 years to revive unintentionally abandoned end. (for year 8)
Apr 29 201912 years fee payment window open
Oct 29 20196 months grace period start (w surcharge)
Apr 29 2020patent expiry (for year 12)
Apr 29 20222 years to revive unintentionally abandoned end. (for year 12)