The present application relates to a control apparatus for controlling a movement of a pointer on a screen, an input apparatus for outputting signals to the control apparatus, a control system, a handheld information processing apparatus, and a control method.
Pointing devices, particularly a mouse and a touchpad, are used as controllers for GUIs (Graphical User Interfaces) widely used in PCs (Personal Computers). Not just as HIs (Human Interfaces) of PCs of the related art, the GUIs are now starting to be used as interfaces for AV equipment and game machines used in living rooms etc. with televisions as image media. Various pointing devices that a user is capable of operating 3-dimensionally are proposed as controllers for the GUIs of this type (see, for example, Patent Documents 1 and 2).
Patent Document 1: Japanese Patent Application Laid-open No. 2001-56743 (paragraphs (0030) and (0031), FIG. 3)
Patent Document 2: Japanese Patent No. 3,748,483 (paragraphs (0033) and (0041), FIG. 1)
Incidentally, GUIs including icons displayed on a screen of AV equipment and the like used in living rooms etc. are generally operated by using pointing devices such as arrow keys and joysticks. Therefore, the GUIs including icons are generally displayed in a 1-dimensional single-row or single-column region on the screen so as to facilitate operations using the arrow keys and joysticks. However, there is a problem of poor operability in a case where a user tries to operate the GUIs displayed in the vertical or lateral 1-dimensional region on the screen by using the pointing device for 3-dimensional operations. Specifically, it has been necessary for the user to operate the pointer by moving the pointing device for 3-dimensional operations in an almost-horizontal or -vertical direction for operating or selecting the GUI on the screen. In a case where such operations fail to be made, the pointer slides out of the 1-dimensional region. As described above, the operability is poor since it is difficult for the user to move the pointing device for 3-dimensional operations only in the 1-dimensional direction in the air, which is problematic.
Moreover, the GUIs that have been developed for PCs are expected to be displayed by AV equipment and the like used in living rooms etc. in general from now on. Therefore, it is expected that a system that facilitates operations in a predetermined region on a screen displaying the GUIs will be desired in the future since it is also expected that the user will operate the GUIs for a PC using the pointing device for 3-dimensional operations.
In view of the above-mentioned circumstances, it is at object of the present application to provide a control apparatus, an input apparatus, a control system, a handheld information processing apparatus, a control method, and a program therefor that are capable of improving operability when a user operates a GUI displayed on a screen by a pointer using the input apparatus.
To achieve the object above, according to an embodiment there is provided a control apparatus controlling a movement of a pointer displayed on a screen that includes a plurality of regions in accordance with detection signals output from an input apparatus including a casing, a detection means for detecting a movement in a first direction of the casing and a movement in a second direction different from the first direction, and an output means for outputting the detection signals obtained by the detection means, the control apparatus including: a reception means for receiving the detection signals; a calculation means for calculating, based on detection values of the received detection signals, a first corresponding displacement amount corresponding to the detection value in the first direction and a second corresponding displacement amount corresponding to the detection value in the second direction, for moving the pointer on the screen; and a display control means for controlling display of the screen so that the pointer moves by a first displacement amount obtained by multiplying the first corresponding displacement amount by a first value according to each of the plurality of regions on the screen, and the pointer moves by a second displacement amount obtained by multiplying the second corresponding displacement amount by a second value according to each of the plurality of regions on the screen.
Accordingly, a moving direction of the pointer on the screen can be biased for each of the regions sectioning the screen. Therefore, operability of the pointer using the input apparatus is improved.
In the control apparatus, the display control means may set the first value based on the first corresponding displacement amount and the second value based on the second corresponding displacement amount.
Accordingly, displacement amounts of the pointer on the screen can be made to depend not only on the regions on the screen but also on the corresponding displacement amounts. Therefore, a degree of freedom in moving the pointer in each of the regions on the screen is enhanced.
In the control apparatus, the first value may be larger than the second value when one of the plurality of regions is elongated in the first direction of the screen.
Accordingly, for example, in a case where GUIs including icons and scrollbars operated by using a pointer is displayed 1-dimensionally on the screen, it is possible to prioritize the movement of the pointer in the 1-dimensional direction. In other words, it becomes difficult for the pointer to slide out of the 1-dimensional region, resulting in an improvement in operability of the pointer using the input apparatus.
Because it is difficult to operate the pointing device only in the 1-dimensional direction in the air when using the pointing device for 3-dimensional operations as the input apparatus, operability of the pointer is particularly improved.
In the control apparatus, the display control means may set the first value to be larger than the second value when the first corresponding displacement amount is larger than the second corresponding displacement amount, and set the second value to be lacer than the first value when the second corresponding displacement amount is larger than the first corresponding displacement amount.
Accordingly, the movement direction of the pointer on the screen can be biased to the first direction and the second direction. When the first direction is a vertical direction on the screen and the second direction is a horizontal direction on the screen, for example, the movement of the pointer is biased to the vertical and horizontal directions on the screen. Thus, for example, when the 1-dimensional region is constituted by arranging the GUIs including icons and scrollbars operated by using the pointer in the vertical direction on the screen, it is possible to cause the pointer to take a biased movement in the vertical and horizontal directions. If a user is to select an icon or operate the scrollbar, by merely operating the input apparatus in near-vertical directions, it becomes difficult for the pointer to slide out of that region. On the other hand, by the user operating the input apparatus in near-horizontal directions, the pointer is allowed to slide out of that region.
According to another embodiment, there is provided a control apparatus controlling a movement of a pointer displayed on a screen that includes a plurality of regions in accordance with information on a first corresponding displacement amount and information on a second corresponding displacement amount output from an input apparatus including a casing, a detection means for detecting a movement in a first direction of the casing and a movement in a second direction different from the first direction, and a calculation means for calculating, based on detection values obtained by the detection means, the first corresponding displacement amount corresponding to the detection value in the first direction and a second corresponding displacement amount corresponding to the detection value in the second direction, for moving the pointer on the screen, the control apparatus characterized by including: a reception means for receiving the information on the first corresponding displacement amount and the information on the second corresponding displacement amount; and a display control means for controlling display of the screen so that the pointer moves by a first displacement amount obtained by multiplying the first corresponding displacement amount by a first value according to each of the plurality of regions on the screen, and the pointer moves by a second displacement amount obtained by multiplying the second corresponding displacement amount by a second value according to each of the plurality of regions on the screen.
In the control apparatus, the display control means may set the first value based on the first corresponding displacement amount and the second value based on the second corresponding displacement amount.
In the control apparatus, the first value may be larger than the second value when one of the plurality of regions is elongated in the first direction of the screen.
In the control apparatus, the display control means may set the first value to be larger than the second value when the first corresponding displacement amount is larger than the second corresponding displacement amount, and set the second value to be larger than the first value when the second corresponding displacement amount is larger than the first corresponding displacement amount.
According to the embodiments, there is provided an input apparatus outputting, to a control apparatus controlling display of a movement of a pointer on a screen that includes a plurality of regions and transmitting regional information of the plurality of regions on the screen, a signal of displacement amount information for moving the pointer on the screen, the input apparatus characterized by including: a casing; a detection means for detecting a movement in a first direction of the casing and a movement in a second direction different from the first direction; a reception means for receiving the regional information; a calculation means for calculating, based on detection values obtained by the detection means, a first corresponding displacement amount corresponding to the detection value in the first direction and a second corresponding displacement amount corresponding to the detection value in the second direction, for moving the pointer on the screen, and calculating, based on the regional information, a first displacement amount obtained by multiplying the first corresponding displacement amount by a first value and a second displacement amount obtained by multiplying the second corresponding displacement amount by a second value; and an output means for outputting the first displacement amount and the second displacement amount as the signal of the displacement amount information.
In the input apparatus, the calculation means may set the first value based on the first corresponding displacement amount and the second value based on the second corresponding displacement amount.
In the input apparatus, the first value may be larger than the second value when one of the plurality of regions is elongated in the first direction of the screen.
In the input apparatus, the calculation means may set the first value to be larger than the second value when the first corresponding displacement amount is larger than the second corresponding displacement amount, and set the second value to be larger than the first value when the second corresponding displacement amount is larger than the first corresponding displacement amount.
According to the embodiment, there is provided a control system characterized by including: an input apparatus to output detection signals, including a casing, a detection means for detecting a movement in a first direction of the casing and a movement in a second direction different from the first direction, and an output means for outputting the detection signals obtained by the detection means; and a control apparatus to control a movement of a pointer displayed on a screen that includes a plurality of regions in accordance with the detection signals output from the input apparatus, including a reception means for receiving the detection signals, a calculation means for calculating, based on detection values of the received detection signals, a first corresponding displacement amount corresponding to the detection value in the first direction and a second corresponding displacement amount corresponding to the detection value in the second direction, for moving the pointer on the screen, and a display control means for controlling display of the screen so that the pointer moves by a first displacement amount obtained by multiplying the first corresponding displacement amount by a first value according to each of the plurality of regions on the screen, and the pointer moves by a second displacement amount obtained by multiplying the second corresponding displacement amount by a second value according to each of the plurality of regions on the screen.
According to another embodiment, there is provided a control system characterized by including: an input apparatus to output information on corresponding displacement amounts, including a casing, a detection means for detecting a movement in a first direction of the casing and a movement in a second direction different from the first direction, a calculation means for calculating, based on detection values obtained by the detection means, a first corresponding displacement amount corresponding to the detection value in the first direction and a second corresponding displacement amount corresponding to the detection value in the second direction, for moving a pointer on a screen, and an output means for outputting the information on the first corresponding displacement amount and the information on the second corresponding displacement amount; and a control apparatus to control a movement of the pointer displayed on the screen that includes a plurality of regions in accordance with the information on the first corresponding displacement amount and the information on the second corresponding displacement amount output from the input apparatus, including a reception means for receiving the information on the first corresponding displacement amount and the information on the second corresponding displacement amount, and a display control means for controlling display of the screen so that the pointer moves by a first displacement amount obtained by multiplying the first corresponding displacement amount by a first value according to each of the plurality of regions on the screen, and the pointer moves by a second displacement amount obtained by multiplying the second corresponding displacement amount by a second value according to each of the plurality of regions on the screen.
According to another embodiment, there is provided a control system characterized by including: a control apparatus to control display of a movement of a pointer on a screen that includes a plurality of regions, including a control means for controlling the movement of the pointer, and a transmission means for transmitting regional information of the plurality of regions on the screen; and an input apparatus to output a signal of displacement amount information for moving the pointer on the screen to the control apparatus, including a casing, a detection means for detecting a movement in a first direction of the casing and a movement in a second direction different from the first direction, a reception means for receiving the regional information, a calculation means for calculating, based on detection values obtained by the detection means, a first corresponding displacement amount corresponding to the detection value in the first direction and a second corresponding displacement amount corresponding to the detection value in the second direction, for moving the pointer on the screen, and calculating, based on the regional information, a first displacement amount obtained by multiplying the first corresponding displacement amount by a first value and a second displacement amount obtained by multiplying the second corresponding displacement amount by a second value, and an output means for outputting the first displacement amount and the second displacement amount as the signal of the displacement amount information.
According to the embodiment, there is provided a method of controlling a movement of a pointer displayed on a screen that includes a plurality of regions in accordance with a movement of an input apparatus, characterized by including: detecting a movement of the input apparatus in a first direction of a casing and a movement thereof in a second direction different from the first direction; calculating, based on detection values detected, a first corresponding displacement amount corresponding to the detection value in the first direction and a second corresponding displacement amount corresponding to the detection value in the second direction, for moving the pointer on the screen; and controlling display of the screen so that the pointer moves by a first displacement amount obtained by multiplying the first corresponding displacement amount by a first value according to each of the plurality of regions on the screen, and the pointer moves by a second displacement amount obtained by multiplying the second corresponding displacement amount by a second value according to each of the plurality of regions on the screen.
According to the embodiment, there is provided a handheld information processing apparatus controlling a movement of a pointer on a screen that includes a plurality of regions, characterized by including: a display means for displaying the screen; a casing; a detection means for detecting a movement in a first direction of the casing and a movement in a second direction different from the first direction; a calculation means for calculating, based on detection values obtained by the detection means, a first corresponding displacement amount corresponding to the detection value in the first direction and a second corresponding displacement amount corresponding to the detection value in the second direction, for moving the pointer on the screen; and a display control means for controlling display of the screen so that the pointer moves by a first displacement amount obtained by multiplying the first corresponding displacement amount by a first value according to each of the plurality of regions on the screen, and the pointer moves by a second displacement amount obtained by multiplying the second corresponding displacement amount by a second value according to each of the plurality of regions on the screen.
In the handheld information processing apparatus, the display control means may set the first value based on the first corresponding displacement amount and the second value based on the second corresponding displacement amount.
In the handheld information processing apparatus, the first value may be larger than the second value when one of the plurality of regions is elongated in the first direction of the screen.
In the handheld information processing apparatus, the display control means may set the first value to be larger than the second value when the first corresponding displacement amount is larger than the second corresponding displacement amount, and set the second value to be larger than the first value when the second corresponding displacement amount is larger than the first corresponding displacement amount.
As described above, according to the embodiment, it is possible to provide a control apparatus, an input apparatus, a control system, a handheld information processing apparatus, a control method, and a program therefor that are capable of improving operability when a user operates a GUI displayed on a screen by a pointer using the input apparatus.
Additional features and advantages are described herein, and will be apparent from, the following Detailed Description and the figures.
Hereinafter, embodiments will be described with reference to the drawings.
As will be described later, the input apparatus 1 of this embodiment is described as a pointing device that operates by two angular velocity sensors and two acceleration sensors.
The input apparatus 1 is of a size that a user is capable of holding. The input apparatus 1 includes a casing 10 and operation sections such as two buttons 11 and 12 provided at an upper portion of the casing 10 and a rotary wheel button 13. The button 11 disposed closer to the center of the upper portion of the casing 10 functions as a left button of a mouse as an input device for a PC, and the button 12 adjacent to the button 11 functions as a right button of the mouse, for example.
For example, a “drag and drop” operation may be executed by moving the input apparatus 1 while pressing the button 11, a file may be opened by double-clicking the button 11, and a screen 3 may be scrolled with the wheel button 13. Locations of the buttons 11 and 12 and the wheel button 13, a content of a command issued, and the like can arbitrarily be changed.
The input apparatus 1 includes a sensor unit 17, a control unit 30, and batteries 14.
As each of the first angular velocity sensor 151 and the second angular velocity sensor 152, a vibration gyro sensor for detecting Coriolis force in proportion with an angular velocity is used. As each of the first acceleration sensor 161 and the second acceleration sensor 162, any sensor such as a piezoresistive sensor, a piezoelectric sensor, or a capacitance sensor may be used.
In description given with reference to
The control unit 30 includes a main substrate 18, an MPU (Micro Processing Unit) (or CPU) 19 mounted on the main substrate 18, a crystal oscillator 20, a transmitting device 21, and an antenna 22 printed on the main substrate 18.
The MPU 19 includes a built-in volatile or nonvolatile memory requisite therefor. The MPU 19 is input with a detection signal from the sensor unit 17, an operation signal from the operation section, and the like, and executes various calculations in order to generate predetermined control signals in response to those input signals.
The transmitting device 21 transmits control signals (input information) generated in the MPU 19 as RF radio signals to the control apparatus 40 via the antenna 22.
The crystal oscillator 20 generates clocks and supplies the clocks to the MPU 19. As the batteries 14, dry cell batteries or rechargeable batteries are used.
The control apparatus 40 includes an MPU 35 (or CPU), a RAM 36, a ROM 37, a video RAM 41, a display control section 42, an antenna 39, and a receiver device 38.
The receiver device 38 receives the control signal transmitted from the input apparatus 1 via the antenna 39. The MPU 35 analyzes the control signal and executes various calculations. As a result, a display control signal for controlling a UI displayed on the screen 3 of the display apparatus 5 is generated. The analysis of the control signal and the various calculations will be described later.
A display control section 42 mainly generates screen data to be displayed on the screen 3 of the display apparatus 5 in accordance with the control of the MPU 35. The video RAM 41 serves as a work region of the display control section 42 and temporarily stores the generated screen data.
The ROM 37 stores, in addition to a control program for the MPU 35 to control each component and various types of initial data, a program for the MPU 35 to section and recognize the screen 3.
The control apparatus 40 may be an apparatus dedicated to the input apparatus 1, or may be a PC or the like. The control apparatus 40 is not limited to the PC, and may be a computer integrally formed with the display apparatus 5, audiovisual equipment, a projector, a game device, a car navigation system, or the like.
Examples of the display apparatus 5 include a liquid crystal display and an EL (Electro-Luminescence) display, but are not limited thereto. The display apparatus 5 may alternatively be an apparatus integrally formed with a display and capable of receiving television broadcasts and the like.
It should be noted that the icons are obtained by imaging program functions, execution commands, the contents, and the like of a computer on the screen 3. Further, the horizontal direction of the screen 3 is set as the X-axis direction and the vertical direction thereof is set as the Y-axis direction.
Next, a description will be given only typical examples of ways of moving the input apparatus 1.
As shown in
As shown in
Meanwhile, as shown in
Although descriptions will be given later, in the embodiment, the physical amounts detected by the sensor unit 17 in the input apparatus 1 are transmitted to the control apparatus 40 as input information. In this case, the MPU 35 of the control apparatus 40 first calculates the velocity values (corresponding displacement amounts) based on the received input information in accordance with the diagram stored in the ROM 37. Typically, regarding the velocity value, the MPU 35 of the control apparatus 40 adds an n-th velocity value that has been input to a (n−1)-th velocity value that has been input. Accordingly, the n-th velocity value that has been input corresponds to a corresponding displacement amount of the pointer 2. A calculation method regarding an integral of the acceleration values that is used when calculating the velocity values only needs to be the same as that for the corresponding displacement amounts. Next, the MPU 35 calculates displacement amounts of the pointer 2 on the screen 3 by multiplying the velocity values (corresponding displacement amounts) by predetermined values corresponding to the respective regions on the screen 3, and controls display so as to move the pointer 2 (see
In another embodiment, the MPU 19 of the input apparatus 1 calculates, in accordance with the program stored in the built-in non-volatile memory, the velocity values based on the detection values detected by the sensor unit 17. The input apparatus 1 transmits information on the velocity values via the antenna 22, and the control apparatus 40 receives the information ion the velocity values. The MPU 35 of the control apparatus 40 calculates the displacement amounts of the pointer 2 on the screen 3 by respectively multiplying the velocity values by predetermined values corresponding to the respective regions on the screen 3, and controls display so as to move the pointer 2 (see
In still another embodiment, the MPU 19 of the input apparatus 1 calculates, in accordance with the program stored in the built-in non-volatile memory, the displacement amounts of the pointer on the screen based on detection values detected by the sensor unit 17 and regional information transmitted from the control apparatus 40. Here, a dimension of the displacement amounts is used for the control of the movement of the pointer 2, and information on the displacement amount dimension is transmitted to the control apparatus 40 (see
Next, a description will be given on a gravitational effect with respect to the acceleration sensor unit 16.
In
In this case, the first acceleration sensor 161 detects the acceleration in the X′-axis direction even when the input apparatus 1 is not actually moved in the yaw direction in particular. The state shown in
The same holds true also when the input apparatus 1 is rolled in the pitch direction from the reference position as shown in
To reduce such a gravitational effect with respect to the acceleration sensor unit 16 as much as possible, the control apparatus 40 of this embodiment uses angular velocity values detected by the angular velocity sensor unit 15 of the input apparatus 1 to calculate the velocity values of the input apparatus 1. After that, the control apparatus 40 calculates the displacement amounts of the pointer by multiplying the velocity values (corresponding displacement amounts) by predetermined values in accordance with the respective regions on the screen 3, and controls display on the screen 3.
First, descriptions will be given on an operation of the control apparatus 40 up to calculating the velocity values (corresponding displacement amounts) of the input apparatus 1.
Power of the input apparatus 1 is turned on. For example, the user turns on a power supply switch or the like provided to the input apparatus 1 or the control apparatus 40 to turn on the power of the input apparatus 1. Upon turning on the power, biaxial acceleration signals (first and second acceleration values ax and ay) are output from the acceleration sensor unit 16 (Step 101a). The acceleration signals are signals corresponding to the position of the input apparatus 1 at a point when the power is turned on (hereinafter, referred to as initial position).
There are cases where the initial position of the input apparatus 1 is the reference position. However, a position at which the entire amount of the gravity acceleration in the X′-axis direction is detected, that is, a position at which the output of the first acceleration sensor 161 is the acceleration value corresponding to the amount of the gravity acceleration and the output of the second acceleration sensor 162 is 0 is also possible. As a matter of course, as the initial position, a position tilted as shown in
The transmitting device 21 of the input apparatus 1 outputs the biaxial acceleration signals (ax, ay) to the control apparatus 40 from the antenna 22 every predetermined number of clocks (Step 102).
The MPU 35 of the control apparatus 40 acquires the acceleration signals (ax, ay) from the acceleration sensor unit 16 of the input apparatus 1 via the antenna 39 every predetermined number of clocks (Step 103). Upon acquisition of the second acceleration signals (ax, ay) and the subsequent acceleration signals, the MPU 35 performs the following calculation to remove the gravitational effect. Specifically, as in the following Equations (1) and (2), the MPU 35 subtracts gravity acceleration components (first ax(=arefx) and ay(=arefy)) in the X′- and Y′-axis directions acquired last time from the currently-obtained acceleration values axand ay, respectively, to thereby generate a first correction acceleration value acorx and a second correction acceleration value acory (Step 104).
a
corx
=a
x
−a
refx (1)
a
cory
=a
y
−a
refy (2)
Hereinafter, arefx and arefy will be referred to as reference acceleration value on the X′ axis and reference acceleration value on the Y′ axis (first reference acceleration value and second reference acceleration value), respectively. The arefx and arefy used in the first calculation of Step 104 by the MPU 35 of the control apparatus 40 since turning on of the power of the input apparatus 1 are acceleration signals ax and ay detected right after the turning on of the power.
As shown in Equations (3) and (4), the MPU 35 calculates a first velocity value Vx and a second velocity value Vy by respectively adding the first and second correction acceleration values acorx and acory to the velocity values, that is, by an integration operation (Step 118).
V
x(t)=Vx(t−1)+acorx (3)
V
y(t)=Vy(t−1)+acory (4)
Vx(t) and Vy(t) represent the currently-obtained velocity values and Vx(t−1) and Vy(t−1) represent the velocity values obtained last time.
Meanwhile, upon turning on the power of the input apparatus 1, biaxial angular velocity signals (first and second angular velocity values ωψ and ωθ) are output from the angular velocity sensor unit 15 (Step 101b). The input apparatus 1 outputs the biaxial angular velocity signals (ωψ. ωθ) to the control apparatus 40 from the antenna 22 every pre-determined number of clocks (Step 102).
Upon acquisition of the signals via the antenna 39 (Step 103), the MPU 35 of the control apparatus 40 respectively calculates angular acceleration values (first angular acceleration value Δωψ and second angular acceleration value Δωθ) by a derivation operation (Step 105).
The MPU 35 judges whether absolute values |Δωψ| and |Δωθ| of the Δωψ and Δωθ, respectively, are smaller than a threshold value Th1 (Steps 106 and 109). When |Δωψ|≧Th1, the MPU 35 uses the first reference acceleration value arefx as it is and does not update it (Step 107). Similarly, when |Δωθ|≧Th1, the MPU 19 uses the second reference acceleration value arefy as it is and does not update it (Step 110).
A value close to 0 is set as the threshold value Th1. The threshold value Th1 takes into account the angular velocity values that are detected due to a hand movement of the user, a DC offset, or the like even when the user is consciously holding the input apparatus 1 still. Thus, the pointer 2 is prevented from being moved during display due to a hand movement or a DC offset in the case where the user is consciously holding the input apparatus 1 still.
Reasons for performing the processing as described above are as follows.
More specifically, when the first angular acceleration value |Δωψ| is equal to or larger than the threshold value Th1, the MPU 35 of the control apparatus 40 judges that the input apparatus 1 is moving in the yaw direction. In this case, the MPU 35 does not update the first reference acceleration value arefx. As a result, the MPU 35 does not correct the first correction acceleration value acorx and continues tin with the integration operation of Equation (3) based on acorx.
Further, when the second angular acceleration value |Δωθ| is equal to or larger than the threshold value Th1, the MPU 35 judges that the input apparatus 1 is moving in the pitch direction. In this case, the MPU 35 does not update the second reference acceleration value arefy. As a result, the MPU 35 does not correct the second correction acceleration value acory and continues on with the integration operation of Equation (4) based on acory.
Meanwhile, when the first angular acceleration value |Δωψ| is smaller than the threshold value Th1 in Step 106, the MPU 35 judges that the input apparatus 1 is not moved in the yaw direction. In this case, the MPU 35 updates the first reference acceleration value arefx to the currently-obtained (latest) detection value ax, to thereby correct the first correction acceleration value acorx using Equation (1) (Step 108). The latest detection value ax is a detection value obtained while the input apparatus 1 is held almost still, thus being a component value by the gravity acceleration.
Similarly, when the second angular acceleration value |Δωθ| is smaller than the threshold value Th1 in Step 109, the MPU 35 judges that the input apparatus 1 is not moved in the pitch direction. In this case, the MPU 35 updates the second reference acceleration value arefy to the currently-obtained (latest) detection value ay, to thereby correct the second correction acceleration value acory using Equation (2) (Step 111).
It should be noted that in this embodiment, the threshold values in both the yaw direction and the pitch direction have been set to the same value Th1. However, different threshold values may be used for those directions.
In the above description, the angular acceleration values Δωψ and Δωθ have been monitored, but the MPU 35 can also monitor the angular velocity values ωψ and ωθ to correct the velocity values calculated in Equations (3) and (4). Based on the same theory as that of
Specifically, when the absolute value of the first angular velocity value |ωψ| is equal to or larger than a threshold value Th2 (NO in Step 112), the MPU 35 judges that the input apparatus 1 is moved in the yaw direction. In this case, the MPU 35 does not correct the first velocity value Vx (Step 113). The same holds time for the absolute value of the second angular velocity value |ωθ| (NO in Step 115, and Step 116).
The threshold value Th2 also only needs to be set in the same manner as the threshold value Th1.
On the other hand, when the absolute value of the first angular velocity value |ωψ| is smaller than the threshold value Th2 (YES in Step 112), the MPU 35 judges that the input apparatus 1 is not moved in the yaw direction. In this case, the MPU 35 corrects the first velocity value Vx to, for example, 0 to reset the value (Step 114). The same holds true for the absolute value of the second angular velocity value |ωθ| (YES in Step 115, and Step 117).
The MPU 35 calculates the velocity values Vx and Vy in both directions as described above.
As described above, the reference acceleration values arefx and arefy are updated and the correction acceleration values acorx and acory are corrected when the input apparatus 1 is held almost still, with the result that the gravitational effect with respect to the acceleration sensor unit 16 can be suppressed. In addition, because the correction acceleration values acorx and acory are corrected using Equations (1) and (2) upon update of the reference acceleration values arefx and arefy, a DC level is also corrected, thereby solvent the problem regarding the DC offset. Further, because the velocity values are corrected so as to be reset to 0 when the input apparatus 1 is held almost still, integration errors can also be suppressed. When an integration error occurs, the pointer 2 moves on the screen 3 irrespective of the fact that the user has stopped moving the input apparatus 1.
Moreover, in this embodiment, because the first reference acceleration value arefx and the second reference acceleration value arefy are updated individually, when even one of the angular acceleration values in the yaw direction and the pitch direction becomes smaller than the threshold value, a correction thereof is performed. Therefore, it is possible to update the first reference acceleration value arefx or the second reference acceleration value arefy with a time interval short enough for practical use. The same holds true for the individual corrections of the first velocity value Vx and the second velocity value Vy.
In the related art, for suppressing the gravitational effect, in addition to the input apparatus 1 provided with six sensors, there is also an apparatus that detects a gravity vector change per unit time by a triaxial acceleration sensor to thus recognize the angular velocities in the roll direction and the pitch direction, and sets them as XY displacement amounts. Disregard the operation in the Y-axis direction, this apparatus is of a type that causes the pointer 2 to move in the X-axis direction by the user merely twisting a wrist in the roll direction. Thus, the apparatus of this type is unfit for intuitive operations by the user.
Next, a description will be given on an operation of the control apparatus 40 up to calculating displacement amounts of the pointer 2 on the screen 3 using the velocity values (corresponding displacement amounts) and controlling display thereof on the screen 3.
It should be noted that in descriptions below, the velocity value is explained as a corresponding displacement amount.
As shown in Equations (7) and (8), the MPU 35 of the control apparatus 40 multiplies the corresponding displacement amount Vx in the X direction by an individually different value (weighting factor) α and the corresponding displacement amount Vy in the Y direction by an individually different value (weighting factor) β, to individually and respectively calculate displacement amounts X′(t) and Y′(t) (fist and second displacement amounts) for moving the pointer 2 on the screen 3 (Step 126). The values α and β are, for example, stored in the ROM 37 as a table according to the respective regions on the screen, or set appropriately according to a program.
X′(t)=αVx (7)
Y′(t)=βVy (8)
As described above, the screen 3 displayed on the display apparatus 5 is sectioned into a plurality of regions (see
When the position of the pointer 2 on the screen 3 is in the free region 3c or 3e (YES in Step 120), the MPU 35 of the control apparatus 40 sets α and β to be the same value such as α=1 and β=1 (Step 124), and calculates the displacement amounts X′(t) and Y′(t) by multiplying the corresponding displacement amounts Vx in the X direction by α and multiplying the corresponding displacement amounts Vy in the Y direction by β (Step 126). In this case, α and β are the same value, so the movement direction of the pointer 2 on the screen 3 is the same as the operation direction of the input apparatus 1.
The arrows shown in
When the position of the pointer 2 on the screen 3 is in the X-direction emphasis region 3a (YES in Step 121), the MPU 35 sets α to be larger than β like α=1 β=1/2 (Step 124), and calculates the displacement amounts X′(t) and Y′(t) individually by multiplying the corresponding displacement amounts Vx and Vy by the individually-different values α and β, respectively (Step 126). In this case, the movement direction of the pointer 2 on the screen 3 is biased in the X direction with respect to the operation direction of the input apparatus 1 (see
When the position of the pointer 2 on the screen 3 is in the Y-direction emphasis region 3b (YES in Step 122), the MPU 35 sets β to be larger than α like α=1/2 and β=1 (Step 124), and calculates the displacement amounts X′(t) and Y′(t) individually by multiplying the corresponding displacement amounts Vx and Vy by the individually-different values α and β, respectively (Step 126). In this case, the movement direction of the pointer 2 on the screen 3 is biased in the Y direction with respect to the operation direction of the input apparatus 1 (see
When the position of the pointer 2 is in the XY-direction emphasis region 3d (YES in Step 123), the MPU 35 sets the value α based on the corresponding displacement amount Vx (Step 125) and calculates the first displacement amount X′(t) by multiplying the corresponding displacement amount Vx by α (Step 126). In addition, the MPU 35 sets the value β based on the corresponding displacement amount Vy (Step 125) and calculates the second displacement amount Y′(t) by multiplying the corresponding displacement amount Vy by the value β (Step 126).
As shown in
By setting α and β as described above, in a case where the corresponding displacement amount Vx in the X direction is even slightly larger than the corresponding displacement amount Vy, that is, in a case where the operation direction of the input apparatus 1 is tilted even slightly in the X-axis direction, the displacement amount X′(t) in the X direction increases sharply as compared to the displacement amount Y′(t) in the Y direction. Therefore, the movement direction of the pointer 2 on the screen 3 is biased in the X-axis direction (see
As described above, by the movement direction of the pointer 2 in the XY-direction emphasis region 3d being specialized in the X- and Y-axis directions, the user can readily select the icon 4 even when the icons 4 are arranged so as to facilitate operations using an arrow key as shown in
Further, it is possible to set the region 3a in which the icons 4 are arranged in the X direction and the region 3b in which the icons 4 are arranged in the Y direction shown in
The MPU 35 generates coordinate values X(t) and Y(t) of the pointer 2 from the displacement amounts X′t(t) and Y′(t) calculated as described above (Step 127), and controls display so as to move the pointer 2 on the screen 3 (Step 128).
It should be noted that the user may be allowed to arbitrarily adjust α and β in the X-direction emphasis region 3a and the Y-direction emphasis region 3b using the input apparatus 1.
Moreover, it is also possible to set the value of β in the X-direction emphasis region 3a to 0 or the value of α in the XY-direction emphasis region 3b to 0 by making an adjustment thereof by the user or by storage in the table in advance. In this case, the pointer 2 moves only in the X direction in the X-direction emphasis region 3a and the pointer 2 moves only in the Y direction in the Y-direction emphasis region 3b.
Incidentally, presumably, there are cases where the user wishes to move the pointer 2 out of the X-direction emphasis region 3a or the Y-direction emphasis region 3b to shift the operation to that in other regions. In this case, for example, a cancel function may be allocated to a press-and-hold operation of the button 12 of the input apparatus 1 to allow the pointer 2 to operate in the same manner as in the free regions 3c and 3e while the user is press-and-holding the button 12. Accordingly, it is possible to cause the pointer to easily slide out of the X-direction emphasis region 3a or the Y-direction emphasis region 3b when the user is not wishing for the operations in those regions, thereby enabling a quick switch to operations in other regions.
As shown in the figure, the plurality of icons 4 are displayed 1-dimensionally in the X direction at an tipper portion of an operation image 6 and a horizontal scrollbar 7 is displayed 1-dimensionally in the X direction at a lower portion of the operation image 6. Further, a vertical scrollbar 8 is displayed 1-dimensionally in the Y′ direction at a right-hand side portion of the image. In this case, for example, a region 3f in which the plurality of icons 4 are displayed in the X direction and a region 3g in which the horizontal scrollbar 7 is displayed are sectioned as the X-direction emphasis region, a region 3h in which the vertical scrollbar is displayed is sectioned as the Y-direction emphasis region, and a region 3i as a region other than those described above is sectioned as the free region.
When the position of the pointer 2 on the screen 3 is in the X-direction emphasis region 3f or 3g, the MPU 35 sets α to have a larger value than β (Steps 121 and 124). The MPU 35 calculates the displacement amounts X′(t) and Y′(t′) by multiplying the corresponding displacement amounts Vxand Vy by α and β, respectively (Step 126), and controls display so as to move the pointer 2 on the screen 3 (Steps 127 and 128).
On the other hand, when the position of the pointer 2 is in the Y-direction emphasis region 3h, the MPU 35 sets β to have a larger value than α (Steps 122 and 124) and calculates the displacement amounts X′(t) and Y′(t) (Step 126). The control apparatus 40 controls display using displacement amounts so that the pointer 2 moves on the screen 3 (Steps 127 and 128).
When the position of the pointer 2 is in the other region 3i, the MPU 35 sets, for example, α=β, and calculates the displacement amounts X′(t) and Y′(t) (Steps 120, 124, and 126), to thus control display so as to move the pointer 2 on the screen 3 (Steps 127 and 128).
It should be noted that the sectioning of the regions may be changed accompanying contraction, expansion, and movement of the operation image 6, switch to another operation image 6, or pop-up and deletion of the icons 4.
After calculating the corresponding displacement amounts Vx and Vy or before the calculation is finished, the control apparatus 40 transmits regional information (Step 217). The input apparatus 1 receives the regional information (Step 218) and multiplies the corresponding displacement amounts Vx and Vy by the values α and β, respectively, based on the region information, to thus calculate individually the displacement amounts X′(t) and Y′(t) for moving the pointer 2 on the screen 3 (Steps 219 to 225).
Here, the regional information refers to information indicating how the screen 3 is sectioned to constitute each of the regions.
The input apparatus 1 transmits the displacement amounts X′(t) and Y′(t) as displacement amount information (Step 226). The control apparatus 40 receives the displacement amount information (Step 227), calculates the coordinate values X(t) and Y(t) of the pointer (Step 228), and controls display so as to move the pointer 2 on the screen 3 (Step 229).
it should be noted that as is apparent from
Subsequently, an input apparatus according to another embodiment will be described.
A casing 50 of the input apparatus 51 includes a partial sphere or partial quadric surface 50a at a predetermined position on a surface of the casing 50. Hereinafter, the partial sphere or quadric surface (50a) will be referred to as “lower curved surface” (50a) for convenience.
The lower curved surface 50a is formed at, for example, a position almost opposite to the buttons 11 and 12, that is, a position where, when a user holds the input apparatus 51, a pinky is located closer to the lower curved surface 50a than other fingers. Alternatively, in a case where, in the casing 50 elongated in one direction (Z′-axis direction), the sensor unit 17 is provided on a positive side of the Z′ axis with respect to a longitudinal center of the casing 50 in the Z′-axis direction, the lower curved surface 50a is provided on a negative side of the Z′ axis.
Typically, the partial sphere is substantially a hemisphere, but does not necessarily have to be a hemisphere. The quadric surface is a curved surface obtained by expanding a 2-dimensional conic curve (quadric curve) into a 3-dimensional conic curve. Examples of the quadric surface include an ellipsoid surface, an ellipsoid paraboloid surface, and a hyperbolic surface.
With the configuration of the casing 50 of the input apparatus 51 as described above, a user can easily operate the input apparatus 51 while causing the lower curved surface 50a of the input apparatus 51 as a fulcrum to abut on an abutment target object 49 such as a table, a chair, a floor, or a knee or thigh of a user. That is, even in the state where the lower curved surface 50a of the input apparatus 51 is abutted on the abutment target object 49, the user can easily incline the input apparatus 51 in diverse angles, thereby enabling delicate operations such as placing the pointer 2 on the icon 4.
Alternatively, in this embodiment, erroneous operations due to a hand movement, which cannot be suppressed by a shake correction circuit, can be prevented from occurring, and the user is free from fatigue that is caused when the user keeps holding the input apparatus 51 in the air and operates it.
A casing 60 of an input apparatus 61 includes, similar to the input apparatus 51 shown in
With the structure of the input apparatus 61 as described above, in a case where the user operates the input apparatus 61 while causing the lower curved surface 60a to abut on the lower end plane 55, angular velocities applied to the input apparatus 61 are input to the angular velocity sensor unit 15 as they are. Thus an amount of calculation required to obtain detection values from the detection signals from the angular velocity sensor unit 15 can be reduced.
A lower curved surface 70a of a casing 70 of an input apparatus 71 is, for example, a partial sphere. The lower curved surface 70a has a larger curvature radius than the lower curved surfaces 50a and 60a of the input apparatuses 51 and 61 shown in
Accordingly, because a direction of the vector of the angular velocity generated when the user operates the input apparatus 71 while abutting the lower curved surface 70a thereof on the abutment target object 49 and the detection direction of the angular velocity sensor until 15 match, a linear input is thus enabled.
A sphere as a lower curved surface 80a of a casing 80 of an input apparatus 81 has a curvature radius the same as or close to that shown in
It should be noted that the input apparatus 51, 61, 71, or 81 including the partial sphere or the partial quadric surface described above does not necessarily need to be operated by the user while the lower curved surface 50a, 60a, 70a, or 80a thereof is abutted against the abutment target object 49, and may of course be operated in air.
The control system described above is not limited to the above embodiments, and various modifications can be made.
In the above embodiments, the input apparatus 1 is constituted of two angular velocity sensors and two acceleration sensors, but the input apparatus 1 may be constituted of only biaxial or triaxial angular velocity sensors, or biaxial or triaxial acceleration sensors. In addition, the input apparatus may be composed of an earth magnetism sensor or an image sensor represented by a CMOS sensor.
The input apparatus or the control apparatus 40 may be structured to control display of the pointer in accordance with the angular velocity signals detected by the biaxial angular velocity sensors. In this case, the input apparatus may include only the biaxial angular velocity sensors and not the acceleration sensors. Hereinafter, a description will be given on an operation while assuming that the input apparatus 1 outputs information on an angular velocity value of an angular velocity signal to the control apparatus 40, which then receives the information and controls display of the pointer.
For example, the MPU 35 of the control apparatus 40 acquires change amounts of a yaw angle and a pitch angle per unit time. The MPU 35 generates coordinate values of the pointer 2 on the screen that correspond to the acquired change amounts of the yaw angle and the pitch angle per unit time, and controls display so that the pointer 2 moves on the screen 3. The MPU 35 calculates the displacement amounts of the pointer 2 on the screen 3 per unit time that correspond to the acquired change amounts of the yaw angle and the pitch angle per unit time by a calculation based on a predetermined function or using a correspondence table stored in advance in the ROM 37 or the like. Thus, the MPU 35 can generate the coordinate values of the pointer 2.
As shown in
The operations of the pointer 2 as described above can be realized by the following operation.
When the position of the pointer 2 is in the XY-direction emphasis region, the control apparatus 40 calculates Expression (9), and when Expression (9) is satisfied, sets α=β and calculates the displacement amounts X′(t) and Y′(t). On the other hand, when Expression (9) is not satisfied, α is set based on the corresponding displacement amount (velocity value) Vx and β is set based on the corresponding displacement amount Vy, for calculation of the displacement amounts X′(t) and Y′(t). The control apparatus 40 generates the coordinate values of the pointer based on the displacement amounts X′(t) and Y′(t), and controls display. Accordingly, the operations of the pointer 2 on the screen 3 as shown in
tan θ1≦|Vy/Vx|≦tan θ2 (9)
It should be noted that in the example described above, θ1 and θ2 shown in Expression (9) are 30° and 60°, respectively, but θ1 and θ2 may arbitrarily be adjusted by the user.
Next, a cellular phone according to an embodiment will be described. In the descriptions of this embodiment, the cellular phone will be described as an example of a handheld information processing apparatus.
As shown in
A display section 94 is disposed on an inner surface 91a of the first causing 91. The display section 94 is constituted of, for example, a liquid crystal display or an EL (Electro-Luminescence) display, but is not limited thereto. The second casing 92 is provided with, on an inner surface 92a, an operation section 101 including a talk button 95, an enter button 96, a rotary wheel button 97, a direction input button 98, code buttons 99, and the like.
The second casing 92 has inside a circuit board 125 and an acceleration sensor unit 116 disposed on the circuit board 125. The circuit board 125 is incorporated to the second casing 90b such that a plane on which the acceleration sensor unit 116 is mounted becomes substantially parallel to an X′-Y′ plane. The acceleration sensor unit 116 includes a first acceleration sensor and a second acceleration sensor. The first acceleration sensor detects an acceleration value ax in the X′-axis direction, and the second acceleration sensor detects an acceleration value ay in the Y′-axis direction.
The antenna 112 is, for example, a built-in antenna, and transmits/receives radio waves for calls or packet communications. The communication section 113 executes processing or converting a frequency of the radio waves transmitted/received by the antenna 112, modulation, demodulation, and the like. It should be noted that data transmitted/received in the packet communication is screen data, email data, program data, and various types of other data.
The memory 111 is constituted of, for example, a ROM (Read Only Memory) and a RAM (Random Access Memory), or a flash memory. The memory 111 stores various programs and data necessary for the cellular phone, such as a control program for the MPU 119 to control respective components, various initial settings data, phonebook data, an application for, for example, creating an email, email data, and mail address data. In addition to those various programs, the memory stores in particular a program for calculating the velocity values (corresponding displacement amounts) based on the acceleration values (ax, ay) detected by the acceleration sensors and a program for changing the movement amounts of the pointer 2 in accordance with each of the regions sectioning the screen (image) (see
Under the control of the MPU 119, the display control section 110 mainly generates screen data to be displayed on the display section 94. The operation section 101 generates various operation signals in accordance with the user operation and outputs them to the MPU 119. A crystal oscillator 117 generates clocks and supplies them to the MPU 119.
The speaker 114 includes a digital/analog converter, an amplifier, and the like, and carries out digital/analog conversion processing and amplification processing on audio data for calls (incoming) input via the communication section 113 and audio data for ring tones (e.g., incoming alert tones), and outputs the data.
The microphone 115 includes an analog/digital converter, an amplifier, and the like, and converts analog audio data for calls (outgoing) input from the user into digital audio data and outputs it to the MPU 119. The digital audio data output to the MPU 119 is encoded and then transmitted via the communication section 113 and the antenna 112.
The MPU 119 (or CPU) exchanges signals with the respective constituent elements of the cellular phone 90, including encoding and decoding of the audio data in calls, and collectively controls the cellular phone 90. Further, particularly in this embodiment, processing for moving the pointer 2 on a display screen displayed on the display section 94 is executed based on the acceleration values front the acceleration sensor unit 116.
As shown in
In addition to the pointer 2, the plurality of icons 4 are displayed on the screen 120, and the screen 120 is sectioned into a plurality of regions in relation to the arrangement of the icons 4. Typically, a region 120a in which the plurality of icons 4 are arranged 1-dimensionally in an X″ direction is sectioned as the X-direction emphasis region, and a region 120b in which the plurality of icons 4 are arranged 1-dimensionally in a Y″ direction is sectioned as the Y-direction emphasis region. Further, a region 120d in which the icons 4 are arranged regularly in X″Y″ directions is sectioned as the XY-direction emphasis region, and a region 120c at which the 1-dimensional region 120a in the X″ direction and the 1-dimensional region 120b in the Y″ direction intersect and a region 120e other than those above are sectioned as free regions.
Next, typical ways of moving the cellular phone 90 will be described.
From the state where the pointer 2 is displayed at a center of the screen 120 as shown in
Next, internal processing of the cellular phone 90 will be described.
When the user moves the cellular phone 90 on the X-Y plane, the acceleration values (ax, ay) in the X′Y′ directions are detected by the acceleration sensor unit 116, and a signal of the acceleration values is output from the acceleration sensor unit 116. Upon receiving the signal of the acceleration values, the MPU 119 calculates the velocity values (corresponding displacement amounts) based on the acceleration values (Step 402). Typically, the MPU 119 calculates the velocity values (Vx, Vy) by respectively adding the currently-obtained acceleration values to the acceleration values obtained last time.
Upon calculating the velocity values, the MPU 119 executes the same processing as in Steps 120 to 128 described with reference to
By the processing shown in
In this embodiment, the sensors are described as two acceleration sensors. However, the sensors are not limited thereto and may be two angular velocity sensors. In this case, a first angular velocity sensor detects an angular velocity about the Z′ axis and a second angular velocity sensor detects an angular velocity about the X′ axis. In this case, when the user swings the cellular phone 90 using a rotation of a wrist or an elbow with the Z axis as a center axis, the pointer 2 moves in the X″ direction on the screen 120. On the other hand, when the user swings the cellular phone with the X axis as the center axis, the pointer 2 moves in the Y″ direction.
In this embodiment, the cellular phone 90 is taken as an example of the handheld information processing apparatus. However, the handheld information processing apparatus is not limited thereto, and may instead be a PDA (Personal Digital Assistant) a portable game device, and the like.
It should be understood that various changes and modifications to the presently preferred embodiments described herein will be apparent to those skilled in the art. Such changes and modifications can be made without departing from the spirit and scope of the present invention and without diminishing its intended advantages. It is therefore intended that such changes and modifications be covered by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
2007-162030 | Jun 2007 | JP | national |
The present application is a National Stage of International Application No. PCT/JP2008/061247 filed on Jun. 19, 2008 and which claims priority to Japanese Patent Application No. 2007-162030 filed on Jun. 20, 2007, the entire contents of which are being incorporated herein by reference.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP2008/061247 | 6/19/2008 | WO | 00 | 6/17/2009 |