IP Library Granted Patent US 10,446,189
Granted Patent B2
US 10,446,189 · App. 15/394,437 · Granted Oct 15, 2019

Video manipulation with face replacement

Inventors: Jokubas Zukerman (San Francisco, CA); Marco Paglia (San Francisco, CA); Chad Sager (Mountain View, CA); Andrew Poes (Mountain View, CA); Maegan Clawges (Mountain View, CA); Ivan Evfimiou (Mountain View, CA); Gregory Foster (Mountain View, CA); Samuel Keene (Mountain View, CA); John Gregg (Seattle, WA); Reed Morse (Mountain View, CA)
Assignee: Google LLC
G11B27/036G06K9/00228G06K9/00765G06K9/00979G06T11/40G06T11/60H04N21/8146
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,446,189
App. No.
15/394,437
Granted
Oct 15, 2019
Kind
B2
Abstract

A user device provides a user interface for video manipulation with face replacement. The user device accesses a source video including a group of frames and one or more faces. The user device also provides a set of stickers with alternate face graphics. Upon receiving selection of one of the stickers, one of the faces and one of the frames that includes the face from a user, the user device accesses a face frame sequence. The face frame sequence is a sequence of frames including the selected frame. And each frame of the face frame sequence includes the selected face. The user device sends to a server a request to replace the selected face with the selected sticker in the frame sequence and receives a manipulated video in response to the request, where the selected face is replaced with the selected sticker in each frame of the frame sequence.

Claims (79)

1. A computer-implemented method for allowing for manipulation of a video, comprising:

accessing the video comprising a plurality of frames that comprise one or more faces;

accessing a plurality of face frame sequences, wherein each face frame sequence is a sequence of frames of the video comprising one face of the one or more faces, the one face comprised in each frame of the sequence of frames and identified in each frame of the sequence of frames by at least one face identifier;

receiving, from a user device via a user interface, user selection of at least one of the plurality of face frame sequences in which the one face is identified by different face identifiers;

merging the selected face frame sequences into a combined face frame sequence in a data structure that stores information about contents of the plurality of frames;

assigning a single face identifier to the one face in the combined face frame sequence in the data structure;

removing, from the data structure, one or more of the different face identifiers that are no longer assigned to the one face;

providing a plurality of stickers, the stickers comprising alternate face graphics;

receiving, from the user device via the user interface, user selection of: one of the stickers, one of the frames of the combined face frame sequence, and the one face identified by the single face identifier; and

sending, to a server, a user request to replace the selected one face with the selected sticker in each frame of the combined face frame sequence.

2. The method of claim 1 , wherein accessing the plurality of face frame sequences comprises receiving the plurality of face frame sequences from the server.

3. The method of claim 1 , wherein each face frame sequence is a continuous sequence of frames.

4. The method of claim 1 , wherein the selected frame is a first frame in the combined face frame sequence.

5. The method of claim 1 , further comprising:

receiving from the server a manipulated face frame sequence, wherein the selected face is replaced with the selected sticker in each frame of the manipulated face frame sequence relative to the combined face frame sequence; and

presenting the manipulated frame sequence.

6. The method of claim 1 , further comprising:

receiving selection of a second sticker; and

sending to the server a second request to replace the selected face with the second sticker in each frame of the combined face frame sequence.

7. The method of claim 1 , further comprising:

receiving selection of a second sticker, and a second frame, wherein the second frame is after the selected frame in the combined face frame sequence; and

sending to the server a second request to replace the selected sticker with the second sticker in the second frame and each frame after the second frame in the combined face frame sequence.

8. The method of claim 1 , further comprising:

receiving selection of a second sticker and a second frame, wherein the second frame is before the selected frame in the combined face frame sequence; and

sending to the server a second request to replace the selected sticker with the second sticker in the second frame and each frame between the second frame and the selected frame in the combined face frame sequence.

9. The method of claim 1 , further comprising:

providing a plurality of audio tracks;

receiving selection of one of the audio tracks; and

sending to the server a request to overlay the selected audio track on the combined face frame sequence.

10. A system of allowing for manipulation of a video, comprising:

a computer processor; and

a non-transitory computer-readable storage medium storing computer executable components configured to cause the computer processor to perform:

accessing the video comprising a plurality of frames that comprise one or more faces;

accessing a plurality of face frame sequences, wherein each face frame sequence is a sequence of frames of the video comprising one face of the one or more faces, the one face comprised in each frame of the sequence of frames and identified in each frame of the sequence of frames by at least one face identifier;

receiving, from a user device via a user interface, user selection of at least one of the plurality of face frame sequences in which the one face is identified by different face identifiers;

merging the selected face frame sequences into a combined face frame sequence in a data structure that stores information about the contents of the plurality of frames;

assigning a single face identifier to the one face in the combined face frame sequence in the data structure;

