Patent Description:
There are many ways a user can interact with an electronic device (e.g. a computer). One way is to control a pointer on a screen of the electronic device to, for example, select files or applications to be executed. The pointer is typically controlled using one or more human interface devices (HIDs).

<FIG> shows a prior art example of an apparatus <NUM> that can be employed by a user to interact with a computer <NUM>. As shown in <FIG>, the apparatus <NUM> includes HIDs in the form of a wireless mouse <NUM> and a dongle <NUM>. The dongle <NUM> can be connected to the computer <NUM> (via for example, a USB port) and the mouse <NUM> can communicate wirelessly with the dongle <NUM>. In particular, the mouse <NUM> may transmit user input data indicating a change in the state of the mouse <NUM> (e.g. movement of the mouse <NUM> or clicking of one or more buttons of the mouse <NUM>) to the dongle <NUM>. This transmission may be via radio frequency, infra-red or any other type of wireless medium. The dongle <NUM> may then communicate such user input data to the computer <NUM> to carry out the user's desired tasks.

Transmission of user input data from the mouse <NUM> to the dongle <NUM> typically begins upon detecting a change in the state of the mouse <NUM>, and the user input data is usually transmitted repeatedly (or in other words, periodically) over a time interval after such detection. <FIG> shows an example transmission of user input data from the mouse <NUM> to the dongle <NUM>. As shown in <FIG>, after detecting a change in the state of the mouse <NUM> at time <NUM>, the user input data may be repeatedly transmitted to the dongle <NUM> in the form of data packets 202a, 202b, 202c. Each data packet 202a, 202b, 202c is then communicated to the computer <NUM>. The time period <NUM> between consecutive transmissions of the data packets 202a, 202b, 202c may be for example, <NUM>. This time period <NUM> may be referred to as a universal serial bus start of frame (USB SOF) interval and the wireless transmission of the user input data may be considered as being synchronized to the USB SOF interval.

Wireless transmission of user input data from the mouse <NUM> to the dongle <NUM> is often susceptible to wireless interference. In a noisy environment, retransmission of the user input data is often required to improve the integrity of the data received by the dongle <NUM>. <FIG> shows another example transmission of user input data from the mouse <NUM> to the dongle <NUM>. The transmission of the user input data shown in <FIG> is similar to that shown in <FIG>, except that due to wireless interference, the transmission of the packet 202b from the mouse <NUM> to the dongle <NUM> is unsuccessful. Upon detection of such unsuccessful transmission, the user input data may be retransmitted from the mouse <NUM> to the dongle <NUM> in the form of a data packet <NUM>. As shown in <FIG>, the data packet <NUM> may be communicated to the computer <NUM> at around a same time as the communication of the next data packet 202c to the computer <NUM>.

The periodic and rapid transmission of the user input data from the mouse <NUM> to the dongle <NUM> usually consumes a huge amount of power. As a result, the batteries of the mouse <NUM> have to be changed or recharged frequently. This issue is worsened if the mouse <NUM> and the dongle <NUM> are operated in a noisy environment as such operations usually involve a greater number of retransmissions of the user input data. Accordingly, in view of some prior art, there is a need for an improved apparatus and method that can allow the mouse (or any other similar wireless input device) to be used for a longer period of time without changing or recharging its batteries.

<CIT> discloses a system for providing enhanced motion detection including a smart display, an interface subsystem including a human interface device (HID), and a console having a processor configured to form communication links with the smart display and the interface subsystem, and to provide motion detection feedback, using the smart display, to a user of the HID, where the HID is configured to sense motion of the HID and utilize a predictive model to characterize the motion of the HID. According to one embodiment, the HID is a wireless computer mouse and a predictive model of possible movements and movement combinations of the computer mouse is determined and stored as a reference in both the computer mouse and console. Data corresponding to an initial increment of a movement by the computer mouse can then be recorded by the computer mouse, and may also be transmitted to and recorded by the console. The model of possible movements stored on the console and computer mouse can then be used to evaluate that initial movement data, and subsequent motion of the computer mouse can be predicted. At that juncture, subsequent movements of the computer mouse are known until a movement of the computer mouse substantially deviates from the predictive model. At that point, data corresponding to the deviations is transmitted to the console, and a new prediction of subsequent movements results. As such, the console uses the predictive model and the deviations to provide motion detection feedback to a user by, for example, adjusting motion and position of a cursor on the smart display.

