Registration data embedded in an image is used to determine and compensate for geometric transformation of the image. The registration data may include frequency domain features of the image that are used to compute the rotation and/or scaling of the image. The registration method may be used in conjunction with digital watermarking and other signal processing applications.

Patent
   8243980
Priority
Apr 25 1996
Filed
Mar 09 2004
Issued
Aug 14 2012
Expiry
Oct 19 2019
Extension
1272 days
Assg.orig
Entity
Large
45
224
EXPIRED
18. A non-transitory computer readable medium having computer-readable instructions stored thereon, the instructions comprising:
instructions to transform a media signal into a frequency domain to produce one or more frequency components of the media signal;
instructions to detect an embedded signal in the one or more frequency components;
instructions to determine, based on the detecting, one or more geometric transformation parameters defining a geometric transformation of the media signal; and
instructions to use the one or more geometric transformation parameters to transform the media signal.
10. A method comprising:
transforming, with a processor of a computing device, a media signal into a frequency domain to produce one or more frequency components of the media signal;
detecting an embedded signal in the one or more frequency components;
adding two or more data blocks together from the media signal to increase a signal-to-noise ratio of the embedded signal;
based on the detecting, determining one or more geometric transformation parameters defining a geometric transformation of the media signal; and
using the one or more geometric transformation parameters to transform the media signal.
9. A device comprising:
a memory configured to store image data; and
a processor operatively coupled to the memory and configured to:
detect one or more registration signals from the image data;
add two or more image blocks together from the image data to increase a signal-to-noise ratio of the one or more registration signals;
determine one or more frequency properties of the image data;
identify a geometric transformation to which the image data is subjected based at least in part on the one or more registration signals and the one or more frequency properties; and
use the identified geometric transformation to compute registered image data.
19. A device comprising:
a memory configured to store a media signal; and
a processor operatively coupled to the memory and configured to:
transform the media signal into a frequency domain to produce one or more frequency components of the media signal;
detect an embedded signal in the one or more frequency components;
add two or more data blocks together from the media signal to increase a signal-to-noise ratio of the embedded signal;
determine, based on the detecting, one or more geometric transformation parameters defining a geometric transformation of the media signal; and
use the one or more geometric transformation parameters to transform the media signal.
8. A non-transitory computer readable medium having computer-readable instructions stored thereon, the instructions comprising:
instructions to detect one or more registration signals from image data;
instructions to add two or more image blocks together from the image data to increase a signal-to-noise ratio of the one or more registration signals;
instructions to determine one or more frequency properties of the image data;
instructions to identify a geometric transformation to which the image data is subjected based at least in part on the one or more detected registration signals and the one or more frequency properties; and
instructions to use the identified geometric transformation to compute registered image data.
7. A device comprising:
registration signal detecting means for detecting one or more registration signals from image data;
adding means for adding two or more image blocks together from the image data to increase a signal-to-noise ratio of the one or more registration signals;
frequency property determining means for determining one or more frequency properties of the image data;
geometric transformation identifying means for identifying a geometric transformation to which the image data is subjected based at least in part on the one or more detected registration signals and the one or more frequency properties; and
geometric transforming means for using the identified geometric transformation to compute registered image data.
1. A method comprising:
detecting, with a processor of a computing device, one or more registration signals from image data, wherein the image data includes electronic signals, and wherein the detecting includes processing the electronic signals to detect the one or more registration signals in the electronic signals;
adding, with the processor of the computing device, two or more image blocks together from the image data to increase a signal-to-noise ratio of the one or more registration signals;
determining, with the processor of the computing device, one or more frequency properties of the image data;
identifying, with the processor of the computing device, a geometric transformation to which the image data is subjected based at least in part on the one or more detected registration signals and the one or more frequency properties; and
using the identified geometric transformation to compute registered image data.
combining the plurality of blocks to reconstruct an image corresponding to the image data.
2. The method according to claim 1, further comprising transforming the image data into frequency components.
3. The method according to claim 1, wherein the detremining is based at least in part on one or more frequency components of the image data.
4. The method according to claim 1, further comprising:
performing a Fourier transformation on at least a portion of the image date; and
converting one or more frequency components of the image data into amplitude spectra.
5. The method according to claim 1, further comprising:
dividing the image data into a plurality of blocks; and
combining the plurality of blocks to reconstruct an image corresponding to the image data.
6. The method according to claim 1, wherein the geometric transformation comprises scaling.
11. The method of claim 10, wherein the one or more frequency components are computed using a Fourier transform.
12. The method of claim 10, further comprising pre-filtering the media signal to attenuate noise relative to the embedded signal.
13. The method of claim 10, further comprising performing a log sampling of the media signal.
14. The method of claim 10, further comprising performing a log-log sampling of the media signal.
15. The method of claim 10, further comprising performing a log-polar sampling of the media signal.
16. The method of claim 10, wherein the media signal comprises an electronic signal representing audio or image signals stored in a memory.
17. The method of claim 16, wherein the image signals comprise video.

This application is a continuation of Ser. No. 10/202,367, filed Jul. 22, 2002 (now U.S. Pat. No. 6,704,869), which is a continuation of Ser. No. 09/566,533, filed May 8, 2000 (now U.S. Pat. No. 6,424,725), which is a continuation-in-part of application Ser. No. 09/452,023, filed Nov. 30, 1999 (now U.S. Pat. No. 6,408,082). Patent application Ser. No. 09/566,533 is also a continuation-in-part of application Ser. No. 08/746,613, filed Nov. 12, 1996 (now U.S. Pat. No. 6,122,403). Patent application Ser. No. 09/566,533 is also a continuation-in-part of application Ser. No. 09/186,962, filed Nov. 5, 1998 now U.S. Pat. No. 7,171,016, which is a continuation of application Ser. No. 08/649,419, filed May 16, 1996 (now U.S. Pat. No. 5,862,260).

The subject matter of the present application is also related to that of the assignee's other patents and applications, including U.S. Pat. Nos. 5,930,377, 5,809,160, 5,721,788, 5,745,604, 5,768,426, 5,850,481, 5,748,753, 5,710,834, 5,636,292, 5,841,978, 5,841,886, 5,832,119, 5,822,436, 5,862,260, 6,026,193, 6,122,392, 6,449,377, 6,345,104, 6,549,638, 6,681,028, 6,650,761, 6,311,214, 6,700,990, 6,636,615, 6,307,949, 7,044,395, 6,959,098, 6,614,914, and pending applications Ser. Nos. 09/151,492, 09/292,569, 09/337,590, 09/343,104, 09/343,101, 09/342,971, 60/163,332, 09/437,357, 60/164,619, 60/112,955, 60/134,782 and 60/158,015. The technology disclosed in this application can advantageously be used in the methods and systems disclosed in the foregoing patents and applications (all of which are incorporated by reference).

This application is also a continuation-in-part of co-pending application Ser. No. 09/186,962, filed Nov. 5, 1998 (now U.S. Pat. No. 7,171,016), which is a continuation of application Ser. No. 08/649,419, filed May 16, 1996 (now U.S. Pat. No. 5,862,260), which is a continuation in part of PCT Application No. PCT/US96/06618, filed May 7, 1996, and U.S. application Ser. No. 08/637,531, filed Apr. 25, 1996, now U.S. Pat. No. 5,822,436.

