IP Library Granted Patent US 9,747,656
Granted Patent B2
US 9,747,656 · App. 14/724,729 · Granted Aug 29, 2017

Differential modulation for robust signaling and synchronization

Inventors: John Stach (Portland, OR); Ajith M. Kamath (Beaverton, OR)
Assignee: Digimarc Corporation
G06T1/005G06T1/0028G06T2201/0061G06T2201/0065G06T2201/0202
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,747,656
App. No.
14/724,729
Granted
Aug 29, 2017
Kind
B2
Abstract

Differential modulation schemes encode a data channel within host signal or noisy environment in a manner that is robust, flexible to achieve perceptual quality constraints, and provides improved data capacity. Differential arrangements enable a decoder to suppress host signal or other background signal interference when detecting, synchronizing and extracting an encoded data channel. They also enable the incorporation of implicit or explicit synchronization components, which are either formed from the data signal or are complementary to it.

Claims (44)

1. A method of encoding auxiliary data in a host image signal, the method comprising:

generating an auxiliary data signal comprised of variable data elements;

mapping each of the variable data elements to plural blocks within the host image signal, wherein each block comprises neighboring embedding locations within the host image signal;

for each variable data element, modulating the host image signal according to the variable data element to embed the variable data element in corresponding plural blocks, including within each of the corresponding plural blocks, modulating the host image by establishing differential relationships between the variable data element in non-adjacent embedding locations within each block.

2. The method of claim 1 wherein the mapping tiles the plural blocks corresponding to each variable data element in a repetitive structure that forms a template in a frequency domain transform of the host image signal.

3. The method of claim 1 wherein plural of the variable data elements are mapped to the same plural blocks within the host image, and plural variable data elements within the same block are encoded in differential relationships among interleaved embedding locations within the same block.

4. The method of claim 1 further including mapping synchronization signal elements to plural blocks within the host image signal.

5. The method of claim 4 wherein embedding locations of the synchronization signal elements and the variable data elements are interleaved within the same plural blocks.

6. The method of claim 4 wherein differential relationships for encoding the variable data elements and the synchronization signal elements are established using vectors for the variable data elements and the synchronization elements that are orthogonal.

7. A method of decoding an auxiliary data signal embedded in a host image, the method comprising:

for each of plural filtering locations within the host image, applying an extraction filter that extracts auxiliary data signal elements from differential relationships between host image signal elements at non-adjacent embedding locations within a block of neighboring embedding locations around a filtering location, wherein the differential relationships are formed by differential modulation of the auxiliary data signal within the host image;

aggregating filter outputs across plural filtering locations for each of plural variable data signal elements within the auxiliary data signal to obtain estimates of each of the plural variable data signal elements; and

error correction decoding a variable message from the estimates.

8. The method of claim 7 including:

transforming the host image into a frequency domain, wherein a repetitive pattern of the differential relationships form a template;

matching the transformed host image with a pre-determined template to obtain an estimate of rotation and scale of the auxiliary data signal within the host image.

9. The method of claim 8 including:

with the rotation and scale to compensate for geometric distortion, applying the extraction filter to extract an approximate auxiliary signal from the differential relationships;

transforming the approximate auxiliary signal into a frequency domain; and

refining synchronization by matching the predetermined template with the transformed approximate auxiliary signal.

10. The method of claim 7 including transforming the host image into a frequency domain, wherein a repetitive pattern of the differential relationships form a template; wherein the auxiliary signal comprises variable data signal elements and sync signal elements that are differentially encoded within the host image according to orthogonal vectors for the variable data signal elements and the sync signal elements.

11. The method of claim 7 including:

synchronizing the auxiliary data signal with nulls formed in an output of applying the extraction filter to the host image.

12. The method of claim 7 including:

applying geometrically distorted versions of the extraction filter to the host image to obtain feature vectors; and

obtaining geometric distortion parameters from the feature vectors and compensating for the geometric distortion by adapting application of the extraction filter according to the geometric distortion parameters to obtain the estimates.

13. The method of claim 7 wherein the auxiliary data signal is comprised of variable data elements;

wherein the variable data elements are mapped to plural blocks within the host image signal, and each block comprises neighboring embedding locations within the host image signal;

for each variable data element, the host image is modulated to establish differential relationships between the variable data element in non-adjacent embedding locations within each block.

14. The method of claim 13 wherein the auxiliary data signal is embedded in the host image signal such that the plural blocks corresponding to each variable data element are tiled in a repetitive structure that forms a template in a frequency domain transform of the host image signal;

the method of claim 13 further comprising:

transforming the host image into a frequency domain, wherein the repetitive pattern of the differential relationships form the template; and

matching the transformed host image with a pre-determined template to obtain an estimate of rotation and scale of the auxiliary data signal within the host image.

15. The method of claim 13 wherein plural of the variable data elements are mapped to the same plural blocks within the host image, and plural variable data elements within the same block are encoded in differential relationships among interleaved embedding locations within the same block.

16. The method of claim 13 wherein synchronization signal elements are mapped to plural blocks within the host image signal; and the synchronization signal elements and the variable data elements are interleaved within the same plural blocks.

17. The method of claim 16 wherein differential relationships for encoding the variable data elements and the synchronization signal elements are established using vectors for the variable data elements and the synchronization elements that are orthogonal.

18. An apparatus for decoding an auxiliary data signal embedded in a host image, the method comprising:

an extraction filter means for filtering the host image at plural filtering locations to extract auxiliary data signal elements from differential relationships between host image signal elements at non-adjacent embedding locations within a block of neighboring embedding locations around a filtering location, wherein the differential relationships are formed by differential modulation of the auxiliary data signal within the host image;

means for combining outputs of the extraction filter means across plural filtering locations for each of plural variable data signal elements within the auxiliary data signal to obtain estimates of each of the plural variable data signal elements; and

means for decoding a variable message from the estimates.

19. A non-transitory computer readable medium on which is stored instructions, which when executed by a processor, perform the method of:

for each of plural filtering locations within the host image, applying an extraction filter that extracts auxiliary data signal elements from differential relationships between host image signal elements at non-adjacent embedding locations within a block of neighboring embedding locations around a filtering location, wherein the differential relationships are formed by differential modulation of the auxiliary data signal within the host image;

aggregating filter outputs across plural filtering locations for each of plural variable data signal elements within the auxiliary data signal to obtain estimates of each of the plural variable data signal elements; and

error correction decoding a variable message from the estimates.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 27, 2015
From: STACH, JOHN; KAMATH, AJITH M.
To: DIGIMARC CORPORATION
Reel/Frame 036894/0407 →
Continuity (2)
Provisional Application 62106685 · Jan 22, 2015
Related Publication 20160217547A1 · Jul 28, 2016