According to a first aspect of the present invention, there is provided an apparatus for controlling a pointer on a screen of an electronic as set out in claim <NUM>.

According to a second aspect of the present invention, there is provided a wireless input device communicable with a receiver device as set out in claim <NUM>.

According to a third aspect of the present invention, there is provided a receiver device communicable with a wireless input device and an electronic device as set out in claim <NUM>.

In the following description, various embodiments are described with reference to the following drawings, in which:.

Embodiments described below in the context of the device are analogously valid for the respective methods, and vice versa. Furthermore, it will be understood that the embodiments described below may be combined, for example, a part of one embodiment may be combined with a part of another embodiment.

It will be understood that any property described herein for a specific device may also hold for any device described herein. It will be understood that any property described herein for a specific method may also hold for any method described herein. Furthermore, it will be understood that for any device or method described herein, not necessarily all the components or steps described must be enclosed in the device or method, but only some (but not all) components or steps may be enclosed.

It should be understood that the singular terms "a", "an", and "the" include plural references unless context clearly indicates otherwise. Similarly, the word "or" is intended to include "and" unless the context clearly indicates otherwise.

In order that the invention may be readily understood and put into practical effect, various embodiments will now be described by way of examples and not limitations, and with reference to the figures.

According to the first aspect of the present invention, an apparatus for controlling a pointer on a screen of an electronic device is provided. The apparatus includes a wireless input device and a receiver device. The wireless input device determines its position using a sensing unit therein, and also predicts its position. If the determined and predicted positions are significantly different, the wireless input device transmits the determined position to the receiver device that then communicates this position to the electronic device to control the pointer. On the other hand, if the determined and predicted positions are sufficiently similar, the wireless input device does not transmit the determined position to the receiver device. The receiver device may also predict a position of the wireless input device and if no data is received from the wireless input device, the receiver device may communicate this predicted position to the electronic device to control the pointer. Such an apparatus can consume less power (therefore extending the battery life of the wireless input device) without compromising the user experience.

<FIG> shows a schematic diagram of an apparatus <NUM> for controlling a pointer on a screen of an electronic device <NUM> according to various embodiments. The electronic device <NUM> may be a desktop computer, a notebook computer, a tablet or any other electronic device as known to those skilled in the art. As shown in <FIG>, the apparatus <NUM> includes a wireless input device <NUM> and a receiver device <NUM>.

<FIG> shows a schematic diagram of the wireless input device <NUM> according to various embodiments. The wireless input device <NUM> is communicable with the receiver device <NUM> (in other words, may be able to transmit and receive data to and from the receiver device <NUM>). In various embodiments, the wireless input device <NUM> may be any type of wireless input HID device as known to those skilled in the art such as, but not limited to, a wireless mouse or a wireless pointer.

As shown in <FIG>, the wireless input device <NUM> includes a sensing unit <NUM> configured to detect movement of the wireless input device <NUM>. The sensing unit <NUM> may include a light-emitting diode and a light detector, or any other type of sensors as known to those skilled in the art.

The wireless input device <NUM> further includes a position determination unit <NUM> configured to determine a position of the wireless input device <NUM> based on the detected movement. In addition, the wireless input device <NUM> includes a prediction unit <NUM> configured to predict the position of the wireless input device <NUM>. The position may be in the form of a two-dimensional data point that may include x,y coordinates.

A comparison unit <NUM> is included in the wireless input device <NUM> and configured to compare the predicted position (from the prediction unit <NUM>) against the determined position (from the position determination unit <NUM>). As shown in <FIG>, the wireless input device <NUM> also includes a transmitting unit <NUM> configured to transmit data to the receiver device <NUM>.

Further, an input memory unit <NUM> may also be included in the wireless input device <NUM>. In some embodiments, the input memory unit <NUM> may be configured to store each position of the wireless input device <NUM> determined by the position determination unit <NUM> and each position of the wireless input device <NUM> predicted by the prediction unit <NUM>. However, in some alternative embodiments, the input memory unit <NUM> may be configured to store only the determined positions of the wireless input device <NUM>. The prediction unit <NUM> of the wireless input device <NUM> may be configured to retrieve previously stored positions of the wireless input device <NUM> from the input memory unit <NUM> and use these previously stored positions to predict the position of the wireless input device <NUM>. However, in some embodiments, the prediction unit <NUM> may obtain previous positions of the wireless input device <NUM> in other manners or may predict the position of the wireless input device <NUM> in an alternative manner. For example, the previous positions of the wireless input device <NUM> may be stored in the prediction unit <NUM> in the form of delay elements of a prediction engine. In these embodiments, the input memory unit <NUM> may be omitted from the wireless input device <NUM>.

