IP Library Granted Patent US 9,519,644
Granted Patent B2
US 9,519,644 · App. 14/608,108 · Granted Dec 13, 2016

Methods and devices for generating media items

Inventors: Scott Snibbe (San Francisco, CA); Graham McDermott (Berkeley, CA); Justin Ponczec (San Francisco, CA); Spencer Schoeben (Palo Alto, CA); Jesse Fulton (San Francisco, CA)
Assignee: FACEBOOK, INC.
G06F17/30026G06F17/30038G06F17/30047G06F17/30056
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 9,519,644
App. No.
14/608,108
Granted
Dec 13, 2016
Kind
B2
Abstract

A server system with one or more processors and memory receives, from a client device, information including one or more criteria for a media item to be generated. In some embodiments, the one or more criteria include one or more audio tracks for the media item to be generated. In some embodiments, the one or more criteria include one or more keywords for the media item to be generated. The server system identifies one or more media files in a database of media files for the media item to be generated based at least in part on the one or more criteria. The server system sends, to the client device, first information identifying the one or more media files. In some embodiments, the server system also sends, to the client device, synchronization information for synchronizing one or more audio tracks with the one or more identified media files.

Claims (65)

1. A method of generating a media item, the method comprising:

at a server system with one or more processors and memory:

receiving from a client device one or more user visual media files;

generating one or more visual media characteristics for the one or more user visual media files;

receiving from the client device a request to generate the media item using the one or more user visual media files, the request including one or more criteria for the media item to be generated; and

in response to receiving the request, automatically and without user interaction, generating the media item, including:

identifying one or more audio tracks based at least in part on the one or more criteria and the one or more visual media characteristics, and identifying one or more sources for the identified one or more audio tracks; and

generating synchronization information for synchronizing the one or more audio tracks with the one or more visual media files during playback of the media item;

storing the generated media item at a new genesis node in the server system, including storing information identifying: (1) the one or more user visual media items, (2) the identified one or more audio tracks, (3) the identified one or more sources for the identified one or more audio tracks, and (4) the generated synchronization information; and

enabling playback of the media item at the client device by sending a link for the stored media item to the client device.

2. The method of claim 1 , wherein the one or more criteria include identification information for the one or more audio tracks.

3. The method of claim 1 , wherein the one or more user visual media files include at least one video and at least one image.

4. The method of claim 1 , further including:

analyzing the one or more audio tracks so as to generate one or more characteristic fingerprints for the one or more audio tracks; and

wherein identifying the one or more audio tracks includes matching, within a predefined degree of accuracy, at least one of the one or more characteristic fingerprints for the one or more audio tracks to the one or more visual media characteristics for the one or more user visual media files.

5. The method of claim 1 , further including:

after receiving the request, obtaining a user profile associated with the user of the client device; and

wherein identifying the one or more audio tracks includes identifying the one or more audio tracks based at least in part on the one or more criteria and one or more parameters in the user profile.

6. The method of claim 1 , wherein the received request further includes one or more environmental parameters associated with the client device or a user of the client device; and

wherein identifying the one or more audio tracks includes identifying the one or more audio tracks based at least in part on the one or more criteria and the one or more environmental parameters.

7. The method of claim 1 , wherein identifying the one or more audio tracks includes identifying at least a subset of the one or more audio tracks based on metadata annotation of the at least a subset of the one or more user visual media files.

8. The method of claim 1 , wherein identifying the one or more audio tracks includes identifying at least a subset of the one or more audio tracks by applying a matching algorithm to match the one or more criteria with the at least a subset of the one or more audio tracks based on keywords.

9. The method of claim 1 , wherein identifying the one or more audio tracks includes identifying at least a subset of the one or more audio tracks by applying a matching algorithm to match the one or more criteria with extractable characteristics of the at least a subset of the one or more audio tracks.

10. The method of claim 1 , further comprising storing the one or more user visual media files in a database of media files at the server system, wherein a respective user visual media file in the database of media files is indexed according to a plurality of parameters.

11. The method of claim 10 , wherein the plurality of parameters includes one or more of the set of:

keywords and hashtags corresponding to the respective visual media file;

metadata corresponding to the respective visual media file; and

