# Patent

## Title
Device camera angle

## Abstract

Techniques for device camera angle are described. In one or more implementations, a camera is mounted in a computing device at an angle based on an orientation of the computing device. For example, when the computing device is positioned on a surface and at an angle to the surface (such as when supported by a kickstand), the mounting angle of the camera is such that an optical axis of the camera points forward, and not towards the surface. In at least some implementations, a computing device includes a camera that is physically adjustable to support different orientations of the computing device. In at least some implementations, images that are captured via a camera on a computing device can be manipulated based on an orientation of the computing device.

## Background
RELATED APPLICATIONS
This application claims priority under 35 U.S.C. §119(e) to the following U.S. Provisional Patent Applications, the entire disclosures of each of these applications being incorporated by reference in their entirety:
U.S. Provisional Patent Application No. 61/606,321, filed Mar. 2, 2012, and titled “Screen Edge;”
U.S. Provisional Patent Application No. 61/606,301, filed Mar. 2, 2012, and titled “Input Device Functionality;”
U.S. Provisional Patent Application No. 61/606,311, filed Mar. 2, 2012, and titled “Functional Hinge;”
U.S. Provisional Patent Application No. 61/606,333, filed Mar. 2, 2012, and titled “Usage and Authentication;”
U.S. Provisional Patent Application No. 61/613,745, filed Mar. 21, 2012, and titled “Usage and Authentication;”
U.S. Provisional Patent Application No. 61/606,336, filed Mar. 2, 2012, and titled “Kickstand and Camera;” and
U.S. Provisional Patent Application No. 61/607,451, filed Mar. 6, 2012, and titled “Spanaway Provisional.”


BACKGROUND
Mobile computing devices have been developed to increase the functionality that is made available to users in a mobile setting. For example, a user may interact with a mobile phone, tablet computer, or other mobile computing device to check email, surf the web, compose texts, interact with applications, and so on.
Many mobile computing devices include an integrated camera. Such devices are typically held at a particular angle in order for an integrated camera to capture an image. Thus, images can be cut-off or out-of-focus if the device is not held or positioned at the correct angle relative to an object being photographed.
SUMMARY
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Techniques for device camera angle are described. In one or more implementations, a computing device includes a kickstand that can support the computing device on a surface. For example, kickstand can be opened to a particular position, and the computing device can be positioned on a surface (e.g., a table, a desk, and so on) such that a user can interact with the computing device. A user, for instance, can provide input to the computing device via an attached input device. Further, a user can view and/or interact with a display device included on the computing device.
In at least some embodiments, a camera is mounted in a computing device at an angle based on an orientation of the computing device. For example, when the computing device is positioned on a surface and at an angle to the surface (such as when supported by a kickstand), the mounting angle of the camera is such that the camera points forward, and not towards the surface. For instance, consider a scenario where the computing device is placed on a table in a room at a preset angle supported by a kickstand, such that a user sitting at the table can view a display on the computing device. The camera can be mounted in the computing device on a surface opposite the display device, such that the field of view of the camera points away from the display device. Further, the camera is mounted at an angle in the computing device such that the user can capture images (e.g., still images, video, and so on) of objects in the room, such as other persons sitting at the table, a whiteboard on a wall, and so forth. Thus, the field of view of the camera can be perpendicular to the table such that the camera is not simply pointing down at the table. In implementations, this can provide a “tripod experience” whereby a computing device that includes a camera can be supported by a kickstand, and the camera is angled such that images of surrounding objects can be captured, e.g., recorded.
In at least some implementations, a computing device includes a camera that is physically adjustable independent of the computing device to support different orientations of the computing device. Components of the camera, for instance, can be tilted, rotated, and/or panned based on a detected orientation of the computing device. This can enable a field of view of the camera to be adjusted to enable images of objects to be captured in different orientations of the computing device.
In at least some implementations, images that are captured via a camera on a computing device can be manipulated based on an orientation of the computing device. For example, various types of image enhancement and/or image correction can be applied to image data to account for phenomena that may arise when images are captured at particular angles, such as low light, image distortion, and so on.



BRIEF DESCRIPTION OF THE DRAWINGS
The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different instances in the description and the figures may indicate similar or identical items. Entities represented in the figures may be indicative of one or more entities and thus reference may be made interchangeably to single or plural forms of the entities in the discussion.
FIG. 1 is an illustration of an environment in an example implementation that is operable to employ the techniques described herein.
FIG. 2 depicts an example implementation of an input device of FIG. 1 as showing a flexible hinge in greater detail.
FIG. 3 depicts an example orientation of the computing device in accordance with one or more embodiments.
FIG. 4 depicts an example orientation of the computing device in accordance with one or more embodiments.
FIG. 5 depicts an example orientation of the computing device in accordance with one or more embodiments.
FIG. 6 depicts an example orientation of the computing device in accordance with one or more embodiments.
FIG. 7 depicts an example orientation of the computing device in accordance with one or more embodiments.
FIG. 8 depicts an example camera assembly in accordance with one or more embodiments.
FIG. 9 depicts an example camera assembly in accordance with one or more embodiments.
FIG. 10 depicts an example implementation scenario in accordance with one or more embodiments.
FIG. 11 depicts an example implementation scenario in accordance with one or more embodiments.
FIG. 12 is a flow diagram that describes steps in a method in accordance with one or more embodiments.
FIG. 13 illustrates an example system including various components of an example device that can be implemented as any type of computing device as described with reference to FIGS. 1-12 to implement embodiments of the techniques described herein.