<FIG> shows a schematic diagram of a receiver device <NUM>. The receiver device <NUM> is communicable with the wireless input device <NUM> and the electronic device <NUM>. In some embodiments, the receiver device <NUM> may be a built-in component of the electronic device <NUM>. In alternative embodiments, the receiver device <NUM> may be external to the electronic device <NUM> but the receiver device <NUM> can be connected (in other words, connectable) to the electronic device <NUM>. For example, the receiver device <NUM> may include a USB plug connectable to the electronic device <NUM> via the device's <NUM> USB receptacle. Similarly, the receiver device <NUM> may be any type of HID device as known to those skilled in the art such as, but not limited to, a dongle.

As shown in <FIG>, the receiver device <NUM> includes a receiving unit <NUM> configured to receive data from the wireless input device <NUM>. The receiver device <NUM> further includes a communication unit <NUM> configured to communicate data to the electronic device <NUM>. In addition, the receiver device <NUM> includes a data detection unit <NUM> configured to detect presence of data received from the wireless input device <NUM> and a predictor unit <NUM> configured to predict the position of the wireless input device <NUM>.

A receiver memory unit <NUM> may also be included in the receiver device <NUM> and may be configured to store each position of the wireless input device <NUM> received by the receiving unit <NUM> and each position of the wireless input device <NUM> predicted by the predictor unit <NUM>. However, in some embodiments, the receiver memory unit <NUM> may be configured to store only the received positions of the wireless input device <NUM>. The predictor unit <NUM> of the receiver device <NUM> may be configured to retrieve previously stored positions of the wireless input device <NUM> from the receiver memory unit <NUM> and use these previously stored positions to predict the position of the wireless input device <NUM>. However, in some embodiments, the predictor unit <NUM> may obtain previous positions of the wireless input device <NUM> in other manners or may predict the position of the wireless input device <NUM> in an alternative manner. For example, the previous positions of the wireless input device <NUM> may be stored in the predictor unit <NUM> in the form of delay elements of a prediction engine. In these embodiments, the receiver memory unit <NUM> may be omitted from the receiver device <NUM>.

<FIG> and <FIG> illustrate flow diagrams showing a method for controlling a pointer on a screen of the electronic device <NUM>. In particular, the flow diagram of <FIG> shows a first part of the method that may be carried out by the wireless input device <NUM> and the flow diagram of <FIG> shows a second part of the method that may be carried out by the receiver device <NUM>.

Referring to <FIG>, at <NUM>, the method may include detecting movement of the wireless input device <NUM> by the sensing unit <NUM>.

At <NUM>, the method may include determining a current position of the wireless input device <NUM> (or in other words, a data point) in a current time instance based on the detected movement. This may be carried out by the position determination unit <NUM>.

At <NUM>, the determined current position of the wireless input device <NUM> may be stored in the input memory unit <NUM>.

At <NUM>, the method may include predicting the current position of the wireless input device <NUM> in the current time instance using the prediction unit <NUM>. In various embodiments, the prediction unit <NUM> may predict the current position of the wireless input device <NUM> based on previous positions of the wireless input device <NUM> determined by the position determination unit <NUM> in a plurality of time instances prior to the current time instance (in other words, previous data points). As shown in <FIG>, in some embodiments, the prediction unit <NUM> may use a first prediction function to predict the current position of the wireless input device <NUM>. For example, the prediction unit <NUM> may generate parameters of the first prediction function based on the previous positions of the wireless input device <NUM> determined by the position determination unit <NUM> (in the time instances prior to the current time instance), and use the first prediction function with these generated parameters to predict the current position of the wireless input device <NUM> in the current time instance.