one or more extractable characteristics of the respective visual media files.

12. The method of claim 1 , wherein the one or more user visual media files include at least one of:

one or more visual media files captured by a user of the client device; and

one or more visual media files captured by friends of the user of the client device.

13. The method of claim 1 , further including sending, to the client device, effect information for combining the one or more user visual media files with one or more transition effects.

14. The method of claim 13 , further including, prior to sending the effect information, determining the one or more transition effects based at least in part on measured characteristics of the one or more audio tracks.

15. The method of claim 1 , further including:

receiving, from the client device, feedback as to the accuracy of the generated media item; and

modifying a matching algorithm based on the feedback, the matching algorithm for identifying the one or more audio tracks.

16. A server system, comprising:

one or more processors; and

memory storing one or more programs to be executed by the one or more processors, the one or more programs comprising instructions for:

receiving from a client device one or more user visual media files;

generating one or more visual media characteristics for the one or more user visual media files;

receiving from the client device a request to generate the media item using the one or more user visual media files, the request including one or more criteria for the media item to be generated; and

in response to receiving the request, automatically and without user interaction, generating the media item, including:

identifying one or more audio tracks based at least in part on the one or more criteria and the one or more visual media characteristics, and identifying one or more sources for the identified one or more audio tracks; and

generating synchronization information for synchronizing the one or more audio tracks with the one or more visual media files during playback of the media item;

storing the generated media item at a new genesis node in the server system, including storing information identifying: (1) the one or more user visual media items, (2) the identified one or more audio tracks, (3) the identified one or more sources for the identified one or more audio tracks, and (4) the generated synchronization information; and

enabling playback of the media item at the client device by sending a link for the stored media item to the client device.

17. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which, when executed by a server system with one or more processors, cause the server system to:

receive from a client device one or more user visual media files;

generate one or more visual media characteristics for the one or more user visual media files;

receive from the client device a request to generate the media item using the one or more user visual media files, the request including one or more criteria for the media item to be generated; and

in response to receiving the request, automatically and without user interaction, generate the media item, including:

identifying one or more audio tracks based at least in part on the one or more criteria and the one or more visual media characteristics, and identifying one or more sources for the identified one or more audio tracks; and

generating synchronization information for synchronizing the one or more audio tracks with the one or more visual media files during playback of the media item;

store the generated media item at a new genesis node in the server system, including storing information identifying: (1) the one or more user visual media items, (2) the identified one or more audio tracks, (3) the identified one or more sources for the identified one or more audio tracks, and (4) the generated synchronization information; and

enable playback of the media item at the client device by sending a link for the stored media item to the client device.

18. The method of claim 1 , further including storing the one or more user visual media files at a first location in a database of media files at the server system; and

wherein storing the generated media item at the new genesis node in the server system includes storing identification of the first location in the database of media files.

19. The method of claim 1 , further including:

receiving a playback request from a second client device to playback the media item, wherein the second client device is distinct from the client device; and

in response to receiving the playback request, enabling playback of the media item at the second client device by sending the link to the stored media item to the second client device.

20. The method of claim 1 , further including:

receiving a modification request from a second client device to store a modified version of the media item;

in response to receiving the modification request, storing the modified version of the media item at a new leaf node associated with the new genesis node in the server system, wherein storing the modification version of the media item includes storing an association between the modified version of the media item and media item; and

enabling playback of the modified version of the media item by sending a link for the modified version of the media item to the second client device.

Assignments (4)
CHANGE OF NAME Recorded Dec 22, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058581/0334 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2016
From: EYEGROOVE, INC.
To: FACEBOOK, INC.
Reel/Frame 040218/0751 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 17, 2016
From: EYEGROOVE, INC.
To: FACEBOOK, INC.
Reel/Frame 040035/0682 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2015
From: SNIBBE, SCOTT; MCDERMOTT, GRAHAM; PONCZEC, JUSTIN; SCHOEBEN, SPENCER; FULTON, JESSE
To: EYEGROOVE, INC.
Reel/Frame 034848/0839 →
Continuity (2)
Provisional Application 61975651 · Apr 4, 2014
Related Publication 20150286716A1 · Oct 8, 2015