Avatar call platform
The technical problem of generating a video feed that represents a user who is party to a video call in a manner that invokes the sense of visual presence of the caller without communicating the live video of the user is addressed by configuring a video calling system to include an avatar call platform. The avatar call platform is configured to generate and display a video of an animated figure that represents a caller during a call, in that the face of the animated figure moves in a way that matches what the caller is saying during the call.
1 . A method comprising:
in a messaging system for exchanging data over a network, in a video call session between a first device and a second device, presenting, at the first device, a first user-selectable element actionable to disallow video in the video call session;
responsive to detecting activation of the first user-selectable element, presenting, at the first device, a second user-selectable element actionable to activate an avatar communication process; and
responsive to detecting activation of the second user-selectable element, activating an avatar communication process for the first device, the avatar communication process comprising:
generating an avatar animation video based on avatar animation data, the avatar animation data comprising a plurality of data points representative of locations of facial features in an area representing a face, the plurality of data points indicative of directional distances in numbers of points relative to neutral locations of the facial features;
generating a plurality of frames for the avatar animation video to depict movements of the facial features based on changes in the plurality of data points during the movements; and
causing display of the avatar animation video on a display.
2 . The method of claim 1 , wherein the avatar communication process comprises:
analyzing local call data to detect the movements of the facial features, wherein the plurality of data points are based on the local call data.
3 . The method of claim 1 , wherein the avatar communication process comprises:
tracking objects, including a face object, detected in local call data comprising a video feed, the avatar animation video generated based on characteristics of the objects.
4 . The method of claim 1 , wherein the avatar communication process comprises:
analyzing audio data of to determine one or more facial expressions associated with the audio data, wherein the plurality of data points is based on the one or more facial expressions.
5 . The method of claim 1 , wherein the avatar communication process comprises:
generating a compressed version of the avatar animation video; and
communicating the compressed version of the avatar animation video to the second device.
6 . The method of claim 1 , further comprising:
causing display of a live video of a user of the second device on the display simultaneously with the avatar animation video.
7 . The method of claim 1 , further comprising:
responsive to detecting activation of the second user-selectable element, presenting, at the first device, a third user-selectable element indicative that the avatar communication process is active and actionable to end the avatar communication process.
8 . The method of claim 1 , wherein the second user-selectable element actionable to activate the avatar communication process is presented while a camera of the first device is on.
9 . The method of claim 1 , further comprising:
presenting, at the first device, a third user-selectable element actionable to end the video call session.
10 . The method of claim 1 , wherein the avatar animation video is generated based on an avatar image selected from a plurality of avatar images, each avatar image associated with a respective status or activity.
11 . A system comprising:
one or more processors; and
a non-transitory computer readable storage medium comprising instructions that when executed by the one or more processors cause the system to perform operations comprising:
in a video call session between a first device and a second device, presenting, at the first device, a first user-selectable element actionable to disallow video in the video call session;
responsive to detecting activation of the first user-selectable element, presenting, at the first device, a second user-selectable element actionable to activate an avatar communication process; and
responsive to detecting activation of the second user-selectable element, activating an avatar communication process for the first device, the avatar communication process comprising:
generating an avatar animation video based on avatar animation data, the avatar animation data comprising a plurality of data points representative of locations of facial features in an area representing a face, the plurality of data points indicative of directional distances in numbers of points relative to neutral locations of the facial features;
generating a plurality of frames for the avatar animation video to depict movements of the facial features based on changes in the plurality of data points during the movements; and
causing display of the avatar animation video on a display.
12 . The system of claim 11 , wherein the avatar communication process comprises:
analyzing local call data to detect the movements of the facial features, wherein the plurality of data points are based on the local call data.
13 . The system of claim 11 , wherein the avatar communication process comprises:
tracking objects, including a face object, detected in local call data comprising a video feed, the avatar animation video generated based on characteristics of the objects.
14 . The system of claim 11 , wherein the avatar communication process comprises:
analyzing audio data of to determine one or more facial expressions associated with the audio data, wherein the plurality of data points is based on the one or more facial expressions.
15 . The system of claim 11 , wherein the avatar communication process comprises:
generating a compressed version of the avatar animation video; and
communicating the compressed version of the avatar animation video to the second device.
16 . The system of claim 11 , the operations further comprising:
causing display of a live video of a user of the second device on the display simultaneously with the avatar animation video.
17 . The system of claim 11 , the operations further comprising:
responsive to detecting activation of the second user-selectable element, presenting, at the first device, a third user-selectable element indicative that the avatar communication process is active and actionable to end the avatar communication process.
18 . The system of claim 11 , wherein the second user-selectable element actionable to activate the avatar communication process is presented while a camera of the first device is on.
19 . The system of claim 11 , the operations further comprising:
presenting, at the first device, a third user-selectable element actionable to end the video call session.
20 . A machine-readable non-transitory storage medium having instruction data executable by a machine to cause the machine to perform operations comprising:
in a messaging system for exchanging data over a network, in a video call session between a first device and a second device, presenting, at the first device, a first user-selectable element actionable to disallow video in the video call session;
responsive to detecting activation of the first user-selectable element, presenting, at the first device, a second user-selectable element actionable to activate an avatar communication process; and
responsive to detecting activation of the second user-selectable element, activating an avatar communication process for the first device, the avatar communication process comprising:
generating an avatar animation video based on avatar animation data, the avatar animation data comprising a plurality of data points representative of locations of facial features in an area representing a face, the plurality of data points indicative of directional distances in numbers of points relative to neutral locations of the facial features;
generating a plurality of frames for the avatar animation video to depict movements of the facial features based on changes in the plurality of data points during the movements; and
causing display of the avatar animation video on a display.