Zero-latency input device for machine learning

DE602017091770T2Active Publication Date: 2025-09-10RAZER ASIA PACIFIC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
DE602017091770
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2017-11-10
Publication Date
2025-09-10
Estimated Expiration
2037-11-10

AI Technical Summary

Technical Problem

Existing corded and cordless input devices, such as mice and keyboards, experience latency when transitioning from a low-power state to an active state, leading to delayed input recognition.

Method used

The implementation of a power management system that detects the approach of a user's hand and initiates a power-on sequence, allowing the input device to be fully operational by the time the hand touches the device, thereby eliminating latency.

Benefits of technology

This solution ensures zero-latency operation of input devices by proactively powering up the device based on user proximity, maintaining performance without compromising battery life.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Various aspects of this disclosure generally relate to human-computer interaction, and more particularly, to zero latency input devices.BACKGROUND

[0002] Computing technology has seen a many-fold increase in capability ever since it was created. Processors work at ever higher rates; memories are ever larger and always faster; mass storage is larger and cheaper every year. Computers now are essential elements in many aspects of life, and are often used to present three-dimensional worlds to users, in everything from games to scientific visualization.

[0003] Human-computer interaction (HCI) researches the design and use of computer technology, focused on the interfaces between humans (users) and computers. Humans interact with computers in many ways. The interface between humans and computers is crucial to facilitating this interaction. The interface between the user and the computer has not seen the same rate of change as the computing technology. For example, screen windows, keyboard, monitor, and mouse are the standard, and have seen little change since their introduction. US 2004 / 155860 A1 discloses a wake-up detector that is configured to detect an electrical property that a hand-sensing system presents to the wake-up detector; US 2010 / 060579 A1 discloses that a power management device for a wireless input device includes a sensor, built on a housing of the wireless input device, for sensing a distance between the housing and an object to generate a sensing result; US 2016 / 246353 A1 discloses one or more mobile devices that can communicate with a computing device via a communication pathway; and US 2004 / 221183 A1 discloses a method for triggering power supply module switch of a cordless electric-apparatus which includes a metal inductive area and an electrostatic inductive element. Little thought is given to the human-computer interface, although most of the user's experience with the computer is dominated by the interface between the user and the computer.

[0004] Some battery-operated input devices (e.g., mouse, keyboard) may enter into a low power state (e.g., a sleep / standby state) to save battery power. An input device in the sleep / standby condition must wait for an interrupt before the device can wake up. Thus, there will be some latency on the input device before the input device can be used to provide input to a computing device (e.g., a desktop computer, a game console) coupled to the input device. For example, a corded or cordless mouse in the market is not able to achieve immediate sensor movement response when the mouse is in sleep or standby state.SUMMARY

[0005] The following presents a simplified summary of one or more aspects in order to provide a basic understanding of such aspects. This summary is not an extensive overview of all contemplated aspects, and is intended to neither identify key or critical elements of all aspects nor delineate the scope of any or all aspects. Its sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed description that is presented later.

[0006] Most of the corded and cordless input devices (e.g., mouse, keyboard, game controller, or joystick controller) in the market are not able to achieve immediate response or operation when the input device is in sleep or standby state. The objective of this disclosure is to provide ultra-low power management for an input device while not compromising the performance of the input device. An anticipated wake up may be triggered upon the hand of a user approaching the input device. The input device in a low-power state may detect the presence of the hand at a certain distance. Once the hand is detected at the certain distance, the input device may start a power-on sequence so that the input device may be fully operational when the hand touches the input device.

[0007] According to various embodiments, there may be provided a method of power management for an input device used to provide input to a computing device, as defined in independent claim 1.

[0008] According to various embodiments, there is provided an input device used to provide input to a computing device and provided with means for power management, as defined in independent claim 4. According to various embodiments, there is provided a computer-readable medium storing computer executable code, as defined in independent claim 7.

[0009] To the accomplishment of the foregoing and related ends, the one or more aspects include the features hereinafter fully described and particularly pointed out in the claims. The following description and the annexed drawings set forth in detail certain illustrative features of the one or more aspects. These features are indicative, however, of but a few of the various ways in which the principles of various aspects may be employed, and this description is intended to include all such aspects and their equivalents.BRIEF DESCRIPTION OF THE DRAWINGS

