Detecting visual gestural patterns
Abstract
A processing device and method are provided for capturing images, via an image-capturing component of a processing device, and determining a motion of the processing device. An adaptive search center technique may be employed to determine a search center with respect to multiple equal-sized regions of an image frame, based on previously estimated motion vectors. One of several fast block matching methods may be used, based on one or more conditions, to match a block of pixels of one image frame with a second block of pixels of a second image. Upon matching blocks of pixels, motion vectors of the multiple equal-sized regions may be estimated. The motion may be determined, based on the estimated motion vectors, and an associated action may be performed. Various embodiments may implement techniques to distinguish motion blur from de-focus blur and to determine a change in lighting condition.
Claims
exact text as granted — not AI-modified1 . A machine-implemented method performed on a portable processing device including an image-capturing component, the machine-implemented method comprising:
detecting, by the portable processing device, one of a plurality of gestures based on at least one detected motion of the portable processing device, as determined by using one of a plurality of adaptive methods for detecting the at least one motion based on images captured by the image-capturing component, at least one of the plurality of gestures including at least one motion from a set of motions comprising panning, tilting, spinning, rotation, flicking, depth-in and depth-out; performing, by the portable processing device, a predefined action associated with the detected one of the plurality of gestures; detecting a wiping gesture; and performing a second action associated with the wiping gesture when the wiping gesture is detected.
2 . The machine-implemented method of claim 1 , further comprising:
capturing a first image frame via the image-capturing component, the captured first image frame having a plurality of regions, each of the plurality of regions having a subset comprising a block of pixels; capturing a second image frame via the image-capturing component, the captured second image having a plurality of regions; adaptively searching for a matching block of pixels in each of the plurality of regions of the captured second image frame with respect to a corresponding one of the block of pixels in respective ones of the plurality of regions of the captured first image frame; and estimating a motion vector with respect to each of the plurality of regions of the captured second image frame based on positions of the matching blocks of pixels with respect to positions of the blocks of pixels in the respective ones of the plurality of regions of the first image frame.
3 . The machine-implemented method of claim 2 , wherein the adaptively searching for a matching block of pixels in each of the plurality of regions of the captured second image frame with respect to a corresponding one of the block of pixels in respective ones of the plurality of regions of the captured first image frame further comprises:
searching for the matching blocks of pixels in each of the plurality of regions of the captured second image frame by searching blocks of pixels based on a previously-estimated motion vector.
4 . The machine-implemented method of claim 2 , wherein the adaptively searching for a matching block of pixels in each of the plurality of regions of the captured second image frame with respect to a corresponding one of the block of pixels in respective ones of the plurality of regions of the captured first image frame further comprises:
selecting one of a plurality of fast block matching methods based on one or more characteristics of the processing device.
5 . The machine-implemented method of claim 2 , further comprising:
detecting one of a plurality of predefined gestures based, at least partly, on estimated motion vectors with respect to each of a plurality of regions of at least one captured image frame, including the second image frame; and causing the portable processing device to perform a predefined action associated with the detected one of the plurality of predefined gestures.
6 . The machine-implemented method of claim 1 , further comprising:
recording a user-defined gesture in a gesture recording mode; and associating the user-defined gesture with a particular action to be performed by the portable processing device.
7 . The machine-implemented method of claim 1 , further comprising:
recording a user-defined gesture in a gesture recording mode; associating the user-defined gesture with a particular action to be performed by the portable processing device; detecting the user-defined gesture based, at least partly, on estimated motion vectors with respect to each of a plurality of regions of at least one captured image frame; and causing the portable processing device to perform the particular action associated with the detected user-defined gesture.
8 . The machine-implemented method of claim 1 , further comprising:
detecting one of a plurality of predefined gestures based, at least partly, on estimated motion vectors with respect to each of a plurality of regions of at least one captured image frame; and causing the portable processing device to perform a predefined action associated with the detected one of the plurality of predefined gestures, wherein: the one of the plurality of predefined gestures is detected based on at least one motion of the portable processing device as determined by an estimated plurality of motion vectors.
9 . A portable processing device comprising:
at least one processor; an image-capturing component; at least one storage component connected to the at least one processor and the image-capturing component, some of the at least one storage component comprising:
instructions for detecting one of a plurality of gestures based on at least one detected motion of the portable processing device, as determined by using one of a plurality of adaptive methods for detecting the at least one motion based on images captured by the image-capturing component, at least one of the plurality of gestures including at least one motion from a set of motions comprising panning, tilting, spinning, rotation, flicking, depth-in and depth-out,
instructions for performing a predefined action associated with the detected one of the plurality of gestures,
instructions for recording a plurality of motion sequences during a gesture recording mode,
instructions for associating the recorded plurality of motion sequences with a second action to be performed by the portable processing device,
instructions for recognizing a second plurality of motion sequences matching the recorded plurality of motion sequences, and
instructions for performing the second action when the second plurality of motion sequences is recognized as matching the recorded plurality of motion sequences.
10 . The portable processing device of claim 9 , wherein the instructions for detecting one of a plurality of gestures further comprise:
instructions for determining whether a blurred image is due to defocus blur or motion blur.
11 . The portable processing device of claim 9 , wherein some of the at least one storage component further comprises:
instructions for selecting the one of the plurality of adaptive methods for detecting the at least one motion based on at least one characteristic of the portable processing device.
12 . The portable processing device of claim 9 , wherein the instructions for detecting one of a plurality of gestures further comprise:
instructions for capturing a plurality of images via the image-capturing component, each of the images including a plurality of regions, instructions for adaptively searching for a matching block of pixels in each of the plurality of regions with respect to two of the plurality of images, instructions for estimating a respective motion vector for each of the plurality of regions based on positions of respective ones of the matching block of pixels, and instructions for detecting the one of the plurality of gestures based, at least partly, on the estimated respective motion vectors for each of the plurality of regions.
13 . The portable processing device of claim 9 , wherein at least one storage component further comprises:
instructions for detecting a wiping gesture, and instructions for performing an action associated with the wiping gesture when the wiping gesture is detected.
14 . The portable processing device of claim 9 , wherein the instructions for detecting one of a plurality of gestures further comprise:
detecting one of a plurality of predefined gestures based, at least partly, on estimated motion vectors with respect to each of a plurality of regions of at least one of the images captured by the image-capturing component.
15 . A dynamic or static storage device having instructions recorded thereon for at least one processor of a processing device to perform a method comprising:
detecting one of a plurality of motions based on using an adaptive block matching technique on a plurality of images captured by the processing device; recording a sequence of detected motions during a gesture recording mode; associating the sequence of detected motions with an action to be performed by the processing device; recognizing a second sequence of detected motions as matching the recorded sequence of detected motions; and performing the action when the second sequence of detected motions is recognized as matching the recorded sequence of detected motions.
16 . The dynamic or static storage device of claim 15 , wherein the detecting one of a plurality of motions based on using an adaptive block matching technique on a plurality of images captured by the processing device further comprises:
detecting a change in orientation of the processing device based on using the adaptive block matching technique on the plurality of images captured by the processing device.
17 . The dynamic or static storage device of claim 15 , wherein the detecting one of a plurality of motions based on using an adaptive block matching technique on a plurality of images captured by the processing device further comprise:
distinguishing motion blur from de-focus blur in the plurality of images.
18 . The dynamic or static storage device of claim 15 , wherein the detecting one of a plurality of motions based on using an adaptive block matching technique on a plurality of images captured by the processing device further comprises:
selecting one of a plurality of fast block matching methods based on at least one characteristic of the processing device.
19 . The dynamic or static storage device of claim 18 , the selecting one of a plurality of fast block matching methods based on at least one characteristic of the processing device further comprises:
selecting the one of the plurality of fast block matching methods based on at least one condition from a plurality of conditions consisting of a condition of a battery, a CPU load, and historical matching accuracies of each of the plurality of fast block matching methods.
20 . The dynamic or static storage device of claim 15 , wherein the method further comprises:
notifying a user of an error when the recorded sequence of detected motions is confusingly similar to a previously-entered recorded sequence of detected motions.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.