IP Library Granted Patent US 10,565,245
Granted Patent B2
US 10,565,245 · App. 14/135,235 · Granted Feb 18, 2020

Method and system for storytelling on a computing device via a mixed-media module engine

Inventors: Doug Imbruce (New York, NY); Gregory Pape (New York, NY); Gustav Johan Rasmus Knutsson (Brooklyn, NY)
Assignee: OATH INC.
G06F16/40G06F16/285G06F16/35G06F16/4393G06F17/212
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 10,565,245
App. No.
14/135,235
Granted
Feb 18, 2020
Kind
B2
Abstract

Disclosed is a method and system for enabling storytelling on a computing device. A processor analyzes a set of media items associated with the user, each media item having associated metadata. The processor identifies one or more related characteristics among the media items in the set to form a cluster of media items associated with an event associated with the user. The processor selects, based on analysis of the media items in the cluster, templates from a template database, each template of the plurality of templates configured to represent a moment in the event. The processor edits selected media items in the cluster to fit into the selected templates. The processor scores each selected template based on the metadata associated with the selected media items in the selected template. The processor creates a mixed-media module of predetermined duration comprising the templates organized into a desired sequence.

Claims (52)

1. A method comprising:

identifying, by a processor, a media item cluster from a set of media items based on metadata associated with each of the media items, the cluster representing an event associated with the user;

identifying, by the processor, a plurality of moments associated with a subset of the media items in the media item cluster;

determining, via the processor, a baseline score for each moment based on an analysis of an orientation and file type of each media item in each moment;

scoring, by the processor, each of the plurality of moments based on each moment's baseline score;

identifying, by the processor, a highest scoring moment by selecting a moment from the plurality of moments having a highest baseline score;

inserting, by the processor, media items associated with the plurality of moments into a corresponding plurality of templates from a template database, said insertion comprising selecting a template from said plurality of templates based on a layout or timing of media items for each moment;

determining, by the processor, a speed and timing value that the media items of the selected highest scoring moment will be displayed based on the scoring, the timing value calculated based on aggregating individual timing values for each media item inserted into said templates;

adjusting, by the processor, the template associated with the highest scoring moment, the adjusting comprising applying a unique treatment to the template associated with the highest scoring moment, the unique treatment comprising one or more effects not applied to the remaining templates;

determining, by the processor, that a play time associated with the templates that have had moment media items inserted therein exceeds a predetermined duration, and based on said determination, combining one or more templates associated with lowest scoring moments into a single template, the single template used to generate a grid of media items associated with the lowest scoring moments; and

creating, by the processor, a mixed-media module comprising the plurality of templates organized into a desired sequence for the selected templates, such that media items of each moment inserted into each template are displayed in the mixed-media module for the time period based on the scoring and the adjusting.

2. The method of claim 1 , further comprising analyzing, by the processor, the associated metadata of each media item in the set.

3. The method of claim 1 , further comprising analyzing, by the processor, the media items in the cluster.

4. The method of claim 1 , further comprising determining, by the processor, the desired sequence for the templates based on the scoring and based on the determined time periods of display.

5. The method of claim 4 , wherein the creating of the mixed-media module further comprises the plurality of templates organized into the desired sequence for the selected templates and in accordance with the determined time periods.

6. The method of claim 1 , wherein the scoring of the each selected template further comprises assigning a bonus score to the each selected template when the corresponding moment is a highest scoring moment.

7. The method of claim 6 , wherein the scoring further comprises:

assigning a first predetermined point value to a portrait image;

assigning a second predetermined point value to a landscape image;

assigning a third predetermined point value to a video; and

assigning a fourth predetermined point value to the highest scoring moment.

8. The method of claim 1 , wherein the scoring further comprises assigning a display speed to the moment based on a score of the moment.

9. A computing device comprising:

a processor; and

a non-transitory computer-readable storage medium for tangibly storing thereon program logic for execution by the processor, the program logic comprising:

logic executed by the processor for identifying, by a processor, a media item cluster from a set of media items based on metadata associated with each of the media items, the cluster representing an event associated with the user;

logic executed by the processor for identifying, by the processor, a plurality of moments associated with a subset of the media items in the media item cluster;

logic executed by the processor for determining, via the processor, a baseline score for each moment based on an analysis of an orientation and file type of each media item in each moment;

logic executed by the processor for scoring, by the processor, each of the plurality of moments based on each moment's baseline score;

logic executed by the processor for identifying, by the processor, a highest scoring moment by selecting a moment from the plurality of moments having a highest baseline score;

