Capturing Images at Locked Device Responsive to Device Motion

An approach is disclosed that detects a motion at a locked device, such as a smart phone, with the device including a digital camera. An image request is received at the locked device following the detection, whereupon a digital image is captured using the digital camera of the locked device.

BACKGROUND

Photo opportunities can quickly be lost when using a locked smart phone to take pictures. Some photo gestures exist, but these have particular drawbacks. Drawbacks of these gestures are that even when the user is familiarized with the gesture, the gesture still requires time for the user to perform the gesture before the user raises the device to take a picture using the digital camera on the device. In addition, the user must know that the gesture exists and enable it, many users are unaware of its existence or forget that the gesture is available when wanting to take a quick shot. In addition, other traditional techniques allow for the camera app to be launched directly from the lock screen in limited mode. Drawbacks of these traditional techniques are that the user must first turn on the screen and, even if the screen is already turned on or if it turns on with motion of the device, the technique still requires time for the user to press the camera button on the device before the user raises the camera into position.

SUMMARY

An approach is disclosed that detects a motion at a locked device, such as a smart phone, with the device including a digital camera. An image request is received at the locked device following the detection, whereupon a digital image is captured using the digital camera of the locked device.

The foregoing is a summary and thus contains, by necessity, simplifications, generalizations, and omissions of detail; consequently, those skilled in the art will appreciate that the summary is illustrative only and is not intended to be in any way limiting. Other aspects, inventive features, and advantages will become apparent in the non-limiting detailed description set forth below.

DETAILED DESCRIPTION

The following detailed description will generally follow the summary, as set forth above, further explaining and expanding the definitions of the various aspects and embodiments as necessary. To this end, this detailed description first sets forth a computing environment inFIG. 1that is suitable to implement the software and/or hardware techniques associated with the disclosure. A networked environment is illustrated inFIG. 2as an extension of the basic computing environment, to emphasize that modern computing techniques can be performed across multiple discrete devices.

FIG. 1illustrates information handling system100, which is a simplified example of a computer system capable of performing the computing operations described herein. Note that some or all of the exemplary architecture, including both depicted hardware and software, shown for and within information handling system100may be utilized by a software deploying server, such as one of the servers shown inFIG. 2.

Information handling system100includes processor104that is coupled to system bus106. Processor104may utilize one or more processors, each of which has one or more processor cores. Video adapter108, which drives/supports touch screen display110, is also coupled to system bus106. In one embodiment, touch screen display110is able to read a user's fingerprint when pressed against the screen. System bus106is coupled via bus bridge112to input/output (I/O) bus114. I/O interface116is coupled to I/O bus114. I/O interface116affords communication with various I/O devices, including orientation sensor118, input device(s)120, media tray122(which may include additional storage devices such as CD-ROM drives, multi-media interfaces, etc.), motion sensor124, and external USB port(s)126. Input devices120include a digital camera accessible by at least one of the processors. In one embodiment, input devices120further includes a fingerprint reader accessible to at least one of the processors that is able to read a fingerprint pressed against the reader.

Orientation sensor(s)118are one or more sensors and/or associated logic that senses the physical/spatial orientation of information handling system100. For example, a simple gravity detector can tell if the information handling system is being held right-side-up, upside down, parallel to or perpendicular to the ground (e.g., a walking surface), at some other angle relative to the ground, etc. In another example, orientation sensor118is a set of accelerometers, strain gauges, etc. that provide real-time information describing the physical orientation of information handling system100in three-dimensional space, including such orientation with respect to the earth/ground/floor. One or more of these orientation sensors determine if the display screen layer is positioned in a “portrait” mode or a “landscape” mode.

Motion sensor(s)124include one or more sensors and/or associated logic that senses the direction, speed, and/or acceleration of movement of information handling system100and components such as the keyboard layer, touch layer, and display screen layer. For example, a combination of accelerometers, strain gauges, etc. (described above with respect to orientation sensor118) can also be used to detect how fast and in what direction information handling system100or the individual components is moving, as well as the acceleration of movement of information handling system100or the individual components. For example, motion sensor124, either alone or in combination with the orientation sensor118described above, is able to detect if information handling system100is being handed from one person to another based on the rate of acceleration during the hand-off (e.g., faster than normal walking acceleration), the yaw orientation of information handling system100during the hand-off (e.g., a rotating movement indicating that the computer is being turned around for another person to see during a hand-off of the computer from one person to another), the pitch orientation of information handling system100during the hand-off (e.g., the front of information handling system100being tilted upwards during the hand-off of the computer from one person to another), and/or the roll orientation of information handling system100during the hand-off (e.g., a side of the computer rolling upwards during the hand-off of the computer of the computer from one person to another). In one embodiment, motion sensor124(alone or in combination with orientation sensor118) is able to detect an oscillating motion of information handling system100, such as that motion created with a user is walking and holding a tablet computer in her hand (and at her side) while swinging her arms forward and backward.