DETAILED DESCRIPTION
Overview
Techniques for device camera angle are described. In one or more implementations, a computing device includes a kickstand that can support the computing device on a surface. For example, kickstand can be opened to a particular position, and the computing device can be positioned on a surface (e.g., a table, a desk, and so on) such that a user can interact with the computing device. A user, for instance, can provide input to the computing device via an attached input device. Further, a user can view and/or interact with a display device included on the computing device.
In at least some embodiments, a camera is mounted in a computing device at an angle based on an orientation of the computing device. For example, when the computing device is positioned on a surface and at an angle to the surface (such as when supported by a kickstand), the mounting angle of the camera is such that the camera points forward, and not towards the surface. For instance, consider a scenario where the computing device is placed on a table in a room at a preset angle supported by a kickstand, such that a user sitting at the table can view a display on the computing device. The camera can be mounted in the computing device on a surface opposite the display device, such that the field of view of the camera points away from the display device. Further, the camera is mounted at an angle in the computing device such that the user can capture images (e.g., still images, video, and so on) of objects in the room, such as other persons sitting at the table, a whiteboard on a wall, and so forth. Thus, the field of view of the camera can be perpendicular to the table such that the camera is not simply pointing down at the table. In implementations, this can provide a “tripod experience” whereby a computing device that includes a camera can be supported by a kickstand, and the camera is angled such that images of surrounding objects can be captured, e.g., recorded.
In at least some implementations, a computing device includes a camera that is physically adjustable to support different orientations of the computing device. Components of the camera, for instance, can be tilted, rotated, and/or panned based on a detected orientation of the computing device. This can enable a field of view of the camera to be adjusted to enable images of objects to be captured in different orientations of the computing device.
In at least some implementations, images that are captured via a camera on a computing device can be manipulated based on an orientation of the computing device. For example, various types of image enhancement and/or correction can be applied to image data to account for phenomena that may arise when images are captured at particular angles, such as low light, image distortion, and so on.
In the following discussion, an example environment is first described that may employ techniques described herein. Next, a section entitled “Example Device Orientations” describes some example mobile device orientations in accordance with one or more embodiments. Following this, a section entitled “Example Camera Assembly” describes some example camera assemblies and camera components in accordance with one or more embodiments. Next, an example procedure is described which may be performed in the example environment as well as other environments. Consequently, performance of the example procedure is not limited to the example environment and the example environment is not limited to performance of the example procedure. Finally, an example system and device are described in which embodiments may be implemented in accordance with one or more embodiments. Further, although an input device is described, other devices are also contemplated that do not include input functionality, such as covers.
Example Environment
FIG. 1 is an illustration of an environment 100 in an example implementation that is operable to employ techniques described herein. The illustrated environment 100 includes an example of a computing device 102 that is physically and communicatively coupled to an input device 104 via a flexible hinge 106. The computing device 102 may be configured in a variety of ways. For example, the computing device 102 may be configured for mobile use, such as a mobile phone, a tablet computer as illustrated, and so on. Thus, the computing device 102 may range from full resource devices with substantial memory and processor resources to a low-resource device with limited memory and/or processing resources. The computing device 102 may also relate to software that causes the computing device 102 to perform one or more operations.
The computing device 102, for instance, is illustrated as including an input/output module 108. The input/output module 108 is representative of functionality relating to processing of inputs and rendering outputs of the computing device 102. A variety of different inputs may be processed by the input/output module 108, such as inputs relating to functions that correspond to keys of the input device 104, keys of a virtual keyboard displayed by a display device 110 to identify gestures and cause operations to be performed that correspond to the gestures that may be recognized through the input device 104 and/or touchscreen functionality of the display device 110, and so forth. Thus, the input/output module 108 may support a variety of different input techniques by recognizing and leveraging a division between types of inputs including key presses, gestures, and so on.
In the illustrated example, the input device 104 is configured as having an input portion that includes a keyboard having a QWERTY arrangement of keys and track pad although other arrangements of keys are also contemplated. Further, other non-conventional configurations are also contemplated, such as a game controller, configuration to mimic a musical instrument, and so forth. Thus, the input device 104 and keys incorporated by the input device 104 may assume a variety of different configurations to support a variety of different functionality.
As previously described, the input device 104 is physically and communicatively coupled to the computing device 102 in this example through use of a flexible hinge 106. The flexible hinge 106 is flexible in that rotational movement supported by the hinge is achieved through flexing (e.g., bending) of the material forming the hinge as opposed to mechanical rotation as supported by a pin, although that embodiment is also contemplated. Further, this flexible rotation may be configured to support movement in one or more directions (e.g., vertically in the figure) yet restrict movement in other directions, such as lateral movement of the input device 104 in relation to the computing device 102. This may be used to support consistent alignment of the input device 104 in relation to the computing device 102, such as to align sensors used to change power states, application states, and so on.
The flexible hinge 106, for instance, may be formed using one or more layers of fabric and include conductors formed as flexible traces to communicatively couple the input device 104 to the computing device 102 and vice versa. This communication, for instance, may be used to communicate a result of a key press to the computing device 102, receive power from the computing device, perform authentication, provide supplemental power to the computing device 102, and so on. The flexible hinge 106 may be configured in a variety of way in accordance with one or more embodiments.
The computing device 102 further includes an orientation module 112, which is representative of functionality to determine a positional orientation of the computing device 102. For example, the orientation module 112 can utilize orientation information received from one or more orientation sensors 114. The orientation sensors 114 are representative of functionality to detect types of orientation information for the computing device 102, such as angles relative to gravity, relative tilt, angle relative to earth's magnetic field, and so forth. Examples of the orientation sensors 114 include an accelerometer, magnetometer, tilt sensor, inclinometer, and so on. A variety of other types of orientation sensors may additionally or alternatively be employed, however.
The orientation module 112 can utilize the orientation information to determine a relative orientation of the computing device 102. The relative orientation, for instance, can indicate an angle at which the computing device 102 is tilted, such as with reference to the ground, e.g., earth's gravitational field. Orientation information can be leveraged to perform various tasks, examples of which are discussed above and below.
A camera assembly 116 is included, which is representative of functionality to record images, such as still images, video, and so on. The camera assembly 116 can include various image capture components, such as a lens, a mirror, an electronic image sensor, and so on. The camera assembly 116 can also include structural components employed to mount image capture components into the computing device 102, such as a component carrier in which the image capture components can be installed. The component carrier can enable the image capture components to be securely mounted in the computing device 102. In at least some embodiments, the component carrier can also enable various adjustments to be made to angles at which images are captured, as detailed below.
The computing device 102 also includes a camera module 118, which is representative of functionality to perform various operations related to image capture and image adjustment. The camera module 118 can also cause adjustments to be made to various components of the camera assembly 116. The camera module 118, for instance, can utilize orientation information received from the orientation module 112 and/or the orientation sensors 114. The camera module 118 can leverage the orientation information to perform various operations, such as adjusting components of the camera assembly 116 to account for orientation of the computing device 102, image manipulation based on orientation of the computing device 102, and so forth. Examples of such operations are detailed below.
FIG. 2 depicts an example implementation 200 of the input device 104 of FIG. 1 as showing the flexible hinge 106 in greater detail. In this example, a connection portion 202 of the input device is shown that is configured to provide a communicative and physical connection between the input device 104 and the computing device 102. The connection portion 202 as illustrated has a height and cross section configured to be received in a channel in the housing of the computing device 102, although this arrangement may also be reversed without departing from the spirit and scope thereof.
The connection portion 202 is flexibly connected to a portion of the input device 104 that includes the keys through use of the flexible hinge 106. Thus, when the connection portion 202 is physically connected to the computing device the combination of the connection portion 202 and the flexible hinge 106 supports movement of the input device 104 in relation to the computing device 102 that is similar to a hinge of a book.
The connection portion 202 is illustrated in this example as including magnetic coupling devices 204, 206, mechanical coupling protrusions 208, 210, and communication contacts 212. The magnetic coupling devices 204, 206 are configured to magnetically couple to complementary magnetic coupling devices of the computing device 102 through use of one or more magnets. In this way, the input device 104 may be physically secured to the computing device 102 through use of magnetic attraction.
The connection portion 202 also includes mechanical coupling protrusions 208, 210 to form a mechanical physical connection between the input device 104 and the computing device 102. The communication contacts 212 are configured to contact corresponding communication contacts of the computing device 102 to form a communicative coupling between the devices as shown.
Having discussed an example environment in which embodiments may operate, consider now some example device orientations in accordance with one or more embodiments.
Example Device Orientations
The following discussion presents some example device orientations in accordance with various embodiments.
FIG. 3 illustrates an example orientation 300 of the computing device 102. In the orientation 300, the input device 104 is laid flat against a surface 302 and the computing device 102 is disposed at an angle to permit viewing of the display device 110, e.g., such as through use of a kickstand 304 disposed on a rear surface of the computing device 102. The orientation 300 can correspond to a typing arrangement whereby input can be received via the input device 104, such as using keys of the keyboard, a track pad, and so forth. For instance, the surface 302 can correspond to any suitable surface on which the computing device 102 and/or the input device 104 can be placed, such as a desk, a table, a floor, and so forth.
In at least some embodiments, the kickstand 304 can be configured to open to various preset positions. The preset positions, for instance, can correspond to angles with reference to a rear surface 306 of the computing device 102. In the illustrated example, the kickstand 304 is open to a preset position that corresponds to an angle 308 with reference to the rear surface 306. The angle 308 can be selected from a range of different angles. The angle 308, for instance, can include an angle between 20 degrees to 30 degrees (20°-30°).
Further to the example illustrated in FIG. 3, the computing device 102 includes the camera assembly 116. As mentioned above, the camera assembly 116 can include various components, such as a lens, a sensor, mirrors, a prism, and so forth. In at least some implementations, a field of view of the camera assembly faces away from the display device 110, such that a user who is interacting with the computing device 102 and/or the input device 104 can capture images of objects that the user is facing.
In at least some implementations, components of the camera assembly 116 can be mounted in the computing device 102 at an angle based on a tilt angle of the computing device 102. For instance, components of the camera assembly 116 can be mounted at an angle such that when the computing device is placed in the orientation 300, a field of view of the camera assembly 116 is substantially perpendicular to the surface 302, e.g., within 10 degrees (10°). The angle of the camera assembly 116, for example, can be such that in the orientation 300, an optical axis 310 of the camera assembly 116 is substantially parallel (e.g., within 10 degrees (10°)) to the surface 302.
For example, consider that the angle 308 of the kickstand 304 is such that the rear surface 306 is at an angle of 65 degrees (65°) to the surface 302. In this example, the camera assembly 116 can be angled in the computing device 102 such that the optical axis 310 is at an angle of 115 degrees to the rear surface 306 to enable the optical axis to be substantially parallel to the surface 302. Thus, in at least some embodiments, the camera assembly 116 can be mounted at an angle such that an angle of the optical axis 310 with respect to the rear surface 306 is supplementary to an angle of the rear surface 306 with respect to the surface 302.
Additionally or alternatively, the camera assembly 116 can be adjustable to compensate for various orientations and/or angles of the computing device 102. For instance, consider the example illustrated in FIG. 4, where the computing device 102 is positioned in the orientation 300 discussed above.
In this example, an orientation of the computing device 102 is determined. For example, the orientation sensors 114 can detect that the computing device 102 is tilted at an angle 400 with reference to gravity, e.g., a gravitational vector 402. The orientation module 112 can receive this orientation information from the orientation sensors 114, and can perform various operations based on the orientation information. For instance, the orientation module 112 can cause one or more components of the camera assembly 116 to be physically adjusted based on the angle 400. The orientation module 112, for example, can cause one or more components of the camera assembly 116 to be tilted, panned, and so forth, such that the optical axis 310 is perpendicular to the gravitational vector 402. Additionally or alternatively, a variety of other adjustments can be made as well within the spirit and scope of the disclosed embodiments.
Components of the camera assembly 116 may also be adjustable based on an angle of the kickstand 304. For instance, the orientation module 112 can detect that the kickstand 304 is opened to a particular position. A hinge assembly that enables rotation of the kickstand 304, for example, can include a sensor mechanism that can detect an angle at which the kickstand 304 is disposed. Based on position of the kickstand 304, components of the camera assembly 116 can be tilted, panned, and so forth.
Orientation information can also be leveraged to perform various types of image processing. For instance, the camera module 118 can receive orientation information from the orientation module 112 and/or the orientation sensors 114. The camera module 118 can use the orientation information to perform image processing on a captured image, such as image correction to compensate for image distortion caused by an angle of the camera assembly 116 to an object being captured.
FIG. 5 illustrates that the input device 104 may be rotated such that the input device 104 is placed against the display device 110 of the computing device 102 to assume an orientation 500. In the orientation 500, the input device 104 may act as a cover such that the input device 104 can protect the display device 110 from harm. In implementations, the orientation 500 can correspond to a closed position of the computing device 102.
In the orientation 500, while the display device 110 may not be visible, the camera assembly 116 may nonetheless be used to capture images of objects. Further, techniques discussed herein may be employed to determine an orientation of the computing device 102, and to adjust the camera assembly 116 and/or images based on the orientation.
FIG. 6 illustrates a further example orientation of the computing device 102, generally at 600. In the orientation 600, the computing device 102 is placed on a surface 602 and is oriented such that the display device 110 faces away from the input device 104. In this example, the kickstand 304 can support the computing device 102, such as via contact with a back surface of the input device 104. Although not expressly illustrated here, a cover can be employed to cover and protect a front surface of the input device 104 from the surface 602.
Further to the example illustrated in FIG. 6, the camera assembly 116 can be angled as discussed above. For example, the camera assembly 116 can be angled such that the optical axis 310 is parallel to the surface 602. Additionally or alternatively, an orientation of the computing device 102 can be determined and leveraged to adjust components of the camera assembly 116, to perform image processing, and so forth.
FIG. 7 illustrates an example orientation 700, in which the input device 104 may also be rotated so as to be disposed against a back of the computing device 102, e.g., against a rear housing of the computing device 102 that is disposed opposite the display device 110 on the computing device 102. In this example, the flexible hinge 106 is caused to “wrap around” to position the input device 104 at the rear of the computing device 102.
This wrapping causes a portion of a rear of the computing device 102 to remain exposed. This may be leveraged for a variety of functionality, such as to permit the camera assembly 116 to be used even though a significant portion of the rear of the computing device 102 is covered by the input device 104.
The orientation 700 can enable a variety of uses for the computing device 102. For instance, the orientation 700 can correspond to a handheld position of the computing device. In the handheld position, a user can grasp the computing device 102 in the orientation 700, and use the computing device to capture images of objects via the camera assembly 116. Thus, a user can point the camera assembly 116 toward an object to cause an image of the object to be displayed via the display device 110. The user can then activate functionality of the camera assembly 116 to capture an image of the object, such as by actuating a touch screen button displayed on the display device 110, pressing a button on the computing device 102 and/or the input device 104, and so on. Thus, the display device 110 can function as a preview display for images that can be captured via the camera assembly 116.
Further to the example illustrated in FIG. 7, the camera assembly 116 can be angled as discussed above. For example, the camera assembly 116 can be angled such that the optical axis 310 is parallel to the ground, perpendicular to the gravitational vector 402, and so on. Additionally or alternatively, an orientation of the computing device 102 can be determined and leveraged to adjust components of the camera assembly 116, to perform image processing, and so forth.
The example orientations discussed above are presented for purpose of example only, and techniques discussed herein can be implemented to enable images to be captured in a wide variety of different device orientations. Further, although the camera assembly 116 is illustrated in a particular position and orientation with reference to the computing device 102, this is not intended to be limiting. The camera assembly 116 can be oriented in a wide variety of different positions on the computing device 102 within the spirit and scope of the claimed embodiments. In at least some embodiments, for instance, the camera assembly 116 can include a front facing camera, e.g., a camera whose field of view faces the same direction as the display device 110. Further, the computing device 102 can employ multiple cameras that can capture different fields of view, e.g., multiple implementations of the camera assembly 116. For instance, both a front facing and a rear facing camera can be employed.
Having discussed some example device orientations, consider now some example camera assemblies in accordance with one or more embodiments.
Example Camera Assembly
FIG. 8 illustrates an example implementation of the camera assembly 116. Included as part of the camera assembly 116 are a carrier 800, which contains a sensor 802 and an optical intake 804. The carrier 800 is a mechanism that contains components of the camera assembly 116, and enables the components to be mounted in various configurations in the computing device 102. In implementations, the carrier 800 can be adjustably mounted in the computing device 102, such that the carrier 800 can be tilted, panned, rotated, and so forth. For example, the carrier 800 can be attached to a motor assembly that enables adjustment of the carrier 800 and/or components of the camera assembly 116 within the computing device 102.
The sensor 802 is representative of a device that can receive an optical image, and can convert the optical image into an electronic signal. Examples of the sensor 802 include a digital charge-coupled device (CCD), a complementary metal-oxide-semiconductor (CMOS) active pixel sensor, and so forth. Images converted by the sensor 802 can be utilized by other components and/or functionalities of the computing device 102, such as displayed via the display device 110, stored in memory, and so forth.
The optical intake 804 receives light externally from the computing device 102, and focuses the light on the sensor 802 to form an optical image on the sensor 802. The optical intake 804 can include a variety of components, such as different configurations and/or combinations of a lens, a prism, a mirror, and so forth. In at least some embodiments, the optical intake 804 is configured to focus light on particular portions of the sensor 802. Which portion of the sensor 802 can depend on an angle at which the computing device 102 is tilted, the camera carrier 800 is tilted, and so forth.
FIG. 9 illustrates the camera assembly 116 in a partial view of the computing device 102. As shown in FIG. 9, the camera assembly 116 can be mounted at an angle in the computing device 102, such as with respect to the display device 110, the rear surface 306, and so on. Additionally or alternatively, the camera assembly can be physically adjustable in the computing device 102, such as via tilting, panning, rotating, and so on. For instance, the carrier 800 can be mounted on one or more axes, about which the carrier 800 can be manipulated to cause the camera assembly 116 to be angled in different directions.
FIG. 10 illustrates an example scenario 1000, in which a region of the sensor 802 that is utilized to capture an image is based on a tilt angle of the computing device 102. In the upper portion of the scenario 1000, the computing device 102 is tilted at an angle 1002. The angle 1002, for instance, can be an angle of a plane formed by the display device 110, with reference to a gravitational vector 1004 detected via the orientation sensors 114.
In the lower portion of the scenario 1000, an image tile 1006 is defined for the sensor 802 based on the angle 1002. In at least some implementations, the sensor 802 can be mapped to determine which portion(s) of the sensor 802 to use to generate image data based on tilt angles of the computing device 102, the camera assembly 116, and so forth. In some orientations, for instance, the angle of incident light on the optical intake 804 can be such that light that passes through the optical intake 804 can focus on sub-portions of the sensor 802. This can enable a sensor to be divided into sub-portions (e.g., the image tile 1006) that are used to generate images based on determined angles of orientation. Additionally or alternatively, a sub-portion of the sensor 802 to be used to capture an image can be calculated on the fly, such as based on an angle of orientation, external light levels, resolution settings for the camera assembly 116, and so forth.
Mapping the sensor 802, for instance, can include determining a threshold optical signal-to-noise ratio (SNR) to be used to capture images. For example, image data received from the sensor 802 that exceeds the threshold SNR can be utilized to capture an image, while image data that does not exceed the threshold SNR can be ignored. Alternatively, image data that does not exceed the threshold SNR can be processed to increase the quality of a resulting image, such as using noise reduction techniques, light enhancement techniques, and so on.
Further to mapping the sensor 802, focus regions (e.g., image tiles) of the sensor 802 that correspond to particular orientation angles can be predetermined by measuring light intensity (e.g., signal intensity) on different regions of the sensor 802 when the computing device 102 is oriented at different angles. Regions that exceed a threshold light intensity can be used to capture an image, such as by defining image tiles within regions of the sensor 802 that receive focused light at and/or above the threshold light intensity.
Thus, the image tile 1006 corresponds to a portion of the sensor 802 that is used to capture an image when the computing device is positioned at the angle 1002. Further, data generated from regions of the sensor 802 that are external to the image tile 1006 can be ignored, or processed to enhance image quality. If the computing device 102 is tilted to a different angle, a different image tile can be determined. For instance, consider the following example.
FIG. 11 illustrates an example scenario 1100, in which an image tile 1102 is defined based on an angle of orientation of the computing device 102. The computing device 102, for instance, can be positioned at an angle 1104 with reference to a gravitational vector 1106. Thus, the computing device 102 is positioned at a different orientation than described above with reference to FIG. 10. Thus, the image tile 1102 is defined at a different region of the sensor 802 than was the image tile 1006 described in FIG. 10. Accordingly, different portions of the sensor 802 can be used to capture images, based on an angle of orientation of the computing device 102, of the camera assembly 116, and so forth.
Example Procedure
FIG. 12 is a flow diagram that describes steps in a method in accordance with one or more embodiments. In at least some embodiments, the method can be employed to determine an orientation of a computing device with respect to an input device.
Step 1200 ascertains an orientation of a computing device. For example, an orientation of the computing device 102 relative to earth's gravity (e.g., a gravitational vector) can be determined. In implementations, this can include determining an angle at which the computing device 102 is oriented with reference to earth's gravity. As referenced above, however, a variety of different techniques can be employed to ascertain an orientation of a computing device.
Step 1202 adjusts a camera component of the computing device based on the orientation. For instance, one or more of the carrier 800, the sensor 802, and/or the optical intake 804 can be physically tilted, panned, rotated, and so forth, based on an angle of orientation of the computing device 102. As referenced above, a variety of different types of mechanisms can be used to accomplish such adjustment. For instance, a motor can be attached to an axis of the carrier 800, and can rotate the carrier 800 to enable various components of the camera assembly 116 to be positioned at different angles.
Step 1204 manipulates image data for an image captured via the camera component based on the orientation. For instance, various types of image corrections and/or image enhancements can be applied to image data based on the orientation. In an example implementation, for instance, a specific region of the sensor 802 can be associated with low light levels at particular orientations of the computing device 102. Thus, when the computing device 102 is in such orientations, light enhancement and/or light correction techniques can be applied to image data received from the region. As another example, a specific region of the sensor 802 can be associated with image distortion (e.g., barrel distortion, pincushion distortion, and so forth) at particular orientations of the computing device 102. Thus, when the computing device 102 is in such orientations, image data correction techniques can be applied to image data received from the region to correct for the image distortion.
In implementations, steps 1200, 1202, and 1204 can occur together, sequentially, alternatively, and so on.
Example System and Device
FIG. 13 illustrates an example system generally at 1300 that includes an example computing device 1302 that is representative of one or more computing systems and/or devices that may implement the various techniques described herein. The computing device 1302 may be, for example, be configured to assume a mobile configuration through use of a housing formed and size to be grasped and carried by one or more hands of a user, illustrated examples of which include a mobile phone, mobile game and music device, and tablet computer although other examples are also contemplated.
The example computing device 1302 as illustrated includes a processing system 1304, one or more computer-readable media 1306, and one or more I/O interface 1308 that are communicatively coupled, one to another. Although not shown, the computing device 1302 may further include a system bus or other data and command transfer system that couples the various components, one to another. A system bus can include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and/or a processor or local bus that utilizes any of a variety of bus architectures. A variety of other examples are also contemplated, such as control and data lines.
The processing system 1304 is representative of functionality to perform one or more operations using hardware. Accordingly, the processing system 1304 is illustrated as including hardware element 1310 that may be configured as processors, functional blocks, and so forth. This may include implementation in hardware as an application specific integrated circuit or other logic device formed using one or more semiconductors. The hardware elements 1310 are not limited by the materials from which they are formed or the processing mechanisms employed therein. For example, processors may be comprised of semiconductor(s) and/or transistors (e.g., electronic integrated circuits (ICs)). In such a context, processor-executable instructions may be electronically-executable instructions.
The computer-readable storage media 1306 is illustrated as including memory/storage 1312. The memory/storage 1312 represents memory/storage capacity associated with one or more computer-readable media. The memory/storage component 1312 may include volatile media (such as random access memory (RAM)) and/or nonvolatile media (such as read only memory (ROM), Flash memory, optical disks, magnetic disks, and so forth). The memory/storage component 1312 may include fixed media (e.g., RAM, ROM, a fixed hard drive, and so on) as well as removable media (e.g., Flash memory, a removable hard drive, an optical disc, and so forth). The computer-readable media 1306 may be configured in a variety of other ways as further described below.
Input/output interface(s) 1308 are representative of functionality to allow a user to enter commands and information to computing device 1302, and also allow information to be presented to the user and/or other components or devices using various input/output devices. Examples of input devices include a keyboard, a cursor control device (e.g., a mouse), a microphone, a scanner, touch functionality (e.g., capacitive or other sensors that are configured to detect physical touch), a camera (e.g., which may employ visible or non-visible wavelengths such as infrared frequencies to recognize movement as gestures that do not involve touch), and so forth. Examples of output devices include a display device (e.g., a monitor or projector), speakers, a printer, a network card, tactile-response device, and so forth. Thus, the computing device 1302 may be configured in a variety of ways to support user interaction.
The computing device 1302 is further illustrated as being communicatively and physically coupled to an input device 1314 that is physically and communicatively removable from the computing device 1302. In this way, a variety of different input devices may be coupled to the computing device 1302 having a wide variety of configurations to support a wide variety of functionality. In this example, the input device 1314 includes one or more keys 1316, which may be configured as pressure sensitive keys, mechanically switched keys, and so forth.
The input device 1314 is further illustrated as include one or more modules 1318 that may be configured to support a variety of functionality. The one or more modules 1318, for instance, may be configured to process analog and/or digital signals received from the keys 1316 to determine whether a keystroke was intended, determine whether an input is indicative of resting pressure, support authentication of the input device 1314 for operation with the computing device 1302, and so on.
Various techniques may be described herein in the general context of software, hardware elements, or program modules. Generally, such modules include routines, programs, objects, elements, components, data structures, and so forth that perform particular tasks or implement particular abstract data types. The terms “module,” “functionality,” and “component” as used herein generally represent software, firmware, hardware, or a combination thereof. The features of the techniques described herein are platform-independent, meaning that the techniques may be implemented on a variety of commercial computing platforms having a variety of processors.
Techniques may further be implemented in a network environment, such as utilizing various cloud-based resources. For instance, methods, procedures, and so forth discussed above may leverage network resources to enable various functionalities.
An implementation of the described modules and techniques may be stored on or transmitted across some form of computer-readable media. The computer-readable media may include a variety of media that may be accessed by the computing device 1302. By way of example, and not limitation, computer-readable media may include “computer-readable storage media” and “computer-readable signal media.”
“Computer-readable storage media” may refer to media and/or devices that enable persistent and/or non-transitory storage of information in contrast to mere signal transmission, carrier waves, or signals per se. Thus, computer-readable storage media refers to non-signal bearing media. The computer-readable storage media includes hardware such as volatile and nonvolatile, removable and non-removable media and/or storage devices implemented in a method or technology suitable for storage of information such as computer readable instructions, data structures, program modules, logic elements/circuits, or other data. Examples of computer-readable storage media may include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, hard disks, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or other storage device, tangible media, or article of manufacture suitable to store the desired information and which may be accessed by a computer.
“Computer-readable signal media” may refer to a signal-bearing medium that is configured to transmit instructions to the hardware of the computing device 1302, such as via a network. Signal media typically may embody computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as carrier waves, data signals, or other transport mechanism. Signal media also include any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media.
As previously described, hardware elements 1310 and computer-readable media 1306 are representative of modules, programmable device logic and/or fixed device logic implemented in a hardware form that may be employed in some embodiments to implement at least some aspects of the techniques described herein, such as to perform one or more instructions. Hardware may include components of an integrated circuit or on-chip system, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a complex programmable logic device (CPLD), and other implementations in silicon or other hardware. In this context, hardware may operate as a processing device that performs program tasks defined by instructions and/or logic embodied by the hardware as well as a hardware utilized to store instructions for execution, e.g., the computer-readable storage media described previously.
Combinations of the foregoing may also be employed to implement various techniques described herein. Accordingly, software, hardware, or executable modules may be implemented as one or more instructions and/or logic embodied on some form of computer-readable storage media and/or by one or more hardware elements 1310. The computing device 1302 may be configured to implement particular instructions and/or functions corresponding to the software and/or hardware modules. Accordingly, implementation of a module that is executable by the computing device 1302 as software may be achieved at least partially in hardware, e.g., through use of computer-readable storage media and/or hardware elements 1310 of the processing system 1304. The instructions and/or functions may be executable/operable by one or more articles of manufacture (for example, one or more computing devices 1302 and/or processing systems 1304) to implement techniques, modules, and examples described herein.
Discussed herein are a number of methods that may be implemented to perform techniques discussed herein. Aspects of the methods may be implemented in hardware, firmware, or software, or a combination thereof. The methods are shown as a set of blocks that specify operations performed by one or more devices and are not necessarily limited to the orders shown for performing the operations by the respective blocks. Further, an operation shown with respect to a particular method may be combined and/or interchanged with an operation of a different method in accordance with one or more implementations. Aspects of the methods can be implemented via interaction between various entities discussed above with reference to the environment 100.
CONCLUSION
Although the example implementations have been described in language specific to structural features and/or methodological acts, it is to be understood that the implementations defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as example forms of implementing the claimed features.

