Methods and apparatus to provide remote telepresence communication
Methods, apparatus, systems, and articles of manufacture are disclosed to provide remote telepresence communication. At least one non-transitory machine-readable medium comprises instructions that, when executed, cause a processor to identify features from a plurality of images, the plurality of images representing a first user and a second user, create a first representation of the first user, a second representation of the second user, the representations created using the plurality of images, the representations representing the respective users at specified distances and specified perspectives from a viewer, and construct a first image, the first image including the second model at a specified location within a shared environment, the first image to be presented on a first display.
1 . An apparatus to provide remote telepresence communication, the apparatus comprising:
interface circuitry;
computer readable instructions; and
processor circuitry to be programmed based on the computer readable instructions to:
identify features from a plurality of images, the plurality of images representing a first user and a second user;
combine a first map set with a second map set, the first map set and the second map set corresponding to a first camera within a camera array, the first camera to capture one or more of the plurality of images;
access a rotated light map of a shared environment, the rotation based on an orientation of the first camera within the camera array;
relight the one or more of the plurality of images based on the features, the rotated light map and the combined map set;
create a first representation of the first user and a second representation of the second user, the representations based on the relit one or more of the plurality of images, the representations representing the respective users at specified distances and specified perspectives from a viewer; and
construct a first image, the first image to include the second representation at a specified location within a shared environment, the first image to be presented on a first display.
2 . The apparatus of claim 1 , wherein the processor circuitry is to construct a second image, the second image including the first representation at a specified location within the shared environment, the second image to be presented on a second display different from the first display.
3 . The apparatus of claim 1 , wherein:
the plurality of images is a first plurality of images; and
the processor circuitry is to:
update the representations based on a second plurality of images; and
construct a second image based on the updated second representation, the first image and second image to represent a first frame and second frame of a video.
4 . The apparatus of claim 1 , wherein:
the plurality of images represents a third user; and
the processor circuitry is to create a third representation of the third user, the third representations based on the plurality of images, the third representations representing the third user at a specified distance and a specified perspectives from a viewer, the first image including the second representation and the third representation at specified locations within the shared environment.
5 . The apparatus of claim 1 , wherein the features include depth maps, foreground extraction, and temporal flow maps.
6 . The apparatus of claim 5 , wherein the first map set includes a first normal map and a first albedo map, the first normal map and a first albedo map generated by a relighting pipeline, wherein the second map set includes a second normal map and a second albedo map, the second normal map and the second albedo map generated based on the temporal flow maps.
7 . The apparatus of claim 1 , wherein the plurality of images represent video feeds from a first camera array associated with the first user and a second camera array associated with the second user.
8 . The apparatus of claim 7 , wherein to create the first representation at specified distances, the processor circuitry is to:
generate a user representation, the user representation to include a three dimensional model or a two dimensional image;
create an image of the first user at a first distance from the first camera array, the first distance larger than a physical distance between the first user and the first camera array; and
reproject the image of the first user at the first distance onto the user representation, the reprojection to remove distortion caused by the physical distance between the first user and the first camera array.
9 . The apparatus of claim 8 , wherein to create the first representation at specified perspectives, the processor circuitry is to map coordinates of a landmark in an image representing the first user to coordinates of the landmark on a user representation, the image in the plurality of images, the mapping based on a determination that the landmark passes a visibility test.
10 . The apparatus of claim 1 , wherein the first display is a laptop screen, one or more computer monitors, or an augmented reality headset.
11 . The apparatus of claim 1 , wherein the processor circuitry includes one or more of:
at least one of a central processor unit, a graphics processor unit, or a digital signal processor, the at least one of the central processor unit, the graphics processor unit, or the digital signal processor having control circuitry to control data movement within the processor circuitry, arithmetic and logic circuitry to perform one or more first operations corresponding to machine-readable data, and one or more registers to store a result of the one or more first operations, the machine-readable data in the apparatus;
a Field Programmable Gate Array (FPGA), the FPGA including logic gate circuitry, a plurality of configurable interconnections, and storage circuitry, the logic gate circuitry and the plurality of the configurable interconnections to perform one or more second operations, the storage circuitry to store a result of the one or more second operations; or
Application Specific Integrated Circuitry (ASIC) including logic gate circuitry to perform one or more third operations.
12 . At least one non-transitory machine-readable medium comprising instructions to cause at least one programmable circuit to at least:
identify features from a plurality of images, the plurality of images representing a first user and a second user;
combine a first texture map with a second texture map, the first texture map and the second texture map corresponding to a first camera within a camera array, the first camera to capture one or more of the plurality of images;
access a rotated light map of a shared environment, the rotation based on an orientation of the first camera within the camera array;
relight the one or more of the plurality of images based on the features, the rotated light map and the combined texture map;
create a first representation of the first user and a second representation of the second user, the representations based on the relit one or more of the plurality of images, the representations representing the respective users at specified distances and specified perspectives from a viewer; and
construct a first image, the first image including the second representation at a specified location within the shared environment, the first image to be presented on a first display.
13 . The at least one non-transitory machine-readable medium of claim 12 , wherein the instructions are to cause one or more of the at least one programmable circuit to construct a second image, the second image including the first representation at a specified location within the shared environment, the second image to be presented on a second display different from the first display.
14 . The at least one non-transitory machine-readable medium of claim 12 , wherein the plurality of images is a first plurality of images, wherein the instructions are to cause one or more of the at least one programmable circuit to:
update the representations based on a second plurality of images; and
construct a second image based on the updated second representation, the first image and second image to represent a first frame and second frame of a video.
15 . The at least one non-transitory machine-readable medium of claim 12 , wherein:
the plurality of images further represents a third user;
the instructions are to cause one or more of the at least one programmable circuit to create a third representation of the third user, the third representations based on the plurality of images, the third representations representing the third user at a specified distance and a specified perspectives from a viewer; and
the first image further includes the second representation and the third representation at specified locations within the shared environment.
16 . The at least one non-transitory machine-readable medium of claim 12 , wherein the features include depth maps, foreground extraction, and temporal flow maps.
17 . A method to provide remote telepresence communication, the method comprising:
identifying features from a plurality of images, the plurality of images representing a first user and a second user;
combining a first texture map with a second texture map, the first texture map and the second texture map corresponding to a first camera within a camera array, the first camera to capture one or more of the plurality of images;
accessing a rotated light map of a shared environment, the rotation based on an orientation of the first camera within the camera array;
relighting the one or more of the plurality of images based on the features, the rotated light map and the combined texture map;
creating a first representation of the first user and a second representation of the second user, the representations based on the relit one or more of the plurality of images, the representations representing the respective users at specified distances and specified perspectives from a viewer; and
constructing a first image, the first image to include the second representation at a specified location within the shared environment, the first image to be presented on a first display.
18 . The method of claim 17 , including creating a second image, the second image including the first representation at a specified location within the shared environment, the second image to be presented on a second display different from the first display.