Nonvolatile storage interface132is also coupled to system bus106. Nonvolatile storage interface132interfaces with one or more nonvolatile storage devices134. In one embodiment, nonvolatile storage device134populates system memory136, which is also coupled to system bus106. System memory includes a low level of volatile memory. This volatile memory also includes additional higher levels of volatile memory, including cache memory, registers and buffers. Data that populates system memory136includes information handling system100's operating system (OS)138and application programs144. OS138includes a shell140, for providing transparent user access to resources such as application programs144. As depicted, OS138also includes kernel142, which includes lower levels of functionality for OS138, including providing essential services required by other parts of OS138and application programs144, including memory management, process and task management, disk management, and mouse and keyboard management.

The hardware elements depicted in information handling system100are not intended to be exhaustive, but rather are representative to highlight essential components required by the present invention. For instance, information handling system100may include alternate memory storage devices such as magnetic cassettes, digital versatile disks (DVDs), Bernoulli cartridges, and the like. These and other variations are intended to be within the spirit and scope of the present invention.

FIG. 3is a diagram depicting components used in an approach that captures digital images at a locked device responsive to motion detected at the locked device. Device300, such as a smart phone, etc., is in a locked state. User of the device325moves the device in order to take a digital image of an object, such as subject330. The device detects the motion with motion310being either the device being oriented in a image-taking position or in a user-configured position. Due to the particular motion of device300, at position320, the device automatically enters camera mode in order to capture a digital image desired by the user. When in camera mode, an image request can be sent to the device, such as by the user pressing a image-taking trigger on the device (e.g., soft key, button, etc.). Even though the camera in the device is activated and image taking is allowed, other functionality of the device, such as other smart phone functionality, is inhibited until the user is authenticated (e.g., fingerprint, pass code, etc.). This allows user325to capture a digital image of subject330in a quick fashion without having to take the time to unlock the device.

FIG. 4is a flowchart showing configuration steps used to set up user preferences at a device in order to capture digital images at the device responsive to detected device motion.FIG. 4processing commences at400and shows the steps taken by a process that sets up camera quick launch functionality on a device, such as a smart phone. At step405, the process receives a request from the user of the device (e.g. smart phone, etc.) to enable camera quick launch functionality on the device that allows camera usage while the device is in a locked state. At step410, the process receives one or more camera quick launch options from the user of the device.

The process determines as to whether the user wishes to allow quick launch functionality on the device when locked without first authenticating the user (decision415). If the user wishes to allow quick launch functionality on the device when locked without first authenticating the user, then decision415branches to the ‘yes’ branch to perform step420. On the other hand, if the user does not wish to allow quick launch functionality on the device when locked without first authenticating the user, then decision415branches to the ‘no’ branch to perform step420. At step420, the process sets a setting so that one or more sensors on the device are treated as the camera trigger (e.g., shutter) button when quick launch detected at the device. In this manner, any sensors on the device, such as the entire touch screen surface, can be treated as the camera trigger button so that the user does not have to remember or search for the trigger button when quickly capturing an image of a subject. At step425, the process treats sensors in their traditional manner, such as a fingerprint sensor being used to authenticate the user and the normal camera trigger is used to receive the image request when quick launch is detected.

The process determines as to whether the user has indicated that a two hand device pickup triggers the camera quick launch functionality (decision430). If the user has indicated that a two hand device pickup triggers the camera quick launch functionality, then decision430branches to the ‘yes’ branch to perform step435. On the other hand, if the user has not indicated that a two hand device pickup triggers the camera quick launch functionality, then decision430branches to the ‘no’ branch bypassing step435. At step435, the process enables quick launch functionality to be triggered when a two handed pickup of the locked device is detected.

The process determines as to whether the user has not indicated that a finger remaining on the fingerprint sensor automatically triggers camera quick launch functionality (decision440). If the user has indicated that a finger remaining on the fingerprint sensor automatically triggers camera quick launch functionality, then decision440branches to the ‘yes’ branch to perform step445. On the other hand, if the user has not indicated that a finger remaining on the fingerprint sensor automatically triggers camera quick launch functionality, then decision440branches to the ‘no’ branch bypassing step445. At step445, the process enables quick launch functionality to be triggered when the user's finger remains on the sensor.