At <NUM>, the predicted current position of the wireless input device <NUM> (in other words, predicted data point) may also be stored in the input memory unit <NUM>. In some embodiments, the prediction unit <NUM> may retrieve and use one or more previously stored positions (stored in time instances prior to the current time instance) from the input memory unit <NUM> for predicting the current position of the wireless input device <NUM>. In some embodiments, these previously stored positions may include both previously determined positions as well as previously predicted positions, but in other embodiments, they may include only the previously determined positions.

At <NUM>, a similarity between the predicted current position (from <NUM>) and the determined current position (from <NUM>) of the wireless input device <NUM> may be determined using the comparison unit <NUM>. The comparison unit <NUM> determines a difference between the determined current position and the predicted current position of the wireless input device <NUM>, and compares the difference to a similarity threshold and determines if this difference is greater than the similarity threshold. In some embodiments, the similarity threshold may range from about <NUM>% to about <NUM>% of the determined position, and in one exemplary embodiment, the similarity threshold may be about <NUM>% of the determined position. For example, if the determined position includes coordinates (x<NUM>, y<NUM>) and the predicted position includes coordinates (x<NUM>, y<NUM>), then the similarity threshold may also include an x-component with a value about <NUM>% of x<NUM> and a y-component with a value about <NUM>% of y<NUM>. The comparison unit <NUM> may then determine if the difference between x<NUM> and x<NUM> i.e. (x<NUM> - x<NUM>) is greater than <NUM>% of x<NUM>, and whether the difference between y<NUM> and y<NUM> i.e. (y<NUM> - y<NUM>) is greater than <NUM>% of y<NUM>. In some embodiments, the comparison unit <NUM> may consider the difference between the determined and predicted positions greater than the similarity threshold only if both the difference between the x-coordinates of the positions (x<NUM> - x<NUM>) is greater than the x-component of the similarity threshold and the difference between the y-coordinates of the positions (y<NUM> - y<NUM>) is greater than the y-component of the similarity threshold. In alternative embodiments, the comparison unit <NUM> may consider the difference between the determined and predicted positions greater than the similarity threshold as long as one of the above-mentioned differences is greater than the respective component of the similarity threshold.

At <NUM>, in response to determining that the difference between the determined current position and the predicted current position of the wireless input device <NUM> is greater than the similarity threshold (in other words, determining that the determined and predicted positions in the current time instance are not sufficiently similar), the transmitting unit <NUM> transmits the determined current position of the wireless input device <NUM> to the receiver device <NUM>.

Referring to <FIG>, at <NUM>, the method may include the receiving unit <NUM> of the receiver device <NUM> receiving the determined current position of the wireless input device <NUM> from the transmitting unit <NUM>.

At <NUM>, the method may include determining if a current position of the wireless input device <NUM> in a current time instance (current data point) is received by the receiving unit <NUM> from the wireless input device <NUM>. This may be carried out by the data detection unit <NUM>.

At <NUM>, in response to determining a presence of the receipt of the current position of the wireless input device <NUM>, the method may store the received current position in the receiver memory unit <NUM>.

At <NUM>, in response to determining a presence of the receipt of the current position of the wireless input device <NUM>, the method may also include communicating (using the communication unit <NUM> of the receiver device <NUM>) the received current position of the wireless input device <NUM> to the electronic device <NUM> to control the pointer on the screen of the electronic device <NUM>. For example, the received current position of the wireless input device <NUM> may include two-dimensional (e.g. x,y) coordinates that correspond to a respective pixel on the screen and the pointer may be moved to this pixel on the screen.

<NUM> - <NUM> of <FIG> as described above may be repeated for a subsequent time instance (with this subsequent time instance considered as the "current time instance" mentioned above). However, at <NUM>, it may be determined that the determined and predicted data points are sufficiently similar, (in other words, the difference between the determined subsequent position and the predicted subsequent position of the wireless input device <NUM> in the subsequent time instance is less than the similarity threshold). In this case, the method may include dropping (at <NUM>) data transmission to the receiver device <NUM>. Accordingly, contrary to <NUM> as described above, no data indicating the subsequent position of the wireless input device <NUM> is transmitted to the receiver device <NUM>. Thus, neither the determined subsequent position nor the predicted subsequent position of the wireless input device <NUM> is transmitted to the receiver device <NUM>.

Similarly, <NUM> of <FIG> as described above may be repeated for the subsequent time instance (with this subsequent time instance considered as the "current time instance" mentioned above). In other words, the method may include determining if the subsequent position of the wireless input device <NUM> in the subsequent time instance is received by the receiving unit <NUM> from the wireless input device <NUM>.

