US11051055B1ActiveUtility

Automatic content recognition (ACR) fingerprinting and video encoding

Assignee: ROKU INCPriority: Dec 22, 2014Filed: May 7, 2020Granted: Jun 29, 2021
Est. expiryDec 22, 2034(~8.4 yrs left)· nominal 20-yr term from priority
H04N 21/2225H04N 21/2343H04N 21/23418H04N 21/4586H04N 21/222H04N 21/2353H04N 21/84H04N 21/23602
64
PatentIndex Score
0
Cited by
18
References
20
Claims

Abstract

A processing device and method are disclosed to generate automatic content recognition (ACR) fingerprints. A device can include a processing device to execute a capture daemon. The capture daemon may include a capturer to receive media content from a content feed and to generate content frames of the media content. The capture daemon can also include ACR fingerprinter to generate ACR fingerprint information for the content frames. The ACR fingerprinter may communicate the ACR fingerprint information to an ACR server via a first communication channel. The processing device may determine when the ACR fingerprinter fails; cease communicating the ACR fingerprint information to the ACR server; and restart the ACR fingerprinter.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A device comprising:
 a capture interface; and 
 a processing device coupled to the capture interface, the processing device configured to execute a capture daemon, the capture daemon comprising:
 a capturer configured to: (i) receive media content from a content feed, (ii) receive a status message from a broadcast server indicating a status of the broadcast server to receive streaming content, (iii) generate content frames of the media content, and (iv) send the generated content frames for encoding and fingerprinting; and 
 an automatic content recognition (ACR) fingerprinter configured to: (i) receive one or more of the generated content frames from the capturer, (ii) generate ACR fingerprint information for the received content frames, (iii) communicate the ACR fingerprint information to an ACR server via a first communication channel, while determining whether the ACR fingerprinter fails, and (iv) when the ACR fingerprinter fails and while the content frames are encoded: (a) cease the communication of the ACR fingerprint information from the ACR fingerprinter to the ACR server, and (b) restart the ACR fingerprinter. 
 
 
     
     
       2. The device of  claim 1 , wherein the capture interface is configured to convert the media content to a format that is compatible with the capturer. 
     
     
       3. The device of  claim 1 , wherein the capture interface includes a digital interface port to receive the media content. 
     
     
       4. The device of  claim 3 , wherein the capturer is configured to:
 receive media content from the content feed via the digital interface port; and 
 communicate capture criterion to the capture interface, wherein the capture criterion is a criterion to obtain media content from the content feed. 
 
     
     
       5. The device of  claim 1 , wherein the processing device is further configured to execute a software updater to update the software executed by the processing device. 
     
     
       6. The device of  claim 5 , wherein the software updater is configured to:
 communicate with the broadcast server to determine a time when an update is scheduled; and 
 update the software at the time. 
 
     
     
       7. The device of  claim 1 , wherein the capturer is configured to communicate with the broadcast server to indicate when the media content is being received. 
     
     
       8. The device of  claim 1 , wherein the capture daemon further comprises an encoder to encode the media content in parallel with the ACR fingerprinter generating the ACR fingerprint information. 
     
     
       9. The device of  claim 1 , wherein the ACR fingerprinter is configured to:
 determine the ACR fingerprint information for a first media consumption device using a first ACR algorithm; and 
 determine the ACR fingerprint information for a second media consumption device using a second ACR algorithm. 
 
     
     
       10. The device of  claim 1 , wherein the capturer is configured to send a system metric to the broadcast server, wherein the system metric comprises at least one of central processing unit (CPU) utilization, memory utilization, drive utilization, or operating temperature. 
     
     
       11. The device of  claim 1 , wherein sending the generated content frames for encoding and fingerprinting comprises sending a first set of the generated content frames for encoding while sending, in parallel, a second set of the generated content frames for fingerprinting. 
     
     
       12. A device comprising:
 a processing device configured to execute a capture daemon and an encoder, the encoder configured to receive content frames from a capturer and encode media content based on encoding criteria, the capture daemon comprising:
 the capturer, wherein the capturer is configured to: (i) receive media content from a content feed, (ii) generate content frames of the media content, and (iii) send the generated content frames to the encoder for encoding and to a fingerprinter for fingerprinting; and 
 an automatic content recognition (ACR) fingerprinter, wherein the ACR fingerprinter is configured to: (i) generate ACR fingerprint information for the content frames received from the capturer, (ii) communicate the ACR fingerprint information to an ACR server, while determining whether the ACR fingerprinter fails, and (iii) when the ACR fingerprinter fails and while the encoder continues encoding content frames: (a) cease the communication of the ACR fingerprint information from the ACR fingerprinter to the ACR server, and (b) restart the ACR fingerprinter. 
 
 
     
     
       13. The device of  claim 12 , wherein the processing device further comprises a capture interface configured to convert the media content to a format that is compatible with the capturer. 
     
     
       14. The device of  claim 13 , wherein:
 the capturer is configured to communicate a capture criterion to the capture interface; and 
 the capture criterion is criterion to obtain media content from the content feed. 
 
     
     
       15. The device of  claim 12 , wherein the processing device is further configured to execute the encoder to adjust for a display size of a media consumption device, a processing capability of the media consumption device, a network condition of the media consumption device, or a battery capability of the media consumption device. 
     
     
       16. A method comprising:
 receiving media content at a processing device; 
 receiving, by the processing device, a status message from a broadcast server indicating a status of the broadcast server to receive streaming content; 
 generating, by the processing device, content frames from the received media content; 
 executing, by the processing device, an automatic content recognition (ACR) fingerprinter; 
 generating, by the processing device using the ACR fingerprinter, ACR fingerprinting information based on a first set of the generated content frames; 
 communicating, by the processing device, the ACR fingerprint information to an ACR cloud system, while determining whether the ACR fingerprinter fails; and 
 when the ACR fingerprinter fails and while a second set of the generated content frames are encoded: (i) ceasing communicating the ACR fingerprint information to the ACR cloud system, and (ii) restarting the ACR fingerprinter. 
 
     
     
       17. The method of  claim 16 , further comprising:
 encoding, by the processing device, one or more of the generated content frames based on encoding criteria to obtain encoded media content; and 
 communicating the encoded media content from the processing device to the broadcast server while the ACR fingerprinter restarts. 
 
     
     
       18. The method of  claim 16 , further comprising encoding, by the processing device, one or more of the generated content frames in parallel with generating the ACR fingerprint information. 
     
     
       19. The method of  claim 16 , further comprising:
 determining, by the processing device, the ACR fingerprint information for a first media consumption device using a first ACR algorithm; and 
 determining, by the processing device, the ACR fingerprint information for a second media consumption device using a second ACR algorithm. 
 
     
     
       20. The method of  claim 16 , wherein generating the content frames from the received media content comprises generating the content frames at a first resolution for fingerprinting and at a second resolution for encoding.

Join the waitlist — get patent alerts

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

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