The process determines as to whether orientation of the device from the user triggers camera quick launch functionality (decision450). In one embodiment, orientation is in standard image taking orientation where the camera is roughly face high with the camera lens facing a subject and the flat surface of the device roughly perpendicular to the ground. If orientation of the device from the user triggers camera quick launch functionality, then decision450branches to the ‘yes’ branch to perform step455. On the other hand, if orientation of the device from the user does not trigger camera quick launch functionality, then decision450branches to the ‘no’ branch bypassing step455. At step455, the process enables quick launch functionality to be triggered when orientation of the device is detected, such as the device being roughly perpendicular to the ground.

The process determines as to whether movement of the device to a position higher than a normal login position triggers quick launch functionality (decision460). When not capturing images, when the user wants to use the device he or she raises the device to a lower position and looks down on the device when performing authentication actions, such as providing a fingerprint or pass code with this position being roughly one foot or more lower than the user's head. If the movement of the device is to a higher position, such as the same height as the user's head or higher, then this option would automatically trigger the camera quick launch functionality. If movement of the device to a position higher than a normal login position triggers quick launch functionality, then decision460branches to the ‘yes’ branch to perform step465. On the other hand, if movement of the device to a position higher than a normal login position does not trigger quick launch functionality, then decision460branches to the ‘no’ branch bypassing step465. At step465, the process enables quick launch functionality to be triggered when the device is moved to a higher position than when device login activities are performed.

The process determines as to whether the user wishes to customize one or more movements of the device that will trigger camera quick launch functionality (decision470). If the user wishes to customize one or more movements of the device that will trigger camera quick launch functionality, then decision470branches to the ‘yes’ branch to perform step475. On the other hand, if the user does not wish to provide any customized movements that trigger camera quick launch functionality, then decision470branches to the ‘no’ branch bypassing step475. At step475, the process receives one or more custom gestures from user that will trigger quick launch. In one embodiment, the user is prompted to move the device in a movement pattern that will be saved and compared with future movements of the device so that, when matched, the camera quick launch functionality will be activated.

At step480, the process saves all of the camera quick launch enabled function settings, customized movements, and options captured during steps410through475. The camera quick launch settings are saved in nonvolatile memory490accessible from the device. Set up processing shown inFIG. 4thereafter ends at495.

FIG. 5is a flowchart showing steps used to capture digital images at the device responsive to detected device motion.FIG. 5processing commences at500and shows the steps taken by a process that controls initiating camera quick launch functionality at a locked device, such as a smart phone. At step510, the device is shown as being in a locked state where normal functionality is inhibited until the user is authenticated (e.g., fingerprint, pass code, etc.). At step520, the process detects movement of the device. At step525, the process retrieves the camera quick launch settings from data store490. The quick launch settings were established and stored using the processing shown inFIG. 4. At step530, the process compares the movement detected at the device to the enabled movement options that have been configured to initiate the camera quick launch functionality.

The process determines as to whether two hand device pickup motion has been detected and has also been enabled to initiate the camera quick launch functionality (decision540). If two hand device pickup motion has been detected and has also been enabled to initiate the camera quick launch functionality, then decision540branches to the ‘yes’ branch to perform predefined process550. On the other hand, if two hand device pickup motion has not been detected or has not been enabled to initiate the camera quick launch functionality, then decision540branches to the ‘no’ branch for further processing. The process determines as to whether the user's finger remaining on sensor motion has been detected and has also been enabled to initiate the camera quick launch functionality (decision560). If the user's finger remaining on sensor motion has been detected and has also been enabled to initiate the camera quick launch functionality, then decision560branches to the ‘yes’ branch to perform predefined process550. On the other hand, if the user's finger remaining on sensor motion has not been detected or has not been enabled to initiate the camera quick launch functionality, then decision560branches to the ‘no’ branch for further processing.

The process determines as to whether orientation of the device from the user motion has been detected and has also been enabled to initiate the camera quick launch functionality (decision570). If orientation of the device from the user motion has been detected and has also been enabled to initiate the camera quick launch functionality, then decision570branches to the ‘yes’ branch to perform predefined process550. On the other hand, if orientation of the device from the user motion has not been detected or has not been enabled to initiate the camera quick launch functionality, then decision570branches to the ‘no’ branch for further processing. The process determines as to whether motion of the device has been detected to a higher position and has also been enabled to initiate the camera quick launch functionality (decision575). If motion of the device has been detected to a higher position and has also been enabled to initiate the camera quick launch functionality, then decision575branches to the ‘yes’ branch to perform predefined process550. On the other hand, if not movement of device to higher position detected and enabled, then decision575branches to the ‘no’ branch for further processing.