The invention relates to multimedia processing, and more specifically relates to detecting embedded code signals in media such as images, video and audio.

Digital watermarking is a process for modifying media content to embed a machine-readable code into the data content. The data may be modified such that the embedded code is imperceptible or nearly imperceptible to the user, yet may be detected through an automated detection process. Most commonly, digital watermarking is applied to media such as images, audio signals, and video signals. However, it may also be applied to other types of data, including documents (e.g., through line, word or character shifting), software, multi-dimensional graphics models, and surface textures of objects.

Digital watermarking systems have two primary components: an embedding component that embeds the watermark in the media content, and a reading component that detects and reads the embedded watermark. The embedding component embeds a watermark pattern by altering data samples of the media content in the spatial or frequency domains. The reading component analyzes target content to detect whether a watermark pattern is present. In applications where the watermark encodes information, the reader extracts this information from the detected watermark.

One challenge to the developers of watermark embedding and reading systems is to ensure that the watermark is detectable even if the watermarked media content is corrupted in some fashion. The watermark may be corrupted intentionally, so as to bypass its copy protection or anti-counterfeiting functions, or unintentionally through various transformations that result from routine manipulation of the content (e.g., digital to analog conversion, geometric distortion compression, etc.). In the case of watermarked images, such manipulation of the image may distort the watermark pattern embedded in the image. In general, the geometric distortion may result in some linear or non-linear geometric transformation. An affine transformation encompasses various linear transformations, including scale, translation, rotation, differential scale, and shear.

To accurately detect and read the watermark, it is helpful to determine the parameters of this affine transformation. The reader may then use these parameters to adjust the corrupted image to approximate its original state and then proceed to read the information content represented in the watermark.

Watermarks are often difficult to detect and read in corrupted media, particularly if the original un-marked media is not available to assist in the detection and reading process. Thus, there is a need to develop techniques for accurately detecting the presence and orientation of a watermark in corrupted media where the original media is not available.

In some applications, it is useful to determine whether a media signal, such as an audio, image or video signal has been transformed, and if so, how it has been transformed. Methods capable of determining alteration of a signal are useful in a variety of applications, including forensics and encoding auxiliary messages in media. In some applications, there is a need to be able to restore a media signal to its original state in addition to detecting alteration.

The disclosure describes various methods and related software for extracting digital watermarks from media signals, including image and audio signals. One aspect of the disclosure is a method of extracting a digital watermark in a media signal. This method performs a logarithmic sampling of the media signal to produce a sampled signal. It then analyzes the sampled signal to detect attributes associated with a watermark signal. It extracts the digital watermark based on detected attributes associated with the watermark signal.

As an alternative or in addition to these operations, the method performs a polar sampling of the media signal. For example, polar sampling may be used to address rotational distortion.

Another aspect of the disclosure is a method of extracting a digital watermark with symmetrical properties. This method transforms the media signal to a transform domain, and analyzes the transformed media signal to detect a symmetrical attribute associated with a watermark signal. The method extracts the digital watermark based on detected attributes associated with the watermark signal.

In addition to these aspects of the disclosure, the disclosure describes a method and system of determining a transformation of a media signal subsequent to the encoding of an embedded code signal into the media signal. It also provides a method and system to determine the orientation of the embedded code signal in a media signal after the media signal has been transformed. These methods apply to various types of media signals, including image, video and audio signals.

The disclosure also describes a method of determining a transformation of a media signal having an embedded code signal. The method performs a logarithmic sampling of the media signal to create a sampled signal in which scaling of the media signal is converted to translation in the sampled signal. It then computes the translation of the embedded code signal in the sampled signal to determine scaling of the media signal subsequent to the encoding of the embedded signal in the media signal.

The embedded code signal may be implemented in a variety of ways. In one implementation, the embedded code signal comprises a set of impulse functions in a frequency domain. In particular, the impulse functions may be in a Fourier domain, or some other transform domain such as wavelet, Discrete Cosine Transform, etc. For some applications, the impulse functions have random or pseudo-random phase. When the impulse functions have random phase, they tend to make the embedded code signal imperceptible or less perceptible. For instance, the embedded code signal may be an imperceptible or substantially imperceptible digital watermark in an image or audio signal.

Using the embedded code signal's phase attributes, a detection process can determine the position of the embedded code signal or the translation of the media signal in which it is embedded. For example, the detection process may be used to determine a shift, offset, or cropping of the media signal after it has been encoded with the embedded code signal. In particular, the detection process may perform phase matching between the code signal and a media signal suspected of containing an embedded code signal (a suspect signal). One form of phase matching is a matched filtering process between the code signal and the suspect media signal in the spatial or temporal domain. This process may be performed on one dimensional signals such as audio signals, or two or more dimensional signals like images and video.

The logarithmic sampling may be performed directly on the media signal or after it has been converted to a transform domain. For example, one implementation performs the sampling on frequency domain data of the media signal. Depending on the nature of the media signal and the application, the sampling may be performed in two or more dimensions. A two-dimensional signal, such as an image, may be logarithmically sampled in each of the two dimensions to determine scaling in each dimension. A three dimensional signal, such as a video sequence, may be logarithmically sampled in three dimensions. After sampling, matched filtering, or other forms of filtering, may be used to determine the translation of the embedded code signal in the sampled signal in each of the dimensions. The extent of translation in the sampled signal corresponds to scaling in the media signal.

Polar sampling may also be used to convert rotation of a media signal into translation in polar coordinates. Once converted in this manner, matched filtering may be used to determine translation of the embedded code signal in the sampled signal. The translation in polar coordinates provides the angle of rotation of the media signal subsequent to encoding of the embedded code signal.

Logarithmic sampling may also be performed in combination with a polar sampling. The logarithmic or polar sampling may be performed on the media signal directly (e.g., in its native spatial, or temporal domain) or on frequency domain or other transform domain data of the media signal. Similarly, the embedded code signal, or components of it, may be defined in the spatial or frequency domain, or in a transform domain. One example of an embedded code signal is a watermark signal with fixed attributes that can be located via matched filtering in the sampled media signal.

Further advantages and features of the invention will become apparent with reference to the following detailed description and accompanying drawings.

FIG. 1 is a flow diagram illustrating an overview of an implementation of a watermark detection process.

FIG. 2 depicts the detection process shown in FIG. 1 as applied to an image.

FIG. 3 illustrates an example of a watermark component used to identify the presence and orientation of the watermark in a target image.

FIG. 4 illustrates an example of a generalized match filter used to correlate a watermark detection signal with a target image in the detection process.

FIG. 5 illustrates a block diagram of a computer system that serves as an operating environment for an implementation of the invention.

Introduction

A watermark provides a mechanism for imperceptibly embedding information into digital media content. Media content includes various forms of data represented as a collection of digital samples that may be altered without disrupting the function or appearance of the data in a perceptible way. Watermarking is particularly suited for visual and audio media such as images, video and sound, yet it applies to other data forms as well. It may be performed in the digital and analog domains.

