US11683560B2ActiveUtilityA1

Automatic content recognition with local matching

Assignee: ROKU INCPriority: Apr 23, 2015Filed: Dec 15, 2021Granted: Jun 20, 2023
Est. expiryApr 23, 2035(~8.7 yrs left)· nominal 20-yr term from priority
Inventors:Juikun Chen
H04N 21/812H04N 21/8352H04N 21/23418H04N 21/44008G06F 16/435H04N 21/2668H04N 21/6581G06F 16/9535H04N 21/44016
66
PatentIndex Score
0
Cited by
60
References
20
Claims

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

exact text as granted — not AI-modified
What is claimed is: 
     
       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.

Join the waitlist — get patent alerts

Track US11683560B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.