At <NUM>, the method may include predicting the subsequent position of the wireless input device <NUM> in the subsequent time instance using the predictor unit <NUM> of the receiver device <NUM>. As shown in <FIG>, in some embodiments, this may be carried out in response to determining (at <NUM>) an absence of the receipt of the subsequent position of the wireless input device <NUM>. However, in alternative embodiments, this may be carried out regardless of whether a position of the wireless input device <NUM> is received from the transmitting unit <NUM>. In various embodiments, the predictor unit <NUM> may predict the subsequent position of the wireless input device <NUM> based on previous positions of the wireless input device <NUM> communicated to the electronic device <NUM> in a plurality of time instances prior to the subsequent time instance. As shown in <FIG>, in some embodiments, the predictor unit <NUM> may use a second prediction function to predict the subsequent position of the wireless input device <NUM>. For example, the predictor unit <NUM> may generate parameters of the second prediction function based on the previous positions of the wireless input device <NUM> communicated to the electronic device <NUM> in the plurality of time instances prior to the subsequent time instance. The predictor unit <NUM> may further use the second prediction function with these generated parameters to predict the subsequent position of the wireless input device <NUM> in the subsequent time instance.

At <NUM>, the method may include storing the predicted subsequent position in the receiver memory unit <NUM>. In some embodiments, the predictor unit <NUM> may retrieve and use one or more previously stored positions (stored in time instances prior to the subsequent time instance) from the receiver memory unit <NUM> for predicting the subsequent position of the wireless input device <NUM> at <NUM>. In some embodiments, these previously stored positions may include previously received positions as well as previously predicted positions, but in other embodiments, they may include only the previously received positions.

At <NUM>, the method may include determining if the prediction of the subsequent position of the wireless input device <NUM> is successful.

At <NUM>, in response to determining that the prediction of the subsequent position of the wireless input device <NUM> is successful, the communication unit <NUM> of the receiver device <NUM> communicates the predicted subsequent position of the wireless input device <NUM> to the electronic device <NUM> to control the pointer on the screen of the electronic device <NUM>. For example, the predicted position of the wireless input device <NUM> may include two-dimensional (e.g. x,y) coordinates that correspond to a respective pixel on the screen and the pointer may be moved to this pixel on the screen.

At <NUM>, in response to determining that the prediction of the subsequent position of the wireless input device <NUM> is unsuccessful, the state of the pointer on the screen of the electronic device <NUM> may remain unchanged. In some embodiments, the communication unit <NUM> of the receiver device <NUM> may communicate data to the electronic device <NUM> where the data may include instructions to the electronic device <NUM> to maintain the position of the pointer. In some embodiments, no data may be communicated to the electronic device <NUM> and in the absence of data, the position of the pointer may remain the same.

In some examples not forming part of the claimed invention, the determination of whether the prediction is successful at <NUM> may be omitted. In these embodiments, in response to determining an absence of the receipt of the subsequent position of the wireless input device <NUM>, the predicted position may be communicated by the communication unit <NUM> to the electronic device <NUM> regardless of whether the prediction is considered successful.

<FIG> shows an example movement of the pointer through pixels 802a - 802i on the screen of the electronic device <NUM>. As shown in <FIG>, the pixels 802a, 802b, 802e, <NUM> may correspond to coordinates of received data points from the wireless input device <NUM>; whereas, the pixels 802c, 802d, 802f, <NUM>, 802i may correspond to coordinates of data points predicted by the predictor unit <NUM> of the receiver device <NUM>.

In various embodiments, the first prediction function used by the prediction unit <NUM> of the wireless input device <NUM> and the second prediction function used by the predictor unit <NUM> of the receiver device <NUM> may be same functions with variable parameters (to be generated by the prediction unit <NUM> and the predictor unit <NUM> as described above). The predictions may be based on previous positions. The previous positions used by the prediction unit <NUM> may be the above-mentioned previous positions of the wireless input device <NUM> determined by the position determination unit <NUM> in previous time instances. The previous positions used by the predictor unit <NUM> may be the above-mentioned previous positions of the wireless input device <NUM> communicated to the electronic device <NUM> in previous time instances. In some embodiments, a number of previous positions used to generate the parameters for the first and second prediction functions may range from <NUM> to <NUM>. In other words, no prediction may be carried out for the first <NUM> to <NUM> time instances after detecting a change in the state of the wireless input device <NUM>. In some embodiments, the parameters of the first and second prediction functions may not be generated each time the position of the wireless input device <NUM> is predicted. Instead, the prediction unit <NUM> and/or the predictor unit <NUM> may use the same parameters over multiple time instances before generating new parameters.