The watermark is “imperceptible” from the standpoint that it makes minor alterations to media samples that are generally not noticeable to the user. The degree to which the watermark is imperceptible at playback depends on the implementation and the requirements of the application. In some applications, it may be sufficient that the watermark is virtually imperceptible even though one might discern it upon closer scrutiny. Also, some applications may utilize an imperceptible watermark along with perceptible markings to help detect the watermark or determine its orientation.

Digital watermarking systems are sometimes classified based on how they alter the underlying media content to embed information. Some systems directly alter data samples in the domain in which the media is presented as output while other systems transform the data into another domain and then alter the transformed samples. In watermarking of digital images for example, the system may alter discrete pixel values in the spatial domain, or it may transform the image into discrete spatial frequency components and alter the frequency components. In the image field alone, there are many different types of transforms to different domains, such as a discrete cosine transform (DCT), Fourier transform, Karhunen-Loeve transform (KLT), wavelet transform etc. The embedding component of a watermarking system may embed a watermark pattern in any of these domains and then convert the watermarked media back to its original form. Similarly, the embedding component may transform a watermark pattern from one domain to the output domain of the target media content (e.g., spatial domain for images) and combine the transformed pattern with the original media content to create a watermarked version of the target media.

Using Fourier Mellin Transform in Watermark Detection

The following sections describe a watermark detection process that employs a Fourier Mellin Transform. For the purpose of this discussion, the process is adapted to detecting a watermark in an image. A similar process may be used for other empirical data sets such as audio and video. FIG. 1 is a flow diagram illustrating an overview of an implementation of the detection process. The following sections cross-reference the diagram through reference numbers.

The objective of the detection process shown in FIG. 1 is to determine whether a watermark is present, and if so, its orientation within the target image. The orientation approximates a geometric transform that the original media content has experienced as a result of intentional or unintentional corruption.

Capturing Data Sets

The detection process begins by capturing one or more data sets from the target data (100, 102). In the case of an image, the target data is an image (the target image 102), and the data sets are blocks of pixels taken from this image.

Transform Data Set to Frequency Domain

Next, the detection process transforms the data sets into the frequency domain (104). In particular, it performs a Fourier transform of an image block from the spatial domain to a spatial frequency domain.

Noise Reduction Functions

The process may optionally apply one or more pre-processing functions to reduce the impact of unwanted noise on the detection process. For example, in one implementation, the detection process adds two or more image blocks together to increase the embedded signal to noise ratio (the addition may be performed in the spatial or some other transform domain). Filtering may also be employed to attenuate signal having little, if any, watermark information.

Transform to Log Polar Coordinate System

Next, the process transforms the data set (which may contain a transformed watermark) to a log polar coordinate system (106). By converting to the log polar domain, rotation and scale are converted to translation. One implementation performs a Fourier Mellin transform to map the data set from the spatial frequency domain to a log-polar coordinate system. For other types of signals, a similar mapping of the data set may be employed. For audio signals, the detector may perform a logarithmic sampling of audio data (e.g., a logarithmic sampling of frequency domain audio data) to convert scaling into translation. For video signals, the detector may perform a log-log-log transformation or a log-polar-log transformation of the two spatial coordinates (horizontal and vertical directions within an image), and temporal coordinates, respectively.

Correlation with the Watermark Pattern to Find Rotation and Scale

At this stage, the detection process correlates the watermark pattern (108) with the data set in the log-polar coordinate system to find rotation and scale parameters (110, 112). A variety of correlation processes may be used to implement this phase. For example, there is a general class of such correlation processes that are referred to as generalized matched filters. One implementation employs a generalized matched filter to determine the rotation and scale parameters for the block of interest. Alternatively, one may employ specialized correlation filters to perform correlation. The location in log polar space that provides the highest measure of correlation provides an estimate of the rotation and scale parameters.

Using Rotation and Scale to Get Translation

Having determined rotation and scale parameters, the detection process proceeds to conduct further correlation to find the translation parameter for the block of interest (114). Using the rotation and scale parameters as a starting point, the detection process conducts additional block matching on the spatial image data to determine the translation parameters (116). In particular, one implementation rotates and scales the block of interest and then searches the block to find the location within the block that most closely matches the watermark pattern. This location provides the translation parameters, e.g., the coordinates of a reference position within the block.

Example Implementation

FIG. 2 depicts the detection process shown in FIG. 1 as applied to an image. In the detector implementation illustrated in FIG. 2, the target image is divided into blocks of pixels, which form the data sets for the detection process. The implementation supports blocks of varying sizes, but typically, they are N by N, such as 32 by 32, 64 by 64, 96, by 96, 128 by 128, etc. The detection process operates on these data sets to look for a watermark, and if one is identified, to compute an orientation vector.

Before elaborating on implementation details, it is helpful to begin with an overview of the watermark structure. As noted above, the watermark may be implemented in a variety of ways. In the context of images, for example, it may be applied to the original content in the spatial domain, in a frequency domain, or some combination of these domains. The specific values of the watermark used to alter discrete samples of the image may be expressed in the spatial or frequency domain. For example, the watermark samples may be expressed as having some value and location in the spatial and or frequency domain. In addition, the value of a watermark sample may be a function of position in a given domain and may be a function of the corresponding image sample that it alters. For example, it may be expressed as a “delta function” that alters the corresponding image sample depending on the value of that image sample. For additional description of watermark encoding, please see U.S. Pat. No. 6,614,914, and co-pending application Ser. No. 09/452,021, (now U.S. Pat. No. 7,044,395), which are hereby incorporated by reference.

Components of the watermark may perform the function of conveying information content, identifying the watermark's orientation, or both of these functions. The detection process is primarily concerned with the watermark's ability to identify its orientation.

The watermark used in the implementation illustrated in FIG. 2 has an orientation signal component that helps identify the watermark's orientation in a corrupted image. FIG. 3 illustrates one quadrant of an example orientation component in a spatial frequency domain, namely Fourier transform domain (other transform domains may be used as well). The points in the plot represent impulse functions (also referred to as orientation points), indicating signal content of the detection watermark signal. The pattern of orientation points for the illustrated quadrant is replicated in all four quadrants, though such quadrant replication is not necessary in all applications. There are a number of properties of the detection pattern that impact its effectiveness for a particular application. The selection of these properties is highly dependent on the application.

One property is the extent to which the pattern is symmetric about one or more axes. For example, if the detection pattern is symmetrical about the horizontal and vertical axes, it is referred to as being quad symmetric. If it is further symmetrical about diagonal axes at an angle of 45 degrees, it is referred to as being octally symmetric (repeated in a symmetric pattern 8 times about the origin). Such symmetry aids in identifying the watermark in a suspect signal, and aids in extracting the rotation angle. However, in the case of an octally symmetric pattern, the detector includes an additional step of testing which of the four quadrants the orientation angle falls into.

Also, impulse functions defined in the Fourier transform domain should have conjugate symmetry so that they map to a real image in the spatial domain.

The orientation points shown in the example of FIG. 3 are magnitude components in a frequency domain. In particular, FIG. 3 depicts a Fourier domain. However, in other implementations, an embedded signal component may be defined in other transform domains as well, such as a wavelet transform or Discrete Cosine Transform domain.

