Automatic content recognition with local matching
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-modifiedWhat 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.