System and process for selecting objects in a ubiquitous computing environment
1 Assignment
0 Petitions
Accused Products
Abstract
A system and process for selecting objects in an ubiquitous computing environment where various electronic devices are controlled by a computer via a network connection and the objects are selected by a user pointing to them with a wireless RF pointer. By a combination of electronic sensors onboard the pointer and external calibrated cameras, a host computer equipped with an RF transceiver decodes the orientation sensor values transmitted to it by the pointer and computes the orientation and 3D position of the pointer. This information, along with a model defining the locations of each object in the environment that is associated with a controllable electronic component, is used to determine what object a user is pointing at so as to select that object for further control actions.
93 Citations
52 Claims
-
1-44. -44. (canceled)
-
45. A computer-implemented process for selecting an object within an environment by a user pointing to the object with a pointing device, comprising using a computer to perform the following process actions:
-
ascertaining the orientation of the pointing device in relation to a predefined coordinate system of the environment;
ascertaining the location of the pointing device in terms of the predefined coordinate system;
using the orientation and location of the pointing device to determine whether the pointing device is being pointed at an object in the environment that is controllable by the computer; and
whenever the pointing device is being pointed at a controllable object, selecting that object for future control actions;
wherein the process action of using the orientation and location of the pointing device to determine whether the pointing device is being pointed at an object in the environment that is controllable by the computer, comprises the actions of, modeling the location and extent of objects within the environment that are controllable by the computer using 3D Gaussian blobs defined by a location of the mean of the blob in terms of its environmental coordinates and a covariance, for each Gaussian blob, determining whether a ray originating at the location of the pointing device and extending in a direction defined by the orientation of the device intersects the blob, for each Gaussian blob intersected by the ray, ascertaining the value of the Gaussian blob at a point along the ray nearest the location of the mean of the blob, said value representing the probability that the pointing device is pointing at the object associated with the Gaussian blob, identifying which of the probability values associated with the Gaussian blobs is the largest, and designating the object associated with the Gaussian blob from which the largest probability value was derived as being the object that the pointing device is pointing at. - View Dependent Claims (49, 52)
-
-
46. (canceled)
-
47. A computer-implemented process for selecting an object within an environment by a user pointing to the object with a pointing device, comprising using a computer to perform the following process actions:
-
ascertaining the orientation of the pointing device in relation to a predefined coordinate system of the environment;
ascertaining the location of the pointing device in terms of the predefined coordinate system;
using the orientation and location of the pointing device to determine whether the pointing device is being pointed at an object in the environment that is controllable by the computer; and
whenever the pointing device is being pointed at a controllable object, selecting that object for future control actions;
wherein the process action of using the orientation and location of the pointing device to determine whether the pointing device is being pointed at an object in the environment that is controllable by the computer, comprises the actions of, modeling the location and extent of objects within the environment that are controllable by the computer using 3D Gaussian blobs defined by a location of the mean of the blob in terms of its environmental coordinates and a covariance, for each Gaussian blob, projecting the Gaussian blob onto a plane which is normal to either a line extending from the location of the pointing device to the mean of the blob or a ray originating at the location of the pointing device and extending in a direction defined by the orientation of the device, ascertaining the value of the resulting projected Gaussian blob at a point where the ray intersects the plane, said value representing the probability that the pointing device is pointing at the object associated with the projected Gaussian blobs, identifying which of the probability values associated with the projected Gaussian blobs is the largest, if any, and designating the object associated with the Gaussian blob from which the largest probability value was derived as being the object that the pointing device is pointing at. - View Dependent Claims (50)
-
-
48. A computer-implemented process for selecting an object within an environment by a user pointing to the object with a pointing device comprising using a computer to perform the following process actions:
-
ascertaining the orientation of the pointing device in relation to a predefined coordinate system of the environment;
ascertaining the location of the pointing device in terms of the predefined coordinate system;
using the orientation and location of the pointing device to determine whether the pointing device is being pointed at an object in the environment that is controllable by the computer; and
whenever the pointing device is being pointed at a controllable object, selecting that object for future control actions;
wherein the process action of using the orientation and location of the pointing device to determine whether the pointing device is being pointed at an object in the environment that is controllable by the computer, comprises the actions of, modeling the location and extent of objects within the environment that are controllable by the computer using 3D Gaussian blobs defined by a location of the mean of the blob in terms of its environmental coordinates and a covariance, for each Gaussian blob, projecting the Gaussian blob onto a plane which is normal to either a line extending from the location of the pointing device to the mean of the blob or a ray originating at the location of the pointing device and extending in a direction defined by the orientation of the device, ascertaining the value of the resulting projected Gaussian blob at a point where the ray intersects the plane, said value representing the probability that the pointing device is pointing at the object associated with the projected Gaussian blob, identifying which of the probability values associated with the projected Gaussian blobs is the largest, if any, determining if a probability value identified as the largest exceeds a prescribed minimum probability thresholds and whenever it is determined that the probability value identified as the largest exceeds the prescribed minimum probability threshold, designating the object associated with the projected Gaussian blob from which the probability value was derived as being the object that the pointing device is pointing at. - View Dependent Claims (51)
-
Specification