The process determines as to whether a customized motion has been detected and has also been enabled to initiate the camera quick launch functionality (decision580). If another natural photographic movement or a customized motion has been detected and has also been enabled to initiate the camera quick launch functionality, then decision580branches to the ‘yes’ branch to perform predefined process550. Natural photographic movement include a motion to align the digital camera with a subject, a motion to place the digital camera into action, a two-handed pickup of the device, a movement of the device to a predetermined orientation from a user of the device, a movement of the device to a position higher than a normal usage height, and a detection of a fingertip on a sensor that signals an image capture.

On the other hand, if a natural photographic movement or a customized motion has not been detected or has not been enabled to initiate the camera quick launch functionality, then decision580branches to the ‘no’ branch for further processing. The process determines as to whether the device has been unlocked by the user (decision590), such as by providing an authorized fingerprint or pass code. If the device has been unlocked, then decision590branches to the ‘yes’ branch whereupon processing ends at590as the usage functions shown inFIG. 5are performed on the device when in a locked state. On the other hand, if the device has not been unlocked, then decision590branches to the ‘no’ branch which loops back to step510to repeat the processing shown above until the device is unlocked.

FIG. 6is a flowchart showing steps used to perform digital camera quick launch functionality responsive to detected motion.FIG. 6processing commences at600and shows the steps taken by the process that performs a quick launch of the camera application (app) on a device, such as a smart phone, that is in a locked mode, or setting. The process determines as to whether the device has been configured to allow a quick launch of the device's camera without first authenticating the user of the device (decision610). If the device has been configured to allow a quick launch of the device's camera without first authenticating the user of the device, then decision610branches to the ‘yes’ branch to perform steps620through628. On the other hand, if the device has not been configured to allow a quick launch of the device's camera without first authenticating the user of the device, then decision610branches to the ‘no’ branch to perform steps630through695.

Steps620through628are performed when the device has been configured to allow a quick launch of the device's camera without first authenticating the user of the device. At step620, the process activates the camera application (or “app”) on the device. If the camera app is already executing, then step620task switches to the camera app, and if the camera app is not yet executing, then step620invokes the camera app and task switches to the camera app. At step625, the process waits for a finger press by the user on a device sensor (e.g. fingerprint sensor area, etc.), which causes the digital camera to capture image. In one embodiment, a single image can be captured before authentication of the user is required, while in an alternative embodiment, the camera app stays active for additional image captures but the user cannot task switch out of the camera app without first being authenticated to the device (e.g., fingerprint check, input of pass code, etc.).FIG. 6processing thereafter returns to the calling routine (seeFIG. 5) at628.

Steps629through695are performed when the device has been configured to not allow a quick launch of the device's camera without first authenticating the user of the device. At step629, the process authenticates the user (e.g., fingerprint check, pass code entry, etc.). The process determines as to whether the user was successfully authenticated at step629(decision630). If the user was successfully authenticated, then decision630branches to the ‘yes’ branch to perform steps650through695. On the other hand, if the user was not authenticated, then decision630branches to the ‘no’ branch whereupon processing returns to the calling routine (seeFIG. 5) indicating that an authentication error occurred and the device remains in a locked state.

Steps650through695are performed when the user has been successfully authenticated. At step650, the process activates the camera application (or “app”) on the device. If the camera app is already executing, then step650task switches to the camera app, and if the camera app is not yet executing, then step650invokes the camera app and task switches to the camera app. The process determines as to whether detection of the user's finger remaining on the sensor has occurred and if this quick launch feature has been enabled (decision660). If the user's finger is detected as remaining on the sensor and if this quick launch feature has been enabled, then decision660branches to the ‘yes’ branch to perform step670. On the other hand, if the user's finger is not detected as remaining on the sensor or if this quick launch feature has not been enabled, then decision660branches to the ‘no’ branch to perform step680. At step670, the user's continued finger press on the sensor area (e.g., the fingerprint sensor, etc.) causes the digital camera to capture an image. At step680, the user's next finger press on the device sensor causes digital camera to capture image. At step690, the devices remains locked or unlocked based on the user's configuration setting.FIG. 6processing thereafter returns to the calling routine (seeFIG. 5) at695.