Manipulation of virtual objects using enhanced interactive system
First Claim
Patent Images
1. A computer-implemented method comprising:
- receiving at least a first image of an object;
detecting the object in the first image;
generating an object data map based on detecting the object in the first image, the object data map indicating, for each pixel in the first image, whether the object is detected at the each pixel;
generating a motion history indicating, for each pixel included in the object data map, an indication of time since the object has been detected at the each pixel; and
controlling an application based on the motion history,wherein controlling an application based on the motion history includes;
determining whether the object is interacting with a virtual object rendered in a display image associated with the application, based on at least a part of the motion history within a region representing the virtual object;
calculating a velocity for the virtual object based on the motion history; and
controlling the application based on the determined velocity for the virtual object;
wherein the object in the first image and the virtual object rendered in the display image are distinct from each other.
2 Assignments
0 Petitions
Accused Products
Abstract
The detection of motion of a user via a camera and the generation of a dynamic virtual representation of a user on a display, where the user'"'"'s detected motion causes the dynamic virtual representation to interact with virtual objects on the display. The magnitude and direction of the user'"'"'s detected motion is calculated to determine the magnitude and direction of a force applied by the dynamic virtual representation to the virtual object. Further arrangements include water or smoke fluid simulations, in order to enhance the user experience.
91 Citations
35 Claims
-
1. A computer-implemented method comprising:
-
receiving at least a first image of an object; detecting the object in the first image; generating an object data map based on detecting the object in the first image, the object data map indicating, for each pixel in the first image, whether the object is detected at the each pixel; generating a motion history indicating, for each pixel included in the object data map, an indication of time since the object has been detected at the each pixel; and controlling an application based on the motion history, wherein controlling an application based on the motion history includes; determining whether the object is interacting with a virtual object rendered in a display image associated with the application, based on at least a part of the motion history within a region representing the virtual object; calculating a velocity for the virtual object based on the motion history; and controlling the application based on the determined velocity for the virtual object; wherein the object in the first image and the virtual object rendered in the display image are distinct from each other. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
22. A computer-implemented method comprising controlling an application based upon a motion history that indicates, for each pixel included in an object data map, an indication of time since an object has been detected at each pixel, the object data map indicating, for each pixel in a first image received of the object, whether the object is detected at the each pixel, and further based upon determining whether the object touches a virtual object rendered in a display image associated with the application, wherein determining whether the object touches a virtual object rendered in the display image associated with the application is based on identifying that a part of the motion history within a region representing the virtual object is coincident to the virtual object, calculating a velocity for the virtual object based on the motion history;
- and controlling the application based on the determined velocity for the virtual wherein the object in the first image and the virtual object rendered in the display image are distinct from each other.
-
23. An apparatus comprising:
-
a camera configured to capture at least a first image of an object; a processor; memory storing instructions that, when executed by the processor, cause the apparatus to; receive the first image of the object from the camera, detect the object in the first image, generate an object data map in response to detecting the object in the first image, the object data map indicating, for each pixel in the first image, whether the object is detected at the each pixel, generate a motion history indicating, for each pixel included in the object data map, an indication of time since the object has been detected at the each pixel, and control an application based on the motion history, wherein controlling an application based on the motion history includes; determining whether the object is interacting with a virtual object rendered in a display image associated with the application, based on at least a part of the motion history within a region representing the virtual object; calculating a velocity for the virtual object based on the motion history; and controlling the application based on the determined velocity for the virtual object; wherein the object in the first image and the virtual object rendered in the display image are distinct from each other; and a display configured to render the display image associated with the application.
-
-
24. A non-transitory computer readable storage medium having stored thereon instructions that, when executed, cause at least one computing device to:
-
receive at least a first image of an object; detect the object in the first image; generate an object data map in response to detecting the object in the first image, the object data map indicating, for each pixel in the first image, whether the object is detected at the each pixel; generate a motion history indicating, for each pixel included in the object data map, an indication of time since the object has been detected at the each pixel; and control an application based on the motion history, wherein controlling an application based on the motion history includes; determining whether the object is interacting with a virtual object rendered in a display image associated with the application, based on at least a part of the motion history within a region representing the virtual object; calculating a velocity for the virtual object based on the motion history; and controlling the application based on the determined velocity for the virtual object; wherein the object in the first image and the virtual object rendered in the display image are distinct from each other.
-
-
25. A system comprising:
-
means for receiving at least a first image of an object; means for detecting the object in the first image; means for generating an object data map in response to detecting the object in the first image, the object data map indicating, for each pixel in the first image, whether the object is detected at the each pixel; means for generating a motion history indicating, for each pixel included in the object data map, an indication of time since the object has been detected at the each pixel; and means for controlling an application based on the motion history, wherein the means for controlling an application based on the motion history includes; means for determining whether the object is interacting with a virtual object rendered in a display image associated with the application, based on at least a part of the motion history within a region representing the virtual object; means for calculating a velocity for the virtual object based on the motion history; and means for controlling the application based on the determined velocity for the virtual object; wherein the object in the first image and the virtual object rendered in the display image are distinct from each other.
-
Specification