[0010] FIG. 1A is a diagram showing an assembled view of a mouse for communication with a processor-based device. FIG. 1B is a diagram showing an exploded view of the mouse of FIG. 1A. FIG. 2A is a diagram illustrating an example of waking up an input device with zero latency. FIG. 2B is a diagram illustrating an order of system events that occur during the waking up of the input device in FIG. 2A. FIG. 3 is a flowchart of a method of power management. FIG. 4 is a flowchart of a method of adapting the sensing distance for activating the input device. FIG. 5A is a diagram illustrating an example of deactivate an input device to conserve power. FIG. 5B is a diagram illustrating an order of system events that occur during the deactivation of the input device in FIG. 5A. FIG. 6 is a flowchart of a method of power management. FIG. 7 is a flowchart of a method of adapting the sensing distance for deactivation of the input device. FIG. 8 is a conceptual data flow diagram illustrating the data flow between different means / components in an exemplary apparatus. FIG. 9 is a diagram illustrating an example of a hardware implementation for an apparatus employing a processing system. DETAILED DESCRIPTION

[0011] The detailed description set forth below in connection with the appended drawings is intended as a description of various configurations and is not intended to represent the only configurations in which the concepts described herein may be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of various concepts. However, it will be apparent to those skilled in the art that these concepts may be practiced without these specific details. In some instances, well known structures and components are shown in block diagram form in order to avoid obscuring such concepts.

[0012] Several aspects of power management will now be presented with reference to various apparatus and methods. These apparatus and methods will be described in the following detailed description and illustrated in the accompanying drawings by various blocks, components, circuits, processes, algorithms, etc. (collectively referred to as "elements"). These elements may be implemented using electronic hardware, computer software, or any combination thereof. Whether such elements are implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system.

[0013] By way of example, an element, or any portion of an element, or any combination of elements may be implemented as a "processing system" that includes one or more processors. Examples of processors include microprocessors, microcontrollers, graphics processing units (GPUs), central processing units (CPUs), application processors, digital signal processors (DSPs), reduced instruction set computing (RISC) processors, systems on a chip (SoC), baseband processors, field programmable gate arrays (FPGAs), programmable logic devices (PLDs), state machines, gated logic, discrete hardware circuits, and other suitable hardware configured to perform the various functionality described throughout this disclosure. One or more processors in the processing system may execute software. Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software components, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.

[0014] Accordingly, in one or more example embodiments, the functions described may be implemented in hardware, software, or any combination thereof. If implemented in software, the functions may be stored on or encoded as one or more instructions or code on a computer-readable medium. Computer-readable media includes computer storage media. Storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media may include a random-access memory (RAM), a read-only memory (ROM), an electrically erasable programmable ROM (EEPROM), optical disk storage, magnetic disk storage, other magnetic storage devices, combinations of the aforementioned types of computer-readable media, or any other medium that can be used to store computer executable code in the form of instructions or data structures that can be accessed by a computer.

[0015] In some embodiments, a new mechanism is provided to resolve the design deficiency (e.g., the reaction time latency when transitioning from a low-power state to being awake) of cordless input devices. As a result of implementing this mechanism, a user may not able to detect any latency caused by the input device transitioning from hibernation to active usage. As human palms exhibit high level of variations when being detected by a sensing mechanism, a novel adaptive method is provided using artificial intelligence (AI) learning on individual user behavior to optimize the reaction timing while compensating variations in sensing parameters such as human hand, velocity, sensing device, etc.

[0016] In traditional designs, a cordless mouse transits from active mode to hibernation mode when the mouse is inactive for a period of time. A user has to physically move the mouse or click a button of the mouse in order to trigger the mouse to return to active mode. However, a certain time period is required for the mouse to power up. As a result, the first few mouse moves or clicks by the user is either undetected or detected with a delay.

[0017] The new mechanism provided in the disclosure resolves this problem by detecting the palm position of the user. The mouse starts the power-up process once the palm is detected at a certain distance from the mouse. Therefore, the power-up process is started, t seconds, before the palm reaches the mouse. Consequently, the mouse may be ready to operate when the palm touches the mouse.

