One or more embodiments described herein generally relate to portable devices with displays. In particular, the one or more embodiments described herein relate to portable devices with displays that power down after a period of time to conserve power.
Current portable devices, such as phones, game devices, tablets, laptops, and the like, typically rely on battery power to provide power to the display, among other things. To extend battery life on such portable devices, the display will be automatically disabled after a pre-configured inactivity period of time. Activity is typically detected by receipt of input from a user, such as a button being pressed or a finger interacting with a touch screen on the device. However, sometimes a user is viewing content on the display without pressing any buttons or otherwise providing input to the device. Thus, the display will be automatically disabled to conserve power after a period of inactivity and the user's ability to view the content is undesirably disrupted. Accordingly, in such situations user experience is sacrificed for the sake of power savings and the user can experience frustration.
The same numbers are used throughout the disclosure and the figures to reference like components and features. Numbers in the 100 series refer to features originally found in
In the following description and claims, an embodiment is an implementation or example. Reference in the specification to “an embodiment,” “one embodiment,” “some embodiments,” “various embodiments,” or “other embodiments” means that a particular feature, structure, or characteristic described in connection with the embodiments is included in at least some embodiments, but not necessarily all embodiments, of the inventions. The various appearances of “an embodiment,” “one embodiment,” or “some embodiments” are not necessarily all referring to the same embodiments. Elements or aspects from an embodiment can be combined with elements or aspects of another embodiment.
Not all components, features, structures, characteristics, etc. described and illustrated herein need be included in a particular embodiment or embodiments. If the specification states a component, feature, structure, or characteristic “may”, “might”, “can” or “could” be included, for example, that particular component, feature, structure, or characteristic is not required to be included. If the specification or claim refers to “a” or “an” element, that does not mean there is only one of the element. If the specification or claims refer to “an additional” element, that does not preclude there being more than one of the additional element.
It is to be noted that, although some embodiments have been described in reference to particular implementations, other implementations are possible according to some embodiments. Additionally, the arrangement or order of features illustrated in the drawings or described herein need not be arranged in the particular way illustrated and described. Many other arrangements are possible according to some embodiments.
In each figure, elements may each have a same reference number or a different reference number to suggest that the elements represented could be different or similar. However, an element may be flexible enough to have different implementations and work with some or all of the systems shown or described herein. The various elements shown in the figures may be the same or different. Which one is referred to as a first element and which is called a second element is arbitrary.
Example embodiments provide systems, apparatuses, and methods for inferring whether a portable device with a display is likely in a state of being held for viewing and maintaining display performance if the user is inferred to likely be viewing the display. Examples of maintaining performance of the display include keeping the display from automatically powering off after an inactivity period, maintaining execution of applications that handle receipt (e.g., via a wireless communication channel), processing, and/or playback of video content; prioritizing execution of applications that handle receipt, processing, and/or playback of video content over other applications or tasks being executed on the portable device including, for example, applications that handle receipt, processing, and/or playback of audio content associated with the video content.
Portable devices with displays include, for example, smart phones, book readers, personal digital assistants (PDAs), laptops, tablets, netbooks, game devices, portable media systems, interface modules, etc. By maintaining display performance while the user is viewing the display and letting the display operate at reduced performance (e.g., automatically power off) otherwise, the user experience is improved without sacrificing battery life and/or wireless data usage.
The processor 220 is a general purpose processor that includes logic capable of communicating with the motion sensor 210 via a bus to receive the orientation data and, if applicable, other data. The processor 220 is also capable of communicating with the memory 230 to retrieve executable instructions and data via a dedicated bus. The instructions, when executed, will cause the portable device 100 to perform various operations described herein, such as receiving orientation data from the orientation sensor 210, inferring whether the portable device is likely in a state of being held for viewing based at least partially on the orientation data, and controlling power to the display 240 in dependence on the inferred state. Additionally, the processor 220 can be a single core processor, a multi-core processor, a computing cluster, or any number of other configurations, and can include embedded logic and/or memory. Furthermore, the portable device 100 may include more than one processor 220.
The memory 230 is a storage device that comprises a non-transitory computer-readable medium. The memory 230 stores instructions that are executable by the processor 220 to cause the portable device 100 to perform various operations, including the display power conserving operations described herein. The memory 230 may also control configuration settings, such as a reference inactivity period used by a timer to measure how long to keep the display powered before automatically shutting it off in the absence of user activity.
The display 240 (also referred to herein as a display portion of the device 100) may receive commands and data from the processor 220 to display content (e.g., video, text, images, graphical user interfaces, etc.) to a user of the device 100 via a viewing surface of the display 100 (for simplicity the viewing surface of the display 100 is also referred to herein as the display). As explained above, the display 240 may be shut down or turned off by the processor 220 after a pre-configured inactivity period. Activity that would reset the inactivity period may include, for example, a user pressing a button on the portable device 100 or, if the display 240 is a touchscreen, a user pressing the touchscreen. Moreover, the processor can turn off the display by sending an appropriate command to a power controller of the display, by ceasing to send data to the display 240, or by any other suitable means.
The block diagram of
Referring to
At block 320, logic determines whether the device is being held for viewing based at least partially on the motion data. For example, the motion data may indicate (or the logic may derive from the motion data) an angle between a ground plane and an axis that runs along a top to bottom direction of the viewing surface of the display, i.e., a tilt angle. If the tilt angle is between a low threshold (e.g., about 20 degrees) and a high threshold (e.g., about 80 degrees), the device is determined to be held in a tilted orientation for viewing at block 330. In one embodiment, one or both of the low threshold and high threshold are adjustable to accommodate a user's holding preference.
If, at block 330, the device is determined to be held in a tilted orientation for viewing, performance of the display is maintained in response to the determination at block 340. Maintaining performance may include keeping display power on by, for example, resetting an inactivity period timer (e.g., executed by logic in the processor 220). If the device is not determined to be in a state of being held for viewing, the display portion of the device is not prevented from automatically powering off after the pre-configured inactivity period. Maintaining performance of the display may also include maintaining or prioritizing execution of applications that handle receipt (e.g., via a wireless communication channel), processing, and/or playback of video content.
Beginning at sub-block 320-a, each of an absolute value of an angle xn and an absolute value of an angle yn is compared to a first threshold (denoted “low”). (Using absolute values of the angles for comparison, rather than non-absolute values, accounts for the ability many modern displays have to reconfigure the display orientation based on the orientation of the device relative to the ground and accounts for the possibility of a user who is lying down with the display facing downward.) If either of the angle values is not lower than the first threshold—indicating that the device is being held with the display at an angle relative to the ground plane that is greater than the first threshold—the method proceeds to sub-block 320-b and the angle values are compared to each other to determine whether the display is being held in a portrait view mode or a landscape view mode.
The method proceeds to either sub-block 320-c or sub-block 320-d, depending on which viewing mode the display is in, to determine whether the larger of the two angle values is less than a second threshold (denoted “high”). The first threshold may be, for example, about 20 degrees and the second threshold may be, for example, about 80 degrees. If the angle value is between the two thresholds a score corresponding to the appropriate viewing mode is incremented at one of sub-blocks 320-e and 320-f. If both angle values are below the low threshold this indicates that a viewing surface of the display portion is being held in a substantially flat (i.e., parallel to the ground plane) orientation, which is not a normal viewing orientation, and the method proceeds to sub-block 320-g to determine if all sets of motion data in a pre-determined time period have been analyzed and neither the portrait view score nor the landscape view score is incremented for that set of motion data. In one embodiment, the pre-determined time period to which the sets of motion data correspond is a period of about one second, which may correspond to about 16 sets of motion data, and the pre-determined time period may be user-configurable or adaptively configurable. Similarly, if the larger of the two angle values is higher than the high threshold and if the high threshold is smaller than 90 degrees, this indicates that the viewing surface of the display portion is being held in an orientation that is substantially perpendicular to the ground plane, which is not a normal viewing orientation. Accordingly, the method proceeds to sub-block 320-g without incrementing either the portrait view or the landscape view scores. Certain users, however, may prefer holding the device vertically for viewing and may therefore opt to set the high threshold to 90 degrees, resulting in a score corresponding to the appropriate viewing mode (landscape or portrait) being incremented at one of sub-blocks 320-e and 320-f when at least one of the angle values is above the low threshold. If not all sets of motion data have been analyzed the method repeats for a subsequent set of motion data, as indicated by sub-block 320-h.
Referring now to
In the foregoing description, absolute values of angles xn and yn (|xn| and |Yn|) are used to determine whether the device is being held for viewing. However, in one embodiment, the real values of xn and yn, or a combination of real values and absolute values, may be used instead. Moreover, the comparison operations in sub-blocks 320-a, 320-b, 320-c, and/or 320-d may be modified as appropriate to account for the use of real values instead of absolute values.
For example, in one embodiment, the real value of yn may be used instead of the absolute value, |yn|, if the portable device has only one allowable portrait orientation that aligns to the positive y axis. In another embodiment, the absolute value, |Yn|, may be used in block 320-a but the real value of yn may be used in blocks 320-b and 320-c, with appropriate adjustment of the process flow diagram.
Furthermore, for portable devices in which only one landscape orientation is allowed, e.g., one that aligns to the positive x axis, the real value of xn may be instead of the absolute value, |xn|, or a combination of the real value and absolute value of xn may be used, with appropriate adjustment of the process flow diagram.
Moreover, in one embodiment, raw sensor data, for example linear acceleration data output by an accelerometer, can be used as a proxy for a tilt angle and an accurate tilt need angle need not be calculated. If raw sensor data is used, the viewing angle range defined by the low and high threshold values are appropriately adjusted. For example, when using an accelerometer's raw sensor data, the viewing angle range can be defined as corresponding to a sensor output range between 2 m/s2 and 9.8 m/s2.
Referring to
Moreover, a second difference between the implementations of block 420 and block 320 is that instead of determining that the display is being held for viewing or not based on the portrait and landscape view scores, the method of block 420 determines whether the display is in a tilted orientation relative to the ground or a substantially parallel to the ground orientation. For example, with reference to
Referring again to
First at sub-block 426-a of
If the deviation value is greater than the low threshold, the deviation value is compared to a high threshold level at sub-block 426-c. If the deviation value is greater than or equal to the high threshold value the device is determined to be in a swinging or high motion state, meaning it is not being held for viewing, at sub-block 426-d. Consequently, performance of the display portion of the device is not maintained (e.g., the display portion is not prevented from being automatically powered off after the inactivity period expires. Otherwise, if the deviation value is somewhere between the low and high thresholds, the device is determined to be in a state of being held for viewing at sub-block 426-e. Consequently, performance of the display portion of the device is maintained (e.g., the display is prevented from being automatically powered off after the inactivity period expires).
The process flow diagrams 300 and 400 are provided by way of example and not limitation. More specifically, additional blocks or flow diagram stages may be added and/or at least one of the blocks or stages may be modified or omitted. Moreover, certain block may be implemented in a different order than the order shown. For example, instead of comparing a value (e.g., an angle or deviation value) to a low threshold and then a high threshold, the value may be compared to the high threshold first, or both comparisons may be made simultaneously.
Embodiments of the invention are not restricted to the particular details listed herein. Indeed, those skilled in the art having the benefit of this disclosure will appreciate that many other variations from the foregoing description and drawings may be made within the scope of the present inventions. For example, in addition or as an alternative to using motion data to determine whether the device 100 is being held for viewing, additional types of data may be used. In one example embodiment, a light sensor on the device detects an amount of light received and, if the light is below a predetermined threshold, the device is determined to be in a pocket, pouch, purse, or the like, and the display is powered off to conserve power regardless of what motion data is being received. Accordingly, it is the following claims including any amendments thereto that define the scope of the inventions.