In some embodiments, the first and second prediction functions may be same polynomial equations. For example, the first and second prediction functions may both be a first degree polynomial equation f(t) as shown in Equation (<NUM>) below, where a and b may be the variable parameters. In another example, the first and second prediction functions may both be a second degree polynomial equation as shown in Equation (<NUM>) below, where a, b and c may be the variable parameters. In yet another example, the first and second prediction functions may both be a third degree polynomial equation as shown in Equation (<NUM>) below, where a, b, c and d may be the variable parameters. However, the first and second prediction functions may be any suitable function as known to those skilled in the art. <MAT> <MAT> <MAT>.

In various embodiments, the prediction unit <NUM> of the wireless input device <NUM> may be configured to fit the previous positions into each of a plurality of polynomial equations (such as, but not limited to, the polynomial equations as shown in Equations (<NUM>) - (<NUM>)). The prediction unit <NUM> may then determine the polynomial equation which best fits the previous positions and selects this polynomial equation as the first prediction function. The fitting of the previous positions to each polynomial equation and the determination of the polynomial equation that best fits the previous positions by the prediction unit <NUM> may be performed using any technique as known to those skilled in the art.

In various embodiments, the predictor unit <NUM> of the receiver device <NUM> may also be configured to fit the previous positions into a plurality of polynomial equations (such as, but not limited to, the polynomial equations as shown in Equations (<NUM>) - (<NUM>)). The predictor unit <NUM> may then determine the polynomial equation which best fits the previous positions and selects this polynomial equation as the second prediction function. Since the previous positions used by the predictor unit <NUM> may be substantially similar to the previous positions used by the prediction unit <NUM>, the selected polynomial equation for both the first and second prediction functions may be the same and the generated parameters may be substantially similar as well. The fitting of the previous positions to each polynomial equation and the determination of the polynomial equation that best fits the previous positions by the predictor unit <NUM> may also be performed using any technique as known to those skilled in the art.

As described above, the predicted position of the wireless input device <NUM> is communicated (at <NUM>) to the electronic device <NUM> only if it is determined (at <NUM>) that the prediction is successful. In some embodiments, the prediction may be considered successful if the average difference between the outputs calculated with the selected polynomial equation and the previous positions at the respective time instances is below a fit success threshold. For example, if the selected polynomial equation is that in Equation (<NUM>) i.e. f(t) = at + b, then the difference between the output f(t<NUM>) and the previous position at the time instance t= t<NUM>, the difference between the output f(t<NUM>+<NUM>) and the previous position at the time instance t= t<NUM>+<NUM> and so on may be determined and the average of these differences may be calculated and compared against the fit success threshold to determine if the prediction is successful. However, other methods as known to those skilled in the art may be used to determine if the prediction is successful.

In various alternative embodiments, the first and second prediction functions may instead be same displacement equations. Each displacement equation may include a velocity parameter and an acceleration parameter. For example, the first and second prediction functions may both be the displacement equation as shown in Equation (<NUM>) below, where the final velocity vf and the acceleration a may be the variable parameters (velocity parameter and acceleration parameter) to be generated based on the previous positions. For example, the initial velocity vi and the acceleration a may be determined using the previous positions and vf may then be determined using Equation (<NUM>). The final velocity vf may be the velocity the wireless input device <NUM> is at in the time instance immediately prior to the time instance for which the prediction may be performed. <MAT> <MAT>.

