The 60/566th, No. 444 U.S. Provisional Patent Application of submitting in the application and on April 30th, 2004 that is entitled as " free space pointing devices " is relevant and require its priority, and the content of this application is incorporated this paper by reference into.The application also is correlated with the 60/612nd, No. 571 U.S. Provisional Patent Application of submitting on September 23rd, 2004 that is entitled as " free space pointing devices and method " and requires its priority, and the content of this application is incorporated this paper by reference into.The application is also relevant with the 60/641st, No. 383 U.S. Provisional Patent Application of submitting on January 5th, 2005 that is entitled as " motion that is not intended to that is used to remove free space pointing devices " and require its priority, and the content of this application is incorporated this paper by reference into.The application also is correlated with the 60/641st, No. 410 U.S. Provisional Patent Application of submitting on January 5th, 2005 that is entitled as " free space pointing devices and method for using thereof " and requires its priority, and the content of this application is incorporated this paper into as a reference.The application also is correlated with the 60/641st, No. 405 U.S. Provisional Patent Application of submitting on January 5th, 2005 that is entitled as " hand-held remote control device " and requires its priority, and the content of this application is incorporated this paper by reference into.The application also relates to three U.S. Patent applications that are entitled as " method and apparatus that is not intended to motion that is used to remove free space pointing devices ", " free space pointing devices with slope compensation and improved availability " and " based on shake identification user's method and apparatus " of submitting simultaneously with the application, and (application number is respectively 11/119; 987,11/119; 719 and 11/119; 688), the content of above-mentioned all applications is incorporated this paper by reference into.
Describe the present invention below with reference to accompanying drawing.Identical Reference numeral is represented same or similar element in different drawings.Detailed description is not a limitation of the present invention below should be appreciated that.Scope of the present invention is limited appending claims.
In order some backgrounds to be provided, with reference to figure 2 the enforceable exemplary aggregate media system 200 of the present invention is described earlier for following discussion.It will be understood by those skilled in the art that the present invention is not limited to the enforcement of this type media system, but can add or reduce parts therein.Wherein, I/O (I/O) bus 210 connects together each system unit of media system 200.I/O bus 210 representative is used for the signal between the media system parts is carried out multiple different mechanisms and technology a kind of of route.For example; I/O bus 210 can comprise right quantity; Audio signal is carried out independent audio " grafting (the patch) " cable of route; Vision signal is carried out the coaxial cable of route, control signal is carried out the two-wire system string line or the infrared or RF transceiver of route, and the signal of other types is carried out optical fiber or any other routing mechanism of route.
In this example embodiment, media system 200 comprises television set/display screen 212, video Cassette recorder equipped (VCR) 214, data video dish (DVD) recording/reproducing device 216, audio/video tuner 218 and the compact disk player 220 that is connected to I/O bus 210.VCR214, DVD 216 and compact disk player 220 can be single dish or single magnetic tape equipment, or DVD multidisc or many magnetic tape equipments.They can be regarded as independently, and the unit also can be integrated.In addition, media system 200 comprises microphone/speaker system 222, video camera 224 and wireless I/O control device 226.According to exemplified embodiment of the present invention, wireless I/O control device 226 is the 3D positioner, and its relevant exemplary embodiment will be described below.Wireless I/O control device 226 can communicate through infrared ray (IR) or radio frequency (RF) reflector or transceiver and entertainment systems 200.As a kind of selection, the I/O control device is via being wired to entertainment systems 200.
Entertainment systems 200 also comprises system controller 228.According to exemplified embodiment of the present invention, system controller 228 operations are with storage and show the available entertainment system data from a plurality of entertainment system datas source, and the control a large amount of functions relevant with each system unit.Show that like Fig. 2 system controller 228 connects each system unit (if desired) directly or indirectly through I/O bus 210.In an exemplary execution mode, except I/O bus 210 (perhaps as substituting), system controller 228 also is equipped with radio communications transmitter (or transceiver), and it can communicate through IR signal or RF Signals & Systems parts.No matter adopt which kind of control medium, system controller 228 is configured to control the media component to media system 200 through graphic user interface as described below.
Shown in Fig. 2 was further, media system 200 was configurable for receiving from different source of media and service provider's media item.In this exemplary execution mode; Media system 200 is from one of following source or all receiving media inputs, and alternatively to one of following source or all send information: wired broadcasting 230, satellite broadcasting 232 is (for example; Pass through satellite dish); Very high frequency(VHF) (VHF) or hyperfrequency (UHF) radio frequency communication (such as, through antenna) television network broadcast 234, telephone network 236 and wired modem 238 (or source of other Web contents).It will be appreciated by those skilled in the art that these media component and medium sources with reference to figure 2 explanations and description are merely effect for example, media system 200 can comprise more or less media component and medium source.Such as, other input styles of system comprise AM/FM broadcast receiver and satellite radio.
About the more details of this exemplary entertainment systems and relevant framework thereof can from above-mentioned, and U.S.'s invention application " control framework that has the scalable graphical user interface that is used for organizing, select, start media item " of incorporating this paper by reference into find out.Perhaps, remote control of the present invention can combine other system to use, such as, comprise for example display, processor and storage system or other system and applications computers system.
As already mentioned in the background technology, the special concern of this specification can be used as the remote control of 3D location.These devices can be with the action of posture class for converting the order that user interface is sent into.Fig. 3 has described an exemplary 3D positioner 400.Wherein the action of 3D located subscriber can be defined as 3D positioner 400 at x-axle height (rolling), the motion that the y-axle elevation angle (gradient) and/or z-axle whereabouts (driftage) or its combine.In addition, certain exemplary execution mode of the present invention can also be measured 3D positioner 400 along the rectilinear motion on x axle, y axle and the z axle, to produce moving or the order of other user interfaces of cursor.In the illustrative embodiments in Fig. 3,3D positioner 400 comprises two buttons 402 and 404 and roller 406 (other illustrative embodiments can comprise other physics setting).According to exemplified embodiment of the present invention; Can expect; The user will hold 3D positioner 400 before display 408, and 3D positioner 400 is the interactional output of information (for example moving cursor 410 on display 408) that can be used to and be presented on the display 408 with its movement conversion.For example, 3D positioner 400 sensings its about the rotation of y axle and convert the output that system can use to, with y along display 408
2Axle moving cursor 410.In like manner, 3D positioner 400 sensings its about the rotation of z axle and convert the output that system can use to, with x along display 408
2Axle moving cursor 410.Be appreciated that; Except moving cursor (perhaps as substituting); The output of 3D positioner 400 can also additive method and display 408 carry out alternately, such as the 3D positioner can control that cursor brightness is strong and weak, the transmission of volume or medium (play, tentative, F.F., refund).Except that cursor moved, input command can comprise the operation of for example specific region of display being carried out convergent-divergent.Cursor can be visible or sightless.Equally, its rotation along the x axle that 3D positioner 400 senses can be used as the y axle and/or the rotation of (or being additional to y axle and/or z axle) beyond the z axle, so that the input of user interface to be provided.
The exemplary execution mode according to the present invention, as shown in Figure 4,3D positioner 400 adopts two rotation sensors 502 and 504 and accelerometers 506 as transducer.Rotation sensor 502 and 504 can for example use by the ADXRS150 transducer or the ADXRS401 transducer of analogue device manufacturing and realize.The rotation sensor that it will be understood by those skilled in the art that other types also can be used as transducer 502 and 504 uses, and ADXRS that carries 150 of institute and ADXRS401 are in order to be used for illustrated example.Be different from traditional gyroscope, these rotation sensors use Micro Electro Mechanical System (MEMS) technology, and the resonance matter that is attached on the framework is provided, so that it can only be along a direction resonance.When the body that is attached with transducer when the sensing axes of transducer is rotated, this resonance matter will be shifted.Can measure this displacement through Coriolis (Coriolis) acceleration effect, to confirm and to rotate relevant angular speed along sensitive axis.If rotation sensor 502 and 504 has a sensing axes (as ADXRS 150), they will be installed in and make their sensitive axis align with rotation to be measured on the 3D positioner 400 so.In exemplary execution mode of the present invention, this just means that rotation sensor 504 is mounted so that its sensing axes is parallel with the y axle, and rotation sensor 502 is mounted so that its sensing axes is parallel with the z axle, as shown in Figure 4.But, should be noted that owing to provide in the exemplified embodiment of the present invention and be used for institute and be not necessary to ask the sensing axes of rotation sensor 502 and 504 and the measurement axis line parallel of its expectation to the technology that compensates of skew between axis.
The challenge that enforcement faced according to exemplary 3D positioner 400 of the present invention is; Use not too expensive parts (such as; Rotation sensor 502 and 504), but provide again simultaneously motion, the user expectation user interface of 3D positioner 400 which kind of reaction the specific action of 3D positioner is made and carry out in response to the effective user interface of this action between high correlation.For example, if 3D positioner 400 does not move, the user will think that cursor should not be in drift on the display screen.Equally, if the user only rotates 3D positioner 400 along the y axle, he will not expect to see that the cursor on display 408 has moved any tangible x
2The axle component.For realizing these and other exemplified embodiment of the present invention; Hand-held device 400 will be carried out various measurements and calculations; These measurements and calculations are used to adjust transducer 502; One or more output in 504 and 506, and/or confirm the suitable output of user interface according to the output of transducer 502,504 and 506 as the part of the input of processor.These measurements and calculations are used for compensating following two kinds of factors: the intrinsic factor of (1) 3D positioner 400, for example, with the particular sensor of using in the device 400 502; 504 errors relevant with 506; Perhaps with transducer relevant error of mounting means in device 400, and the extrinsic factor of (2) 3D positioner 400 is promptly used the relevant factor of mode of 3D positioner 400 with the user; For example, linear acceleration, inclination and shake.Use description to handle the exemplary techniques of above-mentioned each factor below.
Fig. 5 has shown transaction module 600 according to an illustrative embodiment of the invention, and it has described the routine operation of 3D positioner.Rotation sensor 502 and 504 and accelerometer 506 produce analog signals, these analog signals will periodically be sampled (for example, 200 samples/sec).For the ease of discussing, through symbol (x, y, x; α y, α z) represent one group of such input, wherein; X, y, z be exemplary three axis accelerometer 506 the sampling output valve (respectively with the 3D positioner at the x axle; The y axle is relevant with the axial acceleration of z), α y is from rotation sensor 502, rotate relevant sampling output valve with the 3D positioner about the y axle, α z from rotation sensor 504, with 3D positioner 400 about the relevant sampling output valve of z axle rotation.
The output of accelerometer 506 is provided.If accelerometer 506 provides simulation output, then will export the also digitlization of sampling to produce the accelerometer output 602 of sampling through analog/digital (A/D) transducer (not shown).Shown in conversion functional module 604, convert the output valve of sampling into unit of acceleration from original unit, for example, gravity (g).Acceleration calibration block 606 provides conversion functional module 604 used numerical value.Calibration to accelerometer output 602 for example comprises, to one or more the compensating in the inclined to one side error of scale, skew and axle relevant with accelerometer 506.Formula below using is carried out the exemplary conversion for accelerometer data:
Wherein M serve as reasons sampling output valve (x, y, the column vector of the 3x1 that z) forms, wherein, P is the sensor offset column vector of 3x1, S comprises that scale, axle are partially and the matrix of the 3x3 of transducer rotation compensation.G (T) is a gain coefficient, and it is the function of temperature.Operator " * " is represented multiplying each other of matrix, and operator " .* " representative element multiplies each other.Exemplary accelerometer 506 have the four corner of example+/-2g.When the measured value of accelerometer was 0g, sensor offset P was exactly transducer output M.Scale is meant the unit value of sampling and the conversion factor between the g.Owing to for example manufacturing variation, the actual scale of any given acceierometer sensor may depart from the scale value of those nominals.Therefore the constant multiplier in the above-mentioned formula and this depart from proportional.
Departing from of the scale of accelerometer 506 and skew can be measured through following mode, for example, applies the power of 1g and obtains measurement result R along an axle
1Then, apply the power of one-1g and obtain measurement result R
2Can calculate the scale s of single shaft and the skew p of single shaft through following formula:
In this simple example, the column vector that P is made up of each p, the diagonal matrix that S is made up of each 1/s.
But except that scale and skew, the readout that accelerometer 506 generates also possibly receive the influence of intersecting axle (cross-axes).The intersecting axle influence (for example comprises unjustified axle; When degree of will speed up meter 506 is installed in the 3D positioner 400; One or more sensitive axis of accelerometer 506 are with accordingly unjustified with reference to the axle in the inertial system) or the machine error relevant with the processing of accelerometer 506 itself is (for example; Even axle has alignd, but simple y axle acceleration power might cause the reading of transducer along the z axle of accelerometer 506).These two kinds of influences can be measured and join in the calibration of functional module 606 execution.
Accelerometer 506 plays a plurality of effects in the exemplary 3D positioner according to exemplary of the present invention.For example, if use aforesaid exemplary Coriolis effect rotation sensor to realize rotation sensor 502 and 504, then rotation sensor 502 and 504 output will be based on linear accelerations that each rotation sensor experienced and are changed.Therefore, the fluctuation (it is caused by the variation of linear acceleration) of accelerometer 506 exemplary purposes reading of being rotation sensor 502 and 504 is produced compensates.This can realize through following computing: to carrying out multiply operation through the accelerometer readings of gain matrix 610 conversion, deduct The above results perhaps with The above results and 612 additions of corresponding sampling rotation sensor data with corresponding sampling rotation sensor data 612 then.For example, from the sampling rotation data α y of rotation sensor 502 can be at module 614 places according to following formula by linear acceleration compensation:
Wherein, C be by for along the linear acceleration of each axis, be 1 * 3 the row vector that the rotation sensor susceptibility of unit constitutes with/g, and A is the linear acceleration through calibration.Similarly, also can be the linear acceleration of the sampling rotation data α z that comes from rotation sensor 504 be compensated at module 614 places.Gain matrix C changes according to rotation sensor owing to make difference.Can use the mean value of a plurality of rotation sensors to calculate C, perhaps can be each rotation sensor customization C.
As accelerometer data, the rotation data 612 of will sampling at functional module 616 places then is the value relevant with the angle slewing rate, for example radian per second from the sample unit value transform.This shift step also can comprise the calibration that is provided by functional module 618, to compensate for example scale and skew to the sampling rotation data.For example, can use following formula to realize conversion/calibration to α y and α z:
Wherein, α ' expression is by the value of conversion/calibration, and offset (T) representes and the deviant of temperature correlation that scale representes the conversion coefficient between sample unit value and the rad/s (radian per second), and dOffset representes the dynamic deflection value.Formula (5) can be embodied as matrix equation, and all variablees all are vectors except scale in this case.In matrix form equation, scale revises axis and loses accurate and pivot offset factor.To more go through each in these variablees below.
Deviant offset (T) and dOffset can confirm in several ways.For example, when 3D positioner 400 rotates on the y direction of principal axis, then transducer 502 should be exported its deviant.Yet skew possibly receive Influence of Temperature to a great extent, thereby makes this deviant change.Offset temperatures calibration can be carried out in factory, and the value that is worth offset (T) in this case is programmed in the hand-held device 400, perhaps as a kind of selection, the offset temperatures calibration also can be in the useful life of this device dynamic learning.In order to realize dynamic migration, in rotation calibration function module 618, use input, to calculate the currency of offset (T) from temperature sensor 619.Offset (T) coefficient has been removed most of skew tendency (bias) from sensor reading.Yet zero motion (zeromovement) of the cursor drift that cancellation (negate) is nearly all helps forming high performance positioner.Therefore, when 3D positioner 400 in use, but the other factor dOffset of dynamic calculation.Static Detection functional module 608 confirms when most probable is static and when should calculates skew hand-held device.Exemplary techniques and other purposes thereof of carrying out Static Detection functional module 608 are described below.
A kind of exemplary realization that dOffset calculates is adopted through transducer output LPF, calibration.Static output measuring ability module 608 provides indication (indication) to rotation calibration function module 618, to trigger the for example calculating of the mean value of low pass filter output.Static output measuring ability module 608 also may command when with the mean value calculation of latest computed in the existing value of dOffset.It should be appreciated by those skilled in the art that the new value that to use multiple different technologies to calculate dOffset from the existing value of dOffset and new mean value (including but not limited to simple average, LPF and Kalman filtering).In addition, it should be appreciated by those skilled in the art that the multiple variation of the migration that can use rotation sensor 502 and 504.For example, offset (T) function can have steady state value (for example, not with variations in temperature), can use two above migration values, and/or can calculate/use single deviant and be used for migration.
After module 616 places have carried out conversion/calibration; Input from rotation sensor 502 and 504 can further be handled at functional module 620 places; So that these inputs are turned in the inertial system, thereby to compensating with the relevant inclination of mode of user's handling 3D positioner 400.Tilt correction is another significant aspect of certain exemplary embodiment of the present invention, and it is intended to compensate the difference of the use pattern (usage pattern) according to 3D positioner of the present invention.More specifically; Tilt correction according to illustrative embodiments of the invention is intended to the following fact is compensated; That is, the user holds positioner with different x axle turned positions in its hand, but the sensing axis of the rotation sensor 502 in the 3D positioner 400 and 504 is but fixed.Desirable situation is, the basic mode with user's grasping 3D positioner 400 of the translation of cursor on display 408 is irrelevant, for example, and with common horizontal dimensions (x corresponding to display 508
2Axle) rotating 3D positioner 400 before and after the mode should cause cursor along x
2The axle translation is with common vertical dimensions (y corresponding to display 508
2Axle) mode is rotated 3D positioner 400 up and down and should be caused cursor along y
2The axle translation, and hold the orientation-independent of 3D positioner 400 with the user.
In order to understand necessity better, consider the embodiment shown in Fig. 6 (a) according to the slope compensation of illustrative embodiments of the invention.Wherein, the user holds 3D positioner 400 in exemplary inertial system, and said inertial system may be defined as the x axle rotational value with 0 degree.Inertial system can corresponding with the orientation shown in Fig. 6 (a) (only as embodiment), perhaps may be defined as any other orientation.The rotation of 3D positioner 400 on y axle or z direction of principal axis will be detected by rotation sensor 502 and 504 respectively.For example, shown in Fig. 6 (b), 3D positioner 400 rotates Δ z around the z axle will make the x of cursor at display 408
2Corresponding translation Δ x on the axis dimension
2(that is the distance between the dotted portion of cursor 410 and the solid line part).
On the other hand; If the user with different azimuth (for example; Having a certain amount of x axle with respect to inertial system rotates) grip 3D positioner 400, then the information that provides of transducer 502 and 504 will can (not lack slope compensation) to user's intentional interface action and provide accurately and explain.For example, with reference to Fig. 6 (c), consider that the user holds the situation of 3D positioner 400 with the x axle rotation that has 45 degree with respect to the exemplary inertial system shown in Fig. 6 (a).Suppose that the user rotates Δ z around the z axle simultaneously, then cursor 410 will become at x
2On the direction of principal axis and y
2Translation on the direction of principal axis, shown in Fig. 6 (d), this is that orientation owing to the sensing axis of rotation sensor 502 is between y axle and the z axle and (causes because be arranged in the orientation of the device of user's hand).Similarly, the orientation of the sensing axis of rotation sensor 504 is also between y axle and z axle (though at different quadrants).How to hold transparent interface, 3D positioner 400 aspects in order to be provided to the user; Slope compensation according to illustrative embodiments of the invention is changed back the reading output of transducer 502 and 504 in the inertial system, handles as the part of the information that rotatablely moves that these sensor readings is treated to expression 3D positioner 400.
According to exemplary of the present invention, get back to Fig. 5, above-mentioned processing can confirm that the inclination of 3D positioner 400 realizes through use the input y and the z that receive from accelerometer 506 at functional module 622 places.More specifically, after acceleration information has carried out conversion and calibrated as stated, carry out LPF, average acceleration (gravity) value to be provided to definite functional module 622 that tilts at LPF 624 places.Then, in functional module 622, calculate cant angle theta:
Value θ can by numerical value be calculated as atan2 (y, z), to avoid division by 0 and to provide correct symbol.Then, functional module 620 can use following formula to conversion/input α y and the α z of calibration carry out rotation R:
Thereby make conversion/input α y and the α z rotation of calibration is with compensating for tilt θ.Aforesaid slope compensation is the subclass than ordinary skill that is used for sensor reading is converted into from the object referential user's referential in this exemplary, and this technology further describes in the patent application of the above this paper of incorporating into " free space pointing devices with slope compensation and improved availability " by name as a reference.
After the sensor reading to calibration carries out linear acceleration compensation and it is treated to the reading that the angle of expression 3D positioner 400 rotates and it has been carried out slope compensation, can be in module 626 and the execution reprocessing of 628 places.Exemplary reprocessing can comprise compensation various factors, for example people's shake.Though can use several kinds of distinct methods to remove shake, a kind of method of removing shake is through using hysteresis.The angular speed that is produced by rotating function module 620 is combined to produce the position, angle.Then, the hysteresis with calibration amplitude is applied to this position, angle.Output to hysteresis block is differentiated, thereby generates angular speed once more.Scale (for example, based on the sampling period) and be used in the interface, bearing results (for example, the motion of cursor 410 on display 408) are carried out in the output that is generated then at functional module 628 places.
After the processing of exemplary 3D positioner of the present invention was described, Fig. 7 showed exemplary hardware structure.Wherein, other components communicate of processor 800 and 3D positioner comprises roller 802, JTAG 804, LED 806, switch matrix 808, IR photodetector 810, rotation sensor 812, accelerometer 814 and transceiver 816.Roller 802 is to make that the user can be through clockwise or rotate counterclockwise the optional input module that roller 802 comes to provide to the interface input.JTAG 804 provides programming and debugging interface to processor.LED 806 provides visual feedback for the user when for example pressing the button.Switch matrix 808 receives input (for example the button on 3D positioner 400 be pressed or discharged indication), then, this input is passed to processor 800.IR photodetector 810 can be provided so that exemplary 3D positioner can be from other remote control study IR coding.Rotation sensor 812 provides the aforesaid y axle of 3D positioner and the reading that the z axle rotates of for example relating to for processor 800.Accelerometer 814 is the reading that processor 800 provides the linear acceleration that relates to 3D positioner 400, compensates with the error that is used for (for example) execution slope compensation as described above and the rotation reading that linear acceleration produces for rotation sensor 812 is introduced.Transceiver 816 is used for information is sent to 3D positioner 400 and will be sent to system controller 228 or the processor relevant with computer from the information that 3D positioner 400 receives.Transceiver 816 can be wireless transceiver (for example coming work according to the bluetooth standard that is used for short-distance wireless communication) or infrared transceiver.As a kind of selection, 3D positioner 400 can connect and system communication through Wireline.
In the exemplary of Fig. 4,3D positioner 400 comprises two rotation sensors 502 and 504 and accelerometer 506.Yet as a kind of selection, according to another exemplary of the present invention, the 3D positioner can only comprise a rotation sensor (for example, being used to measure the angular speed on the z direction of principal axis) and accelerometer.For this exemplary, can confirm that the angular speed (its can't help rotation sensor detect) along axis provides similar as stated function through using accelerometer.The data and the following formula that for example, can use accelerometer to produce around the velocity of rotation of y axle calculate:
In addition, also should remove the parasitic acceleration effect that rotation sensor does not measure.Acceleration that these effects comprise actual linear acceleration, measure owing to velocity of rotation and rotation acceleration and the acceleration that measures owing to people's shake.
The Static Detection functional module of briefly mentioning above 608 can be operated and is used for confirming whether 3D positioner 400 is for example static or dynamic (motion).This classification can be carried out through multiple distinct methods.According to exemplary of the present invention, a kind of method is the variation of calculating (for example) per quart second once in the sampling input data of all inputs (x, y, z, α y, α z) of predetermined window.Should change with threshold value comparing then, thereby the 3D positioner was divided into static state or dynamic.
Another Static Detection technology according to illustrative embodiments of the invention comprises through for example the input data being carried out fast Fourier transform (FFT) and input being transformed in the frequency domain.Then, can for example use peak-value detection method to analyze data, whether static or dynamic to confirm 3D positioner 400 for for example.In addition, can distinguish the third type, particularly be that the user holds 3D positioner 400 but moves the situation (also being referred to as " stablizing " state among this paper) of this device.When 3D positioner 400 is held by the user, can through detect the slight movement of introducing 3D positioner 400 by user's hand shake come from static (not holding) with dynamically distinguish this third class.Peak value detects also to be made by Static Detection functional module 608 and is used for carrying out this and confirms.Peak value (for example, being nominally 8-12Hz) in people's the chattering frequency scope exceeds the about 20dB of noise level (when device is in static and the noise that is not experienced when holding) of device usually.
In the aforementioned embodiment, the variation in the frequency domain is to be detected in particular frequency range, yet the actual frequency scope that to be monitored and the state to 3D positioner 400 of being used for carry out characterization possibly change.For example, the nominal dither frequency range can be for example be transferred to for example 4-7Hz based on the ergonomics and the weight of 3D positioner 400 from 8-12Hz.
According to another exemplary of the present invention, Static Detection mechanism 608 can comprise state machine.Fig. 8 shows exemplary state machine.Wherein, in this embodiment, " activity " state is default conditions, and 3D positioner 400 moves under this state, and is used for for example for user interface input being provided.3D positioner 400 (as resetting shown in the input) back that can power at this device gets into " activity " state.If 400 stop motions of 3D positioner, then it can get into " non-activity " state thereupon.Various state exchanges as shown in Figure 8 can trigger through in the multiple different criterions any; Said criterion includes but not limited to: rotation sensor 502 and one or two data output of 504; The data output of accelerometer 506; Time domain data, the combination in any of frequency domain data or above data.Use conventional " condition among this paper prevailingly
State A → state B" represent state transition condition.For example, when " condition
Activity → non-activity" when taking place, 3D positioner 400 will be " non-activity " state from " activity " state exchange.For simple illustration purpose, consider in exemplary 3D positioner 400 " condition
Activity → non-activity" can when the two average and/or standard deviation value of rotation sensor and accelerometer drops under first predetermined threshold in first predetermined period, take place.When being in " activity " state; One or more treatment technologies (for example linear filtering, Kalman filtering, Kalman are level and smooth, state space estimation, expection-maximization (Expectation-Maximization) or other technology) can be used, the first relevant data of the intentional motion introduced with the user and second data of being correlated with will be divided into from the data that motion sensor (for example rotation sensor and/or accelerometer) receives with move unintentionally (shake) that the user introduces based on pattern.Can further handle first data then, generating the output relevant, and can second data be used as for example being used for the shake input of User Recognition, will more describe in detail below with the intentional motion of hand-held device.
State exchange can be confirmed through a plurality of different conditions based on the transducer output of explaining (interpret).Exemplary conditional plan comprises that the value below using triggers state exchange: the variation of the specification signal of explanation on time window; Threshold value between the signal of fiducial value and explanation on time window; Threshold value between the signal of fiducial value and filtered explanation on time window, and the threshold value between the specification signal when fiducial value and beginning.All of these conditional plans or wherein combination in any can be used to trigger state exchange.As a kind of selection, also can use Else Rule.According to an exemplary of the present invention, take place when the conversion of " activity " state one of is meeting the following conditions from " non-activity " state: the mean value on time window of (1) transducer output is greater than predetermined threshold value; (2) variation of transducer output on time window is greater than predetermined threshold value; (3) the instantaneous increment between the sensor values is greater than predetermined value.
" non-activity " state make Static Detection mechanism 608 can between minibreak, distinguish 3D positioner 400 still be used (for example about 1/10th seconds) still actual converted to stable or static state.This has been avoided when using the 3D positioner, by mistake carrying out the function of under " stablizing " and " static state " state, carrying out (being described below).When " condition
Activity → non-activity" when taking place (for example; if second predetermined period " non-activity " state under in the past before; 3D positioner 400 is setting in motion once more, thereby feasible output by rotation sensor and accelerometer measures has surpassed first threshold), 3D positioner 400 will be converted back to " activity " state.
After past, 3D positioner 400 will be converted to perhaps " static state " state of " stablizing " state at second predetermined period.As stated, " stablizing " state has reflected the characteristic that 3D positioner 400 is held by the user but do not move, and " static state " state has then reflected the characteristic that the 3D positioner is not held by the user.Therefore, the state machine exemplary according to the present invention can provide:, if shake relevant minimum movement with hand, then be converted to " stablizing " state, otherwise be converted to " static state " state after the past at second predetermined period.
" stablize " and " static state " state define 3D positioner 400 can be betwixt
Carry out the time of various functions.For example; Hold 3D positioner 400 but do not make time of its motion because " stablize " state is intended to reflect the user, so the motion of can be for example when being in " stablizing " state writing down 3D positioner 400 through the output of storing rotation sensor and/or accelerometer when this state of this device.The measured value of these storages can be used to confirm the jitter mode relevant with one or more specific users, is described below.Equally, when being in " static state " state, 3D positioner 400 can obtain reading from rotation sensor and/or accelerometer, is used to carry out aforesaid migration.
If 3D positioner 400 is being in setting in motion under " stablizing " or " static state " state, then can trigger " activity " state of getting back to.Otherwise after measuring, this device can be switched to " sleep " state.When being in sleep state, device can get into power saving (power down) pattern, and at this moment, the power consumption of 3D positioner reduces, and for example the sampling rate of rotation sensor and/or accelerometer also reduces.Also can get into " sleep " state, make user or other devices can control 3D positioner 400 and get into " sleep " state through external command.
Receiving another when order, if perhaps during 3D positioner 400 setting in motions, this device can be from " sleep " state exchange to " reviving " state.With " non-activity " state class seemingly, " reviving " state be device provide can subtend " activity " state the whether suitable affirmation chance of conversion, for example, 3D positioner 400 does not receive unintentionally to be pushed.
The condition of state exchange can be symmetrical, also can be different.Therefore, with " condition
Activity → non-activity" relevant threshold value can with " condition
Non-activity → activity" relevant threshold value identical (or different).This makes can catch user's input more accurately according to 3D positioner of the present invention.For example, comprised that the exemplary that state machine is implemented makes that especially the threshold value that is converted to static state is different with the threshold value of changing out from static state.
Get into or leave a state and also can be used to trigger other apparatus function.For example, can be based on user interface being powered on from any state exchange to " activity " state.On the contrary, when the 3D positioner from " activity " or " stablizing " when " static state " or " non-activity " is changed, 3D positioner and/or user interface can be closed (or get into sleep pattern).As a kind of selection, cursor 410 can be changed out or be converted to static state and be presented on the screen or from screen from static state and disappear based on 3D positioner 400.
As stated, hand-held device duration of being in " stablizing " state can for example be used for remembering the shake data relevant with the specific user.Usually, each user can show different jitter modes.According to exemplary of the present invention, this character of user's shake can be used to discern current which user is being held this hand-held device, carries out any other action (for example, entering password) and need not User Part.For example, during user's for example initialization of 10 seconds that is asked to as far as possible stably to hold the 3D positioner, user's jitter mode can be by hand-held device or systematic memory (for example, be stored in the 3D positioner 400 or transfer to system).
This pattern can be used as unique (or accurate unique) signature that the user carries out the multiple user interfaces function.For example, user interface and/or hand-held device can through with current jitter mode with being stored in that jitter mode in the memory compares from one group of user (for example, family) the identification user.This identification can be used for the user-dependent preference setting for example retrieving and be identified subsequently.For example, if the 3D positioner uses with the above media system of incorporating the application's work by reference into, then can, start and user-dependent medium option demonstration preference after picking out the user via the jitter mode comparison in system.Also can use shake to distinguish and realize system safety, for example, on the User Recognition basis that can after the user picks up 3D positioner 400, carry out, forbid or limit visit system.
Can take a plurality of distinct methods to realize the scheme that detects, classifies and store according to jitter mode of the present invention.To an exemplary embodiment be described with reference to Fig. 9-12 now.The complete method of dividing jitter mode is shown in the flow chart of Fig. 9.Wherein, collect from a plurality of user's data collection in step 900.The collection of data set can be training/initialization process (wherein; Require the user in the given time (for example 5-15 second) hold positioner with the mode of not introducing intentional motion) a part, perhaps can be between the operating period of hand-held device synchronously (on-the-fly) carry out the collection of data set.In addition, data collection can be carried out when holding hand-held device with the preset bearing.Pure exemplary frequency spectrum data shown in Figure 10 (a)-10 (d) is to collect from the specific user who holds 3D positioner 400 with four different azimuth.
Get back to Fig. 9, the data of collection can be handled subsequently, with relevant with the different user of the hand-held device 400 separately classification of identification.For example, can from the data acquisition system of each collection, extract one or more characteristic sets, in the classification processing of step 902, to use.One or more specific characteristic sets (being selected out in step 902, to use) are selected and are used for the shake data are carried out good category division; And can basis with (for example comprise: number of users to be distinguished in the classification pond via the relevant enforcement parameter of the User Recognition of dither process; The quantity and the type of the training data of in step 900, collecting; Equipment energy characteristic is for example with reference to the described state information of Fig. 8 and relevant Bayes's user profile (for example constantly)) and change.An exemplary lists of the characteristic set that can in step 902, adopt provides in table 1.
||The auto-correlation of AR coefficient (for example, RPLR or iteration INVFREQZ method) normalization lags behind, AR coefficient (for example RPLR); Keenan, Tsay or Subba Rao test, the pure distribution characteristics of seasonal effect in time series; Time reversal invariance, the asymmetric decay of auto-adaptive function
||The PSD-characteristic of rotation sensor (for example, crest frequency, instantaneous), the PSD-characteristic of PSD coefficient accelerometer (for example, crest frequency, instantaneous), the PSD coefficient is to the cross-spectral analysis of rotation sensor data and accelerometer data
|The higher level statistics
||The non-gaussianity Volterra series modeling of HOS (two spectrums, three spectrums)-use shake Hinich statistical test
||The parameter of extracting from STFT, Wigner-Ville and/or (Choi-Williams) TF distributes
|Time-the scale territory
||The complicated wavelet transformation of maximum lapped transform (loop invariant) CWT-of DWT-wavelet transform MODWT-(moving invariant)
||Periodic transformation (for example, from small to large, m-preferably waits) range of DO
||Mixed and disorderly measure (for example, Liapunov exponent, fractal dimension, correlation dimension)
(the IEEE biomedical engineering is reported (IEEE Transactionson Biomedical Engineering) can " to be used to shake statistics and the neural net (Higher Order Statistics and Neural Network ForTremor Recognition) of the higher level of identification " at the article of J.Jakubowski, K.Kwiatos, A.Chwaleba and S.Osowski about the information of these characteristic sets and corresponding test; The 2nd phase the 49th of February in 2002 volume 152-159 page or leaf) find in, the content of this article is incorporated this paper by reference into.According to pure exemplary embodiment of the present invention that below will describe in detail more, the low-frequency spectra of the power spectral density of the data of collection (PSD) is used as characteristic set in step 902.Except above territory of listing, conversion etc., characteristic set also can be based on number and the type of transducer available in the hand-held device that will shake detection/recognition and change.For example, in the hand-held 3D positioner of describing in the exemplary formerly 400, can collect the shake data from one or two rotation sensor, accelerometer or its combination in any.
From the data extract of collecting after the characteristic set, can in step 904, reduce characteristic set.More specifically, can be in step 904 characteristic set be reduced to and explains the characteristic set that is used to distinguish classification (user) best.For example, can from the characteristic set that reduces, omit the DC value that the user shakes data, and the characteristic set that this reduces can comprise that the user of 9Hz shakes data value, this is because the latter can be used for distinguishing the hand shake of different user.This characteristic set that reduces for example can be characteristic (MEF, the Most Expressive Feature) set of the richest expressive force that adopts that principal component analysis (PCA) algorithm confirms.The PCA algorithm carries out singular value decomposition to characteristic set, to find out the suitable base vector set (with the mode of Minimum Mean Square Error (MMSE)) of ability optimum expression characteristic vector automatically." identification based on eigenspace of people's face: comparison and new method (Eigenspace-Based Recognition of Faces:Comparisons and aNew Approach) " (graphical analysis and processing (Image Analysis and Processing) that the example of Using P CA technology can be shown at P.Navarrete and J.Ruiz-del Solar; 2001) find in, the full content of this article is incorporated this paper by reference into.
Then; Discern troop (cluster) in step 908 with the characteristic set that reduces; This processing can be adopted supervised learning (wherein; This processing has contributed the priori of those data sets to operate based on that user) or unsupervised learning (wherein, handle do not have any prior information) carry out.Can use various technology and confirm and relevant the trooping of shake data that these technology for example comprise: average cluster of K-(K-meansclustering) and RBF neural network classification according to exemplary of the present invention.Discerned troop after; In step 910; (for example add up with the estimation of trooping relevant that is identified; Average and/or covariance) can be used to new characteristic vector difference to being positioned at some and trooping or outside some trooping, that is, export based on current transducer the current user who holds hand-held device 400 is discerned.Can during working sensor, refine cluster centers through after the initial user/instantiation of trooping, make said learning method be able to improve through use sensor status information (for example, as above said) with reference to Fig. 8.In this way, the data available of maximum quantity is used to (with the mode of supervision) refinement and troops, to support further unsupervised learning.
Shake the exemplary techniques of discerning the user in order to test above-mentioned hand based on detection; Utilize as above with reference to the described general fashion of the flow chart of Fig. 9; To carrying out Collection and analysis, can be used to difference/identification different user with proof hand jitter analysis with four other user-dependent data acquisition systems (except the data described in Figure 10 (a)-10 (d)).In these data acquisition systems two collect, and other three data sets are from holding the different people collection of hand-held device from the same individual who holds hand-held device.In this test, in step 900, collect from two rotation sensors 812 and to be used for each data of five data sets.It is 0 and unit variance (unit variance) that each data acquisition system is treated to average.For this exemplary test, in step 902, the low-frequency spectra of estimating from PSD (for example crest frequency) is used to the characteristic set extraction, and on data collection time, averages.More specifically, use 256 FFT, and in the frequency range of 0-30Hz, on the N=2048 point, on average have 75% overlapping.The characteristic set that is extracted uses the PCA algorithm to be reduced to 20 * 20 matrixes from 38 * 20 matrixes, the PCA algorithm suitably distinguish some characteristic vector relevant with the characteristic set that extracts compare with the further feature vector expressive force a little less than, so can it be abandoned.Figure 11 shows the characteristic vector that generates as step 904 part in the present embodiment.Wherein, line 1100 expressions and the relevant characteristic vector of characteristic set 2 (from the data that rotation sensor 504 is collected, the z axle rotates), and line 1102 expressions and the relevant characteristic vector of characteristic set 1 (from the data that rotation sensor 502 is collected, the y axle rotates).
Under this test case, cluster step is based on that priori (supervised learning) that user produces those data acquisition systems carries out.In the enforcement of reality,, possibly adopt aforesaid one of them automatic clustering technique in step 906.For this pure exemplary test, for the independent identification of the data that receive from rotation sensor 502 and 504 is trooped, to limit the two type barycenter (centroid) relevant with each data acquisition system.Then, distance (the being Euclidean distance in the present embodiment) summation between each vector in two types of barycenter of calculating and the data acquisition system.The result of this process is shown in figure 12.Wherein, the x axle representes that the data acquisition system that reduces is vectorial, and the y axle is represented the distance and the vertical line subregion distance (partition distance) of different classes of (user) barycenter.Can find out; In each subregion; The vector of related category is significantly less than the distance of the vector of other classification to barycenter to the distance of barycenter, and this has shown that good classification is separated and has introduced differentiation/identification user's on the hand shake basis of hand-held device ability the user.Carry out some particular selecting (for example, select characteristic set etc.), carrying out above-mentioned exemplary test, but described in this paper these are selected only as an example.
Can adopt various deformation according to exemplary of the present invention.For example, after identification is trooped in step 908, can carry out the discrimination step of trooping to stress each distinguishing characteristics of trooping.The discriminant of trooping operation is used transformation matrix in order to the data that have ultimate range between minimum packets in set is provided and set.A given matrix of having described the set of total covariance; Described the matrix of each covariance summation of trooping with another, the task of linear discriminent is to derive and can maximizes distance and the linear transformation that minimizes distribution (scatter) in the classification between the classification simultaneously.Though in the general field of pattern recognition, have multiple well-known discriminant, for example Fei Xier linear discriminent (FLD) is not that all are suitable for the particular problem of discerning the user of shaking based on hand described herein.A concrete discriminant of using in the aforementioned embodiment is called EFM-1 discriminant; It is at the article that is entitled as " the enhancing Fei Xier linear discriminent model that is used for recognition of face " (the 14th pattern recognition international conference collection of thesis (Proc.14th International Conference onPattern Recognition) that C.Liu and H.Wechsler showed; Australia elder brother generation Lanzhou; 17-20 day in August, 1998) describe in, the content of this article is incorporated this paper by reference into.
In addition, carry out though above-mentioned test is the handheld positioning device that adopts above-mentioned exemplary according to the present invention to describe, the User Recognition that is based on shake is not so limited.In fact, can in the 3D positioner of any other type, use based on the identification of shake with the motion sensor (comprising gyroscope) that can generate any kind of shaking data.In addition; Identification based on shake according to the present invention also is not limited to positioner; But can be middle use of any hand-held device (for example, cell phone, PDA etc.) of having incorporated one or more motion sensors into or having had other mechanism of the relevant with it hand shake of measurement.Can use and carry out training process, step 900-908 for example, subsequently; Hand-held device can be carried out such method; That is: collection is shaken relevant data with active user's hand simply, these data is compared with the class of subscriber of setting up before, with the identification active user.This identity information can use in multiple different application subsequently, has described the example of these application above.
For example, (through what distinguish based on identification or another recognition technology of shake) user's identity can be used to the posture that interpreting user is made, thereby sends order to user interface, and the patent application of incorporating this paper more than for example by reference into is said.For example; In command system based on posture; Temporal motor pattern is associated with specific interface command, and different users can adopt the slightly different in time motor pattern of hand-held device, opens identical interface command (to have different person's handwriting styles very similar with different people) to send out.Provide the ability of User Recognition can be mapped as different posture patterns subsequently, for example, be stored in the hand-held device or in the system, thereby system can suitably be identified as Client-initiated order posture with each temporal motor pattern as a whole.
The referential mapping
As stated, exemplary of the present invention is handled the exercise data that the transducer from the 3D positioner receives, so that the referential of these data from 3D positioner body is transformed into another referential (for example user's referential).Be used for being controlled at the exemplary application that screen (for example TV) is gone up the 3D positioner of the user interface that shows, user's referential can be the coordinate system relevant with video screen.In any case,, data are transformed into the availability that will improve hand-held device another referential from the body referential through forming operation from user perspective rather than space positioning apparatus angle.Therefore, when the user made its hand move from left to right in display the place ahead when holding the 3D positioner, no matter the orientation of 3D device how, the cursor on the left side all can be with moving right.
In order to simplify this discussion, the exemplary process system relevant with 3D positioner (for example, as stated) has been shown among Figure 13.Wherein, hand system uses one or more transducers 1301 (for example, rotation sensor, gyroscope, accelerometer, magnetometer, optical pickocff, camera or their combination in any) to detect motion.Then, in module 1302, transducer is made an explanation, so that the motion that takes place is estimated.Processing module 1303 is converted to measured motion user's the referential from nature (body) referential then.This motion is then by the action of mapping 1304 for expection justice, and this action makes an explanation at module 1305 places and is sent to system, to form the response of expection justice, the for example cursor on the moving screen.
Module 1303 is with the movement conversion that detects in user's referential rather than in the referential of device.Can explain the orientation through similar method on the multiple different mathematics, these methods comprise Eulerian angles, direction cosine matrix (DCM) or unit quaternion (unit quaternion).The position is expressed as the skew with respect to coordinate origin with consistent unit representation usually, said consistent unit include but not limited to meter, centimetre, foot, inch and mile.In an above-mentioned exemplary, the measurement of 3D positioner comprises the inertia force of acceleration and velocity of rotation.The transducer that these power are installed in the device is measured with respect to the body that installs.In order data measured to be transformed in user's referential positioner its position of estimation and orientation.
In this exemplary embodiment; Suppose that user's referential is static and has fixing orientation; But it will be appreciated by those skilled in the art that; Can easily expand to the situation that user's referential is a nonstatic (then become system through Direct Transform, perhaps at first transform to rest system and change to kinetic system then) according to this technology of the present invention.For the example of user's referential of static, constant bearing, can calculate through using following formula with reference to the conversion that is tied to user's referential from body:
Rotate representes that hypercomplex number rotates operator, and (A Q) equals Q*AQ to Rotate, and wherein, Q* is the hypercomplex number conjugation, and vectorial A is that complex number components equals A and hypercomplex number that real component equals 0;
Pu is the position in user's referential;
Pb is the position in the device referential;
' the expression differentiate.Therefore, Pu ' is the derivative of the position in user's referential, that is, and and the speed in user's referential;
Wu in user's referential, the angular speed at body angle of device;
Wb is the angular speed at body angle in the body referential of device, device;
The difference of Pdelta in user's reference frame, between the initial point of the initial point of user's referential and body referential;
Q is the rotation hypercomplex number of normalization, and its expression is tied to the rotation of user's referential from the body reference.Because is Q* from the user with reference to being tied to the rotation hypercomplex number that the body referential rotates, so we can replace Q with R*, and wherein, R is with reference to the rotation that is tied to the body referential from the user.Note, can use the multiple equivalent form of value (comprising Eulerian angles and direction cosine matrix (DCM)) to represent Q, top formula can be explained and on its equivalent form of value, slightly changes according to the difference of Q.Figure 14 diagram shows from body with reference to the conversion that is tied to user's referential.
In operating process, positioner is estimated Q to implement independently mode, to carry out this conversion.An above-mentioned exemplary enforcement comprises compensating for tilt (that is, the 3D positioner is based on its variation of mode on the x axle rolls of being held by the user).Through at first estimating because the component of acceleration that the gravity Ab in the body referential causes comes computer azimuth.According to definition, the vector acceleration that causes owing to the gravity Ag in user's referential is set to [0,0 ,-1].Because gravity can not be estimated direction (heading) (around the rotation of z axle), so use the body referential to estimate direction.Therefore, rotate hypercomplex number and have the pivot center on the z=0 plane.Be calculate to rotate a kind of in several mathematics equivalent method of hypercomplex number below:
V=‖ Ab ‖ x ‖ Ag ‖ (cross product of unit vector)
α=hypercomplex number [qV, α/2]=[qV*sin (α/2), cos (α/2)]
Calculating location is as the double integral of acceleration in user's referential then.Acceleration in user's referential is the acceleration that turns to the body referential in user's referential through above Q.Usually, the hypothesis initial point is 0 when device starts for the first time, but normal artificial or operating period can reset initial point automatically.
Usually, when device when not moving, Pu ', Pu ", Wu ' and Wu " all be 0.In this exemplary embodiment, measure Pb " and Wb.Though have unlimited a plurality of rotation Q, can come from usable set, to select minimum rotation also to estimate Wu based on Wb with this minimum rotation.As a kind of selection, the startup direction of displacement Qo of working hypothesis, through in time the Wb integration being calculated Q, said integration uses following discrete time integration to carry out:
Wherein, * representes multiplication, and * * representes the hypercomplex number multiplication.Through constant field vector (comprising gravity and magnetic field of the earth) additional stability can be provided, this additional stability can combine with The above results.Said combination can obtain through using several kinds of numerical value and filtering method (including but not limited to Kalman filtering).
Can adopt a plurality of different sensors, as long as they can measure the motion with respect to device body.Exemplary transducer comprises accelerometer, rotation sensor, gyroscope, magnetometer and video camera.User's referential is also nonessential to be static.For example, if elect user's referential as user's forearm, then positioner will only respond wrist and finger motion.
It will be understood by those skilled in the art that the referential conversion that the present invention describes has exchangeability.Therefore, the order of mathematical operation can be changed, and can not cause materially affect to the present invention described herein.In addition, especially be chosen as when keeping static, can use many motion process algorithms to referential in ground of equal value with constant orientation in user's referential.
Except ease of use was provided, the referential conversion of this exemplary also can be used to other challenge in the hand-held device enforcement according to the present invention.For example, if transducer (for example accelerometer) accurately is not positioned at the center of rotation place of body referential, the acceleration of then measuring will comprise the acceleration of this referential and the acceleration that is caused by the rotation of referential.Therefore, the acceleration of measurement can at first use following relation to be converted into the interior different target position of body referential of device:
Wherein, R is the vector from the accelerometer to the target location, and ω is the angular speed of body referential, and ω ' is the angular acceleration of body referential.If the body referential of device is built as and is positioned at range acceleration meter R place, then it should have the zero angle acceleration effect, and can more easily be used for the motion of calculation element in user's referential.This will compensate expection between accelerometer and the body referential center or mistake standard unintentionally.In addition, will become much simple to the estimation of gravity vector, this is because the power that applies at the center of rotation place is very little.Therefore,
Wherein, Q is with reference to the rotation that is tied to the accelerometer referential from body.
Unfortunately, different users have different R values.For example, a user can use hand-held device through rotating its ancon, and another user can use this device through rotating its wrist.In addition, people have the wrist and the forearm of different sizes.In order to improve availability, the exemplary of this hand-held device is dynamically calculated R, and mobile body initial point is so that it is owing to the component of acceleration that angular movement causes is minimum.This exemplary is defined as R [Rx, 0,0], and use and minimize Abody-Rotate [Ag, Q] and obtain Rx, thus estimation R.Note, exist many numerical methods to carry out and minimize, comprise recursive least square and Kalman filtering to calculate Rx.
Be appreciated that according to the above and the invention describes the multiple technologies that the motion of the hand-held device that detects are mapped to another referential (for example, user's referential) from a referential (for example, body referential).These mappings can be independent of other mapping relevant with the use of hand-held device (being cursor movement with detected Motion mapping for example) or can it combine.In addition, can carry out,, conversion carried out in the motion (translational motion and rotational motion or its any subset) that on all three dimensions, detects with angle from the input or the output of the equation of motion according to conversion of the present invention.In addition, can select the Motion mapping that detects or be transformed into referential wherein through multiple distinct methods.More than providing an embodiment to show second referential is and the relevant user's of inclination of device referential that still, many other variations also are possible.For example, the user can select the referential of its expectation, and this setting can be stored in the hand-held device one of them as a plurality of user preferences, and is used to carry out conversion.Other embodiment comprise that User Recognition and implicit commands (for example, button or user interface are selected) are as the technology of selecting second referential.
In addition, though the certain exemplary embodiment has been described the above computing to data in the speed territory, the present invention is not limited to this.As a kind of selection perhaps additionally, can carry out according to mapping of the present invention or conversion, perhaps can mapping according to the present invention or conversion be used for translational motion and/or rotational motion for example position or acceleration information.Equally, the order of processing is unimportant.For example,, can at first carry out mapping and confirm posture then, perhaps also can at first confirm posture, carry out mapping then if hand-held device is used for exporting the posture order.
Remove and be not intended to motion
According to exemplary of the present invention, be used for that Treatment Technology is carried out in the motion that detects and remove the effect of not expecting that causes owing to mutual (the for example pushbutton enable, and/or shake) of for example other user's set.Usually, shown in figure 15, the input of system is the motion that grips the people of hand-held 3D positioner.This motion is detected (module 1510) and is treated to representative motion (for example in module 1512) by the 3D positioner, and its specific embodiment is described in the above.But should be noted that these exemplary of the present invention are not confined to the exemplary hand-held 3D positioner 400 of above description, but can comprise other hand-held device significantly, for example, use the 3D positioner of other kinds of athletic transducer.Then, said representative motion is converted into the statement (module 1514) of expection justice, and this is expressed in module 1516 by " artificial factor (human the factor) " technical finesse according to exemplary of the present invention.In exemplary described herein, the output of artificial factor processing 1516 is mapped as for example 2D locator (pointer) motion subsequently.The motion that is processed is then by hand-held device output, and an embodiment of this output is the data that can be used for controlling locator motion on the screen.
This exemplary of the present invention comprises the multiple different technologies that is used for during the incident (comprising the button click) that the user starts, handling motion.According to first exemplary, after user action (for example button click) takes place, adopt distance threshold and time threshold to handle the movable information that motion sensor (for example, rotation sensor, magnetometer, video camera and combination thereof etc.) generates.Only there is distance possibly be not enough to during button is clicked, form locator stable and response.When hand-held device detects button press, restrained from 1516 output locator motion, surpass the time overtime threshold value that distance threshold perhaps stands up to distance.For for example button press action and button releasing action, one or two of distance and time threshold can be different.Can optionally make exemplary button processing invalid through send order to hand-held device.
Different buttons also can have the threshold value that differs from one another.The amount of exercise that hand-held device is experienced during button is clicked depends on a plurality of factors, includes but not limited to: user, pushbutton enable power, button moves and button with respect to the position of the centre of support (being usually located at user's hand) of hand-held device.The button motion processing parameter can be provided with separately, to optimize the performance of each button.In addition, can dialogue-based historical learning parameter, if perhaps system can discern the user, learn based on this user.
In addition, artificial factor processing capacity module 1516 motion history in the past that can store and follow the trail of hand-held device.For example, when hand-held device detected pressing button, then the processing unit in this hand-held device can be backwards to the moment before the incident that the user starts this button.In fact start button has spent big or small measurable time of non-limiting (non-finite), and this time can be measured to confirm by psychological test and dynamic apparatus.When button was activated, through the data sample of deletion at pushbutton enable between the emergence period/obtained by motion sensor afterwards, device can be returned to the state that takes place before the pushbutton enable.Therefore, the wrong motion that during button press, takes place can be left in the basket and " wiping ".For example; In response to the button press that detects; The output of module 1516 can be changed into and recalled (recalled) position P2 by detection position P1 (after the button press action), and position P2 is exported in the scheduled time before the button press motion detection by module 1516 in advance.If device when handling a button actions and still restrain the motion of another button actions when taking place, artificial factor processing capacity module 1516 processing procedure that can fall back repeatedly.
In user interface, at least two kinds of typical pushbutton enables can take place.In the first kind (accurate model click) as shown in Figure 16, the user wants on less target, accurately to start, and carefully aims at this device, stop motion, pressing button then.In second type (coarse mode click), target is bigger, and user expectation is moved next time, that is, the user can only make locator slow down and not stop or hovering over the target top, can in motion process, click target.Click for accurate model, use above-mentioned treatment technology with from being not intended to move from accurately removing in the data splitting output stream of the motion sensor the hand-held device.But,, possibly need further to strengthen and improve performance for the motion of second type.
In order to click the additional challenges that is caused to coarse mode, artificial factor processing unit 1516 can adopt the technology of second kind of selectivity or complementarity.According to second exemplary, the exercise data that receives from motion sensor is treated to motion vector, and the hypothesis user can be during pushbutton enable cursor or other devices relevant with the output of positioner carry out some motion change.Such as according to the forst law of motion knowledge, " physics in the motion tend to keep motion ".Therefore, when the button on the hand-held device was pressed, hand-held device produced the high frequency motion of deflection path.Use motion vector and through the movable information of filtering, the output of positioner can through with the corresponding to mode of motion history before during user start-up time and continue afterwards to keep.This can be through realizing for processing chain increases filter.This filter is designed to during the incident that the user starts or allows desired movement afterwards, gets rid of and the relevant high frequency motion of this incident itself simultaneously.Many processing methods such as LPF can be removed high fdrequency component, but have increased the stand-by period.Because the stand-by period (time between the motion of device and the locator motion constantly) maybe be very important for the user; Therefore exemplary of the present invention can be used sef-adapting filter, and this sef-adapting filter switches in the signal processing path when detecting the incident of user's startup and (for example based on hand-held device customer incident is sent to the employed same signal of user interface).This sef-adapting filter is configured to low pass filter, and its decay is (sharp) high frequency button press rapidly.Another input to the adaptive-filtering module is the warning of choosing wantonly of button activity in advance, and it is taken place by complete debounce (debounce) at button before.Button activity warning in advance makes it possible to than earlier notifying button event to processing under the situation of not this warning, thereby has reduced filter wait time demand.Sef-adapting filter with button activity warning in advance makes desired movement and the engineering compromise between the stand-by period minimize.
According to another exemplary of the present invention,, therefore, can know the direction of motion disturbance based on the expection use of ergonomics and device because the designer of 3D positioner just knows the direction of motion of not expecting usually when design.For example, the designer knows the pushbutton enable direction with respect to device.Main motion comprises the linear movement that is parallel to the button motion-vector or owing to the rotational motion that forms the torque of hand (grip) around the user.This knowledge makes it possible to implement direction preference filter (it comprises the knowledge of pushbutton enable motion).For example, Design of Filter can comprise the state space filtering device, for example Kalman filter and sef-adapting filter.This filter detects departing from of not expecting from the expectation path of known direction during pushbutton enable, during pushbutton enable, add the motion path of expectation then.This preferential filtering makes it possible to obtain during the direction of expection changes, to have the locator of better response (still can remove button motion unintentionally simultaneously).It will be understood by those skilled in the art that the state space filtering device can be expanded between the normal operating period, design parameter being learnt.
Artificial factor processing capacity module 916 according to illustrative embodiments of the invention can be implemented one or both technology of above description, if use two kinds of technology, then provides grader between two kinds of technology, to switch.For example, when the button that detects first kind of accurate type is clicked, use first technology.When detecting second kind, when clicking, then can using second technology than the button of inaccuracy type.Speed when a grader that switches between two kinds of technology can use hand-held device in the pushbutton enable moment (or just in pushbutton enable moment before).For example; When if (a) speed of hand-held device is lower than predetermined threshold speed; Then adopt first technology, abandon the exercise data that generates after the detection incident, having moved up to the movement representation hand-held device of motion sensor senses has surpassed predetermined distance threshold or has passed through preset time; Perhaps (b) then adopts second technology if the speed of hand-held device is higher than predetermined speed, and the exercise data that generates after the detection incident is carried out filtering.
Click or push like button mentioned in above exemplary and include but not limited to button press and button release.All above-mentioned technology can be applicable to form the not any known device reciprocation of desired motion, click and be not limited to button.For example, above-mentioned technology can be applicable to the roller startup, touch pad uses or capacitor strap uses.Therefore, exemplary of the present invention has been described the method and apparatus that is used to eliminate the useless motion that on startup or invalid another event base, takes place.
The parameter that is used for the method for above description can be suitable for supporting the desired motion characteristic of incident.In this exemplary embodiment, the parameter that is used for button press can be different from and be used for the parameter that button discharges.Except motion is eliminated, the constraints that user interface can be used on customer incident according to the present invention is handled or suggestion is additional.For example, at Microsoft Windows
TMIn the operating system,, then can start " dragging (drag) " action when button is pressed if cursor moves.Therefore, handle relevant parameter with the exercise data that moves in response to user's button press and can have such value, this value is tended to the motion of about beam positioners during pushbutton enable, to avoid the useless incident of dragging.On the contrary, at Microsoft Windows
TMCursor movement after button in the operating system discharges is less to the object influences in the user interface; Therefore; Exemplary motion data processing according to the present invention can adopt such parameter (for example incident and/or distance threshold; Filter coefficients etc.), this parameter is compared with handling relevant relevant parameter with the exercise data after button press, a little less than the response to the locator motion.
Motion can be handled in speed or position field through multitude of different ways, to help to remove useless button motion.But the simple filtering in the operating speed territory.Filter can be FIR or iir filter, but these filters can be introduced the processing delay amount of not expecting.Can successfully use sef-adapting filter and can not introduce too many delay.
Exemplary of the present invention also can be embodied as Kalman filter (or Kalman filter of expansion).Kalman filter can be selected most possible operating position (static or motion), and uses suitable motion.Can also obtain same effect with neural net.Therefore be appreciated that the present invention further provides a kind of like this method, be used for (a) detection incident and take place, (b) infer user's desired movement and (c) desired movement of interpreting user rather than the actual motion of hand-held device.Motion can be in 6DOF 3D territory or in the 2DOF locator field of mapping.6DOF 3D territory can be the body referential of device, also can be user's referential.
According to another exemplary of the present invention; The relevant motion of incident that starts with the user can be included in the equation of motion by modelling and explicitly, and this equation of motion provides the output from hand-held device on the exercise data basis of collecting from motion sensor.More specifically; Use the user to start the embodiment of the button press of incident; The motion that is caused by button press can be modeled as priori; With confirm one or more exemplary motion amplitudes with the relevant direction of button press action, these values can be stored in the memory cell of hand-held device subsequently.Then; When detecting button press; The processing unit of hand-held device can use above-mentioned modeled motion in the equation of motion, with draw can reflect user's desired movement rather than by motion sensor senses to, the output of the motion relevant with button press.Processing unit can be through the value of using a model of multitude of different ways; For example; From the motion value that detects, deduct these values, the motion value that decay detects on the basis of the modelling value relevant with specific user's startup incident is regulated the grapheme relevant with the output of hand-held device etc.
Therefore can find out that exemplary of the present invention has been described the innovative approach of the hand-held remote control of implementing to be used for multiple use (comprising the control TV).This device also can be used for other application, for example, and as the input unit and the object control of personal computer.
Remote controller no longer must be similar with pocket buttons keyboard (current typical IR remote controller has 40 buttons).On the contrary, very similar according to remote control of the present invention and mouse, that is, the location action also transmits the information except pressing button.The result has formed the very powerful user environment that is used for remote control and application.Now, imagination is added similar mouse function to TV, has consequently improved user experience widely.All are essential is can allow to locate and the wireless handheld device of pushbutton enable.The present invention has described this device just.This design is with respect to a beneficial effect of traditional remote controller, and it also makes the user to carry out the position to the cursor on the screen and be provided with except making that the user can test button starts.Consequently, also make screen responsive button and control become possibility except making gesture recognition become the possibility.Thereby need increase the traditional remote controller of new button than increasing function, form very powerful, flexible and extendible user interface.Exemplary of the present invention for example provides these abilities based on the hand-held remote control device of MEMS rotation sensor (angular speed of its measurement mechanism) through employing.In addition, exemplary provides the instruction to the adjusting of body referential, calibration and reprocessing, is not intended to motion to remove.Complete unique enforcement consequently is provided, and this enforcement is compared with traditional hand-held remote control device, can carry out better, and more cheap and less.
These exemplary techniques use the MEMS transducer to measure rotational angular velocity and linear acceleration.Then, use calibration and combine Static Detection, to regulate and the original reading of convergent-divergent.Afterwards, integrate linear acceleration and it is used for confirming the orientation of hand-held device body referential.This bearing data is used for the velocity of rotation reading is mapped in the suitable referential then.Last step is that the reading to all motions carries out reprocessing, thereby filters out the motion that is not intended to of for example artificial shake.
System and method according to the user processing data of exemplary of the present invention can be carried out through the command sequence that one or more processor running packages are contained in the storage device.Said instruction can be read the storage device from other computer-readable medium (for example auxiliary data storage device).The execution that is included in the command sequence in the storage device makes processor to operate as stated.In optional embodiment, hard-wired circuitry can be used to replace software instruction or combines with software instruction, to realize the present invention.
Above-mentioned schematic embodiment all is schematic but not determinate in all fields.Therefore those skilled in the art can derive the present invention in the multiple variation aspect the concrete realization from the specification that this paper comprises.For example; Though the aforementioned exemplary embodiment has especially been described the motion of using inertial sensor to come checkout gear; But also can use the transducer (for example, sonac, magnetic sensor or optical pickocff) of other types to replace being combined with the inertial sensor of aforementioned signal processing or append to the inertial sensor that is combined with aforementioned signal processing.All these variations and modification all are regarded as and are positioned within subsequently the scope of the present invention that claim limited and spirit.Do not offer some clarification on if having, the element that uses in the present specification, action or instruction are not indispensable for the purpose of the present invention.In addition, as using among this paper, article " (a) " is intended to comprise one or more projects.