[0018] Similarly, components (e.g., optical sensor, click sensing) of the mouse may be put into hibernation mode when the palm leaves the mouse (e.g., by detecting the distance between the palm and the mouse). The subsystems of the mouse may be turned off when they are not in use. Hence the battery life of the mouse may be maximized.

[0019] Within the mouse, the new sensing mechanism may include an integrated capacitive sensor that is coupled to an integrated circuit (IC) circuit. Only a single electrode on the surface of the mouse may be required to perform the sensing function. The IC circuit may be operably connected to a microcontroller (within the mouse) that performs the adaptive functions of the mouse. The adaptive functions may include the machine learning algorithms to perform automatic calibration to achieve optimal reaction performance and optimal battery performance. In some embodiments, an adaptation method is provided to adjust the sensing distance constantly according to user behavior.

[0020] In some embodiments, a machine learning algorithm is adopted to automatically calibrate the input device to achieve optimization from past user behavior. The input device may detect changes of user behavior to further optimize reaction time and battery performance. Although the input device of some embodiments may be configured with default settings, the input device may be automatically calibrated through a few samples to ensure that from the time the presence sensor detects the hand to the moment the hand contacts the device, the input device is waken up to be ready for operation to ensure optimal reaction performance.

[0021] In some embodiments, ultra-low power consumption may be achieved on sleep / standby mode while improving the performance of the input device upon waking up. Some embodiments may allow practical implementation of such sensing mechanism for mass deployment. In some embodiments, automatic calibration of the input device may be performed to achieve optimal reaction performance time and optimal battery life. Some embodiments may be implemented on corded and cordless mouse and keyboards for efficient power management and performance. Some embodiments may be applied to other devices that have standby mode and have a human touch activation.

[0022] FIG. 1A is a diagram showing an assembled view of a mouse 100 for communication with a processor-based device. FIG. 1B is a diagram showing an exploded view of the mouse 100 of FIG. 1A. As shown, the mouse 100 may include a housing 110. The housing 110 may be an exterior casing of the mouse 100. Further, the housing 110 may include a cover portion 120 and a base portion 130. The cover portion 120 and the base portion 130 may be two separate parts of the housing 110. The cover portion 120 of the housing 110 may be a top case cover of the exterior casing of the mouse 100. The base portion 130 of the housing 110 may be a bottom case cover of the exterior casing of the mouse 100. When the cover portion 120 and the base portion 130 are assembled together, the housing 110 may define an inner cavity to house or encase internal components 140 of the mouse 100.

[0023] The internal components 140 of the mouse 100 may include an electronic circuit module 142 and a motion detection module 144. The electronic circuit module 142 may include printed circuit boards, or any other suitable electronic circuit. The electronic circuit module 142 may be connected to the processor-based device, such as a computer. The connection to the processor-based device may be realized via a cable 102. The connection to the processor-based device may be realized wirelessly. The electronic circuit module 142 may include a microcontroller (not shown) that is capable of performing complex computation and control.

[0024] The motion detection module 144 may include optical sensors, or laser sensors, or track ball mechanism, or any other electronic or mechanical components that may be configured to detect movement of the mouse 100. The motion detection module 144 may further be configured to be in communication with the electronic circuit module 142 such that the detected movement of the mouse may be transmitted to the processor-based device, which the mouse 100 may be connected to.

[0025] Further, the cover portion 120 of the housing 110 may include one or more buttons 122. The one or more buttons 122 may be configured to interact with the electronic circuit module 142 of the mouse 100 for a user to provide inputs to the processor-based device, to which the mouse 100 may be connected, via clicking of the one or more buttons 122 of the mouse 100. The one or more buttons 122 may include a click button, or a scroll button, or a push button, or any combination of suitable buttons. The one or more buttons 122 may be located at any region of the cover portion 120 as desired.

[0026] The housing 110 may include a base surface. The base surface may be configured to face a tracking surface on which the mouse 100 may be placed on. Accordingly, the base surface of the housing 110 may be an exterior surface of a substantially flat section 132 of the base portion 130 of the housing 110. Thus, the mouse 100 may be placed with the base surface of the base portion 130 of the housing 110 substantially flat against or substantially parallel to a mouse pad, a table top, or any other suitable tracking surfaces on which the mouse may be used.