The impulse functions may have random, or more particularly, “pseudo random” phase. Pseudo random refers to the case where the impulse functions or other orientation signal components have random phase, yet the phase of each component is known. The known phase attributes enable automated detection processes to determine the position of a watermark in a suspect signal, even in cases where the signal has been translated (shifted, offset) subsequent to encoding of the watermark. This type of mis-registration occurs, for example, where the detection process starts at some arbitrary location in an audio or image signal, or the signal has been clipped, shifted or offset.

Another criterion is the position of the orientation points and the frequency range that they reside in. Preferably, the orientation points fall in a mid frequency range. If they are located in a low frequency range, they may be noticeable in the watermarked image. If they are located in the high frequency range, they are more difficult to recover. Also, they should be selected so that scaling, rotation, and other manipulation of the watermarked signal does not push the orientation points outside the range of the detector. Finally, the orientation points should preferably not fall on the vertical or horizontal axes, and each orientation point should have a unique horizontal and vertical location.

While FIG. 3 depicts a two-dimensional orientation signal, orientation signals may be one dimensional (a one-dimensional signal, e.g., a set of impulses in one dimension, for audio signals) or have more than two dimensions (e.g., a collection of functions that span three dimensions such as a set of two-dimensional impulse functions as in FIG. 3 that change in position or magnitude over time).

As explained below, the detector performs correlation processes between this orientation pattern (or a transformed version of it) and transformed data sets extracted from the target image.

Returning to the process depicted in FIG. 2, the detector segments the target image into blocks (e.g., 200, 202) and then performs a 2-dimensional fast Fourier transform (2D FFT) on each block. This process yields a 2D transform of the magnitudes of the image content of the block in the spatial frequency domain as depicted in the plot 204 shown in FIG. 2.

Next, the detector process performs a log polar sampling of the transformed block. The type of sampling in this implementation is referred to as a Fourier Mellin transform. The Fourier Mellin transform is a geometric transform that warps the image frequency domain data from a Cartesian Coordinate System to a log polar coordinate system. As depicted in the plot 206 shown in FIG. 2, this transform sweeps through the transformed image data along a line at angle θ, mapping the data to a log polar coordinate system shown in the next plot 208. The log polar coordinate system has a rotation axis, representing the angle θ, and a scale axis. Inspecting the transformed data at this stage, one can see the orientation points of the watermark begin to be distinguishable from the noise component of the image signal.

Next, the detector performs a correlation 210 between the transformed image block and the transformed orientation signal 212. At a high level, the correlation process slides the orientation signal over the transformed image (in a selected transform domain, such as a spatial frequency domain) and measures the correlation at an array of discrete positions. Each such position has a corresponding scale and rotation parameter associated with it. Ideally, there is a position that clearly has the highest correlation relative to all of the others. In practice, there may be several candidates with a promising measure of correlation. As explained further below, these candidates may be subjected to one or more additional correlation stages to select the one that provides the best match for the orientation pattern.

There are a variety of ways to implement the correlation process. Any number of generalized matched filters may be implemented for this purpose. FIG. 4 depicts one such type of generalized matched filter. This filter, sometimes referred to as a Fourier Magnitude filter, performs an FFT on the target and the orientation signal (400, 402), multiplies the resulting arrays together to yield a multiplied FFT (406). The filtering operation is a form of convolution of the orientation signal with the target image. In particular, the filter repeatedly re-positions, multiplies the corresponding samples of the orientation signal and target, and accumulates the result at the corresponding location in the resulting array. Finally, it performs an inverse FFT (408) on the multiplied FFT to return the data into its original log-polar domain. The position or positions within this resulting array with the highest magnitude represent the candidates with the highest correlation.

When there are several viable candidates, the detector selects a set of the top candidates and applies an additional correlation stage. Each candidate has a corresponding rotation and scale parameter. The correlation stage rotates and scales the FFT of the orientation signal and performs a matching operation with the rotated and scaled orientation signal on the FFT of the target image. The matching operation multiplies the values of the transformed orientation signal (rotated and scaled) with sample values at corresponding positions in the Fourier magnitude data of the target image and accumulates the result to yield a measure of the correlation. The detector repeats this process for each of the candidates and picks the one with the highest measure of correlation. As shown in FIG. 2, the rotation and scale parameters (214) of the selected candidate are then used to find additional parameters that describe the orientation of the watermark in the target image.

The detector applies the scale and rotation to the target data block in the spatial domain 216 and then performs another correlation process between the orientation signal 218 and the scaled and rotated data block 216. The correlation process 220, in this example, is a generalized matched filter operation. It provides a measure of correlation for an array of positions that each has an associated translation parameter (e.g., an x, y position). Again, the location with the highest measure of correlation determines the translation parameters.

The phase attributes of an embedded code signal, such as the orientation signal, may be used to determine the position of the embedded code signal in a suspect media signal. Similarly, they may be used to determine translation of the media signal relative to its position at the time of encoding of the embedded code signal. Consider the case where the orientation signal has known phase attributes, such as components (e.g., impulse functions) with known phases. An example is the set of impulse functions with pseudo random phase described previously. To determine translation, the detector may apply phase only matching between the orientation signal and the suspect signal to find the location (or translation parameter(s)) where the phase attributes of both signals provide the best match. For example, matched filtering may be performed to determine the translation parameters (e.g., x and y position in a 2D signal) that provide the highest measure of correlation. Such phase matching may be performed in one (e.g., audio), two (e.g., image), or higher dimensional signals (e.g., video). This process may be used to determine the location of an embedded code signal in a suspect signal, and may also be used to determine a transformation that has been applied to a media signal subsequent to being encoded with the embedded code signal.

At this point, the detector has recovered the following orientation parameters: rotation, scale and translation. For many applications, these parameters may be sufficient to enable accurate reading of the watermark. In a watermark read operation, the reader applies the orientation parameters to re-orient the target image and then proceeds to extract the watermark signal. In some applications, the watermarked image may be stretched more in one spatial dimension than another. This type of distortion is sometimes referred to as differential scale or shear. Consider that the original image blocks are square. As a result of differential scale, each square may be warped into a parallelogram with unequal sides. Differential scale parameters define the nature and extent of this stretching.

Differential Scale

There are several alternative ways to recover the differential scale parameters. One general class of techniques is to use the known parameters (e.g., the computed scale, rotation, and translation) as a starting point to find the differential scale parameters. Assuming the known parameters to be valid, this approach warps either the orientation signal or the target image with selected amounts of differential scale and picks the differential scale parameters that yield the best correlation.

Another approach to determination of differential scale is set forth in application Ser. No. 09/452,022 (now U.S. Pat. No. 6,959,098).

Yet another approach is to perform log-log sampling to convert scale in each of two dimensions to translation in each of the two dimensions of the log-log sampled signal. Then, matched filtering between an orientation signal and the sampled signal can be used to find the scale parameters in each dimension that provide the best correlation.

Implementation Platforms

FIG. 5 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which the invention may be implemented. The invention is implemented in program modules comprising executable instructions that run on a computer. It may also be implemented in hardware (e.g., a ASIC) or a combination of hardware or software.

Generally, program modules include routines, programs, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The invention may be ported to other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. The invention may also be implemented 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.

FIG. 5 illustrates an example of a computer system that serves as an operating environment for the invention. The computer system includes a computer 520, including a processing unit 521, a system memory 522, and a system bus 523 that interconnects various system components including the system memory to the processing unit 521.

