IP Library Granted Patent US 9,161,012
Granted Patent B2
US 9,161,012 · App. 13/299,109 · Granted Oct 13, 2015

Video compression using virtual skeleton

Inventors: Mark Mihelich (Seattle, WA); Kevin Geisner (Mercer Island, WA); Mike Scavezze (Bellevue, WA); Stephen Latta (Seattle, WA); Daniel McCulloch (Kirkland, WA); Brian Mount (Seattle, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
H04N13/0059G06T9/001H04N7/147H04N13/0271H04N19/20H04N2213/003
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,161,012
App. No.
13/299,109
Granted
Oct 13, 2015
Kind
B2
Abstract

Optical sensor information captured via one or more optical sensors imaging a scene that includes a human subject is received by a computing device. The optical sensor information is processed by the computing device to model the human subject with a virtual skeleton, and to obtain surface information representing the human subject. The virtual skeleton is transmitted by the computing device to a remote computing device at a higher frame rate than the surface information. Virtual skeleton frames are used by the remote computing device to estimate surface information for frames that have not been transmitted by the computing device.

Claims (65)

1. A method for a computing system, comprising:

receiving optical sensor information captured via one or more optical sensors, the optical sensor information imaging a scene including a human subject;

processing the optical sensor information to model the human subject with a virtual skeleton;

processing the optical sensor information to obtain surface information representing the human subject;

transmitting the virtual skeleton to a remote computing device at a first frame rate; and

transmitting the surface information to the remote computing device at a second frame rate that is less than the first frame rate.

2. The method of claim 1 , wherein the surface information includes visible spectrum information and/or depth information.

3. The method of claim 1 , further comprising:

identifying a high-interest region of the human subject; and

processing the optical sensor information to obtain high-interest surface information representing the high-interest region of the human subject; and

transmitting the high-interest surface information to the remote computing device at a third frame rate that is greater than the second frame rate.

4. The method of claim 3 , wherein the high-interest region of the human subject corresponds to a facial region of the human subject.

5. The method of claim 3 , wherein the high-interest region of the human subject corresponds to a region of the human subject moving at a speed exceeding a threshold.

6. The method of claim 1 , further comprising:

identifying a background region of the scene excluding the human subject;

processing the optical sensor information to obtain background surface information representing the background region of the scene; and

transmitting the background surface information to the remote computing device at a third frame rate that is less than the second frame rate.

7. The method of claim 1 , wherein an individual frame of the surface information includes a greater amount of data than an individual frame of the virtual skeleton.

8. The method of claim 1 , further comprising:

varying the second frame rate of the surface information responsive to an operating parameter.

9. The method of claim 1 , further comprising:

identifying a location source of audio within the scene; and

processing the optical sensor information to obtain surface information for a region of the scene containing the location source of audio; and

transmitting the surface information for the region of the scene containing the location source of the audio at a third frame rate higher than the second frame rate.

10. The method of claim 1 , further comprising:

identifying a stereoscopic overlap region of the scene for two or more of the optical sensors;

processing the optical sensor information to obtain surface information for the stereoscopic overlap region of the scene; and

transmitting the surface information for the stereoscopic overlap region of the scene at a third frame rate higher than the second frame rate.

11. The method of claim 1 , further comprising:

at the remote computing device:

receiving the virtual skeleton at the first frame rate;

receiving the surface information at the second frame rate;

for a base frame in which the surface information is received, rendering the surface information for presentation via a graphical display device; and

for a first update frame in which the surface information is not received, rendering first-degree estimated surface information for presentation via the graphical display device, the first-degree estimated surface information estimated by using a virtual skeleton from the first update frame to adjust surface information from the base frame.

12. A method for a computing device, comprising:

receiving a virtual skeleton from a remote computing device at a first frame rate, the virtual skeleton defining a model of a human subject;

receiving surface information from the remote computing device at a second frame rate that is less than the first frame rate, the surface information representing the human subject;

for a base frame in which the surface information is received, rendering the surface information for presentation via a graphical display device; and

for a first update frame in which the surface information is not received, rendering first-degree estimated surface information for presentation via the graphical display device, the first-degree estimated surface information estimated by using a virtual skeleton from the first update frame to adjust surface information from the base frame.

13. The method of claim 12 , wherein the base frame corresponds to:

a received frame of surface information preceding the first update frame; or

a received frame of surface information following the first update frame.

14. The method of claim 12 , wherein the first-degree estimated surface information is further estimated by using a virtual skeleton from the first update frame to adjust surface information from the base frame and at least one other frame; and

wherein the base frame corresponds to a received frame of surface information preceding the first update frame and the at least one other frame corresponds to a received frame of surface information following the first update frame.

15. The method of claim 12 , wherein the surface information includes visible spectrum information and/or depth information; and

wherein an individual frame of the surface information includes a greater amount of data than an individual frame of the virtual skeleton.

16. The method of claim 12 , wherein the surface information received at the second frame rate corresponds to a high-interest region of the human subject; and

wherein the method further comprises:

receiving surface information at a third frame rate less than the second frame rate, the surface information received at the third frame rate corresponding to one or more of:

a non-facial region of the human subject, and

a background region excluding the human subject.

17. The method of claim 12 , wherein receiving the virtual skeleton and surface information from the remote computing device includes receiving the virtual skeleton and surface information over a communications network including a wide area network.

18. The method of claim 12 , further comprising:

sending control information to the remote computing device via a communications network, the control information directing the remote computing device to increase or decrease the second frame rate.

19. A data-holding subsystem holding instructions executable by a logic subsystem to:

receive optical sensor information captured via one or more optical sensors imaging a scene including a human subject;

process the optical sensor information to model the human subject with a virtual skeleton;

process the optical sensor information to obtain surface information representing the human subject, the surface information including visible spectrum information and depth information for a first region of the human subject and a second region of the human subject;

transmit the virtual skeleton to a remote computing device at a first frame rate; and

transmit the surface information for the first region of the human subject to the remote computing device at a second frame rate that is less than the first frame rate; and

transmit the surface information for the second region of the human subject to the remote computing device at a third frame rate that is greater than the second frame rate.

20. The data-holding subsystem of claim 19 , wherein the instructions are further executable by the logic subsystem to:

identify the first region of the human subject as a body region of the human subject; and

identify the second region of the human subject as a facial region of the human subject;

wherein the third frame rate is less than or equal to the first frame rate.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2016
From: MICROSOFT TECHNOLOGY LICENSING, LLC
To: ZHIGU HOLDINGS LIMITED
Reel/Frame 040354/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2013
From: MIHELICH, MARK; GEISNER, KEVIN; SCAVEZZE, MIKE; LATTA, STEPHEN; MCCULLOCH, DANIEL; MOUNT, BRIAN
To: MICROSOFT CORPORATION
Reel/Frame 029826/0025 →
Continuity (1)
Related Publication 20130127994A1 · May 23, 2013