IP Library Granted Patent US 12,634,563
Granted Patent B2
US 12,634,563 · App. 18/895,850 · Granted May 19, 2026

Automated trailer generation

Inventors: Abhishek Bambha (Burlingame, CA); Ronica Jethwa (Mountain View, CA); Rohit Mahto (San Jose, CA); Nam Vo (San Jose, CA); Fei Xiao (San Jose, CA); Lian Liu (Rancho Palos Verdes, CA)
Assignee: ROKU, INC.
H04N21/8549G06F16/783
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,634,563
App. No.
18/895,850
Granted
May 19, 2026
Kind
B2
Abstract

Disclosed herein are system, apparatus, article of manufacture, method and/or computer program product aspects, and/or combinations and sub-combinations thereof, for generating trailers (previews) for multimedia content. An example aspect operates by generating an initial set of candidate points to generate a trailer for a media content; determining conversion data for each of the initial set of candidate points; determining an updated set of candidate points based on the conversion data; determining an estimated mean and upper bound for each of the updated set of candidate points; computing a value for each of the updated set of candidate points; generating a ranked list based on the value computed for each of the updated set of candidate points; and repeating the process until an optimal candidate point is converged upon.

Claims (88)

1 . A computer-implemented method for automated trailer generation, the computer-implemented method comprising:

(a) generating, by at least one computer processor, an initial set of candidate points to generate a trailer for a media content;

(b) generating an updated set of candidate points for the initial set of candidate points based on a conversion data;

(c) computing a value for each of the updated set of candidate points, wherein the value is computed based on adding an estimated mean and an upper bound determined for each of the updated set of candidate points;

(d) generating a ranked list based on the value computed for each of the updated set of candidate points;

(e) performing (b)-(d), using a new initial set of candidate points generated and input into a Multi-Armed Bandit (MAB) model until a termination condition is reached, wherein the termination condition results in an output indicating an optimal point for generating the trailer; and

(f) filtering the output based on a categorization indicating the output is a scene that should not be shown, wherein the filtering is performed using a machine-learning model trained to categorize scenes.

2 . The computer-implemented method of claim 1 , wherein the filtering is performed based on the machine-learning model determining the scene involves nudity.

3 . The computer-implemented method of claim 1 , wherein the filtering is performed based on the machine-learning model determining the scene involves explicit content.

4 . The computer-implemented method of claim 1 , wherein the filtering is performed based on the machine-learning model determining the scene relates to a turning point in the media content.

5 . The computer-implemented method of claim 1 , further comprising determining the conversion data based on processing the initial set of candidate points using the MAB model to obtain the conversion data.

6 . The computer-implemented method of claim 1 , wherein the estimated mean for each of the updated set of candidate points is determined by:

E (Cov( Dt ))=(Cov( Qi )*1/Distance( Dt,Qi )+Cov( Qj )*1/Distance( Dt,Qj ))/(1/Distance( Dt,Qi )+1/Distance( Dt,Qj )),

wherein:

E(Cov(Dt)) is an estimated mean value for an updated candidate point;

Cov(Qi) is a conversion rate for an initial candidate point;

Distance(Dt,Qi) is a distance in time between a start of the updated candidate point and the initial candidate point;

Cov(Qj) is a conversion rate for a further initial candidate point;

Distance(Dt,Qj) is a distance in time between the start of the updated candidate point and the further initial candidate point; and

i and j are integer values, where either i or j cannot be greater than a maximum number of the initial set of candidate points Q.

7 . The computer-implemented method of claim 1 , wherein the upper bound for each of the updated set of candidate points is determined by:

UpperBound( Dt )=alpha*sqrt((Min_distance( Dt,Qi )/ n ))+beta*sqrt(log( n )/ N ( Dt )),

wherein:

UpperBound(Dt) is an upper bound value of an updated candidate point;

alpha is a constant;

beta is a constant;

Min_distance(Dt, Qi) is a minimum distance in time between a start of the updated candidate point and an initial candidate point;

n is a number of iterations to perform the determination for; and

