IP Library Granted Patent US 9,986,282
Granted Patent B2
US 9,986,282 · App. 15/073,172 · Granted May 29, 2018

Content recognition and synchronization using local caching

Inventors: Brian T. MacIntosh (Lake Oswego, OR); Tony F. Rodriguez (Portland, OR); Ravi K. Sharma (Portland, OR); Matthew M. Weaver (Portland, OR)
Assignee: Digimarc Corporation
H04N21/4307G06T1/0021H04N21/41407H04N21/4305H04N21/4331H04N21/44008H04N21/4622
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,986,282
App. No.
15/073,172
Granted
May 29, 2018
Kind
B2
Abstract

Supplemental network services are synchronized with a program using the program's audio signal. A synchronization method employs local caching of portions of a fingerprint database to manage network services for identifying which programs a user's mobile device is exposed to and the timing of events within the program. The system enables background recognition and synchronization of network services in a way that consumes less device power and bandwidth.

Claims (51)

1. A method of synchronizing a device with a program having an audio signal component, the method comprising:

with a processor in the device:

detecting a digital watermark signal in an audio signal;

based on the digital watermark signal, identifying a fingerprint database corresponding to the program;

obtaining through a network connection and caching locally in a memory of the device a local fingerprint database for the program;

extracting audio features from incoming segments of the audio signal, and forming fingerprints for the incoming segments from audio features extracted from corresponding segments;

matching the fingerprints for the incoming segments with audio fingerprints for the program in the local fingerprint database in the memory of the device, and responsive to detecting matches between fingerprints for incoming segments and matching audio fingerprints in the local fingerprint database, obtaining from the local fingerprint database program times corresponding to the matching audio fingerprints; and

tracking the program times relative to a time reference in the device to keep track of where a user is within the program as the device is exposed to audio of the program.

2. The method of claim 1 wherein the tracking comprises tracking the program times relative to elapsed time from a first program time corresponding to a first matching audio fingerprint.

3. The method of claim 2 including:

with a processor, synchronizing auxiliary services on the device with events in the program as determined from the elapsed time within the device.

4. The method of claim 1 wherein the matching is used to detect a discontinuity in a user's exposure to a program.

5. The method of claim 1 wherein the matching is used to detect time shifting, and with a processor, downloading supplemental material that is configured for time shifted mode, and synchronizing the supplemental material with program events based on the tracking.

6. The method of claim 4 wherein the discontinuity comprises a switch to a different program.

7. The method of claim 1 comprising:

invoking watermark detection in response to detecting loss of synchronization; and

re-establishing synchronization with a time reference obtained from the watermark detection.

8. The method of claim 1 comprising:

wherein the time reference is obtained from a sequence of digital watermarks decoded from the audio signal.

9. A device comprising:

a microphone;

a memory;

a radio for connecting to a network service through a cellular or wi-fi network;

one or more processors, programmed to:

detect a digital watermark signal in an audio signal of a program sensed by the microphone;

identify a fingerprint database corresponding to the program based on the digital watermark signal;

obtain through a network connection and cache locally in the memory a local fingerprint database for the program;

extract audio features from incoming segments of the audio signal, and form fingerprints for the incoming segments from audio features extracted from corresponding segments;

match the fingerprints for the incoming segments with audio fingerprints for the program in the local fingerprint database in the memory, and responsive to detecting matches between fingerprints for incoming segments and matching audio fingerprints in the local fingerprint database, obtain from the local fingerprint database program times corresponding to the matching audio fingerprints; and

track the program times relative to a time reference in the device to keep track of where a user is within the program as the device is exposed to audio of the program.

10. The device of claim 9 including a processor configured to track the program times relative to elapsed time from a first program time corresponding to a first matching audio fingerprint.

11. The device of claim 10 including a processor configured to synchronize auxiliary services on the device with events in the program as determined from the elapsed time within the device.

12. The device of claim 10 including a processor configured to detect a discontinuity in a user's exposure to a program based on data associated with the matching audio fingerprints in the local fingerprint database.

13. The device of claim 12 wherein the discontinuity comprises a switch to a different program.

14. The device of claim 9 including a processor configured to detect time shifting from data associated with the matching audio fingerprints, configured to download supplemental material that is configured for time shifted mode, and configured to synchronize the supplemental material with program events based on the tracking.

15. A non-transitory, computer readable medium on which is stored instructions, which when executed by a processor, perform a method of synchronizing a device with a program having an audio signal, the method comprising:

detecting a digital watermark signal in the audio signal;

based on the digital watermark signal, identifying a fingerprint database corresponding to the program;

obtaining through a network connection and caching locally in a memory of the device a local fingerprint database for the program;

extracting audio features from incoming segments of the audio signal, and forming fingerprints for the incoming segments from audio features extracted from corresponding segments;

matching the fingerprints for the incoming segments with audio fingerprints for the program in the local fingerprint database in the memory of the device, and responsive to detecting matches between fingerprints for incoming segments and matching audio fingerprints in the local fingerprint database, obtaining from the local fingerprint database program times corresponding to the matching audio fingerprints; and

tracking the program times relative to a time reference in the device to keep track of where a user is within the program as the device is exposed to audio of the program.

16. The medium of claim 15 wherein the tracking comprises tracking the program times relative to elapsed time from a first program time corresponding to a first matching audio fingerprint.

17. The medium of claim 16 including instructions, which when executed by a processor, perform an act of:

synchronizing auxiliary services on the device with events in the program as determined from the elapsed time within the device.

18. The medium of claim 16 wherein the matching is used to detect time shifting, and the medium including instructions, which when executed by a processor, perform acts of:

downloading supplemental material that is configured for time shifted mode, and synchronizing the supplemental material with program events based on the tracking.

19. The medium of claim 16 including instructions, which when executed by a processor, perform acts of:

invoking watermark detection in response to detecting loss of synchronization; and

re-establishing synchronization with a time reference obtained from the watermark detection.

20. The medium of claim 16 wherein the time reference is obtained from a sequence of digital watermarks decoded from the audio signal.

Assignments (2)
ARTICLES OF CONVERSION Recorded Jun 19, 2026
From: DIGIMARC CORPORATION
To: DIGIMARC LLC
Reel/Frame 075863/0211 →
ARTICLES OF AMENDMENT OFTHE ARTICLES OF ORGANIZATION OF DIGIMARC LLC Recorded Jun 19, 2026
From: DIGIMARC LLC
To: DMRC LLC
Reel/Frame 075863/0266 →
Continuity (3)
Continuation 13804314 · Mar 14, 2013
Provisional Application 61610988 · Mar 14, 2012
Related Publication 20160269772A1 · Sep 15, 2016