removing, from the data structure, one or more of the different face identifiers that are no longer assigned to the one face;

providing a plurality of stickers, the stickers comprising alternate face graphics;

receiving, from the user device via the user interface, user selection of: one of the stickers, one of the frames of the combined face frame sequence, and the one face identified by the single face identifier; and

sending, to a server, a user request to replace the selected one face with the selected sticker in each frame of the combined face frame sequence.

11. The system of claim 10 , wherein the computer executable components are further configured to cause the processor to perform:

receiving from the server, the plurality of face frame sequences.

12. The system of claim 10 , wherein each face frame sequence is a continuous sequence of frames.

13. The system of claim 10 , wherein the selected frame is a first frame in the combined face frame sequence.

14. The system of claim 10 , wherein the computer executable components are further configured to cause the processor to perform:

receiving from the server a manipulated frame sequence, wherein the selected face is replaced with the selected sticker in each frame of the manipulated face frame sequence relative to the combined face frame sequence; and

presenting the manipulated frame sequence.

15. The system of claim 10 , wherein the computer executable components are further configured to cause the processor to perform:

receiving selection of a second sticker, and a second frame, wherein the second frame is after the selected frame in the combined face frame sequence; and

sending a request to the server to replace the selected sticker with the second sticker in the second frame and each frame after the second frame in the combined face frame sequence.

16. The system of claim 10 , wherein the computer executable components are further configured to cause the processor to perform:

receiving selection of a second sticker and a second frame, wherein the second frame is before the selected frame in the combined face frame sequence; and

sending a request to the server to replace the selected sticker with the second sticker in the second frame and each frame between the second frame and the selected frame in the combined face frame sequence.

17. The system of claim 10 , wherein the computer executable components are further configured to cause the processor to perform:

providing a plurality of audio tracks;

receiving selection of one of the audio tracks; and

sending to the server a request to overlay the selected audio track on the combined face frame sequence.

18. A non-transitory computer readable storage medium storing executable computer program instructions for allowing for manipulation of a video, the computer program instructions comprising instructions that when executed cause a computer processor to:

access the video comprising a plurality of frames that comprise one or more faces;

access a plurality of face frame sequences, wherein each face frame sequence is a sequence of frames of the video comprising one face of the one or more faces, the one face comprised in each frame of the sequence of frames and identified in each frame of the sequence of frames by at least one face identifier;

receive, from a user device via a user interface, user selection of at least one of the plurality of face frame sequences in which the one face in the plurality of face frame sequences is identified by different face identifiers;

merge the selected face frame sequences into a combined face frame sequence in a data structure that stores information about the contents of the plurality of frames;

assign a single face identifier to the one face in the combined face frame sequence in the data structure;

remove, from the data structure, one or more of the different face identifiers that are no longer assigned to the one face;

provide a plurality of stickers, the stickers comprising alternate face graphics;

receive, from the user device via the user interface, user selection of: one of the stickers, one of the frames of the combined face frame sequence, and the one face identified by the single face identifier; and

send, to a server, a user request to replace the selected one face with the selected sticker in each frame of the combined face frame sequence.

19. The computer readable medium of claim of claim 18 , wherein the instructions further cause the computer processor to:

receive, from the server, the plurality of face frame sequences.

20. The computer readable medium of claim of claim 18 , wherein the instructions further cause the computer processor to:

receive from the server a manipulated frame sequence, wherein the selected face is replaced with the selected sticker in each frame of the manipulated face frame sequence relative to the combined face frame sequence; and

present the manipulated frame sequence.

21. The computer readable medium of claim of claim 18 , wherein the instructions further cause the computer processor to:

receive selection of a second sticker, and a second frame, wherein the second frame is after the selected frame in the combined face frame sequence; and

send a request to the server to replace the selected sticker with the second sticker in the second frame and each frame after the second frame in the combined face frame sequence.

22. The computer readable medium of claim of claim 18 , wherein the instructions further cause the computer processor to:

receive selection of a second sticker and a second frame, wherein the second frame is before the selected frame in the combined face frame sequence; and

send a request to the server to replace the selected sticker with the second sticker in the second frame and each frame between the second frame and the selected frame in the combined face frame sequence.

Assignments (2)
CHANGE OF NAME Recorded Oct 20, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044567/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2017
From: ZUKERMAN, JOKUBAS; PAGLIA, MARCO; SAGER, CHAD; POES, ANDREAS; CLAWGES, MAEGAN; EVFIMIOU, IVAN; FOSTER, GREGORY; KEENE, SAMUEL; GREGG, JOHN; MORSE, REED
To: GOOGLE INC.
Reel/Frame 041387/0417 →
Continuity (1)
Related Publication 20180190322A1 · Jul 5, 2018
Cited By (6)
US 12,207,935 US 12,230,294 US 12,320,949 US 12,464,205 US 12,491,457 US 12,518,559