Patent ID: 8879801

Claim:
A method for controlling a computing device, comprising: obtaining a first digital image of a face of a user of the computing device with a digital camera; processing the first digital image to determine a position and orientation of an eyeball of the user beneath a surface of the user's skin by: determining an ellipse equation characterizing a first apparent iris disc in a plane of the first digital image by performing a least squares fit of iris-to-sclera boundary pixels in the first digital image; and determining a spherical center point location of the eyeball using the determined ellipse equation characterizing the first apparent iris disc in the plane of the first digital image; and translating the position determined and the orientation of the user's eyeball into an input command; wherein determining the spherical center point location of the eyeball comprises: determining coordinates of a center point of an iris disc in a three-dimensional coordinate system based on the determined ellipse equation characterizing the first apparent iris disc; calculating a first optical axis vector of the iris disc oriented in the three-dimensional coordinate system based on the center point of the iris disc and on the ellipse equation characterizing the first apparent iris disc; projecting the first optical axis vector into the user's eyeball; measuring one eyeball radius distance along the projected first optical axis vector from the surface of the iris disc in the user's eyeball; storing the projected first optical axis vector; calculating at least a second optical axis vector of the iris disc by: prompting the user to look in another direction; obtaining at a second digital image of the user's face; determining an ellipse equation characterizing a second apparent iris disc in a plane of the second digital image; and determining three-dimensional coordinates of a second center point of the iris disc based on the determined ellipse equation characterizing the second apparent iris disc; projecting the at least second optical axis vector into the user's eyeball; and determining an intersection of the projected first and projected at least second optical axis vector.