WO2006066435A1 - Verfahren zur dynamischen kalibrierung von kontaktbildschirmen - Google Patents

Verfahren zur dynamischen kalibrierung von kontaktbildschirmen Download PDF

Info

Publication number
WO2006066435A1
WO2006066435A1 PCT/CH2005/000760 CH2005000760W WO2006066435A1 WO 2006066435 A1 WO2006066435 A1 WO 2006066435A1 CH 2005000760 W CH2005000760 W CH 2005000760W WO 2006066435 A1 WO2006066435 A1 WO 2006066435A1
Authority
WO
WIPO (PCT)
Prior art keywords
calibration
screen
point
vectors
weighting
Prior art date
Application number
PCT/CH2005/000760
Other languages
English (en)
French (fr)
Inventor
Raphael Bachmann
Original Assignee
Speedscript Ag
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Speedscript Ag filed Critical Speedscript Ag
Publication of WO2006066435A1 publication Critical patent/WO2006066435A1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment

Definitions

  • the present invention relates to a method for dynamic calibration of contact screens according to claim 1.
  • the meeting behavior is calculated by a one-time test (a given string). An average value is determined here. Thereafter, the control system compensates each input using the calculated average deviation.
  • a user becomes, so to speak, a "5-pixel down-cut” whose inputs are corrected upwards every 5 pixels.
  • the patent document US6256021 B1 describes a device or a method for calculating the target areas on operating elements, depending on the angle or the direction of the input by the user.
  • the user is asked in advance to enter whether he is left-handed or right-handed.
  • the target areas for all touchable elements on the display are calculated, taking into account the respective position of the element on the display. This is a one-time calculation that occurs once per log-in, in the case of a public terminal. This is therefore not a dynamic process. For example, the parallax problem is not affected or solved.
  • Patent document US20020070926A1 describes a method of touchscreen calibration using a result database.
  • the calibration is done with user guidance, i.
  • the system specifies target points that serve as calibration references.
  • the point touched by the user requested by the system is compared to the reference point.
  • a distinction is made between valid and invalid entries.
  • the assessment of validity can be made according to different aspects, e.g. depending on whether the point "hit" by the user is inside or outside a certain radius around the reference point.
  • Inputs that have only been validated by the system set in motion the patent-relevant process, which is based on the consideration of a results database.
  • the database contains only previous valid calibration results with user guidance. So it only considers the meeting behavior at the beginning of the input process under guided conditions.
  • the weighting of the results from the described database can be done according to different criteria, eg according to their age. It is essential that a result is determined from the database which replaces the result of the current calibration process aborted by the invalidated user input.
  • a touch screen dynamic alignment device is described which is intended to solve the problem of accurate operation of touch display buttons on public touch screens.
  • the touchscreen aligns with the size or direction of contact of the operator (for example, a tall person touches the button in the upper region).
  • the points where the two alignment buttons are touched serve as a calibration orientation. In this way, more and smaller control surfaces can be selected because the accuracy of the users improves.
  • the accuracy achieved is based only on the evaluation of two inputs, it is not very reliable.
  • it is a guided calibration process, which means an additional effort for the user, which is disadvantageous.
  • Object of the present invention is therefore to provide a method for the dynamic calibration of contact screens while avoiding the disadvantages mentioned, which takes into account the changes in user behavior and runs as a background function without the user noticing something.
  • the object is achieved by a method according to claim 1.
  • the method is intended to improve the input on touchscreen devices in terms of accuracy. There is a great need here, since the previous calibration methods have not been able to solve the pressing parallax problem. As before, the coordinates of the point of contact of the input means (pen or finger) and the coordinates of the cursor deviate significantly from each other. This can get worse after some time of working and changing the position of the user.
  • the method is used to determine the spatial eye position (x / y / z) above the screen to perform a "Position Dynamic Parallax Correction".
  • a "position-dynamic parallax correction" is calculated for each screen object according to the position of its center. This correction can be continuously calculated for each screen object, including new or moved, based on their screen coordinates.
  • FIG. 1 Introductory illustration of a 1D calibration in the (x, z) plane with a screen object and a contact surface point.
  • FIG. 2C Second illustration of a 1D calibration in the (x.z) plane with a screen object and 3 pad areas and averaging
  • FIG. 5 Introductory illustration of a 2D calibration in the (x, z) plane with FIG. 2
  • Korrekturg Rossen the inventive method which take into account the parallax and the eye position of the operator and are determined continuously in a background program. They represent the central variables for the calibration of the contact screen.
  • 1 shows an introductory diagram of a 1D calibration in the (x, z) plane with a screen object and a contact surface point.
  • the x-axis of an (X, Z) coordinate system is aligned parallel to an edge of a touch screen and lies in its screen area BF.
  • a contact surface KF which is shown in the (x, z) - plane as a line KF and parallel to the x-axis.
  • the z-axis is perpendicular to the x-axis and is conveniently located in a corner of the touchscreen, where also the zero point of the (X, Z) coordinate system is located.
  • On the contact surface KF is a contact point A, the projection of which forms the point A 'on the screen surface.
  • the coordinates A (x, z) and A '(x, z) are assigned to the points A and A' in the (X, Z) coordinate system.
  • the z component of the point A ' is zero, while the z component of the point A is the distance d.
  • the contact surface and the screen surface are close to each other, so that the distance d is usually 0.5 - 4.0 mm. In Fig. 1, the distance d is shown exaggerated for reasons of clarity.
  • a screen object BO which is usually a key or a bar, but may also have any shape. Screen objects are available on the contact screen of various origins. Either they come from an operating system or from another program. Screen objects of any kind form the basis for a dynamic calibration.
  • the input is made by the user, or the operator in the touch point A, it is checked whether the point A, or the point A 'is within the screen object BO, or whether the point A' belongs to the screen object BO , Since the boundaries of the screen object BO coordinates are assigned, the affiliation of the point A 'is determined to the screen object in a known manner. If the point A 'does not belong to the screen object BO or lies outside of it, the point A' for the calibration procedure is not consulted or it is discarded. However, if the point A 'belongs to the screen object BO, the screen object center O or screen object center of gravity is calculated.
  • a deviation vector a ' is calculated which leads from the screen object center O to the point A' and whose x-component a 'is x .
  • the bold print a J represents a vector variable, which will also be the case in the future.
  • the deviation vector a 'now defines a calibration vector a by representing the deviation vector a' with a negative sign, namely -a 'and its x component -a x .
  • the aim of the operator is always to hit the screen object in the middle. In reality, this is not the case.
  • the result images on a screen object are usually not centered around the center, but eccentric on one side. The fact is that the operator largely hits the screen objects.
  • an ignoring function is provided, by means of which the operator is able to correct the faulty one Touch point to delete, or to ignore and thus to prevent its receipt in the results database or block. This is usually done via any command that can be triggered eg via an auxiliary key. However, this is not absolutely necessary.
  • Fig. 2A shows an illustration of a 1D calibration in the (x.z) plane with a screen object and 3 pad areas and averaging.
  • the points of contact A (1), A (2) and A (3) whose projections on the screen surface, the points A '(1), A' (2) and Form A '(3).
  • the points A (1), A (2), A (3) and A '(1), A' (2), A '(3) in the (X, Z) coordinate system have the coordinates A (1; x , z), .... and A '(1; x, z), ... are assigned.
  • the points A (1), A (2) and A (3) are created by the input of the operator with the aim to hit the screen object, which is successful, because the three points are within the screen object.
  • the deviation vector a ' m now defines a calibration vector a m by representing the deviation vector a' m with a negative sign, namely -a ' m and its x-component -a mx .
  • FIG. 2B shows a table of the stored data for 1D calibration with averaging.
  • the events 1, 2, 3 have provided the values +12, +4 and -12 as x components of the deviation vectors a '(1), a' (2) and a '(3).
  • a first mean, or a mean value (I) was calculated for the first time, which has given the value 1, 33 for the x-component a ' mx of the averaged deviation vector a' m .
  • a value of -1, 33 resulted for the x component -a ' mx of the averaged calibration vector a m .
  • the number N is usually less than 100, preferably 8 to 30.
  • the number N represents at the same time also a so-called 'window size', as they are used in a known manner with moving average values (moving average) (MR Spiegel, LJ Stephens, Statistics, p. 529-530, Verlag Moderne Industrie (2003)).
  • Figure 2C shows a second plot of a 1D calibration in the (xz) plane with a screen object and 3 pad areas and averaging.
  • the points of contact A (1), A (2) and A (3) whose projections on the screen surface, the points A '(1), A' (2) and Form A '(3).
  • From the points A (1), A (2), A (3) to the screen object center O leading lines A (I) -O, A (2) -O, A (3) -O form the screen surface line BF angle ⁇ (1), ⁇ (2) and ⁇ (3).
  • FIG. 3A shows a table for 1D calibration in the (xz) plane with a screen object and 3 pad area with averaging (I) and prior weighting.
  • the same 3 points as in Fig. 2A are considered with the x components a ' x of their deviation vectors a'.
  • Each of the x components a ' x is now assigned a weighting factor G before the averaging, in accordance with the deviation from the screen object center O.
  • the weighting may be linear to the distance of the points A to the screen object center O or non-linear, or even arbitrary.
  • Crucial for this is a weighting curve, on the basis of which the weight factors are defined over the entire course of the screen object.
  • the products G • a ' x are formed, which are used for averaging (I).
  • 'Is subsequently g (3) A weighted average deviation vector a' of the three weighted deviation vectors a 'g (1), a' g (2), and a gm calculated, the weighted overall advicete x-component of a 'gm x is.
  • the deviation vector a ' gm now defines a calibration vector a gm by representing the deviation vector a' gm with a negative sign, namely -a ' gm and its x component -a gm x .
  • this prior weighting is that farther away points A from the screen object center point into the process with a lower weight, which is particularly noticeable in portrait or landscape screen objects, e.g. the SPACE key on the Qwerty keyboard or the vertical scroll bar, proves beneficial.
  • the operator mostly hits the screen object in the smaller dimension in the middle and often hits one-sided in the larger dimension, which probably also happens intentionally.
  • the described weighting may be referred to as 'deviation weighting' or 'location weighting'.
  • 3B shows a table for 1D calibration in the (x.z) plane with a screen object and 3 pad areas with averaging (I) and previous time weighting.
  • each of the x-components a ' x is now assigned a weighting factor G * before the averaging and in accordance with the acquisition order.
  • the first detected and time-older touch point 1 receives a smaller weighting factor G * than the younger time touch points 2 and 3.
  • the weighting may be linear or in any manner. Decisive for this is a weighting characteristic, on the basis of which the weighting factors are defined over the entire range of the N points of contact intended for averaging. In front 5 000760
  • this prior time weighting is that time-older points of contact with a lower weight enter into the procedure, which proves to be advantageous, above all, with changes in the eye position of the operator. Thus, the current eye position is weighted more.
  • This type of weighting can also be referred to as 'order weighting'.
  • 3C shows a table for 1D calibration in the (x, z) plane with a screen object and 3 pad areas with averaging (I) and previous location-time weighting.
  • the large G-a ' x are now provided with the time weighting factor G * , the products G * G-a' x are formed and the mean value is calculated therefrom.
  • this prior location-time weighting is to combine the two weights described in Figs. 3A and 3B.
  • FIG. 3D shows a table for 1D calibration in the (x.z) plane with a screen object and 3 pad areas with averaging (I) and previous time-location weighting.
  • the quantities G * -a ' x are now provided with the location weighting factor G, the products GG * -a' x are formed and over this calculates the mean.
  • step 4.1 Each time the touch screen is touched, e.g. in a pen-down or mouse-click (step 4.1), in the system of a computer, e.g. One with a Windows operating system generates one or more standardized specific notifications, which include, among others, x-coordinates (later also y-coordinates) (step 4.2).
  • the system searches for activation notifications which are activated by activation of a screen object, e.g. a button are generated. This is also done independently of the contact notifications, e.g. keyboard shortcuts and their visual feedback on the screen.
  • step 4.3 the on-screen contact on a screen object (button) has been executed and detected (step 4.3) and thus usable for a continuous calibration.
  • these activation notifications can be traced back to determine the position of the screen object being activated and its height and width. Based on these three pieces of information, the position, ie the x-coordinate (later also y-coordinate) of the center of the activated screen object, or the screen object center point can be determined (step 4.4).
  • the deviation data is stored and used for continuous averaging, e.g. as soon as the desired minimum number of deviation data is available (step 4.6).
  • Each pen-down event or screen touch on a screen object provides a valid or usable value.
  • the calculated results or deviations can be weighted differently (step 4.7, 4.8), depending on the age and / or their distance, or deviation from the center of the screen object and / or depending on the number of available per screen object results.
  • an average (I) is now formed (step 4.9) representing the weighted and averaged x component of the deviation vector.
  • the x component of a calibration vector is calculated (step 4.10), i. it is determined how many pixels on the x-axis (and later also the y-axis) the cursor (or input means position indicator) has to be shifted to in the current situation, i. from the current point of view, the current operating behavior and the current pen position, to bring about the alignment of the contact coordinate and cursor on the screen (step 4.11).
  • this last step there is then a contact screen calibrated with respect to the x-axis (later also with respect to the y-axis).
  • the described 1D calibration explains how multiple touch points on a single screen object over the x components of the deviation vectors result in a weighted and averaged x component of a calibration vector. On the basis of this x component, the elementary calibration step can be completed. However, as soon as a second screen object is present, other conditions exist, which are described below.
  • a point P lying vertically above the screen object BO1, represents the eye position of the operator.
  • On the screen surface BF is a second screen object BO2, which is also viewed from the point P.
  • the lines P-01 and P-O2 represent the viewing lines, respectively the lines of sight to the screen objects BO1 and BO2, or to their midpoints 01 and 02.
  • the point P represents the position of a single This is similar to a shooter who pursues his goal with one eye. Usually with the better, while the other is closed or covered.
  • point P is always understood to mean the position of a single eye, a "single eye", or a so-called "cyclopeduction". And even later, when talking about an (x, y, z) -space.
  • the two lines of sight traverse the contact surface KF at the points A and B.
  • the projection of the point A is A 'and is identical to O1.
  • the projection of the point B is B 'and lies within the screen object BO2 but outside the center 02.
  • the distance O2-B' is called parallax error, while the situation along the line of sight P-O1 for the point A is parallax-free referred to as.
  • the contact surface KF is a thin, transparent layer which, due to its structure, has a different refractive index than the air surrounding it. As a result, the line of sight P-02 is refracted differently upon entry into the medium of contact area. This different refractive behavior is not considered further below, but generally neglected.
  • the x-component a ' x 0 results for the deviation vector a' and the x-component b ' x for the deviation vector b'.
  • the calibrated x components of the points A and B result as follows:
  • a ⁇ , c ai A x ; B x ca
  • B x + b x where point B is considered parallax-corrected.
  • FIG. 6 shows an (x, z) calibration graph KG (x, z) with the calibration component b x .
  • the calibration vector can be used to construct a (x, z) calibration graph, starting from point A ', the projection point of P, with the x component of the calibration vector increasing linearly with the Distance from point A 'is taken into account.
  • a point M of the screen area which lies in the middle of the distance O 2 -A '
  • only half of the x component of the calibration vector is considered, namely b x / 2.
  • b x / 2 is taken into account.
  • the point A 'itself is correction-free.
  • the illustrated calibration graph KG (x, z) may be called linear-symmetric with respect to the projection line P - A '.
  • non-linear-symmetric, non-linear-asymmetric and linear-asymmetric calibration graphs are also conceivable.
  • FIG. 7 shows an illustration of a 2D calibration in the (x, z) plane with 2 screen objects and one contact surface point each.
  • the screen objects BO1 and BO2 the point P with the lines of sight to the centers 01 and 02 are recognizable.
  • the points of contact A and B with their projections A 'and B' are within the screen objects BO1 and BO2.
  • the point A is no longer on the line of sight P-O1. It represents any touch point for the screen object BO1.
  • the point B also represents an arbitrary touch point for the screen object BO2.
  • an (xz) eye position is determined as the intersection point S (x, z) by the fixed distance d between the contact surface and the screen surface, and the x coordinates of the screen object centers 01 and 02, with corresponding x- Deviations, or associated x-components a ' x and b' x of the deviation vectors are used.
  • a beam line 01 -A intersects with a second beam line O2-B at an intersection point S, which represents the determined eye position and whose projection on the screen surface BF is a point S '.
  • the 2D calibration can take place in the (x, z) plane with 2 screen objects and a plurality of contact surface points with averaging (I). Instead of the points of contact A and B, the points of contact A (1), A (2), ..., A (N) and B (1), B (2), ..., B (N) occur. This results in averaged calibration vectors a m and b m for each screen object, their averaged x components a mx , b mx and, with the aid of the beam set, an averaged intersection point S m (x, z), or an averaged (xz) eye position.
  • the 2D calibration can take place in the (x, z) plane with 2 screen objects and a plurality of contact surface points with prior weighting and with subsequent averaging (I). Instead of the points of contact A and B, the points of contact A (1), A (2), .... A (N) and B (1), B (2), ..., B (N) occur.
  • the 2D calibration can be performed in the (x, z) plane with 2 screen objects and multiple contact surface points with prior location-time weighting or time-location weighting and subsequent averaging (I). This results in:
  • Time-weighted averaged x components a g . gn x , b g . gmiX , and
  • Fig. 8 shows a calibration graph centered at point S '.
  • a calibration graph KG (x, z) is formed on the basis of the x components a x and b x , by the point S ', the projection of the point of intersection S (x, z), or the determined eye position running away, the calibration quantities increase in proportion to the distance of the point S '.
  • the touch screen is recalibrated.
  • a linear-symmetric calibration graph is used.
  • intersection S (x, z) has certain requirements to be met, i. it must be in a defined environment to the screen line OD, or screen surface: z. within a semicircle with radius 95 cm, whose center is in the middle of the screen line OD. If this is not the case, then the point of intersection becomes. S (x, z) discarded or not used for further calibration. Such an exclusion criterion causes a selection of the intersections, which has an advantageous effect on the method. Referring to Figs. 7 and 8, the calibration steps are as follows:
  • a x1O31 A x + a x ;
  • B x cal B x + b x
  • R ⁇ , ca , R x + (R x -S x ) • [M IR x Ia x ) -S x
  • R j an averaged slope of the (x, z) calibration graph is used taking into account the calibration components a x and b x and their spacing from S '. This second averaging for calculating an average slope is also referred to as 'averaging (II)'.
  • the arbitrary point R is thus parallax-kor ' f ⁇ giert.
  • B x cal B x + (S 0 ZS 2 ) • b x
  • R x, ca, R x + (So / S z) • (R x - S x) • [(a x / (
  • S 0 is a default value for the distance of the eye position above the screen center, eg about 35 cm.
  • the arbitrary point R is positionally and parallax corrected.
  • the calibration components a x and b x used in the calibration steps (V) and (VI) can either be only average values (mean values (I)) or additionally weights weighted in any desired way, as already described.
  • the screen objects BO1 and BO2 whose beam lines S 1 and S 2 can be seen at the intersection point S 12 and S 12 (x, z), respectively.
  • a third screen object BO3 is located in the screen area BF.
  • the intersections S 13 and S 23 result with the further beam line S 3 .
  • FIG. 10 shows the section from a table of a 2D calibration in the (x, z) plane with a third averaging over the intersections of 3 and more screen objects.
  • Column A (I) represents an excerpt from the sequence of events, or touchpoints 21-29.
  • the used calibration components a x (1), .., a x (K) can be either only averaged values (mean values (I)) or additionally weights weighted in arbitrary ways, such as a mx (1), ..., a mx (K) or a gm x ( 1), ..., a gm x (K), etc.
  • the components entered in FIG. 10 correspond to the time-weighted, averaged x components a g , gm x (1),..., A g . gm x (K) as described in Fig. 3C.
  • column B01 the value -1, 24 is entered for the first time at event 21, while in column BO2 the value +2.05 was already present from previous events and no values were still available in columns BO3,..., BOK.
  • the intersection S 12 is calculated from the value -1, 24 of the screen object BO1 and the already present value +2.05 of the screen object BO2. More precisely, this is a location-time-weighted, averaged intersection point S g . gm (12).
  • N ' 5
  • a third averaging, or averaging (III) is allowed, after the event 23, the average intersection S M (KK'), or S M (KK '; x, z) is calculated (column S M (KK ')).
  • the number N ' is usually smaller than 18, preferably 4 or 5.
  • the assumption is that all previous intersections are utilizable, ie meet the exclusion criteria.
  • intersection points S 14 , S 24 and S 34 additionally result.
  • the number of screen objects is limited.
  • a selection is usually made under the screen objects in which a screen object is excluded if it provides quasi-redundant information. This is the case, for example, when a screen object is close to an already evaluated screen object.
  • a selection of screen objects which has an advantageous effect on the process. If the first averaging (III) detected intersection S M (KK ') is present, the touch screen may be re-calibrated for the first time.
  • a number N can also be specified, which must first be reached before being re-calibrated (position-dynamic parallax correction) "is usually less than 45, preferably 4 to 7.
  • the averaging (IV) over S M (KK ') is done with the N "youngest intersections, and if (N" +1) there are values for S M (KK'), the first, ie time-oldest, first-determined value of S M (KK ') eliminates (moving average (IV); moving average (IV)).
  • a second time weighting is also conceivable for the values S M (KK '), or S M (KK'; x, z). With the number N "and a second time weighting can be influenced directly and effectively on the dynamics of the process.
  • an averaged x component of the calibration vectors a (1),..., A (K) is used (averaging (II)) and taken into account in proportion to the distance of S '.
  • the arbitrary point R is therefore parallax-corrected.
  • S 0 is a default value for the distance of the eye position above the screen center, eg about 35 cm.
  • the arbitrary point R is in turn positionally and parallax corrected.
  • the calibration components a x (K) used in the calibration steps (VII) and (VIII) are advantageously averaged and arbitrarily weighted large quantities (averages (I)), as already described.
  • R y, ca R y + (S 0 ZS 1 J • (R y -Sy ) • [E ⁇ (K) / (
  • the big R x ca! and R y iCa are determined to some extent independently of each other and provide corrections in the two directions x and y, and thus for any point of the touch screen , depending on the specification of the desired or desired dynamics corrections.
  • intersections S (y, z) as well as S (x, z) have certain requirements to be met, i. they must be in a defined environment to the screen area BF: e.g. within a hemisphere with a radius of 95 cm, whose center is in the middle of the screen. If this is not the case, the intersections S (x, z) or S (y, z) are discarded, i. they are not used for further 3D calibration.
  • the method according to the invention is easy to handle in that it uses an SD calibration function whose computation in the directions x and y is basically independent of each other. There are no joins between the x and y data that are captured, processed and used for calibration. The three-dimensional The problem of the system is thus reduced to the dimensions x and y.
  • the dynamic calibration of the touch screen is based on the user's screen touches. Calibration runs in the background, without interrupting or disturbing the user's work process or even demanding his attention. Dynamic calibration allows the method to accommodate changes in user behavior. Not recognizing the calibration process provides realistic results and does not affect usability. Using each screen object with its center point as a reference provides a large and representative set of values that allow for the accurate calculation of the necessary calibration.

Abstract

Die dynamische Kalibrierung des Touchscreens beruht auf der Basis von Bildschirmberührungen des Benutzers. Dabei läuft die Kalibrierung im Hintergrund ab, ohne den Arbeitsprozess des Benutzers zu unterbrechen oder zu stören oder auch nur seine Aufmerksamkeit zu fordern. Durch die dynamische Kalibrierung wird das Verfahren den Veränderungen im Benutzerverhalten gerecht. Obwohl der Benutzerden Kalibrierungsprozess nicht bemerkt, werden realistische Ergebnisse geliefert und die Usability wird nicht beeinträchtigt. Jedes Bildschirmobjekt dient mit seinem Mittelpunkt als Referenz, wodurch eine grosse und repräsentative Menge von Werten zur Verfügung steht, die die präzise Berechnung der notwendigen Kalibrierung ermöglicht. Unter Anwendung verschiedener gleitender Mittelwerte wird eine aktuelle Augenposition bezüglich des Touchscreens ermittelt und diese laufend mitberücksichtigt.

Description

Verfahren zur dynamischen Kalibrierung von Kontaktbildschirmen
Die vorliegende Erfindung betrifft ein Verfahren zur dynamischen Kalibrierung von Kontaktbildschirmen gemäss Patentanspruch 1.
Im IBM Technical Disclosure Bulletin Vol. 32, No. 9B, February 1990, New York US, S. 250 - 253 ist eine benutzergeführte Kalibrierungsmethode beschrieben, die - anders als die meisten bekannten Methoden, für die Pen-Down ausschlaggebend ist - das Abheben des Stiftes oder Fingers zur Grundlage ihrer Berechnungen macht. Der Benutzer muss dazu allerdings mehrere Durchläufe eines geführten Tests absolvieren.
Im Patentdokument US005801941A wird ein mobiles Gerät beschrieben, das über ein sogenanntes "Soft Keyboard" verfügt. Dieses besteht aus sechseckigen Tasten, die besonders Platz sparend sein sollen, was nur bedingt einleuchtet, da 16 von 32 Tasten beschnitten und daher gar nicht sechseckig sind. Um die Treffsicherheit der User beim Benutzen der Tastatur zu verbessern, wird ein Kontrollprogramm eingesetzt. Es geht hierbei ausdrücklich nicht darum, das bekannte Parallaxe-Problem zu lösen, sondern lediglich um die Korrektur der vom User absichtlich oder unbewusst herbeigeführten horizontalen oder vertikalen Abweichungen vom Tastenmittelpunkt. Es wird davon ausgegangen, dass Benutzer die Tasten entweder zu weit unten treffen, weil sie sich selbst mit dem Eingabemittel (Stift oder auch Finger) nicht die Sicht auf die angepeilte Taste verstellen wollen, oder aus dem gleichen oder einem anderen Grunde die Tasten zu weit links oder rechts treffen, je nachdem, ob sie Links- oder Rechtshänder sind. Das Treffverhalten wird anhand von einem einmaligen Test (einer vorgegebenen Zeichenfolge) berechnet. Hierbei wird ein Durchschnittswert ermittelt. Danach gleicht das Kontrollsystem jede Eingabe unter Zuhilfenahme der errechneten durchschnittlichen Abweichung aus. Damit wird ein Benutzer sozusagen zum "5-Pixel-nach-unten- Abweicher', dessen Eingaben alle 5 Pixel nach oben korrigiert werden. Die Prämisse, dass ein Benutzer Tasten standardmässig "falsch" trifft, erscheint für genau so uneinsichtig wie die Annahme, dass dieses Problem auch nur annähernd so relevant ist wie die während der Eingabe jeweils sich verändernde Parallaxe.
Das Patentdokument US6256021 B1 beschreibt ein Gerät bzw. eine Methode zur Berechnung der Zielflächen auf Bedienelementen, abhängig von dem Winkel bzw. der Richtung der Eingabe durch den Benutzer.
Hierbei wird der Benutzer vorab gebeten, einzugeben, ob er Links- oder Rechtshänder ist. Abhängig von dieser Eingabe werden die Zielflächen für alle berührbaren Elemente auf dem Display berechnet, wobei auch die jeweilige Position des Elements auf dem Display berücksichtigt wird. Hierbei handelt es sich um eine einmalige Berechnung, die einmalig pro Log-In erfolgt, falls es sich um einen öffentlichen Terminal handelt. Dies ist somit kein dynamisches Verfahren. Das Parallaxe-Problem beispielsweise wird davon nicht berührt bzw. gelöst.
Das Patentdokument US20020070926A1 beschreibt eine Methode zur Touchscreen- Kalibrierung, welche eine Ergebnisdatenbank benutzt. Die Kalibrierung erfolgt mit Benutzerführung, d.h. entsprechend bekannter Touchscreen-Kalibrierungsmethoden gibt das System Zielpunkte vor, die als Kalibrierungsreferenzen dienen. Der Punkt, den der vom System dazu aufgeforderte Benutzer berührt, wird mit dem Referenzpunkt verglichen. In diesem Patent wird zwischen gültigen und ungültigen Eingaben unterschieden. Die Einschätzung der Gültigkeit kann nach unterschiedlichen Gesichtspunkten erfolgen, z.B. abhängig davon, ob der vom Benutzer "getroffene" Punkt innerhalb oder ausserhalb eines bestimmten um den Referenzpunkt befindlichen Radius liegt. Erst vom System als gültig bewertete Eingaben setzen den dem Patent wesentlichen Prozess in Gang, der auf der Berücksichtigung einer Ergebnisdatenbank beruht. Die Datenbank enthält nur frühere gültige Ergebnisse von Kalibrierungsvorgängen mit Benutzerführung. Es berücksichtigt also nur das Treffverhalten am Beginn des Eingabeprozess unter geführten Bedingungen.
Die Gewichtung der Ergebnisse aus der beschriebenen Datenbank kann nach unterschiedlichen Kriterien erfolgen, z.B. nach deren Alter. Wesentlich ist, dass aus der Datenbank ein Ergebnis ermittelt wird, welches das Ergebnis des durch die als ungültig bewertete Benutzereingabe abgebrochenen aktuellen Kalibrierungsvorgangs ersetzt. In EP0618528B1 ist eine dynamische Ausrichtungsvorrichtung für Berührungsanzeigeknöpfe beschrieben, die das Problem der genauen Bedienung von Berührungsanzeigeknöpfen an öffentlichen Touchscreens lösen soll. Anhand von zwei nacheinander zu bedienenden Buttons richtet sich der Touchscreen nach Grosse bzw. Berührungsrichtung des Bedienenden aus (eine grosse Person berührt z.B. den Button eher in der oberen Region). Die Punkte, an denen die beiden Ausrichtungsbuttons berührt werden, dienen als Kalibrierungsorientierung. Auf diese Weise können mehr und kleinere Bedienflächen zur Auswahl stehen, weil sich die Treffgenauigkeit der Benutzer verbessert. Da die erzielte Genauigkeit allerdings nur auf der Auswertung von zwei Eingaben, beruht, ist sie nicht sehr verlässlich. Zudem handelt es sich um einen geführten Kalibrierungsprozess, der einen zusätzlichen Aufwand für den User bedeutet, was nachteilig ist.
Aufgabe der vorliegenden Erfindung ist es daher, unter Vermeidung der erwähnten Nachteile ein Verfahren zur dynamischen Kalibrierung von Kontaktbildschirmen anzugeben, das die Veränderungen im Benutzerverhalten laufend berücksichtigt und das als Hintergrundfunktion abläuft ohne dass der Benutzer etwas bemerkt.
Die Aufgabe wird gelöst durch ein Verfahren gemäss Patentanspruch 1.
Das Verfahren soll die Eingabe auf Touchscreengeräten hinsichtlich der Treffgenauigkeit verbessern. Hier besteht ein grosser Bedarf, da die bisherigen Kalibrierungsmethoden das drängende Parallaxen-Problem nicht haben lösen können. Nach wie vor weichen die Koordinaten vom Berührungspunkt des Eingabemittels (Stift oder Finger) und die Koordinaten des Cursors deutlich voneinander ab. Dies kann sich nach einiger Zeit des Arbeitens und der Positionsveränderung des Users noch verschlimmern. Die standardmässige einmalige Kalibrierung auf der Basis von nur vier Eingaben, die noch dazu in einer "Laborsituation" erfolgt, bietet da keine Abhilfe. Zudem merken viele Benutzer häufig nicht, wenn eine Neukalibrierung nötig ist. Mit Hilfe des Verfahrens wird die räumliche Augenposition (x/y/z) über dem Bildschirm ermittelt um eine "Positions-dynamische Parallaxen-Korrektur" auszuführen.
Mit Hilfe des Strahlensatzes, dem fixen Abstand zwischen Kontaktfläche und Bild- schirmfläche sowie der Augenposition (x/y/z) wird für jedes Bildschirmobjekt gemäss der Position seines Mittelpunkts eine "Positions-dynamische Parallaxen-Korrektur" berechnet. Diese Korrektur lässt sich für jedes Bildschirmobjekt, auch neu hinzukommende oder verschobene, anhand ihrer Bildschirmkoordinate fortwährend berechnen.
Das Verfahren wird im Folgenden anhand der Figuren beschrieben. Es zeigen:
Fig. 1 Einführende Darstellung einer 1 D-Kalibrierung in der (x,z)-Ebene mit einem Bildschirmobjekt und einem Kontaktflächen-Punkt
Fig. 2A Darstellung einer 1 D-Kalibrierung in der (x,z)-Ebene mit einem Bildschirmobjekt und 3 Kontaktflächen-Punkten und Mittelung
Fig. 2B Datentabelle zu Fig. 2A
Fig. 2C Zweite Darstellung einer 1 D-Kalibrierung in der (x.z)-Ebene mit einem Bildschirmobjekt und 3 Kontaktflächen-Punkten und Mittelung
Fig. 3A-3D Tabellen zur 1 D-Kalibrierung in der (x,z)-Ebene mit 1 Bildschirmobjekt und 3 Kontaktflächen-Punkten mit Mittelung und vorgängiger Gewichtung
Fig. 4 Flussdiagramm für eine 1 D-Kalibrierung
Fig. 5 Einführende Darstellung einer 2D-Kalibrierung in der (x,z)-Ebene mit 2
Bildschirmobjekten und Augenposition
Fig. 6 (x,z)-Kalibrierungs-Graph mit Kalibrierungskomponente bx
Fig. 7 Darstellung einer 2D-Kalibrierung in der (x.z)-Ebene mit 2 Bildschirmobjekten und je einem Kontaktflächen-Punkt
Fig. 8 (x,z)-Kalibrierungs-Graph zentriert im Punkt S'
Fig. 9 Darstellung einer 2D-Kalibrierung in der (x,z)-Ebene mit den Schnittpunkten für 3 Bildschirmobjekte
Fig. 10 Ausschnitt aus einer Tabelle einer 2D-Kalibrierung in der (x,z)-Ebene mit einer dritten Mittelung über die Schnittpunkte von 3 und mehr Bildschirmobjekten
In der vorliegenden Erfindung werden folgende Begriffe definiert: 1 D-Kalibrierung:
Kalibrierung eines Punktes A in der x-Richtung bezüglich einem Bildschirmobjekt.
2D-Kalibrierunq:
Kalibrierung von Punkten A, B in der x-Richtung und z-Richtung bezüglich > 2 Bildschirmobjekten.
3D-Kalibrierung:
Kalibrierung von Punkten A, B1 C in der x.y-Richtung und z-Richtung bezüglich > 3
Bildschirmobjekten.
Zyklopauge:
Hypothetisches Auge des Bedieners in einer Position, die sich zwischen den beiden
Augen des Bedieners befindet.
Positionsdvnamische Parallaxen-Korrektur:
Korrekturg rossen des erfindungsgemässen Verfahrens, die die Parallaxe und die Augenposition des Bedieners berücksichtigen und kontinuierlich in einem Hintergrundprogramm ermittelt werden. Sie stellen die zentralen Grossen für die Kalibrierung des Kontakt-Bildschirmes dar.
Fig. 1 zeigt eine einführende Darstellung einer 1 D-Kalibrierung in der (x,z)-Ebene mit einem Bildschirmobjekt und einem Kontaktflächen-Punkt.
Die x-Achse eines (X,Z)-Koordinatensystems ist parallel zu einer Kante eines Kontaktbildschirms ausgerichtet und liegt in dessen Bildschirmfläche BF. Über der Bildschirmfläche BF liegt mit einem Abstand d eine Kontaktfläche KF, die in der (x,z)- Ebene als Linie KF dargestellt ist und parallel zur x-Achse verläuft. Die z-Achse verläuft senkrecht zur x-Achse und ist zweckmässigerweise in einer Ecke des Kontaktbildschirms angeordnet, wo auch der Nullpunkt des (X,Z)-Koordinatensystems liegt. Auf der Kontaktfläche KF befindet sich ein Berührungspunkt A, dessen Projektion auf die Bildschirmfläche den Punkt A' bildet. Den Punkten A und A' sind im (X,Z)-Koordina- tensystem die Koordinaten A(x,z) und A'(x,z) zugeordnet. Die z-Komponente des Punktes A' ist null, während die z-Komponente des Punktes A die Distanz d beträgt. Die Kontaktfläche und die Bildschirmfläche liegen nahe aufeinander, sodass die Distanz d in der Regel 0,5 - 4,0 mm beträgt. In Fig. 1 ist die Distanz d aus Gründen der Übersichtlichkeit überhöht dargestellt. Auf der Bildschirmfläche BF befindet sich ein Bildschirmobjekt BO, das in der Regel eine Taste oder ein Balken ist, aber auch eine beliebige Form aufweisen kann. Bildschirmobjekte stehen auf dem Kontaktbildschirm mit verschiedenster Herkunft zur Verfügung. Entweder stammen sie von einem Betriebssystem oder von einem weiteren Programm. Bildschirmobjekte beliebiger Art bilden die Basis für eine dynamische Kalibrierung.
Wenn nun die Eingabe durch den Benutzer, bzw. den Bediener im Berührungspunkt A erfolgt ist, wird geprüft, ob sich der Punkt A, bzw. der Punkt A' innerhalb des Bildschirmobjektes BO befindet, bzw. ob der Punkt A' zum Bildschirmobjekt BO gehört. Da auch den Begrenzungen des Bildschirmobjektes BO Koordinaten zugeordnet sind, wird die Zugehörigkeit des Punktes A' zum Bildschirmobjekt in bekannter Weise ermittelt. Wenn der Punkt A' nicht zum Bildschirmobjekt BO gehört, bzw. ausserhalb diesem liegt, wird der Punkt A' für das Kalibrierungsverfahren nicht beigezogen, bzw. er wird verworfen. Wenn der Punkt A' jedoch zum Bildschirmobjekt BO gehört, wird der Bildschirmobjekt-Mittelpunkt O, bzw. Bildschirmobjekt-Schwerpunkt berechnet. Anschliessend wird ein Abweichungsvektor a' berechnet, der vom Bildschirmobjekt- Mittelpunkt O zum Punkt A' führt und dessen x-Komponente a'x beträgt. Mit dem Fettdruck aJ wird eine Vektorgrösse dargestellt, was auch im weiteren der Fall sein wird. Der Abweichungsvektor a' definiert nun einen Kalibrierungsvektor a, indem erden Abweichungsvektor a' mit negativem Vorzeichen darstellt, nämlich -a' und dessen x- Komponente -ax. Somit ergibt sich der elementare Kalibrierungsschritt als: Ax caI = Ax + ax = Ax - a'x, wobei Ax cal die kalibrierte x-Komponente des Punktes A auf der Kontaktfläche KF darstellt.
Ziel des Bedieners ist es, das Bildschirmobjekt immer in der Mitte zu treffen. In der Realität ist dies jedoch nicht der Fall. So liegen die Trefferbilder auf einem Bildschirmobjekt meist nicht zentriert um die Mitte, sondern einseitig exzentrisch. Tatsache ist, dass der Bediener die Bildschirmobjekte grossmehrheitlich trifft.
Es kann vorkommen, dass der Bediener ein Bildschirmobjekt nicht trifft, bzw. sich vertippt und den unerwünschten Vorgang erkennt. Für diesen Fall ist eine Ignorierfunktion vorgesehen, mittels derer der Bediener in der Lage ist, den fehlerhaften Berührungspunkt zu löschen, bzw. zu ignorieren und damit dessen Eingang in die Ergebnisdatenbank zu unterbinden oder abzublocken. Dies erfolgt in der Regel über irgendeinen Befehl, der z.B. über eine Hilfstaste ausgelöst werden kann. Dies ist jedoch nicht zwingend nötig.
Fig. 2A zeigt eine Darstellung einer 1 D-Kalibrierung in der (x.z)-Ebene mit einem Bildschirmobjekt und 3 Kontaktflächen-Punkten und Mittelung.
In einer ähnlichen Anordnung wie in Fig. 1 befinden sich auf der Kontaktfläche die Berührungspunkte A(1 ), A(2) und A(3), deren Projektionen auf die Bildschirmfläche die Punkte A'(1), A'(2) und A'(3) bilden. Den Punkten A(1 ), A(2), A(3) und A'(1), A'(2), A'(3) sind im (X,Z)-Koordinatensystem die Koordinaten A(1 ;x,z), .... und A'(1 ;x,z), ... zugeordnet. Die Punkte A(1 ), A(2) und A(3) sind entstanden durch die Eingabe des Bedieners mit dem Ziel das Bildschirmobjekt zu treffen, was gelungen ist, denn die drei Punkte liegen innerhalb des Bildschirmobjektes. Für jeden der Punkte A'(1 ), A'(2), A'(3) werden Abweichungsvektoren a'(1), a'(2), a'(3) berechnet, die vom Bildschirmobjekt- Mittelpunkt O zum den Punkten A'(1 ), A'(2), A'(3) führen und deren x-Komponenten a'xO). a'x(2) und a'x(3) betragen. Aus den drei Abweichungsvektoren a'(1), a'(2), a'(3) wird anschliessend ein gemittelter Abweichungsvektor a'm berechnet, dessen gemittelte x-Komponente a'm x ist. Analog zum bereits Beschriebenen definiert der Abweichungsvektor a'm nun einen Kalibrierungsvektor am, indem er den Abweichungsvektor a'm mit negativem Vorzeichen darstellt, nämlich -a'm und dessen x-Komponente -am x. Analog ergibt sich als Kalibrierungsschritt: Am xcal = Am x + am_x = AmiX - a'm χ) wobei Am x cal die kalibrierte x-Komponente eines gemittelten Punktes A auf der Kontaktfläche KF darstellt.
Fig. 2B zeigt eine Tabelle der abgespeicherten Daten zur 1 D-Kalibrierung mit Mittelung. Die Ereignisse 1 , 2, 3 haben die Werte +12, +4 und -12 als x-Komponenten der Abweichungsvektoren a'(1), a'(2) und a'(3) geliefert. Nach Vorliegen von einer Anzahl N von Ereignissen mit N = 3 wurde erstmals ein erster Mittelwert, bzw. ein Mittelwert (I) berechnet, was den Wert 1 ,33 für die x-Komponente a'm x des gemittelten Abweichungsvektors a'm geliefert hat. Mit umgekehrtem Vorzeichen ergab sich ein Wert von -1 ,33 für die x-Komponente -a'm xdes gemittelten Kalibriemngsvektors am. Die Zahl N ist in der Regel kleiner als 100, vorzugsweise 8 bis 30. Die Zahl N stellt gleichzeitig auch eine sog. 'Fenstergrösse' dar, wie sie in bekannter Weise bei gleitenden Mittelwerten (moving average) verwendet werden (M. R. Spiegel, L. J. Stephens, Statistik, S. 529-530, Verlag Moderne Industrie (2003)).
Fig. 2C zeigt eine zweite Darstellung einer 1 D-Kalibrierung in der (x.z)-Ebene mit einem Bildschirmobjekt und 3 Kontaktflächen-Punkten und Mittelung. In einer ähnlichen Anordnung wie in Fig. 1 befinden sich auf der Kontaktfläche die Berührungspunkte A(1), A(2) und A(3), deren Projektionen auf die Bildschirmfläche die Punkte A'(1 ), A'(2) und A'(3) bilden. Von den Punkten A(1 ), A(2), A(3) zum Bildschirmobjekt-Mittelpunkt O führende Linien A(I)-O, A(2)-O, A(3)-O bilden zur Bildschirmflächenlinie BF Winkel α(1 ), α(2) und α(3). Aus den drei Winkeln α(1 ), α(2), α(3) wird anschliessend ein gemittelter Winkel αm berechnet, dem auf der Kontaktflächenlinie KF ein gemittelter Berührungspunkt Am entspricht, der durch eine zum Bildschirmobjekt- Mittelpunkt O führende Linie Am-O zur Bildschirmflächenlinie BF den Winkel αm bildet. Für den Punkt Am wird der Abweichungsvektor a'm berechnet, der vom Bildschirmobjekt-Mittelpunkt O zum Punkt Am führt, und dessen gemittelte x-Komponente a'm x ist. Analog ergibt sich wie in Fig. 2A beschrieben die kalibrierte x-Komponente Am x cal des gemittelten Punktes Am. Diese Kalibrierungskomponente ist nicht immer identisch mit der in Fig. 2A ermittelten, aber sie kann in gleicher Weise zur Kalibrierung herangezogen werden. Hiermit wurde eine zweite Art der Herleitung (und keinesfalls ab- schliessend) beschrieben, wie ein Abweichungsvektor berechnet werden kann, der zu einem Kalibrierungsschritt führt.
Fig. 3A zeigt eine Tabelle zur 1 D-Kalibrierung in der (x.z)-Ebene mit einem Bildschirmobjekt und 3 Kontaktflächen-Punkt mit Mittelung (I) und vorgängiger Gewichtung. In der Tabelle sind die gleichen 3 Punkte wie in Fig. 2A berücksichtigt mit den x- Komponenten a'x ihrer Abweichungsvektoren a'. Jeder der x-Komponenten a'xwird nun vor der Mittelung ein Gewichtsfaktor G zugeordnet und zwar nach Massgabe der Abweichung vom Bildschirmobjekt-Mittelpunkt O. Die mit den Werten +12 und -12 weiter vom Bildschirmobjekt-Mittelpunkt O liegenden Punkte A(1) und A(3) erhalten den Gewichtsfaktor G = 0,2, während der näher liegende Punkt A(2) einen Gewichtsfaktor G = 0,9 erhält. Die Gewichtung kann linear zum Abstand der Punkte A zum Bildschirmobjekt-Mittelpunkt O erfolgen oder nicht-linear, bzw. sogar beliebig. Massgebend dafür ist eine Gewichtungskennlinie, an Hand der die Gewichtsfaktoren über den gesamten Verlauf des Bildschirmobjektes festgelegt vorliegen. Vor der Mittelung werden nun die Produkte G a'x gebildet, die zur Mittelung (I) herangezogen werden. Aus den drei gewichteten Abweichungsvektoren a'g(1), a'g(2), a'g(3) wird anschliessend ein gewichteter, gemittelter Abweichungsvektor a'gm berechnet, dessen gewichtete, ge- mittelte x-Komponente a'gm x ist. Analog zum bereits Beschriebenen definiert der Abweichungsvektor a'gm nun einen Kalibrierungsvektor agm, indem er den Abweichungsvektor a'gm mit negativem Vorzeichen darstellt, nämlich -a'gm und dessen x- Komponente -agm x. Analog ergibt sich als Kalibrierungsschritt: Agm x ca, = Ax + agm x = Ax -a'gmx, wobei Agmxca| die kalibrierte x-Komponente eines gewichteten, gemittelten Punktes A auf der Kontaktfläche KF darstellt.
Der Zweck dieser vorgängigen Gewichtung geht dahin, dass weiter entfernt liegende Punkte A vom Bildschirmobjekt-Mittelpunkt mit einem tieferen Gewicht in das Verfahren eingehen, was sich vor allem bei hoch- oder querformatigen Bildschirmobjekten, wie z.B. der SPACE-Taste auf der Qwerty-Tastatur oder dem vertikalen Scroll-Balken, vorteilhaft erweist. Tatsache ist, dass der Bediener in diesen Fällen meistens das Bildschirmobjekt in der kleineren Dimension in die Mitte trifft und in der grosseren Dimension vielfach sehr einseitig trifft, was wohl auch absichtlich erfolgt. Somit kann die beschriebene Gewichtung als 'Abweichungs-Gewichtung', bzw. 'Ort-Gewichtung' bezeichnet werden.
Fig. 3B zeigt eine Tabelle zur 1 D-Kalibrierung in der (x.z)-Ebene mit einem Bildschirmobjekt und 3 Kontaktflächen-Punkten mit Mittelung (I) und vorgängiger Zeit- Gewichtung.
In der Tabelle sind die gleichen 3 Punkte wie in Fig. 2 berücksichtigt mit den x-Kom- ponenten a'x ihrer Abweichungsvektoren a'. Jeder der x-Komponenten a'x wird nun vor der Mittelung ein Gewichtsfaktor G* zugeordnet und zwar nach Massgabe der Erfassungsreihenfolge. Der ersterfasste und zeit-ältere Berührungspunkt 1 erhält einen kleineren Gewichtsfaktor G* als die zeit-jüngeren Berührungspunkte 2 und 3. Die Gewichtung kann linear oder in einer beliebigen Art erfolgen. Massgebend dafür ist eine Gewichtungskennlinie, an Hand der die Gewichtsfaktoren über den gesamten Bereich der zur Mittelung vorgesehenen N Berührungspunkte festgelegt vorliegen. Vor 5 000760
10 der Mittelung werden nun die Produkte G*-a'x gebildet, die zur Mittelung (I) herangezogen werden.
Aus den drei zeit-gewichteten Abweichungsvektoren a'g*(1), a'g*(2), a'g„(3) wird an- schliessend ein zeit-gewichteter, gemittelter Abweichungsvektor a'g,m berechnet, dessen zeit-gewichtete, gemittelte x-Komponente a'g.m x ist.
Analog ergibt sich als Kalibrierungsschritt: Ag.m xca, = Ax + ag,m x = Ax - a'g.m x, wobei Ag-mx cai die kalibrierte x-Komponente eines zeit-gewichteten, gemittelten Punktes A auf der Kontaktfläche KF darstellt.
Der Zweck dieser vorgängigen Zeit-Gewichtung geht dahin, dass zeit-ältere Berührungspunkte mit einem tieferen Gewicht in das Verfahren eingehen, was sich vor allem bei Änderungen der Augenposition des Bedieners vorteilhaft erweist. Damit wird die aktuelle Augenposition stärker gewichtet. Diese Art der Gewichtung kann auch als 'Reihenfolge-Gewichtung' bezeichnet werden.
Fig. 3C zeigt eine Tabelle zur 1 D-Kalibrierung in der (x,z)-Ebene mit einem Bildschirmobjekt und 3 Kontaktflächen-Punkten mit Mittelung (I) und vorgängiger Ort-Zeit- Gewichtung.
Wie in Fig. 3A als Ort-Gewichtung bereits beschrieben, werden nun die Grossen G-a'x mit dem Zeit-Gewichtsfaktor G* versehen, die Produkte G*G-a'x gebildet und über diese der Mittelwert berechnet. Es resultiert ein ort-zeit-gewichteter, gemittelter Abweichungsvektor a'g*grn, dessen ort-zeit-gewichtete, gemittelte x-Komponente a'g,gm x = +0,56 ist.
Als Kalibrierungsschritt ergibt sich: Ag.grr,iXιCal = Ax + ag.gm>x = Ax - a'g , gm,χi wobei Ag.gm,X)Cal die kalibrierte x-Komponente eines ort-zeit-gewichteten, gemittelten Punktes A auf der Kontaktfläche KF darstellt.
Der Zweck dieser vorgängigen Ort-Zeit-Gewichtung geht dahin, dass sie die beiden in Fig. 3A und 3B beschriebenen Gewichtungen vereinigt.
Fig. 3D zeigt eine Tabelle zur 1 D-Kalibrierung in der (x.z)-Ebene mit einem Bildschirmobjekt und 3 Kontaktflächen-Punkten mit Mittelung (I) und vorgängiger Zeit-Ort- Gewichtung.
Wie in Fig. 3B als Zeit-Gewichtung bereits beschrieben, werden nun die Grössen G*-a'x mit dem Ort-Gewichtsfaktor G versehen, die Produkte GG*-a'x gebildet und über diese der Mittelwert berechnet. Es resultiert ein zeit-ort-gewichteter, gemittelter Abweichungsvektor a'gg*m, dessen zeit-ort-gewichtete, gemittelte x-Komponente a'gg.m x = +0,56 ist.
Als Kalibrierungsschritt ergibt sich: Agg.m XiCal = Ax + agg.m,x = Ax - a'gg.m,x, wobei Agg.m xcal die kalibrierte x-Komponente eines zeit-ort-gewichteten, gemittelten Punktes A auf der Kontaktfläche KF darstellt.
Der Zweck dieser vorgängigen Zeit-Ort-Gewichtung geht dahin, dass sie die beiden in Fig. 3A und 3B beschriebenen Gewichtungen vereinigt.
Wie aus Fig. 3C und 3D hervorgeht, sind die Resultate für die kalibrierten x- Komponenten identisch. Es ist irrelevant, ob zuerst ort-gewichtet oder zeit-gewichtet wird: Die Operationen der Ort-Gewichtung und Zeit-Gewichtung sind vertauschbar.
Fig. 4 zeigt ein Flussdiagramm für eine 1 D-Kalibrierung. Die Werte, bzw. die Koordinaten die in eine Ergebnisdatenbank aufgenommen werden und die Basis zur Kalibrierung darstellen, werden mit Bezug auf die Schritte im Flussdiagramm folgendermassen gewonnen:
Jedes Mal, wenn der Kontaktbildschirm berührt wird, z.B. bei einem Pen-Down oder einem Mouse-Click (Schritt 4.1 ), werden im System eines Computers, z.B. eines mit einem Windows-Betriebssystem, eine oder mehrere standardisierte spezifische Benachrichtigungen erzeugt, welche unter anderem x-Koordinaten (später auch y-Koor- dinaten) enthalten (Schritt 4.2).
Jedes Mal, wenn eine solche Benachrichtigung vom erfindungsgemässen Verfahren erkannt wird, wird im System nach Aktivierungs-Benachrichtigungen gesucht, welche durch Aktivieren eines Bildschirmobjekts z.B. einer Schaltfläche erzeugt werden. Dies erfolgt auch unabhängig der Kontakt-Benachrichtigungen, z.B. bei Tastaturbefehlen und deren visuelles Feedback auf dem Bildschirm.
Falls diese Aktivierungs-Benachrichtigungen gefunden werden, wurde der Bildschirm- Kontakt auf einem Bildschirmobjekt (Schaltfläche) ausgeführt und erkannt (Schritt 4.3) und ist somit für eine fortlaufende Kalibrierung nutzbar. Mit Hilfe Fachpersonen bekannter Methoden können diese Aktivierungs-Benachrichtigungen zurückverfolgt und die Position des aktivierten Bildschirmobjekts sowie dessen Höhe und Breite ermittelt werden. Anhand dieser drei Informationen kann die Lage, d.h. die x-Koordinate (später auch y-Koordinatβ) des Zentrums des aktivierten Bildschirmobjekts, bzw. des Bildschirmobjekt-Mittelpunktes ermittelt werden (Schritt 4.4).
Anhand dieser Zentrums-Koordinate und der Kontakt- Koordinate kann die horizontale (und vertikale) Abweichung - oder auch Richtung und Entfernung der Abweichung des Pen-Down-Ereignisses- bezüglich der Bildschirmobjektmitte berechnet werden (Schritt 4.5). Die Abweichungsdaten werden gespeichert und zur fortlaufenden Durchschnittsberechnung, bzw. Mittelung verwendet, z.B. sobald die gewünschte Mindestanzahi von Abweichungsdaten vorhanden ist (Schritt 4.6).
Jedes Pen-Down-Ereignis, bzw. jede Bildschirmberührung auf einem Bildschirmobjekt liefert einen gültigen, bzw. verwertbaren Wert. Die berechneten Ergebnisse, bzw. Abweichungen können aber unterschiedlich gewichtet werden (Schritt 4.7, 4.8), je nach Alter und/oder ihrer Entfernung, bzw. Abweichung vom Mittelpunkt des Bildschirmobjektes und/oder je nach Anzahl der pro Bildschirmobjekt zur Verfügung stehenden Ergebnisse.
Über die letzten N Ereignisse wird nun ein Mittelwert (I) gebildet (Schritt 4.9), der die gewichtete und gemittelte x-Komponente des Abweichungsvektors darstellt. Auf der Basis der kontinuierlich neu erzeugten Werte wird die x-Komponente eines Kalibrierungsvektors berechnet (Schritt 4.10), d.h. es wird ermittelt, wie viel Pixel auf der x-Achse (und später auch y-Achse) der Cursor (oder Eingabemittel-Positionsanzeiger) verschoben werden muss, um in der aktuellen Situation, d.h. unter dem aktuellen Blickwinkel, dem aktuellen Bedienverhalten und der aktuellen Stiftposition, auf dem Bildschirm die Angleichung von Kontakt-Koordinate und Cursor herbeizuführen (Schritt 4.11). Mit diesem letzten Schritt liegt dann ein bezüglich der x-Achse (später auch bezüglich der y-Achse) kalibrierter Kontaktbildschirm vor. Die beschriebene 1 D-Kalibrierung erläutert, wie mehrere Berührungspunkte bei einem einzigen Bildschirmobjekt über die x-Komponenten der Abweichungsvektoren zu einer gewichteten und gemittelten x-Komponente eines Kalibrierungssvektors führen. An Hand dieser x-Komponente kann der elementare Kalibrierungsschritt vollzogen werden. Sobald jedoch ein zweites Bildschirmobjekt vorliegt, liegen andere Verhältnisse vor, die im Folgenden beschrieben werden.
Fig. 5 zeigt eine einführende Darstellung einer 2D-Kalibrierung in der (x.z)-Ebene mit 2 Bildschirmobjekten und Augenposition. H2005/000760
13
Ein Punkt P, senkrecht oberhalb des Bildschirmobjektes BO1 liegend, stellt die Augenposition des Bedieners dar. Auf der Bildschirmfläche BF befindet sich ein zweites Bildschirmobjekt BO2, das ebenfalls vom Punkt P aus betrachtet wird. Die Linien P-01 und P-O2 stellen die Betrachtungslinien, bzw. die Sichtlinien zu den Bildschirmobjekten BO1 und BO2, bzw. zu deren Mittelpunkten 01 und 02 dar. In der vorliegenden (x.z)-Ebene stellt der Punkt P die Position eines einzelnen Auges dar. Dies ist vergleichbar mit einem Schützen, der sein Ziel mit einem Auge verfolgt. Meistens mit dem besseren, währenddem das andere geschlossen oder abgedeckt wird. Im Weiteren wird im Punkt P immer die Position eines einzelnen Auges, eines Εinzelauges', bzw. eines sog. 'Zyklopauges' verstanden. Und zwar auch später, wenn von einem (x,y,z)-Raum die Rede ist.
Die beiden Sichtlinien durchqueren die Kontaktfläche KF in den Punkten A und B. Die Projektion des Punktes A ist A' und ist identisch mit O1. Die Projektion des Punktes B ist B' und liegt innerhalb des Bildschirmobjektes BO2 aber abseits des Mittelpunktes 02. Die Distanz O2-B' wird als Parallaxenabweichung, bzw. Parallaxenfehler bezeichnet, während die Situation entlang der Sichtlinie P-O1 für den Punkt A als parallaxenfrei bezeichnet wird.
Die Kontaktfläche KF ist eine dünne, durchsichtige Schicht, die auf Grund ihres Aufbaus einen anderen Brechungsindex als die sie umgebende Luft aufweist. Demzufolge wird die Sichtlinie P-02 beim Eintritt in das Medium Kontaktfläche unterschiedlich gebrochen. Dieses unterschiedliche Brechungsverhalten wird im Folgenden nicht weiter berücksichtigt, sondern generell vernachlässigt.
Wenn die Punkte A und B gleichzeitig Berührungspunkte sind, ergibt sich die x-Kompo- nente a'x = O für den Abweichungsvektor a' und die x-Komponente b'x für den Abweichungsvektor b'. Mit den entsprechenden Kalibrierungsvektoren a und b ergeben sich die kalibrierten x-Komponenten der Punkte A und B wie folgt:
Aχ,cai = Ax; Bx ca| = Bx + bx womit der Punkt B als parallaxen-korrigiert gilt.
Fig. 6 zeigt einen (x,z)-Kalibrierungs-Graphen KG(x,z) mit der Kalibrierungskomponente bx. Der Kalibrierungsvektor kann für den Aufbau eines (x,z)-Kalibrierungs- Graphen verwendet werden, indem vom Punkt A', dem Projektionspunkt von P ausgehend, die x-Komponente des Kalibrierungsvektors linear zunehmend mit dem Abstand vom Punkt A' berücksichtigt wird. So wird in einem Punkt M der Bildschirmfläche, der in der Mitte vom Abstand 02 - A' liegt, nur die Hälfte der x-Komponente des Kalibrierungsvektors berücksichtigt, nämlich bx/2. Auch in einem Punkt M', der in entgegengesetzter Richtung von A' aber in gleichem Abstand wie M von A' liegt, wird bx/2 berücksichtigt. Der Punkt A' selber ist korrekturfrei.
Auf diese Weise wird mit der ermittelten x-Komponente bx des Kalibrierungsvektors b eine proportional zum Abstand vom Punkt A' wachsende Kalibrierungsgrösse definiert, die über die ganze Ausdehnung des Kontaktbildschirmes für einen beliebigen Punkt, bzw. Berührungspunkt berücksichtigt wird. Hieraus ergibt sich eine sog. Optimierte Kalibrierung'.
Der dargestellte Kalibrierungs-Graph KG(x,z) kann linear-symmetrisch bezüglich der Projektionslinie P - A' bezeichnet werden. Selbstverständlich sind ebenfalls nicht-linearsymmetrische, nicht-linear-asymmetrische und linear-asymmetrische Kalibrierungs- Graphen denkbar.
Fig. 7 zeigt eine Darstellung einer 2D-Kalibrierung in der (x,z)-Ebene mit 2 Bildschirmobjekten und je einem Kontaktfläche-Punkt.
Wie in Fig. 6 sind die Bildschirmobjekte BO1 und BO2, der Punkt P mit den Sichtlinien zu den Mittelpunkten 01 und 02 erkennbar. Die Berührungspunkte A und B mit ihren Projektionen A' und B' liegen innerhalb der Bildschirmobjekte BO1 und BO2. Der Punkt A liegt nicht mehr auf der Sichtlinie P-O1. Er stellt einen beliebigen Berührungspunkt für das Bildschirmobjekt BO1 dar. Der Punkt B stellt ebenfalls einen beliebigen Berührungspunkt für das Bildschirmobjekt BO2 dar.
Mit Hilfe des Strahlensatzes wird eine (x.z)-Augenposition als Schnittpunkt S(x,z) ermittelt, indem der fixe Abstand d zwischen Kontaktfläche und Bildschirm-Oberfläche, sowie die x-Koordinaten der Bildschirmobjekt-Mittelpunkte 01 und 02 mit je dazugehörenden x-Abweichungen, bzw. dazugehörenden x-Komponenten a'x und b'x der Abweichungsvektoren herangezogen werden.
Eine Strahllinie 01 -A schneidet sich mit einer zweiten Strahllinie O2-B in einem Schnittpunkt S, der die ermittelte Augenposition darstellt und dessen Projektion auf der Bildschirmfläche BF ein Punkt S' ist. An Hand des Strahlensatzes ergeben sich aus den Gleichungen (I) bis (IV) die Koordinaten Sx und Sz des Schnittpunktes S(x,z) zu: S2 = (d SO1 ) / AO1 = (d S'O2) / BO2 (I)
S'O1 / A'O1 = S'O2 / BO2 (II)
S'O1 + O2S1 = 0201 (III)
Sx = 0O1 + S'O1 (IV)
Damit ist die S(x,z)-Augenposition relativ zum Kontaktbildschirm ermittelt. In Anlehnung an die Beschreibung der Fig. 2A kann die 2D- Kalibrierung in der (x,z)- Ebene mit 2 Bildschirmobjekten und mehreren Kontaktflächen-Punkten mit Mittelung (I) erfolgen. Anstelle der Berührungspunkte A und B treten die Berührungspunkte A(1 ), A(2), ..., A(N) und B(1), B(2), ..., B(N). Es resultieren für jedes Bildschirmobjekt gemittelte Kalibrierungsvektoren am und bm, deren gemittelte x-Komponenten am x, bm x und mit Hilfe des Strahlensatzes ein gemittelter Schnittpunkt Sm(x,z), bzw. eine gemittelte (x.z)-Augenposition.
In Anlehnung an die Beschreibung der Fig. 3A kann die 2D-Kalibrierung in der (x,z)- Ebene mit 2 Bildschirmobjekten und mehreren Kontaktflächen-Punkten mit vorgängiger Gewichtung und mit anschliessender Mittelung (I) erfolgen. Anstelle der Berührungspunkte A und B treten die Berührungspunkte A(1), A(2), .... A(N) und B(1 ), B(2), ..., B(N). Es resultieren gewichtete, gemittelte Kalibrierungsvektoren agm und bgm, deren gewichtete, gemittelte x-Komponenten agm x, bgm x und mit Hilfe des Strahlensatzes ein gewichteter, gemittelter Schnittpunkt Sgm(x,z), bzw. eine gewichtete, gemittelte (x,z)- Augenposition.
In Anlehnung an die Beschreibung der Fig. 3C und 3D kann die 2D-Kalibrierung in der (x,z)-Ebene mit 2 Bildschirmobjekten und mehreren Kontaktflächen-Punkten mit vorgängiger Ort-Zeit-Gewichtung oder Zeit-Ort-Gewichtung und mit anschliessender Mittelung (I) erfolgen. Es resultieren:
a) Bei Ort-Zeit-Gewichtung:
- Ort-zeit-gewichtete, gemittelte Kalibrierungsvektoren ag*gm und bg*gm,
- ort-zeit-gewichtete, gemittelte x-Komponenten ag.gπn x, bg.gmiX, und
- ein ort-zeit-gewichteter, gemittelter Schnittpunkt Sg.gm(x,z), bzw.
- eine ort-zeit-gewichtete, gemittelte (x,z)-Augenposition. b) Bei Zeit-Ort-Gewichtung:
- zeit-ort-gewichtθte, gemittelte Kalibrierungsvektoren agg*m und bgffW
- zeit-ort-gewichtete, gemittelte x-Komponenten agg.m?χ) bgg.m x, und
- ein zeit-ort-gewichteter, gemittelter Schnittpunkt Sgg.m(x,z), bzw.
- eine zeit-ort-gewichtete, gemittelte (x,z)-Augenposition.
Vorteilhaft ist es, pro Bildschirmobjekt einen Mittelwert (I) zu bestimmen und diesen dann für die weitere Berechnung zu verwenden. Dies ist jedoch keineswegs zwingend. Allerdings ist ohne eine Mittelung (I) mit erheblich grosserem Rechenaufwand zu rechnen.
Fig. 8 zeigt einen im Punkt S' zentrierten Kalibrierungs-Graphen. Analog zu Fig. 6 wird an Hand derx-Komponenten ax und bxein Kalibrierungs-Graph KG(x,z) gebildet, indem vom Punkt S', der Projektion des Schnittpunktes S(x,z), bzw. der ermittelten Augenposition weglaufend die Kalibrierungsgrössen proportional zum Abstand des Punktes S' zunehmen. Sobald ein neuer Schnittpunkt S(x,z) berechnet vorliegt, wird der Kontaktbildschirm neu kalibriert. In der Regel gelangt ein linear-symmetrischer Kalibrierungs-Graph zur Anwendung.
Der Schnittpunkt S(x,z) hat gewisse Anforderungen zu erfüllen, d.h. er muss sich in einem definierten Umfeld zur Bildschirmlinie OD, bzw. Bildschirmfläche befinden: Z.B. innerhalb eines Halbkreises mit Radius 95 cm, dessen Zentrum sich in der Mitte der Bildschirmlinie OD befindet. Ist dies nicht der Fall, so wird der Schnittpunkt . S(x,z) verworfen, bzw. für die weitere Kalibrierung nicht weiter verwendet. Ein derartiges Ausschlusskriterium bewirkt eine Selektion der Schnittpunkte, was sich auf das Verfahren vorteilhaft auswirkt. Zu den Fig. 7 und 8 ergeben sich die Kalibrierungsschritte wie folgt:
1. Ohne S_-Abhänqiqkeit (entsprechend einer x-Positions-Parallaxen-Korrektur): Für die Punkte A und B:
Ax1O31 = Ax + ax; Bx cal = Bx + bx
Für einen beliebigen Punkt R:
,ca, = Rx + (Rx - Sx) [M IRxIax) - Sx|) + bx/(|Rx(bx) - Sx|))/2] (V) Für den beliebigen Punkt R jwird eine gemittelte Steigung des (x,z)-Kalibrierungs- Graphen verwendet, indem die Kalibrierungskomponenten ax und bx sowie deren Abstand von S' berücksichtigt werden. Diese zweite Mittelwertbildung zur Berechnung einer mittleren Steigung wird auch als 'Mittelung (II)' bezeichnet. Der beliebige Punkt R ist demnach parallaxen-kor'fϊgiert.
2. Mit S,-Abhänqiqkeit (entsprechend einer (x,z)-Positions-Parallaxen-Korrektur): Für die Punkte A und B:
Ax,ca, = Ax + (So/S2) ax; Bx cal = Bx + (S0ZS2) bx
Für einen beliebigen Punkt R:
Rx,ca, = Rx + (So/Sz) (Rx - Sx) [(ax/(|Rx(ax) - SJ) + bx/()Rx(bx) - Sx|))/2] (VI)
S0 ist ein Standardwert für den Abstand der Augenposition über der Bildschirm mitte, z.B. etwa 35 cm. Hiermit ist der beliebige Punkt R positions- und parallaxen-korrigiert.
Die in den Kalibrierungsschritten (V) und (VI) verwendeten Kalibrierungskomponenten ax und bx können entweder lediglich gemittelte Grossen (Mittelwerte (I)) oder zusätzlich in beliebiger Art gewichtete Grossen sein, wie bereits beschrieben.
Fig. 9 zeigt eine Darstellung einer 2D-Kalibrierung in der (x.z)-Ebene mit den Schnittpunkten für 3 Bildschirmobjekte.
Wie in Fig. 6 sind die Bildschirmobjekte BO1 und BO2, deren Strahllinien S1 und S2 zum Schnittpunkt S12, bzw. S12(x,z) erkennbar. Ein drittes Bildschirmobjekt BO3 liegt in der Bildschirmfläche BF. In analoger Weise ergeben sich mit der weiteren Strahllinie S3 die Schnittpunkte S13 und S23.
Fig. 10 zeigt den Ausschnitt aus einer Tabelle einer 2D-Kalibrierung in der (x,z)-Ebene mit einer dritten Mittelung über die Schnittpunkte von 3 und mehr Bildschirmobjekten. Die Kolonne A(I) stellt einen Ausschnitt aus der Reihenfolge der Ereignisse, bzw. die Berührungspunkte 21 -29 dar. Im nächsten Kolonnenblock, die Bildschirmobjekte BO1 , ..., BOK betreffend, sind die x-Komponenten der Kalibrierungsvektoren a(1), ..., a(K), nämlich ax(1 ), ..., ax(K) eingetragen. Die verwendeten Kalibrierungskomponenten ax(1 ), .., ax(K) können entweder lediglich gemittelte Grossen (Mittelwerte (I)) oder zusätzlich in beliebiger Art gewichtete Grossen sein, wie etwa am x(1 ), ..., am x(K) oder agm x(1 ), ..., agm x(K) usw.. Vorteilhafterweise werden ort-zeit-gewichtete, gemittelte x-Komponenten ag-gm,x(1 ). .... ag'gm,χ(κ)> D2W- zeit-ort-gewichtete, gemitteite x-Komponenten agg.mιX(1), ..., agg.m x(K) eingetragen. Die in Fig. 10 eingetragenen Komponenten entsprechen den ort- zeit-gewichteten, gemittelten x-Komponenten ag,gm x(1 ), ..., ag.gm x(K), wie sie in Fig. 3C beschrieben wurden.
In Kolonne B01 wird beim Ereignis 21 erstmals der Wert -1 ,24 eingetragen, während in Kolonne BO2 bereits aus früheren Ereignissen der Wert +2,05 vorlag und in den Kolonnen BO3, ..., BOK noch keine Werte verfügbar waren. Es wird der Schnittpunkt S12 aus dem Wert -1 ,24 des Bildschirmobjektes BO1 und dem bereits anstehenden Wert +2,05 des Bildschirmobjektes BO2 berechnet. Genauer bezeichnet ist dies ein ort-zeit-gewichteter, gemittelter Schnittpunkt Sg.gm(12).
In Kolonne B03 wird beim Ereignis 22 erstmals der Wert +4,10 eingetragen, während in den Kolonnen BO1 und BO2 bereits aus früheren Ereignissen die Werte -1 ,24 und +2,05 vorlagen und in den Kolonnen BO3, ..., BOK noch keine Werte verfügbar waren. Es werden die Schnittpunkte S13 und S23 berechnet.
Auf diese Weise werden mit fortschreitenden Ereignissen immer wieder neue Schnittpunkte berechnet, nämlich beim Ereignis 23 die Schnittpunkte S12 und S13, usf..
Unter der Voraussetzung N' = 5, d.h. dass beim Vorliegen von 5 Schnittpunkten Sg.gm(KK') eine dritte Mittelwertbildung, bzw. Mittelung (III) zulässig ist, wird nach dem Ereignis 23 der gemittelte Schnittpunkt SM(KK'), bzw. SM(KK';x,z) berechnet (Kolonne SM(KK')). Die Zahl N' ist in der Regel kleiner als 18, vorzugsweise 4 oder 5. Gleichzeitig gilt die Voraussetzung, dass alle bisherigen Schnittpunkte verwertbar sind, d.h. die Ausschlusskriterien erfüllen.
Mit zunehmender Zahl von Bildschirmobjekten wächst die Anzahl der zu berechnenden Schnittpunkte rasch an. Bei K Bildschirmobjekten sind dies K(K-I )/2 Schnittpunkte. So ergeben sich mit einem weiteren Bildschirmobjekt BO4 zusätzlich die Schnittpunkte S14, S24 und S34.
Zweckmässiger wird die Anzahl der Bildschirmobjekte begrenzt. Zudem wird in der Regel unter den Bildschirmobjekten noch eine Auswahl getroffen, bei der ein Bildschirmobjekt ausgeschlossen wird, falls es quasi-redundante Informationen liefert. Dies ist z.B. der Fall, wenn ein Bildschirmobjekt nahe einem bereits ausgewerteten Bildschirmobjekt liegt. Durch derartige Auswahlkriterien erfolgt eine Selektion von Bildschirmobjekten, die sich vorteilhaft auf das Verfahren auswirkt. Wenn der erste, durch Mittelung (III) ermittelte Schnittpunkt SM(KK') vorliegt, kann der Kontaktbildschirm zum ersten Mal neu-kalibriert werden. Andererseits kann auch für eine vierte Mittelwertbildung, bzw. Mittelung (IV) der Schnittpunkte SM(KK') eine Zahl N" vorgegeben werden, die erst erreicht werden muss, bevor neu-kalibriert wird (Positionsdynamische Parallaxen-Korrektur). Die Zahl N" ist in der Regel kleiner als 45, vorzugsweise 4 bis 7.
Die Mittelung (IV) über SM(KK') erfolgt mit den N" jüngsten Schnittpunkten. Falls (N"+1 ) Werte für SM(KK') vorliegen wird der erste, d.h. der zeit-älteste, zuerst ermittelte Wert von SM(KK') eliminiert (gleitendes Mittel (IV); moving average (IV)). Auch für die Werte SM(KK'), bzw. SM(KK';x,z) ist eine zweite Zeit-Gewichtung denkbar. Mit der Zahl N" und einer zweiten Zeit-Gewichtung kann auf die Dynamik des Verfahrens direkt und wirkungsvoll Einfluss genommen werden.
Damit ist nun wiederum die S(x,z)-Augenposition relativ zum Kontaktbildschirm ermittelt worden, nämlich eine gemittelte S(x,z)-Augenposition.
Zu den Fig. 9 und 10 ergeben sich die Kalibrierungsschritte wie folgt:
1. Ohne S_-Abhängigkeit, für einen beliebigen Punkt R:
Rχ,ca, = Rx + (Rx - Sx) BXax(K) / ( |RX(K) - SMiX|)] / K (VI)
Für den beliebigen Punkt R wird eine gemittelte x-Komponente der Kalibrierungsvektoren a(1), ..., a(K) verwendet (Mittelung (II)) und diese proportional zum Abstand von S' berücksichtigt. Der beliebige Punkt R ist demnach parallaxen-korrigiert.
2. Mit S,-Abhängiqkeit für einen beliebigen Punkt R:
,ca, = Rx + (So/SMil) (Rx - Sx) CEXax(K) / (IRx(K) - SM,X|)] / K (VIII)
S0 ist ein Standardwert für den Abstand der Augenposition über der Bildschirmmitte, z.B. etwa 35 cm. Hiermit ist der beliebige Punkt R wiederum positions- und parallaxenkorrigiert.
Die in den Kalibrierungsschritten (VII) und (VIII) verwendeten Kalibrierungskomponenten ax(K) sind vorteilhafterweise gemittelte und in beliebiger Art gewichtete Grossen Grossen (Mittelwerte (I)), wie bereits beschrieben.
Solange noch zu wenig Werte für die Berechnung von SM(KK';x,z) vorliegen, wird eine Default-Kalibrierung verwendet, die mit Standardwerten arbeitet, z.B. mit Werten die einer Augenposition von 35 cm über der Kontaktbildschirmmitte entspricht.
Sämtliche in der (x,z)-Ebene anhand der Fig. 1-10 beschriebenen Vorgänge gelten auch in einer (y.z)-Ebene. Somit gilt etwa für die Formel (VI) eine Formel (IX) für einen beliebigen Punkt R mit Sz-Abhängigkeit wie folgt:
Ry,ca, = Ry + (S0ZS1J (Ry - Sy) [E^(K) / (|Ry(K) - SM,y|)] / K (IX)
Dies kann allein durch eine Vertauschung der Indices x und y erreicht werden. Allerdings braucht der frühere Schnittpunkt SM, der aus der S(x,z)-Berechnung hervorgegangen ist, nicht identisch zu sein mit dem Schnittpunkt SM der Formel (IX), der aus der S(y,z)-Berechnung folgt.
Die Grossen Rx ca! und Ry iCa, werden gewissermassen unabhängig voneinander ermittelt und liefern je nach Vorgabe der gewünschten, bzw. angestrebten Dynamik Korrekturen in den beiden Richtungen x und y, und somit für einen beliebigen Punkt des Kontaktbildschirms.
Die Schnittpunkte S(y,z) wie auch S(x,z) haben gewisse Anforderungen zu erfüllen, d.h. sie müssen sich in einem definierten Umfeld zur Bildschirmfläche BF befinden: Z.B. innerhalb einer Halbkugel mit Radius 95 cm, deren Zentrum sich in der Mitte der Bildschirmfläche befindet. Ist dies nicht der Fall, so werden die Schnittpunkte S(x,z) oder S(y,z) verworfen, d.h. sie werden für die weitere 3D-Kalibrierung nicht verwendet.
Das erfindungsgemässe Verfahren ist leicht zu handhaben, indem es eine SD-Kalibrierungsfunktion verwendet, deren Berechnung in den Richtungen x und y grundsätzlich unabhängig voneinander erfolgt. Zwischen den x- und y-Daten, die erfasst, verarbeitet und zur Kalibrierung verwendet werden, erfolgen keine Verknüpfungen. Das dreidimen- sionale Problem wird somit auf die Dimensionen x und y reduziert.
Erfindungswesentlich ist, dass die dynamische Kalibrierung des Touchscreens auf der Basis der Bildschirmberührungen des Benutzers beruht. Dabei läuft die Kalibrierung im Hintergrund ab, ohne den Arbeitsprozess des Benutzers zu unterbrechen oder zu stören oder auch nur seine Aufmerksamkeit zu fordern. Durch die dynamische Kalibrierung wird die Methode den Veränderungen im Benutzerverhalten gerecht. Dadurch dass der Benutzer den Kalibrierungsprozess nicht bemerkt, werden realistische Ergebnisse geliefert und die Usability wird nicht beeinträchtigt. Dadurch dass jedes Bildschirmobjekt mit seinem Mittelpunkt als Referenz dient, steht eine grosse und repräsentative Menge an Werten zur Verfügung, die die präzise Berechnung der notwendigen Kalibrierung ermöglicht.

Claims

Patentansprüche:
1. Verfahren zur dynamischen Kalibrierung von Kontaktbildschirmen, bei dem der Kontaktbildschirm eine Vielzahl von Bildschirmobjekten B(K) aufweist und bei dem jede Berührung des Kontaktbildschirms zu Koordinaten eines Berührungspunktes A führt, dadurch gekennzeichnet, dass durch eine l-te Berührung des Kontaktbildschirms ein Berührungspunkt, bzw. ein Punkt A(I) generiert wird, dass der Punkt A(I) auf die Zugehörigkeit zu einem Bildschirmobjekt B(K) geprüft wird, dass bei positiver Zugehörigkeit die Lage des Punktes A(I1K) bezüglich des Bildschirmobjektes B(K) ermittelt wird, dass daraus ein Kalibrierungsvektor a(l,K) berechnet wird, und dass mit dem Kalibrierungsvektor a(l,K) der Kontaktbildschirm neu-kalibriert wird.
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass die Lage des Punktes A(I1K) als Abweichungsvektora'(l,K) vom Mittelpunkt O(K) des Bildschirmobjektes B(K) zum Punkt A(l;x,y) berechnet wird und dass aus dem Abweichungsvektor a'(l,K) der Kalibrierungsvektor a(l,K) gebildet wird, wobei die Komponenten beider Vektoren abgespeichert werden.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass durch eine wiederholte Berührung des Kontaktbildschirms eine zeitliche Reihenfolge von Punkten A(I) mit den Abweichungsvektoren a'(l,K), resp. den Kalibrierungsvektoren a(l,K) gebildet wird.
4. Verfahren nach einem der Ansprüche 1 - 3, dadurch gekennzeichnet, dass aus den Abweichungsvektoren a'(l,K), resp. aus den Kalibrierungsvektoren a(l,K) in einer ersten Mittelung (I) ein mittlerer Abweichungsvektor am'(K), resp. ein mittlerer Kalibrierungsvektor am(K) berechnet wird, sobald für eines der Bildschirmobjekte B(K) ein Wert I = N erreicht wird, bzw. N Abweichungsvektoren a'(l,K) oder N Kalibrierungsvektoren a(l,K) gespeichert vorliegen.
5. Verfahren nach einem der Ansprüche 1 - 4, dadurch gekennzeichnet, dass vorgängig zur ersten Mittelung (I) mindestens eine Gewichtung der Abweichungsvektoren a'(l,K), bzw. der Kalibrierungsvektoren a(l,K) erfolgt.
6. Verfahren nach einem der Ansprüche 1 - 5, dadurch gekennzeichnet, dass die mindestens eine Gewichtung als Ort-Gewichtung, als Zeit-Gewichtung, als Ort-Zeit- Gewichtung oder als Zeit-Ort-Gewichtung erfolgt.
7. Verfahren nach einem der Ansprüche 1 - 6, dadurch gekennzeichnet, dass für die Gewichtung eine Gewichtungskennlinie verwendet wird, die linear, nicht-linear oder beliebig ist.
8. Verfahren nach einem der Ansprüche 1 - 7, dadurch gekennzeichnet, dass die erste Mittelung (I) über die Abweichungsvektoren a'(l,K), bzw. über die Kalibrierungsvektoren a(l,K) als gleitendes Mittel (I) mit einer Fenstergrösse N erfolgt, wobei N kleiner 100, vorzugsweise 8 bis 30 beträgt.
9. Verfahren nach einem der Ansprüche 1 - 8, dadurch gekennzeichnet, dass aus den mittleren Kalibrierungsvektoren am(K) in einer zweiten Mittelung (II) eine mittlere Steigung eines Kalibrierungs-Graphen KG berechnet wird.
10. Verfahren nach einem der Ansprüche 1 - 9, dadurch gekennzeichnet, dass vorgängig zur zweiten Mittelung (II) eine zweite Gewichtung (II) der mittleren Kalibrierungsvektoren am(K) erfolgt.
11. Verfahren nach einem der Ansprüche 1 - 10, dadurch gekennzeichnet, dass ein Kalibrierungs-Graph KG mit einer linear-symmetrischen, nicht-linear-symmetrischen, nicht-linear-asymmetrischen und linear-asymmetrischen Charakteristik bezüglich dem Projektionspunkt S' verwendet wird.
12. Verfahren nach einem der Ansprüche 1 - 11 , dadurch gekennzeichnet, dass aus den Kalibrierungsvektoren a(K), bzw. aus den mittleren Kalibrierungsvektoren am(K) die Schnittpunkte S(K, K'), bzw. ein mittlerer Schnittpunkt S1n(K1K') mit K ≠ K' berechnet werden, welche Positionen eines Auges, bzw. eine Zyklopauges über der Bildschirmfläche BF entsprechen.
13. Verfahren nach einem der Ansprüche 1 - 12, dadurch gekennzeichnet, dass aus den Schnittpunkten Sm(K,K') in einer dritten Mittelung (III) ein mittlerer Schnittpunkt SM(K,K') berechnet wird.
14. Verfahren nach einem der Ansprüche 1 - 13, dadurch gekennzeichnet, dass die dritte Mittelung (III) als gleitendes Mittel (III) mit einer Fenstergrösse N' erfolgt, wobei N' kleiner 18, vorzugsweise 4 oder 5 beträgt.
15. Verfahren nach einem der Ansprüche 1 - 14, dadurch gekennzeichnet, dass der mittlere Schnittpunkt SM(K,K') berechnet wird, sobald für die Schnittpunkte Sm(K,K') ein Wert K = N' erreicht wird.
16. Verfahren nach einem der Ansprüche 1 - 15, dadurch gekennzeichnet, dass aus den mittleren Schnittpunkten SM(K,K') in einer vierten Mittelung (IV) über die Schnittpunkte SM(K,K') ein zweifach-gemittelter Schnittpunkt SMM(L) berechnet wird als gleitendes Mittel (IV) mit einer Fenstergrösse N" , wobei N" kleiner 45, vorzugsweise 4 bis 7 beträgt.
17. Verfahren nach einem der Ansprüche 1 - 16, dadurch gekennzeichnet, dass vorgängig zur vierten Mittelung (IV) eine dritte Gewichtung (III) der mittleren Schnittpunkte SM(K1K1) erfolgt.
18. Verfahren nach einem der Ansprüche 1 - 17, dadurch gekennzeichnet, dass die Schnittpunkte mittels Ausschlusskriterien selektioniert werden.
19. Verfahren nach einem der Ansprüche 1 - 18, dadurch gekennzeichnet, dass die Anzahl der Bildschirmobjekte begrenzt wird und unter den Bildschirmobjekten mittels Auswahlkriterien eine Selektion erfolgt.
20. Verfahren nach einem der Ansprüche 1 - 19, dadurch gekennzeichnet, dass von einem Projektionspunkt S1 der Schnittpunkte SM(K,K') aus an Hand eines Kalibrierungs- Graphen der Bildschirm beim Vorliegen neuer Schnittpunkte SM(K,K') laufend über Kalibrierungsgrössen Rx cal und Ry cal je nach Vorgabe der gewünschten, bzw. angestrebten Dynamik in den beiden Richtungen x und y unabhängig voneinander neu- kalibriert wird.
21. Verfahren nach einem der Ansprüche 1 - 20, dadurch gekennzeichnet, dass die l-te Berührung des Kontaktbildschirms mittels einer Ignorierfunktion annuliert wird, wenn die Berührung vom Bediener als offensichtlich fehlerhaft erkannt wird.
22. Verfahren nach einem der Ansprüche 1 - 21 , dadurch gekennzeichnet, dass ein Standardverfahren zur Kalibrierung als Default-Kalibrierung verwendet wird, solange noch zu wenig Werte für die Berechnung der Schnittpunkte Sω(K,K') vorliegen.
23. Verfahren nach einem der Ansprüche 1 - 22, dadurch gekennzeichnet, dass es als Hintergrundfunktion erfolgt, ohne dass der Benutzer diese bemerkt.
24. Verfahren nach einem der Ansprüche 1 - 23, dadurch gekennzeichnet, dass Bildschirmobjekte verschiedenster Herkunft und beliebiger Art als Basis für die dynamische Kalibrierung verwendet werden.
PCT/CH2005/000760 2004-12-20 2005-12-20 Verfahren zur dynamischen kalibrierung von kontaktbildschirmen WO2006066435A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CH2109/04 2004-12-20
CH21092004 2004-12-20
CH1836/05 2005-11-16
CH18362005 2005-11-16

Publications (1)

Publication Number Publication Date
WO2006066435A1 true WO2006066435A1 (de) 2006-06-29

Family

ID=35847948

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CH2005/000760 WO2006066435A1 (de) 2004-12-20 2005-12-20 Verfahren zur dynamischen kalibrierung von kontaktbildschirmen

Country Status (1)

Country Link
WO (1) WO2006066435A1 (de)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006041936A1 (de) * 2006-09-07 2008-03-27 Volkswagen Ag Vorrichtung mit einer Sensoranordnung zum Bestimmen einer Position eines Objekts und Verfahren zur Kalibrierung einer Sensoranordnung
CN102207796A (zh) * 2010-03-30 2011-10-05 索尼公司 图像处理设备、图像显示方法、图像显示程序及记录介质
EP2261786A3 (de) * 2009-06-05 2012-01-04 HTC Corporation Verfahren, System und Computerprogrammprodukt zur Berichtigung der Software-Tastatureingabe
EP2428880A1 (de) * 2009-01-27 2012-03-14 Research In Motion Limited Tragbare elektronische Vorrichtung mit einem Berührungsbildschirm und Verfahren zur Verwendung eines Berührungsbildschirms einer tragbaren elektronischen Vorrichtung
US8279184B2 (en) 2009-01-27 2012-10-02 Research In Motion Limited Electronic device including a touchscreen and method
EP2735942A1 (de) * 2012-11-27 2014-05-28 BlackBerry Limited Elektronische Vorrichtung mit Berührungseingabeanzeigesystem mit Kopfverfolgung zur Reduzierung des sichtbaren Versatzes für die Benutzereingabe

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02193215A (ja) * 1988-10-12 1990-07-30 Ricoh Co Ltd データ処理装置
EP0618528A1 (de) * 1993-04-01 1994-10-05 International Business Machines Corporation Dynamische Anpassungseinrichtung für Berührungsanzeigeknöpfe
JP2001014106A (ja) * 1999-06-28 2001-01-19 Amada Eng Center Co Ltd 表示式入力装置の視差補正方法およびその装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02193215A (ja) * 1988-10-12 1990-07-30 Ricoh Co Ltd データ処理装置
EP0618528A1 (de) * 1993-04-01 1994-10-05 International Business Machines Corporation Dynamische Anpassungseinrichtung für Berührungsanzeigeknöpfe
JP2001014106A (ja) * 1999-06-28 2001-01-19 Amada Eng Center Co Ltd 表示式入力装置の視差補正方法およびその装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 014, no. 477 (P - 1118) 17 October 1990 (1990-10-17) *
PATENT ABSTRACTS OF JAPAN vol. 2000, no. 16 8 May 2001 (2001-05-08) *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006041936A1 (de) * 2006-09-07 2008-03-27 Volkswagen Ag Vorrichtung mit einer Sensoranordnung zum Bestimmen einer Position eines Objekts und Verfahren zur Kalibrierung einer Sensoranordnung
DE102006041936B4 (de) * 2006-09-07 2015-09-17 Volkswagen Ag Vorrichtung mit einer zu kalibrierenden Sensoranordnung zum Bestimmen einer Position eines Objekts und Verfahren zur Kalibrierung einer Sensoranordnung
EP2428880A1 (de) * 2009-01-27 2012-03-14 Research In Motion Limited Tragbare elektronische Vorrichtung mit einem Berührungsbildschirm und Verfahren zur Verwendung eines Berührungsbildschirms einer tragbaren elektronischen Vorrichtung
US8279184B2 (en) 2009-01-27 2012-10-02 Research In Motion Limited Electronic device including a touchscreen and method
EP2261786A3 (de) * 2009-06-05 2012-01-04 HTC Corporation Verfahren, System und Computerprogrammprodukt zur Berichtigung der Software-Tastatureingabe
CN102207796A (zh) * 2010-03-30 2011-10-05 索尼公司 图像处理设备、图像显示方法、图像显示程序及记录介质
EP2735942A1 (de) * 2012-11-27 2014-05-28 BlackBerry Limited Elektronische Vorrichtung mit Berührungseingabeanzeigesystem mit Kopfverfolgung zur Reduzierung des sichtbaren Versatzes für die Benutzereingabe

Similar Documents

Publication Publication Date Title
DE102012109058B4 (de) Steuerverfahren und elektronische Einrichtung
DE69233284T2 (de) Gerät zur Manipulation eines auf einem Bildschirm angezeigten Objektes
DE112005003221B4 (de) Steuersystem und -verfahren für einen Cursor in einer Mehrzahl von Anzeigevorrichtungen
DE69531269T2 (de) Transportieren eines an einen Sichtpunkt innerhalb oder zwischen navigierbaren Arbeitsräumen gekoppelten Anzeigeobjektes
WO2006066435A1 (de) Verfahren zur dynamischen kalibrierung von kontaktbildschirmen
DE69631947T2 (de) Positionierung eines Eingabezeigers
DE102016107202B4 (de) Anzeigesystem
DE112016006646T5 (de) Koordinatenkorrekturvorrichtung, koordinatenkorrekturverfahren und koordinatenkorrekturprogramm
DE102017218120A1 (de) Verfahren zur Bereitstellung einer haptischen Rückmeldung an einen Bediener einer berührungssensitiven Anzeigeeinrichtung
DE102018111142A1 (de) Elektronische Anzeigevorrichtung und Verfahren für deren Ansteuerung
DE102012208931A1 (de) Vorrichtung zur gleichzeitigen Darstellung mehrerer Informationen
EP2555097A1 (de) Methode und Vorrichtung zur Bestimmung eines Bildausschnitts und Auslösen einer Bilderfassung mittels einer einzigen berührungsbasierten Geste
WO2015043783A1 (de) Medizinsystem mit steuerungen zur steuerung verschiedener bewegungsarten mehrerer geräte
WO2010015303A1 (de) Verfahren zur vergrösserung eines darstellungsbereichs auf einer darstellungseinrichtung
DE102015109971B4 (de) Informationsverarbeitungsverfahren und elektronisches Gerät
DE102014224599A1 (de) Verfahren zum Betreiben einer Eingabevorrichtung, Eingabevorrichtung
EP4258085A1 (de) Steuerung eines cursors bei der nutzung virtueller bildschirme
DE102014012516A1 (de) Informationsverarbeitungsverfahren und elektrische Vorrichtung
DE102020117543A1 (de) System und methode zur bestimmung potenziell gefährlicher situationen durch videodaten
DE102004027289A1 (de) Verfahren und Anordnung zur berührungslosen Navigation in einem Dokument
EP1983406A1 (de) Verfahren und Vorrichtung zur Eingabe von Daten in eine Datenverarbeitungsanlage
DE102008017832A1 (de) Eingabevorrichtung zur Ansteuerung von Elementen grafischer Benutzerschnittstellen
DE102013112144A1 (de) Vergrößern von Touchscreenbereichen
DE112017007110T5 (de) Berührungseingabebeurteilungseinrichtung, Berührungseingabebeurteilungsverfahren und Berührungseingabebeurteilungsprogramm
DE112022002428T5 (de) Systeme und verfahren zum interagieren mit überlappenden bereichen von interesse in maschinellen bildverarbeitungsanwendungen

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KN KP KR KZ LC LK LR LS LT LU LV LY MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 05815689

Country of ref document: EP

Kind code of ref document: A1

WWW Wipo information: withdrawn in national office

Ref document number: 5815689

Country of ref document: EP