Automatically tracking user movement in a video chat application
First Claim
1. A method for automatically tracking movement of a user participating in a video chat application executing in a computing device, the method comprising:
- receiving a capture frame comprising one or more depth images of a capture area from a depth camera connected to a computing device, the one or more depth images comprising pixels for one or more objects where each pixel has a depth value representing a distance to the one or more objects in the capture area from the depth camera;
determining if the capture frame includes a user in a first location in the capture area by analyzing edges of the capture frame by comparing the depth values associated with adjacent pixels of the capture frame;
identifying a sub-frame of pixels in the capture frame, the sub-frame of pixels including a position of a head, neck and shoulders of the user in the capture frame;
displaying the sub-frame of pixels including only the position of the head, neck and shoulders of the user to a remote user at a remote computing system;
automatically tracking the position of the head, neck and shoulders of the user to a next location within the capture area;
identifying a next sub-frame of pixels, the next sub-frame of pixels including a position of the head, neck and shoulders of the user in the next location, wherein the next sub-frame of pixels is included in a next capture frame of the capture area;
displaying the next sub-frame of pixels to the remote user in the remote computing system;
detecting and identifying more than one user in the capture area;
identifying individual sub-frames and next sub-frames of pixels for each of the more than one user, each of the individual sub-frames and next sub-frames including only the position of the head, neck and shoulders; and
automatically adjusting the individual sub-frames of pixels or the individual next sub-frame of pixels to include the head, neck and shoulders of each of the users and displaying the individual sub-frame of pixels or the individual next sub-frame of pixels to the remote user, wherein each of the more than one user in the capture area is at a different location within the capture area.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for automatically tracking movement of a user participating in a video chat application executing in a computing device is disclosed. A capture device connected to the computing device captures a user in a field of view of the capture device and identifies a sub-frame of pixels identifying a position of the head, neck and shoulders of the user in a capture frame of a capture area. The sub-frame of pixels is displayed to a remote user at a remote computing system who is participating in the video chat application with the user. The capture device automatically tracks the position of the head, neck and shoulders of the user as the user moves to a next location within the capture area. A next sub-frame of pixels identifying a position of the head, neck and shoulders of the user in the next location is identified and displayed to the remote user at the remote computing device.
-
Citations
20 Claims
-
1. A method for automatically tracking movement of a user participating in a video chat application executing in a computing device, the method comprising:
-
receiving a capture frame comprising one or more depth images of a capture area from a depth camera connected to a computing device, the one or more depth images comprising pixels for one or more objects where each pixel has a depth value representing a distance to the one or more objects in the capture area from the depth camera; determining if the capture frame includes a user in a first location in the capture area by analyzing edges of the capture frame by comparing the depth values associated with adjacent pixels of the capture frame; identifying a sub-frame of pixels in the capture frame, the sub-frame of pixels including a position of a head, neck and shoulders of the user in the capture frame; displaying the sub-frame of pixels including only the position of the head, neck and shoulders of the user to a remote user at a remote computing system; automatically tracking the position of the head, neck and shoulders of the user to a next location within the capture area; identifying a next sub-frame of pixels, the next sub-frame of pixels including a position of the head, neck and shoulders of the user in the next location, wherein the next sub-frame of pixels is included in a next capture frame of the capture area; displaying the next sub-frame of pixels to the remote user in the remote computing system; detecting and identifying more than one user in the capture area; identifying individual sub-frames and next sub-frames of pixels for each of the more than one user, each of the individual sub-frames and next sub-frames including only the position of the head, neck and shoulders; and automatically adjusting the individual sub-frames of pixels or the individual next sub-frame of pixels to include the head, neck and shoulders of each of the users and displaying the individual sub-frame of pixels or the individual next sub-frame of pixels to the remote user, wherein each of the more than one user in the capture area is at a different location within the capture area. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 18, 19)
-
-
11. One or more processor readable storage devices having processor readable code embodied on said one or more processor readable storage devices, the processor readable code for programming one or more processors to perform a method comprising:
-
receiving a capture frame comprising one or more depth images of a capture area from a depth camera connected to a computing device, the one or more depth images comprising pixels for one or more objects where each pixel has a depth value representing a distance to the one or more objects in the capture area from the depth camera, and where each pixel within determined edges is associated with each other to define the one or more objects in the capture area; determining if the capture frame includes a user in a first location in the capture area by analyzing the edges of the capture frame by comparing the depth values associated with adjacent pixels of the capture frame, and when the depth values are greater than a predetermined edge tolerance, the pixels define the edge; identifying a sub-frame of pixels in the capture frame, the sub-frame of pixels including a position of a head, neck and shoulders of the user in the capture frame; displaying the sub-frame of pixels including the position of the head, neck and shoulders of the user to a remote user at a remote computing system; receiving a next capture frame comprising one or more depth images of the capture area from a depth camera; automatically tracking movement of one or more users within the capture area; determining if the next capture frame includes the one or more users in a next location in the capture area based on the tracking; identifying a next sub-frame of pixels containing the head, neck and shoulders of the one or more users in the next capture frame; displaying the next sub-frame of pixels to the remote user at the remote computing system; and detecting and identifying two or more users in the capture area and identifying individual sub-frames of pixels to include each of the users such that each of the sub-frame of pixels or the next sub-frame of pixels are displayed as separately captured images. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. An apparatus for automatically tracking movement of one or more users participating in a video chat application, comprising:
-
a depth camera; and a computing device connected to the depth camera to receive a capture frame comprising one or more depth images of a capture area, the one or more depth images comprising pixels for one or more objects where each pixel has a depth value representing a distance to the one or more objects in the capture area from the depth camera, and where each pixel within determined edges is associated with each other to define the one or more objects in the capture area, the computing device storing instructions, that when executed, perform; determining if the capture frame includes a user in a first location in the capture area by analyzing the edges of the capture frame by comparing the depth values associated with adjacent pixels of the capture frame, and when the depth values are greater than a predetermined edge tolerance, the pixels define the edge; identifying a sub-frame of pixels in the capture frame, the sub-frame of pixels including a position of a head, neck and shoulders of the user in the capture frame; displaying the sub-frame of pixels including the position of the head, neck and shoulders of the user to a remote user at a remote computing system; receiving a next capture frame comprising one or more depth images of the capture area from a depth camera; automatically tracking movement of two or more users within the capture area; determining if the next capture frame includes the two or more users in a next location in the capture area based on the tracking; identifying a next sub-frame of pixels containing the head, neck and shoulders of the two or more users in the next capture frame; and displaying the next sub-frame of pixels including the two or more users to the remote user at the remote computing system. - View Dependent Claims (20)
-
Specification