For example, to predict a position of the wireless input device <NUM> at a time instance t = t<NUM>+<NUM>, the initial velocity vi and the acceleration a may be determined using the previous positions at time instances t<NUM>, t<NUM>+<NUM>, t<NUM>+<NUM>,. t<NUM>+<NUM>. The final velocity vf of the wireless input device <NUM> at t=t<NUM>+<NUM> may then be determined using Equation (<NUM>). This final velocity vf and the acceleration a may be used to predict a subsequent displacement s from the position of the wireless input device <NUM> at time t<NUM>+<NUM>, and the position of the wireless input device <NUM> at time t<NUM>+<NUM> may then be predicted based on this displacement s. In some embodiments, each of the initial and final velocities vi, vf, acceleration a and displacement s has an x-component and a y-component. The x-component of the displacement s may be predicted using the x-components of the velocities vi, vf and the acceleration a; and the y-component of the displacement s may be predicted using the y-components of the velocities vi, vf and the acceleration a.

Movement of the wireless input device <NUM> by a user tends to follow a certain trajectory pattern over a short period of time (e.g. <NUM> - <NUM>). Therefore, the position of the wireless input device <NUM> may be predicted in a relatively accurate manner. By predicting the position of the wireless input device <NUM> and transmitting data to the receiver device <NUM> only when the difference between the predicted position and the determined position is greater than a similarity threshold, the amount of data transmitted from the wireless input device <NUM> to the receiver device <NUM> over time can be reduced. Accordingly, less power may be consumed by the apparatus <NUM>. Further, as described above, the wireless input device <NUM> and the receiver device <NUM> may use a same function to predict the position of the wireless input device <NUM>, where parameters of this function may be generated separately by the devices <NUM>, <NUM> using substantially similar previous positions. Therefore, in the event that the receiver device <NUM> does not receive a data point from the wireless input device <NUM>, the position predicted by the receiver device <NUM> may not differ from the position determined by the position determination unit <NUM> by more than the similarity threshold. In other words, the data used to control the pointer on the screen of the electronic device <NUM> may be substantially accurate even without transmission of data from the wireless input device <NUM> to the receiver device <NUM>. Further, in embodiments where a predicted position may be communicated to the electronic device <NUM> whenever a position is not received from the wireless input device <NUM>, the number of data points (e.g. <NUM> data points) per second received by the electronic device <NUM> may not differ significantly from that in the case where all the determined positions are sent to the electronic device <NUM>. Accordingly, the battery life of the wireless input device <NUM> may be increased without compromising on the integrity of the data used to control the pointer or the user experience.

While embodiments of the invention have been particularly shown and described with reference to specific embodiments, it should be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the scope of the invention as defined by the appended claims. It will be appreciated that common numerals, used in the relevant drawings, refer to components that serve a similar or the same purpose.

It will be appreciated to a person skilled in the art that the terminology used herein is for the purpose of describing various embodiments only and is not intended to be limiting of the present invention.

Claim 1:
An apparatus (<NUM>) for controlling a pointer on a screen of an electronic device (<NUM>), the apparatus comprising:
a receiver device (<NUM>) communicable with the electronic device (<NUM>) and comprising a receiving unit (<NUM>) and a communication unit (<NUM>); and
a wireless input device (<NUM>) comprising:
a sensing unit (<NUM>) configured to detect movement of the wireless input device (<NUM>);
a position determination unit (<NUM>) configured to determine a determined current position of the wireless input device (<NUM>) in a current time instance based on the detected movement;
a prediction unit (<NUM>) configured to predict a first predicted current position of the wireless input device (<NUM>) in the current time instance;
a comparison unit (<NUM>) configured to determine a difference between the determined current position and the first predicted current position of the wireless input device (<NUM>), and further configured to determine if the difference is greater than a similarity threshold; and
a transmitting unit (<NUM>) configured to transmit the determined current position of the wireless input device (<NUM>) to the receiver device (<NUM>) in response to determining that the difference is greater than the similarity threshold, and transmit neither the determined current position nor the first predicted current position when the difference is not greater than the similarity threshold;
wherein the receiving unit (<NUM>) of the receiver device (<NUM>) is configured to receive the determined current position of the wireless input device (<NUM>) and the communication unit (<NUM>) of the receiver device (<NUM>) is configured to communicate the determined current position of the wireless input device (<NUM>) to the electronic device (<NUM>) to control the pointer on the screen of the electronic device (<NUM>), and communicate a second predicted current position of the wireless input device (<NUM>) predicted by a predictor unit (<NUM>) of the receiver device (<NUM>) to the electronic device (<NUM>) when the determined current position is not received from the wireless input device (<NUM>) and a prediction of the second predicted current position of the wireless input device (<NUM>) is successful.