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.
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 of shifting the lens stack from an image capture sensor within a smart device and/or mobile device are disclosed. The shifting of the center of the lens stack from the center of the sensor allows the Field of View (FOV) of such a camera assembly to have an angle from the normal and/or perpendicular direction from the surface of the device. Such an angle allows the FOV to be substantially horizontal and/or parallel to a surface when the device is held (e.g. by a kickstand) at a similar angle from the vertical direction. When the front of the lens stack is substantially at a front surface of the device and the sensor is attached to a back surface of the device, then the Total Track Length (TTL) is substantially the depth of the device.
In one embodiment, an apparatus is disclosed comprising: a computing device, said computing device comprising a first side and a second side, the distance between said first side and said second side is substantially the depth of said computing device; and a camera assembly, said camera assembly comprising a sensor and a lens stack; and wherein said sensor and said lens stack are operably attached to said computing device such that the center of said lens stack is shifted from the center of said sensor.
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.
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
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.
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.
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
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
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.
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.
Further to the example illustrated in
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
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
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.
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.
Example Procedure
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
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.
Shifted Lens Camera Embodiments
In the area of mobile computing and smart devices, the use of a tilted camera and/or camera assembly in mobile computing devices tends to limit the optical total track of the camera module. The limited optical total track also tends to limit the size of the imaging sensor that can be used. The smaller imaging sensor may result in reduced light gathering capability, compromised signal-to-noise ratio (SNR) and therefore noisier video and still images.
However, it will be noticed that the TTL 1410′ may now be less than as the TTL 1410 of
Thus, as opposed to using a tilted camera/lens configuration, it may be desirable to employ a shifted camera/lens configuration.
As may be seen, the center of lens stack 1604 is offset from the center of the sensor 1606 by a distance 1612. The distance 1612 may depend upon the optical properties of the lens stack and the application of the Scheimpflug principle. The Scheimpflug principle allows for the positioning of the plane of sharpest focus (from the positioning of the sensor plane and the lens stack plane) to be desirably directed outwardly from the smart device with a FOV 1608. This FOV may be directed so that the FOV is horizontal when the smart device is held in place by a kickstand or some other support device.
As may also be noted in one embodiment, the front of the lens stack is substantially positioned at the surface of the front (or first) side of the device. In addition, the sensor may be substantially positioned at the surface of the back (or second) side of the device. In this case, it may be seen that the TTL is substantially the depth of the device, which may be seen as substantially the distance between the first side and the second side of the device.
In addition to having the desired angle for the FOV, it should be noted that the TTL 1610 may now be longer than the TTL of the configuration of
In many embodiments described herein, it may be possible to employ a sensor having a sensing area (e.g., in a 4:3 area format) that may larger than, and use only a portion of, the image projected by the lens stack. The image captured by the sensor may then be output in a sub-window (e.g., via digital cropping techniques)—e.g. in a 16:9 area format. In some embodiment, such digital cropping has substantially the same effect as shifting the lens stack, as described in reference to
The use of shifted lens optics may also allow for improved camera performance in small form factor computing devices with cameras at an angle. In one aspect, it may be desirable to utilize cameras at an angle to reduce the volume used, resulting from rotation of a camera module in a small device.
In one embodiment disclosed herein, instead of building a camera module that has the sensor and lens aligned with the lens center directly in line with the sensor's optical center, the camera module may be designed and built with the lens center slightly off-set from the sensor's center. This will shift the center of the field of view from being perpendicular to the sensor's center and move the FOV's center upward at an angle proportional to a shift distance of the lens relative to the sensor's optical center. This shift in the lens from optical center allows a mobile computer device's imaging sensor and lens to be co-planar with the sides of the device. This co-planar alignment allows for a larger distance from the front lens element to the sensor—i.e., the optical total track (TTL). Larger TTL allows for the use of a larger sensor for better image capture in low light and simplification of the lens design.
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 non-volatile, 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.
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.
This application is a continuation-in-part application of, and takes benefit of priority to, U.S. patent application Ser. No. 13/471,054 filed May 14, 2012—which in turn takes benefit of priority to (as well as the present application) the following U.S. Provisional patent applications, the entire disclosures of all of these applications being incorporated by reference in their entirety: U.S. Provisional Patent Application No. 61/606,321, filed Mar. 2, 2012, Attorney Docket Number 336082.01, and titled “Screen Edge;” U.S. Provisional Patent Application No. 61/606,301, filed Mar. 2, 2012, Attorney Docket Number 336083.01, and titled “Input Device Functionality;” U.S. Provisional Patent Application No. 61/606,311, filed Mar. 2, 2012, Attorney Docket Number 336084.01, and titled “Functional Hinge;” U.S. Provisional Patent Application No. 61/606,333, filed Mar. 2, 2012, Attorney Docket Number 336086.01, and titled “Usage and Authentication;” U.S. Provisional Patent Application No. 61/613,745, filed Mar. 21, 2012, Attorney Docket Number 336086.02, and titled “Usage and Authentication;” U.S. Provisional Patent Application No. 61/606,336, filed Mar. 2, 2012, Attorney Docket Number 336087.01, and titled “Kickstand and Camera;” and U.S. Provisional Patent Application No. 61/607,451, filed Mar. 6, 2012, Attorney Docket Number 336143.01, and titled “Spanaway Provisional.”
Number | Date | Country | |
---|---|---|---|
61606321 | Mar 2012 | US | |
61606301 | Mar 2012 | US | |
61606313 | Mar 2012 | US | |
61606333 | Mar 2012 | US | |
61613745 | Mar 2012 | US | |
61606336 | Mar 2012 | US | |
61607451 | Mar 2012 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13471054 | May 2012 | US |
Child | 13780228 | US |