IP Library Granted Patent US 11,683,560
Granted Patent B2
US 11,683,560 · App. 17/644,437 · Granted Jun 20, 2023

Automatic content recognition with local matching

Inventor: Juikun Chen (West Jordan, UT)
Assignee: Roku, Inc.
H04N21/44008G06F16/435G06F16/9535H04N21/23418H04N21/2668H04N21/44016H04N21/6581H04N21/812H04N21/8352
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 11,683,560
App. No.
17/644,437
Granted
Jun 20, 2023
Kind
B2
Abstract

A media device and method execute computer instructions to: generate a first query fingerprint of media content; send the first query fingerprint to a server; and receive, from the server, an identification of a first channel being watched in response to the server finding a match to the first query fingerprint. The media device iteratively receives, from the server, a plurality of fingerprints generated from the media content in locations ahead of where the media content is being received; store the plurality of fingerprints in a local database of a computer-readable storage medium; and compare a second query fingerprint of the media content with the plurality of fingerprints to determine whether the media device remains set on the first channel, without continuously pinging the server. When the media device locally detects a non-match with the second query fingerprint, the process starts over with it finding a match at the server.

Claims (58)

1. A media device comprising:

at least one processing device; and

a non-transitory computer-readable medium storing program instructions that, when executed by the at least one processing device, cause the media device to perform operations comprising:

generating a first query fingerprint of first media content being consumed by the media device,

sending the first query fingerprint to a server,

in response to the server finding a match to the first query fingerprint that indicates an identity of a first channel being watched via the media device, receiving, from the server, a plurality of fingerprints of upcoming media content to be displayed on a second channel different from the first channel,

storing the received plurality of fingerprints,

generating a second query fingerprint of second media content being consumed by the media device,

comparing the second query fingerprint with at least the received plurality of fingerprints, and

determining whether the media device has changed from the first channel to the second channel, based on the comparing of the second query fingerprint with at least the received plurality of fingerprints of the upcoming media content to be displayed on the second channel different than the first channel.

2. The media device of claim 1 , wherein the operations further comprise:

receiving, from the server, a plurality of fingerprints of upcoming media content to be displayed on the first channel, wherein the plurality of fingerprints of upcoming media content to be displayed on the first channel is a first plurality of fingerprints, and wherein the plurality of fingerprints of upcoming media content to be displayed on the second channel is a second plurality of fingerprints; and

responsive to detecting a non-match of the second query fingerprint with the first plurality of fingerprints and the second plurality of fingerprints, sending the second query fingerprint to the server to obtain an identification of a third channel different from the first channel and the second channel.

3. The media device of claim 2 , wherein the operations further comprise:

receiving, from the server, the identification of the third channel responsive to the second query fingerprint matching a respective fingerprint of a third plurality of fingerprints stored on the server from third media content streamed on the third channel.

4. The media device of claim 2 , wherein detecting the non-match of the second query fingerprint comprises determining that the second query fingerprint fails to meet a threshold of a matching metric between the second query fingerprint and any of the first plurality of fingerprints and the second plurality of fingerprints, wherein the matching metric comprises a confidence level in a match.

5. The media device of claim 1 , wherein the operations further comprise:

receiving, from the server, a plurality of fingerprints of upcoming media content to be displayed on the first channel, wherein the plurality of fingerprints of upcoming media content to be displayed on the first channel is a first plurality of fingerprints, and wherein the plurality of fingerprints of upcoming media content to be displayed on the second channel is a second plurality of fingerprints; and

in response to the server finding the match to the first query fingerprint, receiving, from the server, a third plurality of fingerprints of third upcoming media content to be displayed on a third channel different from the first channel and the second channel.

6. The media device of claim 1 , wherein the second channel is located sequentially adjacent to the first channel on a channel guide.

7. The media device of claim 1 , wherein the first query fingerprint and the second query fingerprint are each of a respective sequence of frames of media content spanning a predetermined number of seconds.

8. A method comprising:

generating, by a media device, a first query fingerprint of first media content being consumed by the media device;

sending, by the media device, the first query fingerprint to a server;

in response to the server finding a match to the first query fingerprint that indicates an identity of a first channel being watched via the media device, receiving, by the media device, from the server, a plurality of fingerprints of upcoming media content to be displayed on a second channel different from the first channel;

storing, by the media device, the received plurality of fingerprints;

generating, by the media device, a second query fingerprint of second media content being consumed by the media device;

comparing, by the media device, the second query fingerprint with at least the received plurality of fingerprints; and

determining, by the media device, whether the media device has changed from the first channel to the second channel, based on the comparing of the second query fingerprint with at least the received plurality of fingerprints of the upcoming media content to be displayed on the second channel different than the first channel.

9. The method of claim 8 , further comprising:

receiving, from the server, a plurality of fingerprints of upcoming media content to be displayed on the first channel, wherein the plurality of fingerprints of upcoming media content to be displayed on the first channel is a first plurality of fingerprints, and wherein the plurality of fingerprints of upcoming media content to be displayed on the second channel is a second plurality of fingerprints; and

responsive to detecting a non-match of the second query fingerprint with the first plurality of fingerprints and the second plurality of fingerprints, sending the second query fingerprint to the server to obtain an identification of a third channel different from the first channel and the second channel.