The system bus may comprise any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using a bus architecture such as PCI, VESA, Microchannel (MCA), ISA and EISA, to name a few.

The system memory includes read only memory (ROM) 524 and random access memory (RAM) 525. A basic input/output system 526 (BIOS), containing the basic routines that help to transfer information between elements within the computer 520, such as during start-up, is stored in ROM 524.

The computer 520 further includes a hard disk drive 527, a magnetic disk drive 528, e.g., to read from or write to a removable disk 529, and an optical disk drive 530, e.g., for reading a CD-ROM disk 531 or to read from or write to other optical media. The hard disk drive 527, magnetic disk drive 528, and optical disk drive 530 are connected to the system bus 523 by a hard disk drive interface 532, a magnetic disk drive interface 533, and an optical drive interface 534, respectively. The drives and their associated computer-readable media provide nonvolatile storage of data, data structures, computer-executable instructions (program code such as dynamic link libraries, and executable files), etc. for the computer 520.

Although the description of computer-readable media above refers to a hard disk, a removable magnetic disk and a CD, it can also include other types of media that are readable by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, and the like.

A number of program modules may be stored in the drives and RAM 525, including an operating system 535, one or more application programs 536, other program modules 537, and program data 538.

A user may enter commands and information into the personal computer 520 through a keyboard 540 and pointing device, such as a mouse 542. Other input devices may include a microphone, joystick, game pad, satellite dish, digital camera, scanner, or the like. A digital camera or scanner 543 may be used to capture the target image for the detection process described above. The camera and scanner are each connected to the computer via a standard interface 544. Currently, there are digital cameras designed to interface with a Universal Serial Bus (USB), Peripheral Component Interconnect (PCI), and parallel port interface. Two emerging standard peripheral interfaces for cameras include USB2 and 1394 (also known as firewire and iLink).

These and other input devices are often connected to the processing unit 521 through a serial port interface 546 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port or a universal serial bus (USB).

A monitor 547 or other type of display device is also connected to the system bus 523 via an interface, such as a video adapter 548. In addition to the monitor, personal computers typically include other peripheral output devices (not shown), such as speakers and printers.

The computer 520 operates in a networked environment using logical connections to one or more remote computers, such as a remote computer 549. The remote computer 549 may be a server, a router, a peer device or other common network node, and typically includes many or all of the elements described relative to the computer 520, although only a memory storage device 550 has been illustrated in FIG. 5. The logical connections depicted in FIG. 5 include a local area network (LAN) 551 and a wide area network (WAN) 552. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.

When used in a LAN networking environment, the computer 520 is connected to the local network 551 through a network interface or adapter 553. When used in a WAN networking environment, the personal computer 520 typically includes a modem 54 or other means for establishing communications over the wide area network 552, such as the Internet. The modem 554, which may be internal or external, is connected to the system bus 523 via the serial port interface 546.

In a networked environment, program modules depicted relative to the personal computer 520, or portions of them, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and that other means of establishing a communications link between the computers may be used.

Concluding Remarks

Having described and illustrated the principles of the invention with reference to specific implementations, it will be recognized that the principles thereof can be implemented in many other, different, forms. For example, the nature of the orientation parameters extracted during the detection process may vary. Also, the order in which these parameters are extracted may vary as well.

The specific matching techniques described above are only examples of suitable correlation processes. Instead of generalized matched filters, the correlation processes may be implemented using impulse matched filters. Some of the matching operations detailed above operate on data transformed into a frequency domain. The correlation processes may be performed in different domains, such as the spatial domain or temporal domain, and transform domains, including but not limited to wavelet, DCT, or Fourier transform domains.

To provide a comprehensive disclosure without unduly lengthening the specification, applicants incorporate by reference the patents and patent applications referenced above. The particular combinations of elements and features in the above-detailed embodiments are exemplary only; the interchanging and substitution of these teachings with other teachings in this and the incorporated-by-reference patents/applications are also contemplated.

Rhoads, Geoffrey B., Sharma, Ravi K.