N(Dt) is a number of times the media content is shown starting from the updated candidate point.

8 . A non-transitory computer readable medium including instructions for automated trailer generation that when performed by a computing system, cause the computing system to perform operations comprising:

(a) generating an initial set of candidate points to generate a trailer for a media content;

(b) generating an updated set of candidate points for the initial set of candidate points based on a conversion data;

(c) computing a value for each of the updated set of candidate points, wherein the value is computed based on adding an estimated mean and an upper bound determined for each of the updated set of candidate points;

(d) generating a ranked list based on the value computed for each of the updated set of candidate points;

(e) performing (b)-(d), using a new initial set of candidate points generated and input into a Multi-Armed Bandit (MAB) model until a termination condition is reached, wherein the termination condition results in an output indicating an optimal point for generating the trailer; and

(f) filtering the output based on a categorization indicating the output is a scene that should not be shown, wherein the filtering is performed using a machine-learning model trained to categorize scenes.

9 . The non-transitory computer readable medium of claim 8 , wherein the filtering is performed based on the machine-learning model determining the scene involves nudity.

10 . The non-transitory computer readable medium of claim 8 , wherein the filtering is performed based on the machine-learning model determining the scene involves explicit content.

11 . The non-transitory computer readable medium of claim 8 , wherein the filtering is performed based on the machine-learning model determining the scene relates to a turning point in the media content.

12 . The non-transitory computer readable medium of claim 8 , wherein the operations further comprise determining the conversion data based on processing the initial set of candidate points using the MAB model to obtain the conversion data.

13 . The non-transitory computer readable medium of claim 8 , wherein the estimated mean for each of the updated set of candidate points is determined by:

E (Cov( Dt ))=(Cov( Qi )*1/Distance( Dt,Qi )+Cov( Qj )*1/Distance( Dt,Qj ))/(1/Distance( Dt,Qi )+1/Distance( Dt,Qj )),

wherein:

E(Cov(Dt)) is an estimated mean value for an updated candidate point;

Cov(Qi) is a conversion rate for an initial candidate point;

Distance(Dt,Qi) is a distance in time between a start of the updated candidate point and the initial candidate point;

Cov(Qj) is a conversion rate for a further initial candidate point;

Distance(Dt,Qj) is a distance in time between the start of the updated candidate point and the further initial candidate point; and

i and j are integer values, where either i or j cannot be greater than a maximum number of the initial set of candidate points Q.

14 . The non-transitory computer readable medium of claim 8 , wherein the upper bound for each of the updated set of candidate points is determined by:

UpperBound( Dt )=alpha*sqrt((Min_distance( Dt,Qi )/ n ))+beta*sqrt(log( n )/ N ( Dt )),

wherein:

UpperBound(Dt) is an upper bound value of an updated candidate point;

alpha is a constant;

beta is a constant;

Min_distance(Dt, Qi) is a minimum distance in time between a start of the updated candidate point and an initial candidate point;

n is a number of iterations to perform the determination for; and

N(Dt) is a number of times the media content is shown starting from the updated candidate point.

15 . A system for automated trailer generation, comprising:

one or more memories; and

at least one processor each coupled to at least one of the memories and configured to perform operations comprising:

(a) generating an initial set of candidate points to generate a trailer for a media content;

(b) generating an updated set of candidate points for the initial set of candidate points based on a conversion data;

(c) computing a value for each of the updated set of candidate points, wherein the value is computed based on adding an estimated mean and an upper bound determined for each of the updated set of candidate points;

(d) generating a ranked list based on the value computed for each of the updated set of candidate points;

(e) performing (b)-(d), using a new initial set of candidate points generated and input into a Multi-Armed Bandit (MAB) model until a termination condition is reached, wherein the termination condition results in an output indicating an optimal point for generating the trailer; and

(f) filtering the output based on a categorization indicating the output is a scene that should not be shown, wherein the filtering is performed using a machine learning model trained to categorize scenes.

16 . The system of claim 15 , wherein the filtering is performed based on the machine learning model determining the scene involves nudity.

