Video-based image control system
First Claim
Patent Images
1. A method comprising:
- identifying features in an image of a scene;
determining a three-dimensional position for one or more features in the scene;
analyzing the three-dimensional position of at least one feature in the scene to determine position information of a control object;
causing display of a video display that includes at least a first virtual object and a second virtual object laid out at different depths, the first virtual object being defined by first three-dimensional bounds that describe a three-dimensional shape of the first virtual object and the second virtual object being defined by second three-dimensional bounds that describe a three-dimensional shape of the second virtual object;
mapping the position information of the control object to three-dimensional coordinates relative to the video display including a depth coordinate relative to the video display;
comparing the three-dimensional coordinates of the control object including the depth coordinate of the control object to the first three-dimensional bounds that define the first virtual object and the second three-dimensional bounds that define the second virtual object;
based on comparison results, determining whether the three-dimensional coordinates of the control object are within the first three-dimensional bounds that define the first virtual object or the second three-dimensional bounds that define the second virtual object;
based on a determination that the three-dimensional coordinates of the control object are within the first three-dimensional bounds that define the first virtual object, determining that the control object is interacting with the first virtual object and controlling an application based on the determination that control object is interacting with the first virtual object; and
based on a determination that the three-dimensional coordinates of the control object are within the second three-dimensional bounds that define the second virtual object, determining that the control object is interacting with the second virtual object and controlling the application based on the determination that control object is interacting with the second virtual object,wherein determining whether the three-dimensional coordinates of the control object are within the first three-dimensional bounds that define the first virtual object or the second three-dimensional bounds that define the second virtual object comprises;
determining that the three-dimensional coordinates of the control object are within the first three-dimensional bounds that define the first virtual object when the depth coordinate of the control object indicates that the control object is located at a first depth relative to the video display, anddetermining that the three-dimensional coordinates of the control object are within the second three-dimensional bounds that define the second virtual object when the depth coordinate of the control object indicates that the control object is located at a second depth relative to the video display, the second depth relative to the video display being different than the first depth relative to the video display.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of using stereo vision to interface with a computer is provided. The method includes capturing a stereo image, and processing the stereo image to determine position information of an object in the stereo image. The object is controlled by a user. The method also includes communicating the position information to the computer to allow the user to interact with a computer application.
127 Citations
48 Claims
-
1. A method comprising:
-
identifying features in an image of a scene; determining a three-dimensional position for one or more features in the scene; analyzing the three-dimensional position of at least one feature in the scene to determine position information of a control object; causing display of a video display that includes at least a first virtual object and a second virtual object laid out at different depths, the first virtual object being defined by first three-dimensional bounds that describe a three-dimensional shape of the first virtual object and the second virtual object being defined by second three-dimensional bounds that describe a three-dimensional shape of the second virtual object; mapping the position information of the control object to three-dimensional coordinates relative to the video display including a depth coordinate relative to the video display; comparing the three-dimensional coordinates of the control object including the depth coordinate of the control object to the first three-dimensional bounds that define the first virtual object and the second three-dimensional bounds that define the second virtual object; based on comparison results, determining whether the three-dimensional coordinates of the control object are within the first three-dimensional bounds that define the first virtual object or the second three-dimensional bounds that define the second virtual object; based on a determination that the three-dimensional coordinates of the control object are within the first three-dimensional bounds that define the first virtual object, determining that the control object is interacting with the first virtual object and controlling an application based on the determination that control object is interacting with the first virtual object; and based on a determination that the three-dimensional coordinates of the control object are within the second three-dimensional bounds that define the second virtual object, determining that the control object is interacting with the second virtual object and controlling the application based on the determination that control object is interacting with the second virtual object, wherein determining whether the three-dimensional coordinates of the control object are within the first three-dimensional bounds that define the first virtual object or the second three-dimensional bounds that define the second virtual object comprises; determining that the three-dimensional coordinates of the control object are within the first three-dimensional bounds that define the first virtual object when the depth coordinate of the control object indicates that the control object is located at a first depth relative to the video display, and determining that the three-dimensional coordinates of the control object are within the second three-dimensional bounds that define the second virtual object when the depth coordinate of the control object indicates that the control object is located at a second depth relative to the video display, the second depth relative to the video display being different than the first depth relative to the video display. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A device comprising:
-
an image detector configured to receive an image of a scene; and a processor configured to; identify features in the image, determine a three-dimensional position for one or more features in the scene, analyze the three-dimensional position of at least one feature in the scene to determine position information of a control object, cause display of a video display that includes at least a first virtual object and a second virtual object laid out at different depths, the first virtual object being defined by first three-dimensional bounds that describe a three-dimensional shape of the first virtual object and the second virtual object being defined by second three-dimensional bounds that describe a three-dimensional shape of the second virtual object; map the position information of the control object to three-dimensional coordinates relative to the video display including a depth coordinate relative to the video display; compare the three-dimensional coordinates of the control object including the depth coordinate of the control object to the first three-dimensional bounds that define the first virtual object and the second three-dimensional bounds that define the second virtual object; based on comparison results, determine whether the three-dimensional coordinates of the control object are within the first three-dimensional bounds that define the first virtual object or the second three-dimensional bounds that define the second virtual object; based on a determination that the three-dimensional coordinates of the control object are within the first three-dimensional bounds that define the first virtual object, determine that the control object is interacting with the first virtual object and control an application based on the determination that control object is interacting with the first virtual object; and based on a determination that the three-dimensional coordinates of the control object are within the second three-dimensional bounds that define the second virtual object, determine that the control object is interacting with the second virtual object and control the application based on the determination that control object is interacting with the second virtual object, wherein the processor is configured to determine whether the three-dimensional coordinates of the control object are within the first three-dimensional bounds that define the first virtual object or the second three-dimensional bounds that define the second virtual object by; determining that the three-dimensional coordinates of the control object are within the first three-dimensional bounds that define the first virtual object when the depth coordinate of the control object indicates that the control object is located at a first depth relative to the video display, and determining that the three-dimensional coordinates of the control object are within the second three-dimensional bounds that define the second virtual object when the depth coordinate of the control object indicates that the control object is located at a second depth relative to the video display, the second depth relative to the video display being different than the first depth relative to the video display.
-
-
42. A system comprising:
-
means for identifying features in an image of a scene; means for determining a three-dimensional position for one or more features in the scene; means for analyzing the three-dimensional position of at least one feature in the scene to determine position information of a control object; means for causing display of a video display that includes at least a first virtual object and a second virtual object laid out at different depths, the first virtual object being defined by first three-dimensional bounds that describe a three-dimensional shape of the first virtual object and the second virtual object being defined by second three-dimensional bounds that describe a three-dimensional shape of the second virtual object; means for mapping the position information of the control object to three-dimensional coordinates relative to the video display including a depth coordinate relative to the video display; means for comparing the three-dimensional coordinates of the control object including the depth coordinate of the control object to the first three-dimensional bounds that define the first virtual object and the second three-dimensional bounds that define the second virtual object; means for determining, based on comparison results, whether the three-dimensional coordinates of the control object are within the first three-dimensional bounds that define the first virtual object or the second three-dimensional bounds that define the second virtual object; means for determining, based on a determination that the three-dimensional coordinates of the control object are within the first three-dimensional bounds that define the first virtual object, that the control object is interacting with the first virtual object and controlling an application based on the determination that control object is interacting with the first virtual object; and means for determining, based on a determination that the three-dimensional coordinates of the control object are within the second three-dimensional bounds that define the second virtual object, that the control object is interacting with the second virtual object and controlling the application based on the determination that control object is interacting with the second virtual object, wherein the means for determining whether the three-dimensional coordinates of the control object are within the first three-dimensional bounds that define the first virtual object or the second three-dimensional bounds that define the second virtual object further comprises; means for determining that the three-dimensional coordinates of the control object are within the first three-dimensional bounds that define the first virtual object when the depth coordinate of the control object indicates that the control object is located at a first depth relative to the video display, and means for determining that the three-dimensional coordinates of the control object are within the second three-dimensional bounds that define the second virtual object when the depth coordinate of the control object indicates that the control object is located at a second depth relative to the video display, the second depth relative to the video display being different than the first depth relative to the video display. - View Dependent Claims (43, 44, 45, 46, 47, 48)
-
Specification