[0027] The base portion 130 of the housing 110 may include a window 131. The window 131 may be an opening or a transparent portion of the base portion 130. Accordingly, the window 131 may allow the motion detection module 144 to detect relative movement between the mouse 100 and the tracking surface on which the mouse 100 may be placed and moved.

[0028] The cover portion 120 of the housing 110 may include a single electrode 150. The electrode 150 may be part of an integrated capacitive sensor, which may be able to sense the presence of an object at a certain distance to the mouse 100. The integrated capacitive sensor may be couple to the electronic circuit module 142. The integrated capacitive sensor may provide sensing data to the microcontroller within the electronic circuit module 142 for further processing of the sensing data.

[0029] FIG. 2A is a diagram 200 illustrating an example of waking up an input device 205 with zero latency. FIG. 2B is a diagram 250 illustrating an order of system events that occur during the waking up of the input device 205 in FIG. 2A. The input device 205 may be in a sleep state or a standby state initially.

[0030] At time t 0 , the input device 205 may sense the approaching palm 210 at distance d. Consequently, the input device 205 may power itself up or otherwise switch from the sleep or standby state to an active state.

[0031] At time t 1 , the input device 205 may activate itself. For example, the input device 205 may start radio frequency (RF) communication and scan for a receiver (e.g., a host computing device, a personal computer, etc.).

[0032] At time t 2 , the input device 205 may connect to the receiver and become ready to operate.

[0033] At time t 3 , the approaching palm 210 reaches the input device 205. Because the input device 205 is already ready to operate at time t 2 , the palm 210 may start to operate the input device 205 immediately without suffering any delay in response from the input device 205.

[0034] The user behavior may be monitored and the optimal sensing distance, d, may be adjusted accordingly. For example, when the input device 205 is in standby mode, it may constantly monitor its activation time. Activation time is the time taken from the detection time (t 0 ) to the time when the palm 210 reaches the input device 205 (t 3 ). The input device 205 may store the value of the activation time into a database and use a sizeable samples of the history to compute the optimal sensing distance, d.

[0035] The adaptation of the sensing distance may make use of either the maximum or the average value of activation time based on the power saving policy implemented in the input device. The speed of palm movement, v, may be computed using the selected value of the activation time and the sensing distance, d, at the time the activation time was recorded, as defined below: v = d t

[0036] Hence the optimal sensing distance, d n , may be computed using the speed computed and the desired activation time, t d , as defined below: d n = v × t d

[0037] Once the optimal sensing distance, d n , is obtained, it may become the new sensing distance, d.

[0038] Even though a computer mouse is illustrated as the input device in FIGS. 1 and 2A, one of ordinary skill in the art would realize that the input device may be a keyboard, a game controller, a joystick controller, or any other suitable input device. Furthermore, even though the palm 210 is illustrated to operate the input device 205 in FIG. 2A, one of ordinary skill in the art would recognize that the operator of the input device 205 may be another part of the human body, an extension of the human body, an artificial limb, or any suitable equivalent.