## Claims

1. A computer-implemented method, comprising:
ascertaining an orientation of a computing device that includes a kickstand, the orientation being based at least in part on an angle of the kickstand relative to the computing device; and
manipulating image data captured via a sensor of a camera component of the computing device, including:
determining, based on the orientation, an image region that corresponds to a portion of the sensor;
utilizing a portion of the image data from the image region to capture an image; and
ignoring a different portion of the image data captured outside of the image region.

2. A method as described in claim 1, wherein the orientation comprises an angle at which the computing device is positioned relative to gravity.

3. A method as described in claim 1, further comprising changing an angle of orientation of one or more portions of the camera component with respect to the computing device based on the orientation of the computing device.

4. A method as described in claim 3, wherein said changing comprises one of more of tilting, rotating, or panning the one or more portions of the camera component with reference to the computing device.

5. A method as described in claim 1, wherein said manipulating comprises applying one or more image data correction techniques to the image data.

6. A method as described in claim 1, wherein said ignoring is in response to determining that the different portion of the image data does not exceed a threshold signal-to-noise ratio.

7. A method as described in claim 1, wherein the image region corresponds to a portion of the sensor that receives light at a threshold light intensity.

8. A method as described in claim 1, further comprising:
ascertaining a change in orientation of the computing device; and
determining, based on the change in orientation, a different image region that corresponds to a different portion of the sensor to be used for capturing a different image.