17 . The system of claim 15 , wherein the filtering is performed based on the machine learning model determining the scene involves explicit content.

18 . The system of claim 15 , wherein the filtering is performed based on the machine learning model determining the scene relates to a turning point in the media content.

19 . The system of claim 15 , wherein the estimated mean for each of the updated set of candidate points is determined by:

E (Cov( Dt ))=(Cov( Qi )*1/Distance( Dt,Qi )+Cov( Qj )*1/Distance( Dt,Qj ))/(1/Distance( Dt,Qi )+1/Distance( Dt,Qj )),

wherein:

E(Cov(Dt)) is an estimated mean value for an updated candidate point;

Cov(Qi) is a conversion rate for an initial candidate point;

Distance(Dt,Qi) is a distance in time between a start of the updated candidate point and the initial candidate point;

Cov(Qj) is a conversion rate for a further initial candidate point;

Distance(Dt,Qj) is a distance in time between the start of the updated candidate point and the further initial candidate point; and

i and j are integer values, where either i or j cannot be greater than a maximum number of the initial set of candidate points Q.

20 . The system of claim 15 , wherein the upper bound for each of the updated set of candidate points is determined by:

UpperBound( Dt )=alpha*sqrt((Min_distance( Dt,Qi )/ n ))+beta*sqrt(log( n )/ N ( Dt )),

wherein:

UpperBound(Dt) is an upper bound value of an updated candidate point;

alpha is a constant;

beta is a constant;

Min_distance(Dt, Qi) is a minimum distance in time between a start of the updated candidate point and an initial candidate point;

n is a number of iterations to perform the determination for; and

N(Dt) is a number of times the media content is shown starting from the updated candidate point.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2025
From: BAMBHA, ABHISHEK; JETHWA, RONICA; MAHTO, ROHIT; VO, NAM; XIAO, FEI; LIU, LIAN
To: ROKU, INC.
Reel/Frame 070581/0258 →
Continuity (3)
Continuation 18484041 · Oct 10, 2023
Continuation 18076476 · Dec 7, 2022
Related Publication 20250024123A1 · Jan 16, 2025
References Cited (25)
US 9378209B2 · Chowdhury · 2016 [cited by examiner]
US 10394887B2 · Chowdhury · 2019 [cited by examiner]
US 10545720B2 · Bittner · 2020 [cited by examiner]
US 10560657B2 · Noel · 2020 [cited by examiner]
US 10917684B2 · Greene · 2021 [cited by examiner]
US 11284171B1 · Nair et al. · 2022 [cited by applicant]
US 11321946B2 · Grady · 2022 [cited by examiner]
US 11336972B1 · Hamid et al. · 2022 [cited by applicant]
US 11356750B2 · Tegethoff et al. · 2022 [cited by applicant]
US 11399214B1 · Phillips et al. · 2022 [cited by applicant]
US 11551256B2 · Kveton · 2023 [cited by examiner]
US 11605117B1 · Zavaleta et al. · 2023 [cited by applicant]
US 11646007B1 · Lyske · 2023 [cited by applicant]
US 11729478B2 · Hitching · 2023 [cited by examiner]
US 11838605B1 · Bambha et al. · 2023 [cited by applicant]
US 11853344B2 · Mehrotra · 2023 [cited by examiner]
US 12020279B2 · D'Auria · 2024 [cited by applicant]
US 20210049627A1 · Romagnolo et al. · 2021 [cited by applicant]
US 20210319470A1 · Kveton et al. · 2021 [cited by applicant]
US 20220366692A1 · Weerasinghe et al. · 2022 [cited by applicant]
US 20220414149A1 · Jindal et al. · 2022 [cited by applicant]
US 20240129565A1 · Ravuru · 2024 [cited by examiner]
US 20240196070A1 · Bambha et al. · 2024 [cited by applicant]
US 20240323486A1 · Pau · 2024 [cited by examiner]
US 20240412271A1 · Xiao · 2024 [cited by examiner]