IP Library Granted Patent US 12,200,301
Granted Patent B2
US 12,200,301 · App. 17/846,477 · Granted Jan 14, 2025

Replacement of digital content in data streams

Inventor: Matthew George Grover (Cardiff, GB)
Assignee: Roku, Inc.
H04N21/454H04N21/23418H04N21/4363H04N21/44016
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 12,200,301
App. No.
17/846,477
Granted
Jan 14, 2025
Kind
B2
Abstract

Disclosed herein are system, apparatus, article of manufacture, method and/or computer program product embodiments, and/or combinations and sub-combinations thereof, for replacing digital content. An example embodiment operates by detecting a segment of a data stream to be output by a media device and generating a fingerprint of digital content corresponding to the segment using automatic content recognition (ACR). The example embodiment further operates by comparing the fingerprint with a plurality of fingerprints of a plurality of digital content, identifying a matched fingerprint of a matched digital content, and comparing metadata of the matched digital content with metadata of a restricted digital content. The example embodiment further operates by determining that the digital content corresponding to the segment is blocked from being output by the media stream and replacing the digital content with new digital content in the segment.

Claims (46)

1. A computer-implemented method for replacing digital content from a data stream, the computer-implemented method comprising:

detecting a segment of the data stream to be output by a media device;

generating a fingerprint of digital content corresponding to the segment using automatic content recognition (ACR);

comparing the fingerprint with a plurality of fingerprints of a plurality of digital content stored in a database;

in response to the fingerprint not matching the plurality of fingerprints, outputting the digital content by the media device;

in response to the fingerprint matching one of the plurality of fingerprints, identifying a matched fingerprint of the plurality of fingerprints of a matched digital content of the plurality of digital content based on the comparison of the fingerprint with the plurality of fingerprints;

in response to identifying the matched fingerprint, comparing metadata of the matched digital content with metadata of restricted digital content;

determining that the digital content corresponding to the segment is blocked from being output by the media device based on the comparison of the metadata of the matched digital content with the metadata of the restricted digital content;

identifying new digital content based on a first duration of the new digital content being within a threshold of a second duration of the digital content; and

in response to determining that the digital content is blocked from being output by the media device, replacing the digital content with the new digital content in the segment to output the new digital content via the media device.

2. The computer-implemented method of claim 1 , wherein the data stream is video on-demand (VOD) content or over-the-top (OTT) content being streamed to the media device from a content server.

3. The computer-implemented method of claim 1 , wherein the new digital content includes a uniform resource locator (URL) to the digital content.

4. The computer-implemented method of claim 1 , further comprising determining that the new digital content is suitable to be output by the media device based on preferences of a user associated with the media device.

5. The computer-implemented method of claim 1 , further comprising storing the fingerprint of the segment in non-persistent memory.

6. The computer-implemented method of claim 1 , further comprising buffering the new digital content before including the new digital content in the segment.

7. A system for replacing digital content from a data stream, the system comprising:

one or more memories; and

at least one processor, wherein each processor is coupled to at least one of the memories and configured to:

detect a segment of the data stream to be output by a media device;

generate a fingerprint of digital content corresponding to the segment using automatic content recognition (ACR);

compare the fingerprint with a plurality of fingerprints of a plurality of digital content stored in a database;

in response to the fingerprint not matching the plurality of fingerprints, output the digital content by the media device;

in response to the fingerprint matching one of the plurality of fingerprints, identify a matched fingerprint of the plurality of fingerprints of a matched digital content of the plurality of digital content based on the comparison of the fingerprint with the plurality of fingerprints;

in response to identifying the matched fingerprint, compare metadata of the matched digital content with metadata of restricted digital content;

determine that the digital content corresponding to the segment is blocked from being output by the media device based on the comparison of the metadata of the matched digital content with the metadata of the restricted digital content;

identify new digital content based on a first duration of the new digital content being within a threshold of a second duration of the digital content; and

in response to determining that the digital content is blocked from being output, replace the digital content with the new digital content in the segment to output the new digital content via the media device.

8. The system of claim 7 , wherein the data stream is video on-demand (VOD) content or over-the-top (OTT) content being streamed to the media device from a content server.

