IP Library Granted Patent US 9,292,894
Granted Patent B2
US 9,292,894 · App. 13/804,314 · Granted Mar 22, 2016

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
G06T1/0021H04N21/4307H04N21/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,292,894
App. No.
13/804,314
Granted
Mar 22, 2016
Kind
B2
Abstract

A content fingerprint based recognition system 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 (30)

1. A method comprising:

from a processor within a device, querying a content recognition database to determine program identification;

obtaining through a network connection and caching locally in a memory of the device a local fingerprint database for a program associated with the program identification, the local fingerprint database including audio fingerprints for segments of the program and program times for associated audio fingerprints in the local fingerprint database;

with a processor operating on an electronic audio signal sensed from ambient audio by a microphone of the device, extracting audio features from incoming segments of the electronic audio signal, and forming fingerprints for the incoming segments from audio features extracted from corresponding segments;

with a processor, 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

with a processor, 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 wherein the content recognition database comprises a fingerprint database of fingerprints having a first temporal granularity, wherein the local fingerprint database comprises fingerprints having a second temporal granularity, the second temporal granularity being higher than the first temporal granularity.

8. 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:

query through the cellular or wi-fi network a content recognition database of the network service to determine program identification;

obtain through a network connection to the network service and cache locally in the memory of the device a local fingerprint database for a program associated with the program identification, the local fingerprint database including audio fingerprints for segments of the program and program times for associated audio fingerprints in the local fingerprint database;

operate on an electronic audio signal sensed from ambient audio by the microphone of the device to extract audio features from incoming segments of the electronic audio signal, and to 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 to determine matching audio fingerprints;

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.

9. The device of claim 8 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.

10. The device of claim 9 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.

11. The device of claim 9 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.

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

13. The device of claim 8 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.

14. The device of claim 8 wherein the content recognition database comprises a fingerprint database of fingerprints having a first temporal granularity, wherein the local fingerprint database comprises fingerprints having a second temporal granularity, the second temporal granularity being higher than the first temporal granularity.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2013
From: MACINTOSH, BRIAN T.; RODRIGUEZ, TONY F.; SHARMA, RAVI K.; WEAVER, MATTHEW M.
To: DIGIMARC CORPORATION
Reel/Frame 030932/0655 →
Continuity (2)
Provisional Application 61610988 · Mar 14, 2012
Related Publication 20130308818A1 · Nov 21, 2013