[0039] FIG. 3 is a flowchart 300 of a method of power management. In one embodiment, the method may be performed by an apparatus (e.g., the apparatus 802 / 802'). The apparatus may include an input device (e.g., the mouse 100 or the input device 205). The apparatus may include a sensing mechanism with a single electrode on the surface of the apparatus. The apparatus may be one of a mouse, a keyboard, a game controller, or a joystick controller.

[0040] At 302, the apparatus may determine an activation distance based on operator behavior in relation to operating the apparatus. The operator behavior may include historical behavior in relation to operating the apparatus during the latest period of time. The length of the latest period of time may be predetermined. The operator of the apparatus may be a hand, a palm, another part of the human body, an extension of the human body, an artificial limb, or any suitable equivalent.

[0041] To determine the activation distance, the apparatus may determine an actual activation time based on the operator behavior, and calculate the activation distance based on the actual activation time and a desired activation time. In one embodiment, the actual activation time is the time taken from detecting a presence of an approaching operator at a previous activation distance to the time when the approaching operator reaches the input device. To calculate the activation distance, the apparatus may calculate the speed of operator movement based on the actual activation time and the previous activation distance, and calculate the activation distance based on the speed of operator movement and the desired activation time. In one embodiment, the desired activation time is the duration for the input device to wake up from the low-power state.

[0042] At 304, the apparatus may detect a presence of an approaching object at the activation distance. The presence of the approaching object may be detected by the sensing mechanism of the apparatus.

[0043] At 306, the apparatus wakes up from a low-power state in response to the detection of the presence of the approaching object at the activation distance. The low power state may be one of a standby state, a sleep state, or a hibernate state.

[0044] FIG. 4 is a flowchart 400 of a method of adapting the sensing distance for activating the input device. In one embodiment, the method may be performed by an apparatus (e.g., the apparatus 802 / 802'). The apparatus may include an input device (e.g., the mouse 100 or the input device 205). In one embodiment, the operations performed in the method may include the operations performed at 302 in FIG. 3.

[0045] At 402, the apparatus may perform sensing to detect any approaching hand. At 404, the apparatus may determine whether there is a presence of an approaching hand at a distance that is less than the activation distance. If such a presence of an approaching hand is detected, the apparatus may proceed to 406. Otherwise, the apparatus may loop back to 402 to continue performing sensing.

[0046] At 406, the apparatus may start a timer. At 408, the apparatus may determine whether the palm has reached the apparatus. If the palm has reached, the apparatus may proceed to 410. Otherwise, the apparatus may loop back to perform the operation of 408 again.

[0047] At 410, the apparatus may stop the timer. At 412, the apparatus may read the time taken from the timer. At 414, the apparatus may store the reading of the timer into a database.

[0048] At 416, the apparatus may compute the optimal distance based on the average or maximum time taken and update the sensing distance d accordingly.

[0049] FIG. 5A is a diagram 500 illustrating an example of deactivate an input device 505 to conserve power. FIG. 5B is a diagram 550 illustrating an order of system events that occur during the deactivation of the input device 505 in FIG. 5A. The input device 505 may be in an active state initially.

[0050] At time t 0 , the input device 505 may detect the departing palm 510 at distance d. The input device 505 may wait a masking period, T m , to check the presence of the palm 510 to ensure that the palm 510 is not re-approaching the input device 505.

[0051] At time t 1 , the input device 505 may put certain subsystems (e.g., optical sensor, button sensing mechanism) into standby mode if the palm 510 is absent.

[0052] At time t 2 , the input device 505 may put the sensing mechanism into the standby mode to reduce current consumption of the system.

[0053] The user behavior may be monitored and the optimal sensing distance, d, may be adjusted accordingly. For example, when the input device 505 is in active mode, it may constantly monitor the deactivation time. Deactivation time may be the time taken for the palm 510 from the time when the palm 510 leaves the surface of the input device 505 to the time when the palm 510 reaches distance d (t 0 ). The input device 505 may store the value of the deactivation time into a database and use a sizeable samples of the history to compute the optimal distance, d, for deactivation.

[0054] The adaptation of the sensing distance for deactivation may make use of either the maximum or the average value of deactivation time based on the power saving policy implemented in the input device. The speed of palm movement, v, may be computed using the selected value of the deactivation time and the sensing distance, d, at the time the deactivation time was recorded, as defined below: v = d t

[0055] Hence the optimal sensing distance for deactivation, d n , may be computed using the speed computed and the desired deactivation time, t d , as defined below: d n = v × t d

[0056] Once the optimal sensing distance for deactivation, d n , is obtained, it may become the new sensing distance for deactivation, d.

[0057] Even though a computer mouse is illustrated as the input device in FIG. 5A, one of ordinary skill in the art would realize that the input device may be a keyboard, a game controller, a joystick controller, or any other suitable input device. Furthermore, even though the palm 510 is illustrated to operate the input device 505 in FIG. 5A, one of ordinary skill in the art would recognize that the operator of the input device 505 may be another part of the human body, an extension of the human body, an artificial limb, or any suitable equivalent.

[0058] FIG. 6 is a flowchart 600 of a method of power management. In one embodiment, the method may be performed by an apparatus (e.g., the apparatus 802 / 802'). The apparatus may include an input device (e.g., the mouse 100 or the input device 505). The apparatus may include a sensing mechanism with a single electrode on the surface of the apparatus. The apparatus may be one of a mouse, a keyboard, a game controller, or a joystick controller.

[0059] At 602, the apparatus may determine a deactivation distance based on operator behavior in relation to operating the apparatus. The operator behavior may include historical behavior in relation to operating the apparatus during the latest period of time. The length of the latest period of time may be predetermined. The operator of the apparatus may be a hand, a palm, another part of the human body, an extension of the human body, an artificial limb, or any suitable equivalent.

[0060] To determine the deactivation distance, the apparatus may determine an actual deactivation time based on the operator behavior, and calculate the deactivation distance based on the actual activation time and a desired deactivation time. The actual deactivation time may be the time taken from the time when a previous departing operator leaves the apparatus to the detection of the presence of the previous departing operator at a previous deactivation distance. To calculate the deactivation distance, the apparatus may calculate the speed of operator movement based on the actual deactivation time and the previous deactivation distance, and calculate the deactivation distance based on the speed of operator movement and the desired deactivation time.

[0061] At 604, the apparatus may detect a presence of a departing operator at the deactivation distance. The presence of the departing operator may be detected by the sensing mechanism of the apparatus.

[0062] At 606, the apparatus may enter into a low-power state in response to the detection of the presence of the departing operator at the deactivation distance. The low power state may be one of a standby state, a sleep state, or a hibernate state.

[0063] FIG. 7 is a flowchart 700 of a method of adapting the sensing distance for deactivation of the input device. In one embodiment, the method may be performed by an apparatus (e.g., the apparatus 802 / 802'). The apparatus may include an input device (e.g., the mouse 100 or the input device 505). The operations performed in the method may include the operations performed at 602 in FIG. 6.

[0064] At 702, the apparatus may determine whether the palm has left the apparatus. If the palm has left, the apparatus may proceed to 704. Otherwise, the apparatus may loop back to 702 to check again.

[0065] At 704, the apparatus may start a timer. At 706, the apparatus may perform sensing. At 708, the apparatus may determine whether the hand is detected at a distance that is greater than the sensing distance d. If the hand is detected at such a distance, the apparatus may proceed to 710. Otherwise, the apparatus may loop back to 706 to perform sensing again.

[0066] At 710, the apparatus may stop the timer. At 712, the apparatus may read the time taken from the timer. At 714, the apparatus may store the reading of the timer into a database.

[0067] At 716, the apparatus may compute the optimal distance based on the average or maximum time taken and update the sensing distance for deactivation d accordingly.

[0068] FIG. 8 is a conceptual data flow diagram 800 illustrating the data flow between different means / components in an exemplary apparatus 802. In one embodiment, the apparatus 802 may include an input device (e.g., the mouse 100, or the input device 205 or 505).

[0069] The apparatus 802 includes a sensing component 806 that senses the presence of approaching or departing operator. In one embodiment, the sensing component 806 may perform the operations described above with reference to 304 in FIG. 3 or 604 in FIG. 6.

[0070] The apparatus 802 may include a calibration component 804 that adjusts the sensing distance used by the sensing component 806 for activation or deactivation of the apparatus 802 partially based on past sensing data collected by the sensing component 806. In one embodiment, the calibration component 804 may perform the operations described above with reference to 302 in FIG. 3, 416 in FIG. 4, 602 in FIG. 6, or 716 in FIG. 7.

[0071] The apparatus 802 may include a power management component 808 that switch the apparatus 802 between active state and low-power state based on the sensing data received from the sensing component 806. In one embodiment, the power management component 808 may perform the operations described above with reference to 306 in FIG. 3 or 606 in FIG. 6.

[0072] The apparatus 802 may include additional components that perform each of the blocks of the algorithm in the aforementioned flowcharts of FIGS. 3, 4, 6, 7. As such, each block in the aforementioned flowcharts of FIGS. 3, 4, 6, 7 may be performed by a component and the apparatus may include one or more of those components. The components may be one or more hardware components specifically configured to carry out the stated processes / algorithm, implemented by a processor configured to perform the stated processes / algorithm, stored within a computer-readable medium for implementation by a processor, or some combination thereof.

[0073] FIG. 9 is a diagram 900 illustrating an example of a hardware implementation for an apparatus 802' employing a processing system 914. In one embodiment, the apparatus 802' may be the apparatus 802 described above with reference to FIG. 8. The processing system 914 may be implemented with a bus architecture, represented generally by the bus 924. The bus 924 may include any number of interconnecting buses and bridges depending on the specific application of the processing system 914 and the overall design constraints. The bus 924 links together various circuits including one or more processors and / or hardware components, represented by the processor 904, the components 804, 806, 808, and the computer-readable medium / memory 906. The bus 924 may also link various other circuits such as timing sources, peripherals, voltage regulators, and power management circuits, which are well known in the art, and therefore, will not be described any further.

[0074] The processing system 914 includes a processor 904 coupled to a computer-readable medium / memory 906. The processor 904 is responsible for general processing, including the execution of software stored on the computer-readable medium / memory 906. The software, when executed by the processor 904, causes the processing system 914 to perform the various functions described supra for any particular apparatus. The computer-readable medium / memory 906 may also be used for storing data that is manipulated by the processor 904 when executing software. The processing system 914 further includes at least one of the components 804, 806, 808. The components may be software components running in the processor 904, resident / stored in the computer readable medium / memory 906, one or more hardware components coupled to the processor 904, or some combination thereof.

Claims

1. A method of power management for an input device (205, 505) used to provide input to a computing device, the method comprising: waking up the input device (205, 505) from a low-power state in response to detecting of a presence of an approaching object, being a part of the operator's human body or an extension of it, used to operate the input device (205, 505), at an activation distance; characterized in that the method further comprises: determining a new activation distance for waking up the input device (205, 505) from the low-power state when the approaching object, is detected at the new activation distance; wherein determining the new activation distance comprises: determining a plurality of actual activation times, wherein each actual activation time is a respective time taken from detecting a respective presence of the approaching object at a previous activation distance to a respective time when the approaching object reaches the input device (205, 505), calculating an average value of the plurality of actual activation times, calculating an average speed of operator approaching movement within the previous activation distance based on the average value of the plurality of actual activation times and the previous activation distance, and calculating the new activation distance based on the average speed of operator approaching movement within the previous activation distance and a desired activation time, wherein the desired activation time is a duration for the input device (205, 505) to wake up from the low-power state to a full operational state; detecting, at the input device (205, 505) by using a sensor (806) of the input device (205, 505), a presence of the approaching object at the new activation distance; and waking up the input device (205, 505) from the low-power state in response to the detecting of the presence of the approaching object at the new activation distance.

2. The method of claim 1, further comprising: determining a deactivation distance for entering the input device (205, 505) into the low-power state from the full operational state when a departing object, being a part of the operator's human body or an extension of it, used to operate the input device (205, 505), is detected at the deactivation distance; detecting, at the input device (205, 505) by using the sensor (806) of the input device (205, 505), a presence of the departing object at the deactivation distance; and entering the input device (205, 505) into the low-power state in response to the detecting of the presence of the departing object at the deactivation distance.

3. The method of claim 2, wherein the determining of the deactivation distance comprises: determining an actual deactivation time, wherein the actual deactivation time is a time taken from a time when a previous departing object leaves the input device (205, 505) to detecting of a presence of the previous departing object at a previous deactivation distance; calculating a speed of operator departing movement based on the actual deactivation time and the previous deactivation distance; and calculating the deactivation distance based on the speed of operator departing movement and the desired deactivation time, wherein the desired deactivation time is a duration for the input device (205, 505) to enter the low-power state from the full operational state.

4. An input device (205, 505) used to provide input to a computing device and provided with means for power management, the input device (205, 505) comprising: a sensor (806); a memory (906); and at least one processor (904) coupled to the memory (906) and configured to: wake up the input device (205, 505) from a low-power state in response to detecting of a presence of an approaching object, being a part of the operator's human body or an extension of it, used to operate the input device (205, 505), at an activation distance; characterized in that the at least one processor (904) of the input device (205, 505) is further configured to: determine a new activation distance for waking the input device (205, 505) from the low-power state when the approaching object is detected at the new activation distance; wherein determining the new activation distance comprises: determining a plurality of actual activation times, wherein each actual activation time is a respective time taken from detecting a respective presence of the approaching object at a previous activation distance to a respective time when the approaching object reaches the input device (205, 505), calculating an average value of the plurality of actual activation times, calculating an average speed of operator approaching movement within the previous activation distance based on the average value of the plurality of actual activation times and the previous activation distance, and calculating the new activation distance based on the average speed of operator approaching movement within the previous activation distance and a desired activation time, wherein the desired activation time is a duration for the input device (205, 505) to wake up from the low-power state to a full operational state; detect, at the input device (205, 505) by using the sensor (806), a presence of the approaching object at the new activation distance; and wake up the input device (205, 505) from the low-power state in response to the detecting of the presence of the approaching object at the new activation distance.

5. The input device (205, 505) of claim 4, wherein the at least one processor (904) is further configured to: determine a deactivation distance for entering the input device (205, 505) into the low-power state from the full operational state when a departing object, being a part of the operator's human body or an extension of it, used to operate the input device (205, 505), is detected at the deactivation distance; detect, at the input device (205, 505) by using the sensor (806) of the input device (205, 505), a presence of the departing object at the deactivation distance; and enter the input device (205, 505) into the low-power state in response to the detecting of the presence of the departing object at the deactivation distance.

6. The input device (205, 505) of claim 5, wherein, to determine the deactivation distance, the at least one processor (904) is configured to: determine an actual deactivation time, wherein the actual deactivation time is a time taken from a time when a previous departing object leaves the input device (205, 505) to detecting of a presence of the previous departing object at a previous deactivation distance; calculate a speed of operator departing movement based on the actual deactivation time and the previous deactivation distance; and calculate the deactivation distance based on the speed of operator departing movement and the desired deactivation time, wherein the desired deactivation time is a duration for the input device (205, 505) to enter the low-power state from the full operational state.

7. A computer-readable medium storing processor executable code, comprising instructions that, when executed by an input device processor, cause the implementation of method steps for: waking up an input device (205, 505) used to provide input to a computing device, from a low-power state in response to detecting of a presence of the approaching object, being a part of the operator's human body or an extension of it, used to operate the input device (205, 505), at an activation distance; characterized in that the computer-readable medium further comprises instructions that, when executed by an input device processor, cause the implementation of method steps for: determining a new activation distance for waking up the input device (205, 505) from the low-power state when an approaching object is detected at the new activation distance; wherein determining the new activation distance comprises: determining a plurality of actual activation times, wherein each actual activation time is a respective time taken from detecting a respective presence of the approaching object at a previous activation distance to a respective time when the approaching object reaches the input device (205, 505), calculating an average value of the plurality of actual activation times, calculating an average speed of operator approaching movement within the previous activation distance based on the average value of the plurality of actual activation times and the previous activation distance, and calculating the new activation distance based on the average speed of operator approaching movement within the previous activation distance and a desired activation time, wherein the desired activation time is a duration for the input device (205, 505) to wake up from the low-power state to a full operational state; detecting, at the input device (205, 505) by using a sensor (806) of the input device (205, 505), a presence of the approaching object at the new activation distance; and waking up the input device (205, 505) from the low-power state in response to the detecting of the presence of the approaching object at the new activation distance.

8. The computer-readable medium of claim 7, further comprising instructions that, when executed by an input device processor, cause the implementation of method steps for: determining a deactivation distance for entering the input device (205, 505) into the low-power state from the full operational state when a departing object, being a part of the operator's human body or an extension of it, used to operate the input device (205, 505), is at the deactivation distance; detecting, at the input device (205, 505) by using the sensor (806) of the input device (205, 505), a presence of the departing object at the deactivation distance; and entering the input device (205, 505) into the low-power state in response to the detecting of the presence of the departing object at the deactivation distance.

9. The computer-readable medium of claim 8, wherein the instructions for determining of the deactivation distance further comprise instructions that, when executed by an input device processor, cause the implementation of method steps for: determining an actual deactivation time, wherein the actual deactivation time is a time taken from a time when a previous departing object leaves the input device (205, 505) to detecting of a presence of the previous departing object at a previous deactivation distance; calculating a speed of operator departing movement based on the actual deactivation time and the previous deactivation distance; and calculating the deactivation distance based on the speed of operator departing movement and the desired deactivation time, wherein the desired deactivation time is a duration for the input device (205, 505) to enter the low-power state from the full operational state.