9. The system of claim 7 , wherein the new digital content includes a uniform resource locator (URL) to the digital content.

10. The system of claim 7 , wherein the processor is further configured to determine that the new digital content is suitable to be output by the media device based on preferences of a user associated with the media device.

11. The system of claim 7 , wherein the processor is further configured to store the fingerprint of the segment in non-persistent memory.

12. The system of claim 7 , wherein the processor is further configured to buffer the new digital content before including the new digital content in the segment.

13. A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations comprising:

detecting a segment of a data stream to be output by a media device;

generating a fingerprint of digital content corresponding to the segment using automatic content recognition (ACR);

comparing the fingerprint with a plurality of fingerprints of a plurality of digital content stored in a database;

in response to the fingerprint not matching the plurality of fingerprints, outputting the digital content by the media device;

in response to the fingerprint matching one of the plurality of fingerprints, identifying a matched fingerprint of the plurality of fingerprints of a matched digital content of the plurality of digital content based on the comparison of the fingerprint with the plurality of fingerprints;

in response to identifying the matched fingerprint, comparing metadata of the matched digital content with metadata of restricted digital content;

determining that the digital content corresponding to the segment is blocked from being output by the media device based on the comparison of the metadata of the matched digital content with the metadata of the restricted digital content;

identifying new digital content based on a first duration of the new digital content being within a threshold of a second duration of the digital content; and

in response to determining that the digital content is blocked from being output, replacing the digital content with the new digital content in the segment to output the new digital content via the media device.

14. The non-transitory computer-readable medium of claim 13 , wherein the data stream is video on-demand (VOD) content or over-the-top (OTT) content being streamed to the media device from a content server.

15. The non-transitory computer-readable medium of claim 13 , wherein the new digital content includes a uniform resource locator (URL) to the digital content.

16. The non-transitory computer-readable medium of claim 13 , wherein the operations further comprise determining that the new digital content is suitable to be output by the media device based on preferences of a user associated with the media device.

17. The non-transitory computer-readable medium of claim 13 , wherein the operations further comprise storing the fingerprint of the segment in non-persistent memory.

Assignments (2)
SECURITY INTEREST Recorded Sep 18, 2024
From: ROKU, INC.
To: CITIBANK, N.A.
Reel/Frame 068982/0377 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2022
From: GROVER, MATTHEW GEORGE
To: ROKU, INC.
Reel/Frame 060277/0894 →
Continuity (1)
Related Publication 20230421850A1 · Dec 28, 2023
References Cited (21)
US 9146990B2 · Scherf et al. · 2015 [cited by applicant]
US 9495451B2 · Harron · 2016 [cited by applicant]
US 9992533B2 · Lee et al. · 2018 [cited by applicant]
US 10506275B1 · Thielen et al. · 2019 [cited by applicant]
US 10701409B1 · Gupta · 2020 [cited by applicant]
US 10924791B2 · Sullivan et al. · 2021 [cited by applicant]
US 20090165031A1 · Li · 2009 [cited by examiner]
US 20100037253A1 · Sheehan et al. · 2010 [cited by applicant]
US 20130291082A1 · Giladi · 2013 [cited by examiner]
US 20150163545A1 · Freed · 2015 [cited by examiner]
US 20150206172A1 · Lefevre · 2015 [cited by applicant]
US 20160112760A1 · Kosseifi et al. · 2016 [cited by applicant]
US 20200029108A1 · Dunker et al. · 2020 [cited by applicant]
US 20200117979A1 · Sullivan et al. · 2020 [cited by applicant]
US 20200169773A1 · Major · 2020 [cited by applicant]
US 20200213644A1 · Gupta et al. · 2020 [cited by applicant]
US 20210037253A1 · Zhang · 2021 [cited by applicant]
US 20210195260A1 · Major · 2021 [cited by applicant]
US 20210344983A1 · Mannion · 2021 [cited by examiner]
US 20220141518A1 · Grover et al. · 2022 [cited by applicant]
US 20230379532A1 · Grover et al. · 2023 [cited by applicant]