US 11,729,458 B2
Media content identification on mobile devices
Mihailo M. Stojancic, San Jose, CA (US); Sunil Suresh Kulkarni, Santa Cruz, CA (US); Shashank Merchant, Sunnyvale, CA (US); Jose Pio Pereira, Cupertino, CA (US); and Oleksiy Bolgarov, San Jose, CA (US)
Assigned to ROKU, INC., San Jose, CA (US)
Filed by Roku, Inc., San Jose, CA (US)
Filed on Jun. 14, 2019, as Appl. No. 16/441,949.
Application 15/053,064 is a division of application No. 13/590,701, filed on Aug. 21, 2012, granted, now 9,313,359, issued on Apr. 12, 2016.
Application 16/441,949 is a continuation of application No. 15/053,064, filed on Feb. 25, 2016.
Claims priority of provisional application 61/601,234, filed on Feb. 21, 2012.
Prior Publication US 2019/0379927 A1, Dec. 12, 2019
Int. Cl. H04N 21/439 (2011.01); H04N 21/84 (2011.01); H04N 21/845 (2011.01); H04N 21/8352 (2011.01); G10H 1/00 (2006.01); H04N 21/414 (2011.01); H04N 21/422 (2011.01); H04N 21/4223 (2011.01); H04N 21/433 (2011.01); H04N 1/32 (2006.01); H04N 21/43 (2011.01)
CPC H04N 21/4394 (2013.01) [G10H 1/0008 (2013.01); H04N 1/32 (2013.01); H04N 21/41407 (2013.01); H04N 21/4223 (2013.01); H04N 21/42203 (2013.01); H04N 21/439 (2013.01); H04N 21/4332 (2013.01); H04N 21/43072 (2020.08); H04N 21/8352 (2013.01); H04N 21/84 (2013.01); H04N 21/8456 (2013.01); G10H 2210/041 (2013.01); G10H 2210/051 (2013.01); G10H 2240/141 (2013.01); G10H 2250/235 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
determining, by a computing device, a match point within a sequence of media content that is presented by a playback device, wherein the match point is associated with a reference fingerprint of a set of reference fingerprints, and wherein the set of reference fingerprints corresponds to the sequence of media content and is stored in a memory of the computing device;
obtaining, by the computing device, a fragment of media content;
generating, by the computing device, a query fingerprint using the fragment of media content;
comparing, by the computing device, the query fingerprint with a first subset of the set of reference fingerprints, wherein each reference fingerprint of the first subset corresponds to a portion of the sequence of media content that is adjacent to the match point;
based on a result of the comparing, determining, by the computing device, that the query fingerprint does not match any reference fingerprints of the first subset;
based on the determining that the query fingerprint does not match a reference fingerprint of the first subset, comparing, by the computing device, the query fingerprint with a second subset of the set of reference fingerprints, wherein each reference fingerprint of the second subset corresponds to the sequence of media content and has a respective timestamp that is within a threshold time span of the match point, and wherein the second subset has more reference fingerprints than the first subset; and
based on determining that the query fingerprint does not match a reference fingerprint of the second subset, providing the query fingerprint to a server device for a search of additional fingerprints in response to determining that a value of an internal counter is greater than a threshold value, wherein the internal counter is configured to track a number of attempts to match the reference fingerprint of the second subset.