10. The method of claim 9 , further comprising:

receiving, from the server, the identification of the third channel responsive to the second query fingerprint matching a respective fingerprint of a third plurality of fingerprints stored on the server from third media content streamed on the third channel.

11. The method of claim 9 , wherein detecting the non-match of the second query fingerprint comprises determining that the second query fingerprint fails to meet a threshold of a matching metric between the second query fingerprint and any of the first plurality of fingerprints and the second plurality of fingerprints, wherein the matching metric comprises a confidence level in a match.

12. The method of claim 8 , further comprising:

receiving, from the server, a plurality of fingerprints of upcoming media content to be displayed on the first channel, wherein the plurality of fingerprints of upcoming media content to be displayed on the first channel is a first plurality of fingerprints, and wherein the plurality of fingerprints of upcoming media content to be displayed on the second channel is a second plurality of fingerprints; and

in response to the server finding the match to the first query fingerprint, receiving, from the server, a third plurality of fingerprints of third upcoming media content to be displayed on a third channel different from the first channel and the second channel.

13. The method of claim 8 , wherein the second channel is located sequentially adjacent to the first channel on a channel guide.

14. The method of claim 8 , wherein the first query fingerprint and the second query fingerprint are each of a respective sequence of frames of media content spanning a predetermined number of seconds.

15. A non-transitory computer-readable medium storing program instructions that, when executed by at least one processor of a media device, cause the media device to perform operations comprising:

generating a first query fingerprint of first media content being consumed by the media device;

sending the first query fingerprint to a server;

in response to the server finding a match to the first query fingerprint that indicates an identity of a first channel being watched via the media device, receiving, from the server, a plurality of fingerprints of upcoming media content to be displayed on a second channel different from the first channel;

storing the received plurality of fingerprints;

generating a second query fingerprint of second media content being consumed by the media device;

comparing the second query fingerprint with at least the received plurality of fingerprints; and

determining whether the media device has changed from the first channel to the second channel, based on the comparing of the second query fingerprint with at least the received plurality of fingerprints of the upcoming media content to be displayed on the second channel different than the first channel.

16. The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise:

receiving, from the server, a plurality of fingerprints of upcoming media content to be displayed on the first channel, wherein the plurality of fingerprints of upcoming media content to be displayed on the first channel is a first plurality of fingerprints, and wherein the plurality of fingerprints of upcoming media content to be displayed on the second channel is a second plurality of fingerprints; and

responsive to detecting a non-match of the second query fingerprint with the first plurality of fingerprints and the second plurality of fingerprints, sending the second query fingerprint to the server to obtain an identification of a third channel different from the first channel and the second channel.

17. The non-transitory computer-readable medium of claim 16 , wherein the operations further comprise:

receiving, from the server, the identification of the third channel responsive to the second query fingerprint matching a respective fingerprint of a third plurality of fingerprints stored on the server from third media content streamed on the third channel.

18. The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise:

receiving, from the server, a plurality of fingerprints of upcoming media content to be displayed on the first channel, wherein the plurality of fingerprints of upcoming media content to be displayed on the first channel is a first plurality of fingerprints, and wherein the plurality of fingerprints of upcoming media content to be displayed on the second channel is a second plurality of fingerprints; and

in response to the server finding the match to the first query fingerprint, receiving, from the server, a third plurality of fingerprints of third upcoming media content to be displayed on a third channel different from the first channel and the second channel.

19. The non-transitory computer-readable medium of claim 15 , wherein the second channel is located sequentially adjacent to the first channel on a channel guide.

20. The non-transitory computer-readable medium of claim 15 , wherein the first query fingerprint and the second query fingerprint are each of a respective sequence of frames of media content spanning a predetermined number of seconds.

Assignments (7)
SECURITY INTEREST Recorded Sep 18, 2024
From: ROKU, INC.
To: CITIBANK, N.A.
Reel/Frame 068982/0377 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2023
From: THE NIELSEN COMPANY (US), LLC
To: ROKU, INC.
Reel/Frame 063639/0424 →
SECURITY INTEREST Recorded May 8, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: ARES CAPITAL CORPORATION
Reel/Frame 063574/0632 →
SECURITY INTEREST Recorded Apr 28, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: CITIBANK, N.A.
Reel/Frame 063561/0381 →
SECURITY AGREEMENT Recorded Jan 31, 2023
From: GRACENOTE DIGITAL VENTURES, LLC; GRACENOTE MEDIA SERVICES, LLC; GRACENOTE, INC.; TNC (US) HOLDINGS, INC.; THE NIELSEN COMPANY (US), LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 063560/0547 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2021
From: SORENSON MEDIA, INC.
To: THE NIELSEN COMPANY (US), LLC
Reel/Frame 058401/0925 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2021
From: CHEN, JUIKUN
To: SORENSON MEDIA, INC.
Reel/Frame 058400/0409 →
Continuity (4)
Continuation 16924119 · Jul 8, 2020
Continuation 14813416 · Jul 30, 2015
Provisional Application 62151915 · Apr 23, 2015
Related Publication 20220109907A1 · Apr 7, 2022