logic executed by the processor for inserting, by the processor, media items associated with the plurality of moments into a corresponding plurality of templates from a template database, said insertion comprising selecting a template from said plurality of templates based on a layout or timing of media items for each moment;

logic executed by the processor for determining, by the processor, a speed and timing value that the media items of the selected highest scoring moment will be displayed based on the scoring, the timing value calculated based on aggregating individual timing values for each media item inserted into said templates;

logic executed by the processor for adjusting, by the processor, the template associated with the highest scoring moment, the adjusting comprising applying a unique treatment to the template associated with the highest scoring moment, the unique treatment comprising one or more effects not applied to the remaining templates;

logic executed by the processor for determining, by the processor, that a play time associated with the templates that have had moment media items inserted therein exceeds a predetermined duration, and based on said determination, combining one or more templates associated with lowest scoring moments into a single template, the single template used to generate a grid of media items associated with the lowest scoring moments; and

creating, by the processor, a mixed-media module comprising the plurality of templates organized into a desired sequence for the selected templates, such that media items of each moment inserted into each template are displayed in the mixed-media module for the time period based on the scoring and the adjusting.

10. The computing device of claim 9 , further comprising logic executed by the processor for analyzing the associated metadata of each media item in the set.

11. The computing device of claim 9 , further comprising logic executed by the processor for analyzing the media items in the cluster.

12. The computing device of claim 9 , further comprising logic executed by the processor for determining the desired sequence for the templates based on the scoring and based on the determined time periods of display.

13. The computing device of claim 12 , further comprising organizing the plurality of templates into the desired sequence for the selected templates and in accordance with the determined time periods.

14. The computing device of claim 9 , further comprising logic executed by the processor for assigning a bonus score to the each selected template when the corresponding moment is a highest scoring moment.

15. The computing device of claim 9 , further comprising logic executed by the processor for assigning a display speed to the moment based on a score of the moment.

16. A non-transitory computer-readable storage medium tangibly encoded with computer-executable instructions, that when executed by a computer processor, cause the processor to perform a method comprising:

identifying, by the processor, a media item cluster from a set of media items based on metadata associated with each of the media items, the cluster representing an event associated with the user;

identifying, by the processor, a plurality of moments associated with a subset of the media items in the media item cluster;

determining, via the processor, a baseline score for each moment based on an analysis of an orientation and file type of each media item in each moment;

scoring, by the processor, each of the plurality of moments based on each moment's baseline score;

identifying, by the processor, a highest scoring moment by selecting a moment from the plurality of moments having a highest baseline score;

inserting, by the processor, media items associated with the plurality of moments into a corresponding plurality of templates from a template database, said insertion comprising selecting a template from said plurality of templates based on a layout or timing of media items for each moment;

determining, by the processor, a speed and timing value that the media items of the selected highest scoring moment will be displayed based on the scoring, the timing value calculated based on aggregating individual timing values for each media item inserted into said templates;

adjusting, by the processor, the template associated with the highest scoring moment, the adjusting comprising applying a unique treatment to the template associated with the highest scoring moment, the unique treatment comprising one or more effects not applied to the remaining templates;

determining, by the processor, that a play time associated with the templates that have had moment media items inserted therein exceeds a predetermined duration, and based on said determination, combining one or more templates associated with lowest scoring moments into a single template, the single template used to generate a grid of media items associated with the lowest scoring moments; and

creating, by the processor, a mixed-media module comprising the plurality of templates organized into a desired sequence for the selected templates, such that media items of each moment inserted into each template are displayed in the mixed-media module for the time period based on the scoring and the adjusting.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2021
From: VERIZON MEDIA INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 057453/0431 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2018
From: YAHOO HOLDINGS, INC.
To: OATH INC.
Reel/Frame 045240/0310 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 042963/0211 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2013
From: IMBRUCE, DOUG; PAPE, GREGORY; KNUTSSON, GUSTAV JOHAN RASMUS
To: YAHOO! INC.
Reel/Frame 031824/0080 →
Continuity (10)
Provisional Application 61739669 · Dec 19, 2012
Provisional Application 61739698 · Dec 19, 2012
Provisional Application 61798000 · Dec 19, 2012
Provisional Application 61740347 · Dec 20, 2012
Provisional Application 61740280 · Dec 20, 2012
Provisional Application 61740416 · Dec 20, 2012
Provisional Application 61761675 · Feb 6, 2013
Provisional Application 61815724 · Apr 24, 2013
Provisional Application 61821216 · May 8, 2013
Related Publication 20140173396A1 · Jun 19, 2014