9. An apparatus comprising:
a computing device including a kickstand that is positionable to enable the computing device to be supported on a surface;
a camera assembly operably attached at a fixed angle within the computing device at an angle such that when the computing device is supported via the kickstand on the surface, an optical axis of one or more components of the camera assembly is substantially parallel to the surface, the camera assembly including an image sensor for capturing an image; and
a camera module configured to select a portion of the image sensor to be used to capture an image based on one or more of an angle of orientation of the computing device or an external light level.

10. An apparatus as described in claim 9, wherein the angle is such that when the computing device is supported via the kickstand on the surface, a field of view of one or more components of the camera assembly is substantially perpendicular to the surface.

11. An apparatus as described in claim 9, further comprising an input device that is attached to the computing device and that is rotatable to different positions with respect to the computing device, at least one of the positions corresponding to a typing position in which the computing device is supported by the kickstand and input can be provided to the computing device via the input device.

12. An apparatus as described in claim 9, further comprising:
a display device disposed on a front surface of the computing device, and
an input device that is attached to the computing device and that is rotatable to different positions with respect to the computing device, at least one of the positions corresponding to handheld position in which the input device is rotated against a rear surface of the computing device such that images in a field of view of one or more components of the camera assembly can be viewed via the display device and captured.

13. An apparatus as described in claim 9, wherein the computing device includes functionality to:
determine an orientation of the computing device; and
apply one or more of light enhancement or light correction to a portion of the image data based on the orientation.