Patent Priority Assignee Title
10176545, Mar 05 2010 Digimarc Corporation Signal encoding to reduce perceptibility of changes over time
10198648, Apr 10 2015 Digimarc Corporation Decoding 1D-barcodes in digital capture systems
10217182, Oct 29 2015 Digimarc Corporation Construction of signal maps for images with encoded signals
10275847, Oct 29 2015 Digimarc Corporation Detecting conflicts between multiple different signals within imagery
10438310, Dec 23 2008 Digimarc Corporation Signal decoding methods, apparatus and systems
10460413, Jul 19 2013 Digimarc Corporation Feature-based signal localization in digital capture systems
10565415, Feb 23 2016 Digimarc Corporation Scanner with control logic for resolving package labeling conflicts
10650209, Mar 05 2015 Digimarc Corporation Localization of machine-readable indicia in digital capture systems
10664940, Mar 05 2010 Digimarc Corporation Signal encoding to reduce perceptibility of changes over time
10748231, Oct 29 2015 Digimarc Corporation Detecting conflicts between multiple different signals within imagery
10789438, Feb 08 2019 Digimarc Corporation Detecting conflicts between multiple different encoded signals within imagery, using only a subset of available image data
10880451, Jun 08 2018 Digimarc Corporation Aggregating detectability metrics to determine signal robustness
10929943, Sep 15 2016 Digimarc Corporation Detecting conflicts between multiple different encoded signals within imagery
10972628, Oct 13 2014 Digimarc Corporation Methods for estimating watermark signal strength, an embedding process using the same, and related arrangements
11036949, Feb 23 2016 Digimarc Corporation Scanner with control logic for resolving package labeling conflicts
11057685, Mar 29 2018 NCR Voyix Corporation Media content proof of play over optical medium
11188997, Oct 29 2015 Digimarc Corporation Detecting conflicts between multiple different signals within imagery
11194984, Mar 05 2015 Digimarc Corporation Localization of machine-readable indicia in digital capture systems
11238556, Oct 29 2012 Digimarc Corporation Embedding signals in a raster image processor
11244183, Apr 10 2015 Digimarc Corporation Decoding 1D-barcodes in digital capture systems
11250226, Feb 08 2019 Digimarc Corporation Detecting conflicts between multiple different encoded signals within imagery, using only a subset of available image data
11250534, Oct 29 2015 Digimarc Corporation Determining detectability measures for images with encoded signals
11250535, Feb 08 2019 Digimarc Corporation Detecting conflicts between multiple different encoded signals within imagery, using only a subset of available image data, and robustness checks
11449698, Feb 23 2016 Digimarc Corporation Scanner with control logic for resolving package labeling conflicts
11676238, Oct 29 2015 Digimarc Corporation Detecting conflicts between multiple different signals within imagery
8477990, Mar 05 2010 Digimarc Corporation Reducing watermark perceptibility and extending detection distortion tolerances
8509474, Dec 11 2009 DIGIMARC CORPORATION AN OREGON CORPORATION Digital watermarking methods, apparatus and systems
8606044, Feb 25 2011 ALTEK SEMICONDUCTOR CORP Image processing apparatus and image processing method
8873797, Mar 05 2010 Digimarc Corporation Reducing watermark perceptibility and extending detection distortion tolerances
8913780, Dec 23 2008 Digimarc Corporation Digital watermarking methods, apparatus and systems
8971567, Mar 05 2010 Digimarc Corporation Reducing watermark perceptibility and extending detection distortion tolerances
9269034, Aug 21 2012 Empire Technology Development LLC Orthogonal encoding for tags
9311687, Mar 05 2010 Digimarc Corporation Reducing watermark perceptibility and extending detection distortion tolerances
9317888, Dec 23 2008 Digimarc Corporation Digital watermarking methods, apparatus and systems
9401002, Feb 13 2012 Centre National de la Recherche Scientifique - CNRS; Universite de Nantes Method for inserting, in the fourier domain, a digital watermark in an image and corresponding method for detecting a digital watermark in an image to be analyzed
9521291, Jul 19 2013 Digimarc Corporation Feature-based watermark localization in digital capture systems
9665919, Dec 23 2008 Digimarc Corporation Digital watermarking methods, apparatus and systems
9684941, Oct 29 2012 Digimarc Corporation Determining pose for use with digital watermarking, fingerprinting and augmented reality
9690967, Oct 29 2015 Digimarc Corporation Detecting conflicts between multiple different encoded signals within imagery
9710870, Mar 05 2010 Digimarc Corporation Extending watermark detection distortion tolerances
9716807, Oct 13 2014 Digimarc Corporation Methods for estimating watermark signal strength, an embedding process using the same, and related arrangements
9729815, Aug 16 2013 Samsung Electronics Co., Ltd. Method and electronic device for controlling content integrity using numerical data
9892301, Mar 05 2015 Digimarc Corporation Localization of machine-readable indicia in digital capture systems
9928560, Dec 23 2008 Digimarc Corporation Signal decoding methods, apparatus and systems
9984429, Jul 19 2013 Digimarc Corporation Feature-based signal localization in digital capture systems
Patent Priority Assignee Title
5636292, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Steganography methods employing embedded calibration data
5652626, Sep 03 1993 Kabushiki Kaisha Toshiba Image processing apparatus using pattern generating circuits to process a color image
5710834, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Method and apparatus responsive to a code signal conveyed through a graphic image
5721788, Jul 31 1992 DIGIMARC CORPORATION AN OREGON CORPORATION Method and system for digital image signatures
5745604, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Identification/authentication system using robust, distributed coding
5748783, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Method and apparatus for robust information coding
5768426, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Graphics processing system employing embedded code signals
5822436, Apr 25 1996 DIGIMARC CORPORATION AN OREGON CORPORATION Photographic products and methods employing embedded information
5832119, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Methods for controlling systems using control signals embedded in empirical data
5835639, Dec 18 1996 Intellectual Ventures Fund 83 LLC Method for detecting rotation and magnification in images
5841886, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Security system for photographic identification
5841978, Mar 17 1994 DIGIMARC CORPORATION AN OREGON CORPORATION Network linking method using steganographically embedded data objects
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
5949055, Oct 23 1997 Xerox Corporation Automatic geometric image transformations using embedded signals
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
6229924, Nov 12 1996 DIGIMARC CORPORATION AN OREGON CORPORATION Method and apparatus for watermarking video images
6259801, Jan 21 1999 NEC PERSONAL COMPUTERS, LTD Method for inserting and detecting electronic watermark data into a digital image and a device for the same
6283036, Mar 20 2000 The United States of America as represented by the Secretary of the Navy Variable output warhead
6307949, Nov 05 1998 DIGIMARC CORPORATION AN OREGON CORPORATION Methods for optimizing watermark detection
6311214, Aug 06 1998 DIGIMARC CORPORATION AN OREGON CORPORATION Linking of computers based on optical sensing of digital data
6324573, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Linking of computers using information steganographically embedded in data objects
6332031, Jan 20 1999 DIGIMARC CORPORATION AN OREGON CORPORATION Multiple watermarking techniques for documents and other data
6381341, May 16 1996 DIGIMARC CORPORATION AN OREGON CORPORATION Watermark encoding method exploiting biases inherent in original signal
6385329, Feb 14 2000 DIGIMARC CORPORATION AN OREGON CORPORATION Wavelet domain watermarks
6385330, Jul 31 1992 DIGIMARC CORPORATION AN OREGON CORPORATION Method for encoding auxiliary data within a source signal
6400826, May 21 1998 Massachusetts Institute of Technology System, method, and product for distortion-compensated information embedding using an ensemble of non-intersecting embedding generators
6408082, Apr 25 1996 DIGIMARC CORPORATION AN OREGON CORPORATION Watermark detection using a fourier mellin transform
6418232, Aug 28 1998 Hitachi, Ltd. Method of authenticating digital-watermark pictures
6421070, Nov 12 1996 Digimarc Corporation Smart images and image bookmarking for an internet browser
6424725, May 16 1996 DIGIMARC CORPORATION AN OREGON CORPORATION Determining transformations of media signals with embedded code signals
6427020, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Methods and devices for recognizing banknotes and responding accordingly
6453053, Dec 25 1996 NEC PERSONAL COMPUTERS, LTD Identification data insertion and detection system for digital data
6504941, Apr 30 1998 HEWLETT-PACKARD DEVELOPMENT COMPANY, L P Method and apparatus for digital watermarking of images
6516079, Feb 14 2000 DIGIMARC CORPORATION AN OREGON CORPORATION Digital watermark screening and detecting strategies
6522770, May 19 1999 DIGIMARC CORPORATION AN OREGON CORPORATION Management of documents and other objects using optical devices
6522771, Mar 17 1994 DIGIMARC CORPORATION AN OREGON CORPORATION Processing scanned security documents notwithstanding corruptions such as rotation
6535617, Feb 14 2000 DIGIMARC CORPORATION AN OREGON CORPORATION Removal of fixed pattern noise and other fixed patterns from media signals
6542927, Jul 27 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Linking of computers based on steganographically embedded digital data
6553129, Jul 27 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Computer system linked by using information in data objects
6567533, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Method and apparatus for discerning image distortion by reference to encoded marker signals
6571021, Jan 29 1999 International Business Machines Corporation Recovering an invisible digital image from a distorted image replica
6580808, Sep 25 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Method and apparatus for discerning image distortion by reference to encoded marker signals
6590996, Feb 14 2000 DIGIMARC CORPORATION AN OREGON CORPORATION Color adaptive watermarking
6590998, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Network linking method using information embedded in data objects that have inherent noise
6611607, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Integrating digital watermarks in multimedia content
6614914, May 16 1996 DIGIMARC CORPORATION AN OREGON CORPORATION Watermark embedder and reader
6636615, Jan 20 1998 DIGIMARC CORPORATION AN OREGON CORPORATION Methods and systems using multiple watermarks
6647128, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Method for monitoring internet dissemination of image, video, and/or audio files
6647130, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Printable interfaces and digital linking with embedded codes
6650761, May 19 1999 DIGIMARC CORPORATION AN OREGON CORPORATION Watermarked business cards and methods
6674886, Nov 03 1998 DIGIMARC CORPORATION AN OREGON CORPORATION Method and system for recognizing security documents
6681028, Jul 27 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Paper-based control of computer systems
6681029, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Decoding steganographic messages embedded in media signals
6694042, Jun 09 1999 DIGIMARC CORPORATION AN OREGON CORPORATION Methods for determining contents of media
6694043, Jun 29 1999 DIGIMARC CORPORATION AN OREGON CORPORATION Method of monitoring print data for text associated with a hyperlink
6700990, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Digital watermark decoding method
6700995, Apr 19 2000 DIGIMARC CORPORATION AN OREGON CORPORATION Applying digital watermarks using dot gain correction
6704869,
6711303, Dec 01 1999 Intellectual Ventures Fund 83 LLC Method and computer program for detecting rotation and magnification of images
6718046, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Low visibility watermark using time decay fluorescence
6718047, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Watermark embedder and reader
6721440, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Low visibility watermarks using an out-of-phase color
6728390, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Methods and systems using multiple watermarks
6738493, Jun 24 1998 NEC Corporation Robust digital watermarking
6741758, Apr 07 2000 CANON KUBISHIKI KAISHA Image processor and image processing method
6744906, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Methods and systems using multiple watermarks
6754365, Feb 16 2000 Eastman Kodak Company Detecting embedded information in images
6760463, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Watermarking methods and media
6763123, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Detection of out-of-phase low visibility watermarks
6768809, Feb 14 2000 DIGIMARC CORPORATION AN OREGON CORPORATION Digital watermark screening and detection strategies
6775392, Jul 27 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Computer system linked by using information in data objects
6798894, Aug 26 1997 DIGIMARC CORPORATION AN OREGON CORPORATION Method and apparatus for watermarking video images
6813366, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Steganographic decoding with transform to spatial domain
6826290, Oct 20 1999 Canon Kabushiki Kaisha Image processing apparatus and method and storage medium
6873711, Nov 18 1999 Canon Kabushiki Kaisha Image processing device, image processing method, and storage medium
6879701, Oct 21 1994 Digimarc Corporation Tile-based digital watermarking techniques
6917724, Jun 29 1999 DIGIMARC CORPORATION AN OREGON CORPORATION Methods for opening file on computer via optical sensing
6920232, May 07 1996 DIGIMARC CORPORATION AN OREGON CORPORATION Watermark encoding using arbitrary features
6922480, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Methods for encoding security documents
6947571, Jun 29 1999 Digimarc Corporation Cell phones with optical capabilities, and related applications
6959100, Mar 17 1994 DIGIMARC CORPORATION AN OREGON CORPORATION Secure document design with machine readable, variable message encoded in a visible registration pattern
6975746, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Integrating digital watermarks in multimedia content
6983057, Jun 01 1998 ST ELECTRONICS INFO-SECURITY PTE LTD Methods for embedding image, audio and video watermarks in digital data
6988202, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Pre-filteriing to increase watermark signal-to-noise ratio
6996252, Apr 19 2000 DIGIMARC CORPORATION AN OREGON CORPORATION Low visibility watermark using time decay fluorescence
7003731, Jul 27 1995 DIGIMARC CORPORATION AN OREGON CORPORATION User control and activation of watermark enabled objects
7006661, Jul 27 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Digital watermarking systems and methods
7024016, May 16 1996 DIGIMARC CORPORATION AN OREGON CORPORATION Digital watermarking apparatus and methods
7027614, Apr 19 2000 DIGIMARC CORPORATION AN OREGON CORPORATION Hiding information to reduce or offset perceptible artifacts
7035427, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Method and system for managing, accessing and paying for the use of copyrighted electronic media
7044395, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Embedding and reading imperceptible codes on objects
7051086, Jul 27 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Method of linking on-line data to printed documents
7054465, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Data hiding method and system for embedding and extracting information in signals
7062069, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Digital watermark embedding and decoding using encryption keys
7065237, Dec 10 2001 Canon Kabushiki Kaisha Image processing apparatus and method
7068812, Jul 31 1992 DIGIMARC CORPORATION AN OREGON CORPORATION Decoding hidden data from imagery
7095871, Jul 27 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Digital asset management and linking media signals with related data using watermarks
7111170, May 19 1999 DIGIMARC CORPORATION AN OREGON CORPORATION Distributed system for responding to watermarked documents
7113614, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Embedding auxiliary signals with multiple components into media signals
7116781, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Counteracting geometric distortions in watermarking
7139408, Aug 26 1997 DIGIMARC CORPORATION AN OREGON CORPORATION Transform domain watermarking of image signals
7142689, Jan 31 2000 Canon Kabushiki Kaisha Image processing apparatus for determining specific images
7152021, Aug 15 2002 DIGIMARC CORPORATION AN OREGON CORPORATION Computing distortion of media signals embedded data with repetitive structure and log-polar mapping
7158654, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Image processor and image processing method
7164780, Apr 24 2001 DIGIMARC CORPORATION AN OREGON CORPORATION Digital watermarking apparatus and methods
7171016, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Method for monitoring internet dissemination of image, video and/or audio files
7171020, Jan 20 1998 DIGIMARC CORPORATION AN OREGON CORPORATION Method for utilizing fragile watermark for enhanced security
7174031, May 19 1999 DIGIMARC CORPORATION AN OREGON CORPORATION Methods for using wireless phones having optical capabilities
7177443, May 07 1996 DIGIMARC CORPORATION AN OREGON CORPORATION Method and apparatus for associating identifiers with content
7212649, Oct 22 2001 Ricoh Company, LTD Encoder and encoding method for electronic watermark, decoder and decoding method for electronic watermark, encoding and decoding program for electronic watermark, and recording medium for recording such program
7213757, Aug 31 2001 DIGIMARC CORPORATION AN OREGON CORPORATION Emerging security features for identification documents
7224819, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Integrating digital watermarks in multimedia content
7248717, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Securing media content with steganographic encoding
7261612, Aug 30 1999 DIGIMARC CORPORATION AN OREGON CORPORATION Methods and systems for read-aloud books
7305104, Apr 21 2000 DIGIMARC CORPORATION AN OREGON CORPORATION Authentication of identification documents using digital watermarks
7308110, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Methods for marking images
7313251, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Method and system for managing and controlling electronic media
7319775, Feb 14 2000 DIGIMARC CORPORATION AN OREGON CORPORATION Wavelet domain watermarks
7330564, Apr 24 2001 DIGIMARC CORPORATION AN OREGON CORPORATION Digital watermarking apparatus and methods
7369678, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Digital watermark and steganographic decoding
7377421, May 19 1999 DIGIMARC CORPORATION AN OREGON CORPORATION Methods and systems for interacting with printed articles, such as posters
7391880, Feb 14 2000 DIGIMARC CORPORATION AN OREGON CORPORATION Color adaptive watermarking
7400743, Jan 20 1998 DIGIMARC CORPORATION AN OREGON CORPORATION Methods to evaluate images, video and documents
7406214, May 19 1999 DIGIMARC CORPORATION AN OREGON CORPORATION Methods and devices employing optical sensors and/or steganography
7424131, Aug 09 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Authentication of physical and electronic media objects using digital watermarks
7427030, Aug 31 2001 DIGIMARC CORPORATION AN OREGON CORPORATION Security features for objects and method regarding same
7433491, May 07 1996 DIGIMARC CORPORATION AN OREGON CORPORATION Method and apparatus for associating identifiers with content
7436976, Jul 27 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Digital watermarking systems and methods
7437430, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Network linking using index modulated on data
7444000, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Content identification, and securing media content with steganographic encoding
7444392, Jul 27 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Registering with computer systems
7450734, Jan 13 2000 DIGIMARC CORPORATION AN OREGON CORPORATION Digital asset management, targeted searching and desktop searching using digital watermarks
7454035, Jul 27 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Digital watermarking systems and methods
7460726, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Integrating steganographic encoding in multimedia content
7466840, May 07 1996 DIGIMARC CORPORATION AN OREGON CORPORATION Soft error decoding of steganographic data
7486799, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Methods for monitoring audio and images on the internet
7499566, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Methods for steganographic encoding media
7502759, Aug 30 1999 DIGIMARC CORPORATION AN OREGON CORPORATION Digital watermarking methods and related toy and game applications
7508955, Apr 21 2000 DIGIMARC CORPORATION AN OREGON CORPORATION Authentication of objects using steganography
7515733, Nov 12 1996 DIGIMARC CORPORATION AN OREGON CORPORATION Methods and arrangements employing digital content items
7536034, May 19 1999 DIGIMARC CORPORATION AN OREGON CORPORATION Gestural use of wireless mobile phone devices to signal to remote systems
7537170, Aug 31 2001 DIGIMARC CORPORATION AN OREGON CORPORATION Machine-readable security features for printed objects
7545952, Apr 24 2001 DIGIMARC CORPORATION AN OREGON CORPORATION Image or video display devices
7564992, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Content identification through deriving identifiers from video, images and audio
7577273, Jul 27 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Steganographically encoded video, deriving or calculating identifiers from video, and related methods
7602978, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Deriving multiple identifiers from multimedia content
7628320, May 19 1999 DIGIMARC CORPORATION AN OREGON CORPORATION Methods and systems for interacting with physical objects
7643649, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Integrating digital watermarks in multimedia content
7650009, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Controlling use of audio or image content
7653210, Apr 25 1996 DIGIMARC CORPORATION AN OREGON CORPORATION Method for monitoring internet dissemination of image, video, and/or audio files
7657058, Dec 21 2000 DIGIMARC CORPORATION AN OREGON CORPORATION Watermark orientation signals conveying payload data
7685426, May 07 1996 DIGIMARC CORPORATION AN OREGON CORPORATION Managing and indexing content on a network with image bookmarks and digital watermarks
7693300, Feb 14 2000 DIGIMARC CORPORATION AN OREGON CORPORATION Color image or video processing
7693965, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Analyzing audio, including analyzing streaming audio signals
7697719, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Methods for analyzing electronic media including video and audio
7711143, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Methods for marking images
7720249, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Watermark embedder and reader
7738673, Apr 19 2000 DIGIMARC CORPORATION AN OREGON CORPORATION Low visible digital watermarks
7747038, May 07 1996 DIGIMARC CORPORATION AN OREGON CORPORATION Method and apparatus for associating identifiers with content
7751588, May 07 1996 DIGIMARC CORPORATION AN OREGON CORPORATION Error processing of steganographic message signals
7751596, Nov 12 1996 DIGIMARC CORPORATION AN OREGON CORPORATION Methods and arrangements employing digital content items
7756290, Jan 13 2000 DIGIMARC CORPORATION AN OREGON CORPORATION Detecting embedded signals in media content using coincidence metrics
7760905, Jun 29 1999 DIGIMARC CORPORATION AN OREGON CORPORATION Wireless mobile phone with content processing
7762468, Aug 31 2001 DIGIMARC CORPORATION AN OREGON CORPORATION Readers to analyze security features on objects
7787653, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Methods for controlling rendering of images and video
7792325, May 19 1999 DIGIMARC CORPORATION AN OREGON CORPORATION Methods and devices employing content identifiers
7805500, May 08 1995 DIGIMARC CORPORATION AN OREGON CORPORATION Network linking methods and apparatus
7822225, Apr 17 2000 DIGIMARC CORPORATION AN OREGON CORPORATION Authentication of physical and electronic media objects using digital watermarks
7837094, May 19 1999 DIGIMARC CORPORATION AN OREGON CORPORATION Methods and systems for interacting with physical objects
20010030759,
20010034705,
20010046307,
20010055407,
20020009208,
20020131076,
20020176003,
20020186886,
20020196272,
20030040957,
20030105730,
20030128861,
20030130954,
20040005093,
20040190750,
20040240704,
20050013462,
20050041835,
20050058318,
20050192933,
20050249374,
20060013435,
20060041591,
20060251291,
20070055884,
20070108287,
20070154064,
20070276841,
20070276928,
20080121728,
20080133555,
20080292134,
20090012944,
20090116687,
20090125475,
20090129627,
20090232352,
20090262975,
20090286572,
20090290754,
20100027837,
20100045816,
20100054529,
20100062819,
20100067737,
20100094639,
20100142749,
20100172540,
20100198941,
20100296526,
20110007936,
RE40919, Nov 18 1993 DIGIMARC CORPORATION AN OREGON CORPORATION Methods for surveying dissemination of proprietary empirical data
/////////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Mar 09 2004Digimarc Corporation(assignment on the face of the patent)
Jul 22 2004SHARMA, RAVI K Digimarc CorporationCORRECTION TO THE RECORDATION COVER SHEET OF THE INVENTOR ASSIGNMENT RECORDED AT 015739 0341 ON 08 31 20040261830236 pdf
Aug 11 2004RHOADS, GEOFFREY B Digimarc CorporationASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0157390341 pdf
Aug 11 2004RHOADS, GEOFFREY B Digimarc CorporationCORRECTION TO THE RECORDATION COVER SHEET OF THE INVENTOR ASSIGNMENT RECORDED AT 015739 0341 ON 08 31 20040261830236 pdf
Aug 01 2008DIGIMARC CORPORATION A DELAWARE CORPORATION DMRC LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0252170508 pdf
Aug 01 2008DMRC LLCDMRC CORPORATIONMERGER SEE DOCUMENT FOR DETAILS 0252270808 pdf
Sep 03 2008DMRC CORPORATIONDigimarc CorporationMERGER SEE DOCUMENT FOR DETAILS 0252270832 pdf
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
Jan 25 2016M1551: Payment of Maintenance Fee, 4th Year, Large Entity.
Apr 06 2020REM: Maintenance Fee Reminder Mailed.
Sep 21 2020EXP: Patent Expired for Failure to Pay Maintenance Fees.


Date Maintenance Schedule
Aug 14 20154 years fee payment window open
Feb 14 20166 months grace period start (w surcharge)
Aug 14 2016patent expiry (for year 4)
Aug 14 20182 years to revive unintentionally abandoned end. (for year 4)
Aug 14 20198 years fee payment window open
Feb 14 20206 months grace period start (w surcharge)
Aug 14 2020patent expiry (for year 8)
Aug 14 20222 years to revive unintentionally abandoned end. (for year 8)
Aug 14 202312 years fee payment window open
Feb 14 20246 months grace period start (w surcharge)
Aug 14 2024patent expiry (for year 12)
Aug 14 20262 years to revive unintentionally abandoned end. (for year 12)