14. An apparatus as described in claim 9, wherein the computing device includes functionality to:
determine an orientation of the computing device; and
perform image manipulation of an image captured via the camera assembly based on the orientation.

15. An apparatus as described in claim 9, wherein the one or more components of the camera assembly comprises a lens.

16. An apparatus comprising:
a computing device;
a display device disposed on a front surface of a computing device;
an input device operably attached to the computing device and that is rotatable to support different orientations of the computing device, at least one of the orientations enabling the display device to be covered by the input device;
a kickstand disposed on a rear surface of the computing device and configured to support the computing device on a surface;
a camera assembly mounted to the computing device such that a field of view of the camera assembly faces away from the display device, one or more components of the camera assembly being angled on the computing device based on an angle at which the kickstand is configured to support the computing device; and
a sensor mechanism configured to detect an angle of the kickstand relative to the computing device; and
a camera module configured to adjust one or more components of the camera assembly by one or more of panning or tilting the one or more components relative to the computing device and based on the detected angle of the kickstand relative to the computing device.

17. An apparatus as recited in claim 16, wherein the camera assembly is physically adjustable via one or more of tilting, rotating, or panning, to support image capture in different orientations of the computing device.

18. An apparatus as recited in claim 16, wherein the one or more components of the camera assembly are angled on the computing device such that when the kickstand supports the computing device on the surface, a field of view of the one or more components is substantially perpendicular to the surface.

19. An apparatus as recited in claim 16, wherein the computing device includes:
functionality to ascertain an orientation of the computing device; and
functionality to perform one or more of:
adjusting the one or more components of the camera assembly based on the orientation of the computing device; or
manipulating image data captured via the camera component based on the orientation of the computing device.

20. An apparatus as recited in claim 19, wherein the functionality to ascertain an orientation of the computing device comprises functionality to determine an angle of the computing device with reference to gravity.