WO2014181435A1 - 電子機器、補正方法、及びプログラム - Google Patents

電子機器、補正方法、及びプログラム Download PDF

Info

Publication number
WO2014181435A1
WO2014181435A1 PCT/JP2013/063071 JP2013063071W WO2014181435A1 WO 2014181435 A1 WO2014181435 A1 WO 2014181435A1 JP 2013063071 W JP2013063071 W JP 2013063071W WO 2014181435 A1 WO2014181435 A1 WO 2014181435A1
Authority
WO
WIPO (PCT)
Prior art keywords
display
data
user
electronic device
contact
Prior art date
Application number
PCT/JP2013/063071
Other languages
English (en)
French (fr)
Inventor
藤井 哲也
Original Assignee
株式会社 東芝
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 株式会社 東芝 filed Critical 株式会社 東芝
Priority to JP2013541132A priority Critical patent/JP5606635B1/ja
Priority to PCT/JP2013/063071 priority patent/WO2014181435A1/ja
Priority to US14/265,035 priority patent/US20160139693A9/en
Publication of WO2014181435A1 publication Critical patent/WO2014181435A1/ja

Links

Images

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
    • 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/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • 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/0412Digitisers structurally integrated in a display
    • 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/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
    • 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/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means
    • G06F3/0442Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means using active external devices, e.g. active pens, for transmitting changes in electrical potential to be received by the digitiser
    • 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/046Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by electromagnetic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/04106Multi-sensing digitiser, i.e. digitiser using at least two different sensing technologies simultaneously or alternatively, e.g. for detecting pen and finger, for saving power or for improving position detection

Definitions

  • Embodiments of the present invention relate to pen input on a display.
  • an electronic device equipped with an input device (digitizer) using an electromagnetic induction electronic pen there may be a positional deviation (error) between the point actually designated by the user using the pen and the point recognized by the device.
  • the positional misalignment occurs due to hardware mounting such as sensor misalignment or electromagnetic induction electronic pen characteristics. Under such circumstances, there is a need for a method for eliminating the difference between the point designated by the user and the point recognized by the terminal.
  • a position correction process (calibration process) is often performed to correct a positional shift (error) between coordinates recognized on the pen tip and the device side.
  • a positional shift error
  • There are hardware-related causes such as misalignment due to sensor mounting errors, and there are causes caused by differences in user usage, such as how to tilt the electronic pen and the parallax due to the thickness of the display glass surface. .
  • the problem to be solved by the present invention is to provide an electronic device, a correction method, and a program that can appropriately correct an error caused by hardware and an error caused by a difference in input state.
  • the electronic device includes a display capable of detecting a contact position with the first object, a recording unit, a generation unit, and a determination unit.
  • the recording means is first data relating to at least an error caused by hardware, and is a first position where the first object and the display are in contact with each other, and the first position between the first object and the display is the first position.
  • First data relating to an error from a second position drawn by the display is stored in accordance with first position information acquired in response to contact.
  • the generation means is second data relating to a difference in contact state between the second object and the display, and the second position information acquired according to the contact at the third position between the second object and the display. Therefore, the second data used to determine the fourth position where the display draws is generated.
  • the determining means determines the contact position detected by the display using the first data and the second data.
  • FIG. 1 is a perspective view illustrating an appearance of a tablet computer according to the embodiment.
  • FIG. 2 is a diagram illustrating a system configuration of the tablet computer according to the embodiment.
  • FIG. 3 is a block diagram illustrating a functional configuration realized by the calibration utility program of the embodiment.
  • FIG. 4 is a diagram illustrating an example of second correction data generated by the second correction data generation module of the embodiment.
  • FIG. 5 is a diagram illustrating an example of second correction data generated by the second correction data generation module of the embodiment.
  • FIG. 6 is a conceptual diagram for explaining the positional deviation (error) of the embodiment.
  • FIG. 7 is a diagram illustrating a positional relationship between the LCD and the sensor sheet according to the embodiment.
  • FIG. 8 is a diagram illustrating a positional relationship between the LCD and the sensor sheet according to the embodiment.
  • FIG. 9 is a diagram illustrating a relationship between a positional deviation caused by the hardware of the embodiment and a positional deviation caused by a user's usage.
  • FIG. 10 is a diagram illustrating an example in which the orientation of the touch screen display is changed by rotating the tablet computer of the embodiment 90 degrees leftward.
  • FIG. 11 is a diagram for explaining correction processing by the calibration utility program of the embodiment.
  • FIG. 12 is a flowchart of first correction data generation processing for generating first correction data according to the embodiment.
  • FIG. 13 is a diagram illustrating an example of a calibration screen in the first correction data generation process of the embodiment.
  • FIG. 14 is a flowchart of second correction data generation processing for generating second correction data according to the embodiment.
  • FIG. 15 is a diagram illustrating an example of the handwriting input operation according to the embodiment.
  • FIG. 16 is a diagram illustrating an example of a calibration screen according to the embodiment.
  • FIG. 17 is a conceptual diagram for explaining the tilt of the pen according to the embodiment.
  • FIG. 18 is a diagram illustrating an example of a calibration screen according to the embodiment.
  • FIG. 19 is a diagram illustrating an example of a calibration screen according to the embodiment.
  • FIG. 20 is a diagram illustrating an example of a calibration screen according to the embodiment.
  • FIG. 21 is a diagram illustrating a state in which the hand holding the pen during the input operation of the embodiment is touching the screen.
  • FIG. 21 is a diagram illustrating a state in which the hand holding the pen during the input operation of the embodiment is touching the screen.
  • FIG. 22 is a diagram for explaining the principle of collecting data for generating correction data according to the embodiment.
  • FIG. 23 is a diagram for explaining the principle of extracting the shift component of the embodiment.
  • FIG. 24 is a flowchart illustrating a correction process using the first correction data and the second correction data according to the embodiment.
  • FIG. 25 is a diagram illustrating an example of a usage state of the tablet computer according to the embodiment.
  • FIG. 26 is a diagram illustrating an example of a usage state of the tablet computer according to the embodiment.
  • FIG. 1 is a perspective view illustrating an appearance of a tablet computer 10 according to the embodiment.
  • the tablet computer 10 is a portable electronic device that is also called a tablet or a straight computer, and includes a main body 11 and a touch screen display 17.
  • the touch screen display 17 is attached to the upper surface of the main body 11.
  • the main body 11 has a thin box-shaped housing.
  • the touch screen display 17 incorporates a flat panel display and a sensor configured to detect a contact position of a pen or a finger on the screen of the flat panel display.
  • the flat panel display may be, for example, a liquid crystal display (LCD).
  • As the sensor for example, a capacitive touch panel, an electromagnetic induction digitizer, or the like can be used. In the following example, it is assumed that both of two types of sensors, a digitizer and a touch panel, are incorporated in the touch screen display 17.
  • the sensor corresponding to the digitizer may be any sensor that can detect contact between the pen and the touch screen display 17.
  • the sensor corresponding to the touch panel may be any sensor that can detect contact between an object (for example, a human hand or a finger) and the touch screen display 17. For example, when multi-touch can be detected by a capacitance method, contact can be detected at a plurality of adjacent points.
  • the touch screen display 17 can detect not only a touch operation on a screen using a finger but also a touch operation on a screen using the pen 100.
  • the pen 100 may be an electromagnetic induction pen, for example.
  • the user can perform a handwriting input operation on the touch screen display 17 using an external object (the pen 100 or a finger).
  • the trajectory of the movement of the external object (the pen 100 or the finger) on the screen that is, the stroke trajectory (handwriting) handwritten by the handwriting input operation is drawn in real time. Displayed on the screen.
  • the trajectory of the movement of the external object while the external object is in contact with the screen corresponds to one stroke.
  • a set of many strokes corresponding to handwritten characters or figures, that is, a set of many trajectories (handwriting) constitutes a handwritten document.
  • this handwritten document is stored in the storage medium as time-series information indicating the order relationship between the coordinate sequence of the trajectory of each stroke and the stroke, instead of image data.
  • This time series information generally means a set of time series stroke data corresponding to a plurality of strokes.
  • Each stroke data corresponds to a certain stroke, and includes a coordinate data series (time series coordinates) corresponding to each point on the locus of this stroke.
  • the order of arrangement of the stroke data corresponds to the order in which the strokes are handwritten, that is, the stroke order.
  • FIG. 2 is a diagram showing a system configuration of the tablet computer 10.
  • the tablet computer 10 includes a CPU 101, a system controller 102, a main memory 103, a graphics controller 105, a BIOS-ROM 105, a nonvolatile memory 106, a wireless communication device 107, an embedded controller (EC) 108, an acceleration sensor. 109 and the like.
  • the CPU 101 is a processor that controls the operation of various modules in the tablet computer 10.
  • the CPU 101 executes various software loaded into the main memory 103 from the nonvolatile memory 106 that is a storage device.
  • These software include an operating system (OS) 201 and various application programs.
  • OS operating system
  • application programs various application programs.
  • the OS 201 can identify a user who uses the tablet computer 10 based on, for example, a password input by the user at the time of startup.
  • the application program includes a plurality of application programs 202 and 203 for processing stroke data input using an external object such as the pen 100, and a calibration utility program for correcting an error in coordinate data input by an input operation of the pen 100. 204 is included.
  • the application program 202 has a function of creating, displaying, and editing a handwritten document mainly by inputting strokes mainly representing characters, for example.
  • the application program 203 inputs strokes representing line drawings and color fills, for example. It has a function to create and display paintings.
  • the application programs 202 and 203 are provided with a function for switching line types, colors, and the like to be drawn according to stroke data.
  • the user may operate the pen 100 with a holding method different from that for inputting characters by handwriting. That is, when the application program 203 is executed, the inclination of the pen 100 with respect to the touch screen display 17 is different from that in the case where characters are input by handwriting using the application program 202.
  • the calibration utility program 204 corrects a positional deviation (error) between a contact position intended by the user with the pen 100 with respect to the touch screen display 17 and a line (stroke) drawn on the touch screen display 17 according to the contact position. Execute the process for The calibration utility program 204 corrects the contact position detection error caused by hardware implementation and the contact position detection error caused by the difference in the contact state of the pen 100 with respect to the touch screen display 17 in two stages. It has the function to do.
  • the calibration utility program 204 loads the first correction data 106A and the second correction data 106B recorded in the nonvolatile memory 106 into the main memory 103.
  • the calibration utility program 204 corrects the coordinate data detected by the touch screen display 17 (digitizer 17C) based on the first correction data 205 and the second correction data 206 loaded in the main memory 103, and the OS 201 And output to the application programs 202 and 203.
  • the CPU 101 also executes a basic input / output system (BIOS) stored in the BIOS-ROM 105.
  • BIOS is a program for hardware control.
  • the system controller 102 is a device that connects between the local bus of the CPU 101 and various components.
  • the system controller 102 also includes a memory controller that controls access to the main memory 103.
  • the system controller 102 also has a function of executing communication with the graphics controller 104 via a PCI EXPRESS serial bus or the like.
  • the graphics controller 104 is a display controller that controls the LCD 17 ⁇ / b> A used as a display monitor of the tablet computer 10.
  • a display signal generated by the graphics controller 104 is sent to the LCD 17A.
  • the LCD 17A displays a screen image based on the display signal.
  • a touch panel 17B and a digitizer 17C are arranged on the LCD 17A.
  • the touch panel 17B is a capacitance-type pointing device for inputting on the screen of the LCD 17A.
  • the touch position on the screen where the finger is touched and the movement of the touch position are detected by the touch panel 17B.
  • the digitizer 17C outputs coordinates indicating the contact position on the screen.
  • the digitizer 17C is an electromagnetic induction type pointing device for inputting on the screen of the LCD 17A.
  • the position (coordinates) of the pen 100 on the screen with which the pen 100 is touched, the movement of the position of the pen 100, and the like are detected by the digitizer 17C.
  • the digitizer 17C outputs coordinate data indicating the contact position of the pen 100 on the screen.
  • the wireless communication device 107 is a device configured to perform wireless communication such as wireless LAN or 3G mobile communication.
  • the EC 108 is a one-chip microcomputer including an embedded controller for power management.
  • the EC 108 has a function of turning on or off the tablet computer 10 in accordance with the operation of the power button by the user.
  • the acceleration sensor 109 is a sensor that detects the movement of the tablet computer 10 and the direction of gravity (static acceleration).
  • the OS 201 detects the installation state of the tablet computer 10 based on the detection result by the acceleration sensor 109 and determines the orientation of the touch screen display 17. By determining the orientation of the touch screen display 17, the orientation of the screen displayed on the touch screen display 17 can be changed. Further, it is possible to determine from which direction the user performs an input operation using the pen 100 with respect to the touch screen display 17.
  • FIG. 3 is a block diagram showing a functional configuration realized by the calibration utility program 204.
  • the calibration utility program 204 is executed by the CPU 101, whereby a data input module 301, a first correction data generation module 303, a second correction data generation module 302, and a correction module 304 (first correction A module 305, a second correction module 306), and a determination module 307.
  • the data input module 301 is a module for inputting a detection signal output from the digitizer 17C.
  • the detection signal output from the digitizer 17C includes coordinate data indicating the contact position of the pen 100 on the touch screen display 17.
  • the data input module 301 can also input a detection signal from the touch panel 17B.
  • the first correction data generation module 303 generates first correction data for correcting the detection error of the contact position caused by the hardware implementation based on the coordinate data input from the data input module 301. Record in the nonvolatile memory 106.
  • the second correction data generation module 302 generates second correction data for correcting the detection error of the contact position caused by the difference in the contact state of the pen 100 with the touch screen display 17 and records the second correction data in the nonvolatile memory 106.
  • the second correction data can include a plurality of correction data corresponding to differences in the operating state of the tablet computer 10.
  • the correction module 304 corrects the coordinate data indicating the contact position of the pen 100 detected by the touch screen display 17 (digitizer 17C), and includes a first correction module 305 and a second correction module 306.
  • the first correction module 305 corrects the coordinate data based on the first correction data 205 generated by the first correction data generation module 303.
  • the second correction module 306 corrects the coordinate data corrected by the first correction module 305 based on the second correction data 206 generated by the second correction data generation module 302. That is, the correction module 304 corrects the coordinate data detected by the digitizer 17C in two stages.
  • the discriminating module 307 discriminates how the user uses the tablet computer 10 and notifies the second correction module 306. That is, the determination module 307 determines an operation state in which a difference in the contact state of the pen 100 with the touch screen display 17 occurs based on notifications from the OS 201 and the application programs 203 and 203, and sends the determination result to the second correction module 306. Notice.
  • the operating state determined by the determination module 307 includes, for example, the orientation of the touch screen display 17, the user using the tablet computer 10, an active application that processes coordinate data input from the digitizer 17C, and a function executed by the application ( And the hand (right hand, left hand) of the user holding the pen 100.
  • the second correction module 306 can select one of a plurality of correction data and use it for the correction process according to the operation state notified from the determination module 307.
  • FIG. 4 and 5 are diagrams illustrating an example of the second correction data 206 generated by the second correction data generation module 302.
  • FIG. 4 and 5 are diagrams illustrating an example of the second correction data 206 generated by the second correction data generation module 302.
  • FIG. 4 is a diagram illustrating an example of the second correction data 206 including correction data corresponding to each of a plurality of users (user A, user B,...) Who use the tablet computer 10.
  • the second correction data 206 includes a plurality of user correction data 207A, user B correction data 207B,... Corresponding to a plurality of users (user A, user B,). ing.
  • FIG. 5 is a diagram showing an example of second correction data 206 including correction data corresponding to each of a plurality of applications (application A, application B,...) Executed on the tablet computer 10.
  • the second correction data 206 includes a plurality of application A correction data 208A, application B correction data 208B,... Corresponding to a plurality of applications (application A, application B,). It is.
  • the way the pen 100 is held differs between when the user inputs characters by handwriting and when drawing by handwriting such as a picture. Accordingly, when the application for inputting characters by handwriting is executed and when the application for creating a picture by handwriting is executed, the inclination angle of the pen 100 with respect to the touch screen display 17 is different, so that the detection error also differs depending on the application. . By correcting such detection errors that differ depending on the application using correction data corresponding to each application, appropriate correction can be performed.
  • the second correction data 206 includes user correction data or application correction data, but other operation states in which a difference in the contact state of the pen 100 occurs are shown.
  • a plurality of correction data corresponding to the above may be included in the second correction data 206.
  • a plurality of correction data corresponding to a plurality of functions executed by an application (line types of lines drawn according to stroke data), corresponding to a case where one user operates the pen 100 with the right hand and the left hand Right-hand correction data and left-hand correction data.
  • the calibration utility program 204 in this embodiment corrects the detection error of the contact position caused by the hardware implementation by using the first correction data 205 by the first stage correction process. That is, since the detection error that occurs in a fixed manner is corrected by the first correction data, only the second-stage correction processing is dynamically handled in accordance with the operation state, thereby detecting detection caused by hardware implementation. Appropriate correction that corrects both the error and the detection error caused by the user's usage can be realized.
  • FIG. 6 is a conceptual diagram for explaining the positional deviation (error).
  • the pen tip is in contact with the input surface of the touch screen display 17 while the pen 100 is tilted.
  • an electromagnetic wave is transmitted from the electromagnetic coil 101, and this electromagnetic wave is received most strongly at the point B on the sensor surface of the digitizer 17C. Therefore, the point B on the digitizer 17C is detected as a contact position by the pen 100, and a line indicating the touch position is displayed at a point C vertically above the point B on the LCD 17A.
  • the closest position between the electromagnetic coil 101 built in the pen 100 and the sensor sheet surface of the digitizer 17C is detected as the position touched by the pen tip, so that it is detected as the actual pen tip and coordinates.
  • the position deviation F due to the tilt of the pen 100 increases as the pen 100 is tilted.
  • a protective material (glass or the like) 501 for protecting the LCD 17A is on the surface, the position between the line actually displayed on the LCD 17A and the position of the pen tip assumed by the user beyond the line of sight A parallax E occurs.
  • the sensor sheet 17C1 of the digitizer 17C is disposed under the LCD 17A.
  • the digitizer 17C detects the electromagnetic wave generated from the pen 100 by the sensor sheet 17C1.
  • the LCD 17A and the sensor sheet 17C1 are assembled so that the origin set on the upper left of the sensor sheet 17C1 and the LCD 17A coincides, for example, as shown in FIG. However, an assembling error occurs during assembly, and positional deviations E1 and E2 may occur between the LCD 17A and the sensor sheet 17C1, for example, as shown in FIG. In the example shown in FIG. 8, the origin position (0, 0) of the LCD 17A is shifted to the lower right.
  • FIG. 9 is a diagram illustrating a relationship between a positional deviation caused by hardware and a positional deviation caused by a user's usage.
  • FIG. 9 shows an example in which the pen tip of the pen 100 is brought into contact with the point (X, Y) on the LCD 17A intentionally by the user.
  • the positional deviation due to hardware is (Dxh, Dyu) and the positional deviation depending on how the user is used is (Dxu, Dyu)
  • the point (X, Y) intended by the user and the tablet computer 10 are the user.
  • the relationship with the point (X1, Y1) recognized as instructed by is expressed by the following equations (1) and (2).
  • FIG. 10 shows an example in which the orientation of the touch screen display 17 is changed by rotating the tablet computer 10 90 degrees to the left.
  • the positional deviation depending on the user's usage is 90 degrees different from the coordinate system of the digitizer 17C (sensor sheet 17C1).
  • the relationship between (X, Y) and the point (X2, Y2) recognized by the tablet computer 10 is expressed by the following equations (3) and (4).
  • X X2-Dxh + Dyu
  • Y Y2-Dyh-Dxu (4)
  • the calculation method for correcting the coordinate data differs depending on the orientation of the tablet computer 10 (touch screen display 17).
  • the calibration utility program 204 of the present embodiment separates the correction for the positional deviation caused by the hardware shown in FIG. 11A and the correction for the positional deviation dependent on the usage of the user shown in FIG.
  • the correction for the positional deviation caused by the hardware is performed, and then the second stage is performed for correcting the positional deviation depending on the usage of the user.
  • the calculation method of the correction process is dynamically changed. By doing so, an appropriate correction process according to the direction of the touch screen display 17 can be performed.
  • the first correction data generation process is a process for generating first correction data for correcting a detection error that occurs due to hardware implementation.
  • the first correction data is correction data unique to the tablet computer 10. For this reason, the first correction data generation process is performed by an operation of an administrator in the manufacturing line of the tablet computer 10, for example.
  • the tablet computer 10 activates a calibration utility for hardware error correction by the calibration utility program 204 according to the operation of the administrator (step A1).
  • the first correction data generation module 303 displays a calibration screen on the touch screen display 17 (step A2).
  • FIG. 13 is a diagram illustrating an example of a calibration screen in the first correction data generation process. As shown in FIG. 13, on the calibration screen, “+” marks are displayed at the four corners of the display screen, and a message “tap the center of the cross so that the pen is perpendicular to the panel” is displayed. Is displayed.
  • the pen 100 in order to eliminate the influence of the positional deviation due to the tilt of the pen 100 or the like, the pen 100 is set up vertically with respect to the touch screen display 17 (LCD 17A) to execute the input operation.
  • the administrator holds the pen 100 so that it is vertical, and performs an input operation on the touch screen display 17 so that the pen tip matches the “+” mark.
  • the data input module 301 inputs coordinate data detected in response to an input operation with the pen 100 from the digitizer 17C (step A3).
  • the first correction data generation module 303 calculates the difference between the position of the “+” mark displayed on the LCD 17A and the position indicated by the input coordinate data, and sets the difference as first correction data for hardware error correction ( Step A4). That is, (Dxh, Dyh) in FIG. 9 is calculated.
  • the first correction data generation module 303 records the first correction data in the nonvolatile memory 106 (step A5).
  • the tablet computer 10 is shipped with the first correction data recorded in the nonvolatile memory 106.
  • the user can use the tablet computer 10 in a state where the first correction data unique to the tablet computer 10 is recorded in advance.
  • the first correction data generation process is executed by the administrator in the production line, but may be executed by the user.
  • the user when the user recognizes that a positional deviation has occurred when inputting by handwriting, the user activates the calibration utility program 204 and executes the first correction data generation process described above.
  • the first correction data can be generated and recorded in the nonvolatile memory 106 in the same manner as described above.
  • the first correction data generation process can be made unnecessary.
  • the first correction data generation process by the user, it is possible to reduce the work steps in the production line and reduce the cost.
  • the second correction data generation process is a process for generating second correction data for correcting a detection error caused by the user's usage.
  • the tablet computer 10 activates a calibration utility for user-specific error correction by the calibration utility program 204 in accordance with a user operation (step B1).
  • the second correction data generation module 302 displays a calibration screen on the LCD 17A (step B2). A specific example of the calibration screen will be described later.
  • second correction data generation process second correction data for correcting a positional shift that occurs when the user performs a normal input operation is generated. For example, as shown in FIG. 15, when the user moves the pen tip of the pen 100 along the line L1 on the touch screen display 17, a position different from the line L1 due to a detection error caused by the inclination of the pen 100 is detected. A line L2 is drawn on the line.
  • the second correction data is data for correcting the difference between the line L1 and the line L2. For this reason, in the second correction data generation processing, the user holds the pen 100 as usual with respect to the line displayed on the calibration screen and performs an input operation so as to trace the line.
  • the second correction data generation module 302 inputs the coordinate data string through the data input module 301 (step B3), calculates the difference between the position of the line displayed on the LCD 17A and the input coordinate data string,
  • the second correction data for error correction is set (step B4). That is, (Dxu, Dyu) in FIG. 9 is calculated.
  • the second correction data generation module 302 records the second correction data in the nonvolatile memory 106 in association with the user identification information (step B5).
  • the second correction data corresponding to each user can be recorded in the nonvolatile memory 106 by each user executing the second correction data generation process described above. it can.
  • the second correction data generation module 302 displays a figure (rectangular R1) composed of a plurality of lines on the calibration screen.
  • the second correction data generation module 302 causes the user to trace the rectangle R1 with the pen 100, thereby shifting the position of the line R2 expected by the user from the position indicated by the coordinate data detected as the contact position of the pen tip. Calculate the amount.
  • the second correction data generation module 302 generates the second correction data based on the shift amount, thereby enabling correction in consideration of the eye angle and the tilt of the pen 100 according to the user.
  • FIG. 17 shows a case where the pen 100 is held with the right hand.
  • calibration figures are displayed at a plurality of locations on the touch screen display 17, and positional deviations at the respective locations are calculated, and according to the respective locations.
  • a plurality of second correction data may be generated. Thereby, according to the area
  • FIG. 18 shows an example in which three rectangles R11, R12, and R13 are displayed as calibration figures.
  • the rectangles R11, R12, and R13 are arranged in the horizontal direction at the center in the vertical direction of the screen.
  • FIG. 19 shows an example in which five rectangles R21, R22, R23, R24, and R25 are displayed as a graphic for calibration.
  • the rectangle R ⁇ b> 21 is displayed in the upper left corner of the touch screen display 17.
  • the rectangle R22 is displayed in the upper right corner of the touch screen display 17.
  • the rectangle R23 is displayed at the center of the touch screen display 17.
  • the rectangle R24 is displayed in the lower left corner of the touch screen display 17.
  • the rectangle R25 is displayed in the lower right corner of the touch screen display 17.
  • FIG. 20 shows an example in which five characters T1, T2, T3, T4, and T5 are displayed as a graphic for calibration.
  • the character T1 is displayed in the upper left corner of the touch screen display 17.
  • the character T2 is displayed in the upper right corner of the touch screen display 17.
  • the character T3 is displayed in the center of the touch screen display 17.
  • the character T4 is displayed in the lower left corner of the touch screen display 17.
  • the character T5 is displayed in the lower right corner of the touch screen display 17.
  • the user When inputting characters by handwriting, the user may hold the pen 100 in a manner different from that for inputting figures by handwriting. Therefore, by generating the second correction data using a character instead of a figure, the correction is performed more accurately by performing correction processing when the character is input by handwriting using the second correction data. can do.
  • the second correction data generation module 302 inputs the data indicating the position of the user's hand detected by the touch panel 17B together with the coordinate data detected by the digitizer 17C through the data input module 301, and the second correction data Can also be generated.
  • the second correction data generation module 302 displays the coordinate data indicating the contact position of the pen tip of the pen 100 and the hand H. Whether the user is holding the pen 100 with the right hand or the left hand is determined based on the data indicating the position of the left hand. That is, when the data indicating the position of the hand H is on the right side from the coordinate data indicating the contact position of the pen tip, it can be determined that the user has performed the input operation with the pen 100 with the right hand.
  • the second correction data generation module 302 adds right-hand input data or left-hand input data to the second position data calculated based on the input coordinate data, and records the data in the nonvolatile memory 106.
  • the correction process when the user can determine whether the user holds the pen 100 with the right hand or the left hand, more accurate correction is possible by selecting the second correction data according to the right hand or the left hand and performing the correction process. It becomes.
  • the data input module 301 can collect a large number of detection signals from one writing by the user.
  • the plurality of detection signals input by the data input module 301 are supplied to the second correction data generation module 302.
  • the second correction data generation module 302 selects a detection signal to be used for calibration from a plurality of detection signals supplied from the handwritten data input unit 301.
  • the second correction data generation module 302 extracts a component relating to the deviation between the position of the calibration graphic displayed on the touch screen display 17 (LCD 17A) and the position detected by the digitizer 17C by the input operation of tracing the graphic.
  • the detection signal output from the digitizer 17C includes coordinate data. According to the coordinate data, it is possible to know at which position on the touch screen display 17 the touch operation corresponding to the detection signal is performed. However, as the user writes a line segment on the touch screen display 17 so as to trace a line segment indicated by a graphic displayed on the touch screen display 17 (for example, unlike a touch operation on a dotted object). In the case of the detection signal acquired in this way, the position of the touch operation indicated by the coordinate data included in the detection signal is obtained when the user tries to trace the position on the line segment indicated by the graphic. I don't know.
  • the second correction data generation module 302 estimates that the position on the line segment in which the direction with respect to the detection position of the touch operation is orthogonal to the line segment corresponds to the position of the touch operation.
  • the second correction data generation module 302 calculates the distance between the two and calculates the average value thereof.
  • the second correction data generation module 302 calculates the vertical shift component (d1) based on a plurality of detection signals by writing one horizontal line on the touch screen display 17.
  • the horizontal shift component (d2) can be calculated based on a plurality of detection signals by writing one vertical line on the touch screen display 17 (FIG. 23A) (FIG. 23). (B)).
  • a correction value (d3) for making the display position of the touch screen display 17 (LCD 17A) and the detection position by the touch screen display 17 (digitizer 17C) coincide with each other can be calculated from the deviation component in the two vertical and horizontal directions.
  • the second correction data generation module 302 calculates a correction value based on the extracted deviation component, and the correction value is determined by the display position of the touch screen display 17 (LCD 17A) and the touch screen display 17 (touch panel 17B or digitizer 17C). This is set as second correction data for matching the detection position.
  • the contact position of the pen 100 on the touch screen display 17 is detected by the digitizer 17C which is an electromagnetic induction type pointing device. Even if the contact position detected by the digitizer 17C is the same position on the touch screen display 17, it may differ depending on the angle at which the pen 100 contacts the touch screen display 17. Therefore, the length of the line segment indicated by the graphic displayed by the second correction data generation module 302 is within a range in which the angle of the pen 100 is not significantly changed (beyond the threshold) during the writing of the line segment. To do.
  • the calibration utility program 204 operates resident when an input operation is performed with the pen 100.
  • the calibration utility program 204 corresponds to the user who uses the tablet computer 10 from the nonvolatile memory 106.
  • the second correction data 106B is searched based on the user identification information and loaded into the main memory 103 together with the first correction data 106A.
  • the correction module 304 corrects the coordinate data using the first correction data 205 (step C2). That is, the error caused by the hardware is corrected by the first stage correction.
  • the second correction module 306 corrects the coordinate data corrected by the first correction module 305 using the second correction data 206. That is, the error caused by the user's usage is corrected by the second-stage correction. As a result, it is possible to output corrected data that takes into account both errors caused by hardware and errors caused by user usage to the application or the OS 201 (step C5).
  • the second correction module 306 can switch the second-stage correction process according to the operation state determined by the determination module 307.
  • the determination module 307 determines the orientation of the touch screen display 17 based on the notification from the OS 201, and the second correction module 306 performs correction processing according to the orientation of the tablet computer 10.
  • the coordinate data is corrected by the calculations shown in the following equations (1) and (2).
  • X X1-Dxh-Dxu (1)
  • Y Y1-Dyh-Dyu (2)
  • the coordinate data is corrected by the calculations shown in the following equations (3) and (4).
  • the X X2-Dxh + Dyu (3)
  • Y Y2-Dyh-Dxu (4)
  • the coordinate data is converted into the coordinate data by one second correction data 206 by changing the calculation method according to the orientation of the tablet computer 10. Can be corrected. That is, it is not necessary to previously generate the second correction data corresponding to each direction of the tablet computer 10.
  • the second correction module 306 selects the second correction data corresponding to the active application determined by the determination module 307. To correct the coordinate data.
  • the second correction module 306 selects the second function according to the function of the application. 2 Select the correction data to correct the coordinate data.
  • the second correction module 306 determines that the user has a right hand and a left hand based on the relationship between the position indicated by the coordinate data detected by the digitizer 17C and the position of the hand H. It is also possible to determine which one has the pen 100 and select the second correction data corresponding to the right hand or the left hand to correct the coordinate data.
  • the tablet computer 10 is rotated by 90 degrees as an example.
  • the user performs an input operation using the pen 100 while holding the tablet computer 10.
  • each of the tablet computer 10 and the pen 100 is provided with a posture detection sensor (gyro), and the tablet computer 10 receives data indicating the posture state detected by the posture detection sensor of the pen 100, and based on this data.
  • the relative positional relationship between the tablet computer 10 and the pen 100 is calculated. That is, it is calculated from which direction the pen 100 is in contact with the touch screen display 17 at which inclination angle.
  • the second correction module 306 dynamically determines the second correction data according to the relative positional relationship between the tablet computer 10 and the pen 100 and corrects the coordinate data. Since the tablet computer 10 in the present embodiment is corrected due to hardware by the first-stage correction processing, it is also possible to dynamically correct the coordinate data in accordance with the state change of the tablet computer 10. .
  • the calibration process is caused by a correction process for a positional deviation (error) that is fixedly caused in a specific direction due to the mounting of hardware, and a user's usage.
  • the correction can be performed in two stages, that is, a correction process for a positional deviation in which the direction caused by the state (rotation) of the tablet terminal is different.
  • the processing described in the above-described embodiment is a program that can be executed by a computer, for example, a recording medium such as a magnetic disk (flexible disk, hard disk, etc.), an optical disk (CD-ROM, DVD, etc.), and a semiconductor memory. And can be provided to various devices. It is also possible to transmit to a variety of devices by transmitting via a communication medium.
  • the computer reads the program recorded on the recording medium or receives the program via the communication medium, and the operation is controlled by this program, thereby executing the above-described processing.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

 実施形態によれば、電子機器は、第1オブジェクトとの接触位置を検出可能なディスプレイと、記録手段と、生成手段と、決定手段とを有する。記録手段は、前記第1オブジェクトと前記ディスプレイとが接触する第1位置と、前記第1オブジェクトと前記ディスプレイとの前記第1位置での接触に応じて取得される第1位置情報にしたがって前記ディスプレイが描画する第2位置との誤差に関する第1データを記憶する。生成手段は、第2オブジェクトと前記ディスプレイとの第3位置での接触に応じて取得される第2位置情報にしたがって前記ディスプレイが描画する第4位置を決定するために用いられる第2データを生成する。決定手段は、前記ディスプレイが検出する接触位置を、前記第1データと前記第2データとを用いて決定する。

Description

電子機器、補正方法、及びプログラム
 本発明の実施形態は、ディスプレイ上のペン入力に関する。
 電磁誘導式電子ペンによる入力デバイス(デジタイザ)を搭載する電子機器では、実際にユーザがペンを用いて指示した点と機器により認識される点とで位置ズレ(誤差)が生じる場合がある。位置ズレは、たとえばセンサの組み込みズレや電磁誘導式電子ペンの特性など、ハードウェアの実装に起因して発生してしまう。このような状況において、ユーザの指示した点と端末で認識される点とのズレを解消する方法が求められている。
特開平06-161664号公報
 従来、ペン先と機器側で認識される座標の位置ズレ(誤差)を補正するために位置補正処理(キャリブレーション処理)を行うことが多い。位置ズレが生じる要因は複数あり、センサの組み込み誤差による位置ズレといったハードウェア起因のものと、電子ペンの傾け方やディスプレイのガラス面の厚みによる視差といった、ユーザの使い方の違いによって生じるものがある。
 従来のキャリブレーション処理では、それらを区別することなく一定の補正処理を行うため、電子機器を回転させて入力デバイス(デジタイザ)の方向を変える、あるいはペンの傾きを変えるといった、ペン入力する状態が変化してしまうと、適正な位置補正ができなかった。このため、キャリブレーション処理を行っても、ユーザの指示した点と機器側で認識される点とが一致しないことがあった。
 本発明が解決しようとする課題は、ハードウェアに起因する誤差と入力状態の違いに起因する誤差とを適正に補正することができる電子機器、補正方法、及びプログラムを提供することである。
 実施形態によれば、電子機器は、第1オブジェクトとの接触位置を検出可能なディスプレイと、記録手段と、生成手段と、決定手段とを有する。記録手段は、少なくともハードウェアに起因する誤差に関する第1データであって、前記第1オブジェクトと前記ディスプレイとが接触する第1位置と、前記第1オブジェクトと前記ディスプレイとの前記第1位置での接触に応じて取得される第1位置情報にしたがって前記ディスプレイが描画する第2位置との誤差に関する第1データを記憶する。生成手段は、第2オブジェクトと前記ディスプレイとの接触状態の違いに関する第2データであって、前記第2オブジェクトと前記ディスプレイとの第3位置での接触に応じて取得される第2位置情報にしたがって前記ディスプレイが描画する第4位置を決定するために用いられる第2データを生成する。決定手段は、前記ディスプレイが検出する接触位置を、前記第1データと前記第2データとを用いて決定する。
図1は、実施形態に係るタブレットコンピュータの外観を示す斜視図である。 図2は、実施形態のタブレットコンピュータのシステム構成を示す図である。 図3は、実施形態のキャリブレーションユーティリティプログラムにより実現される機能構成を示すブロック図である。 図4は、実施形態の第2補正データ生成モジュールにより生成される第2補正データの一例を示す図である。 図5は、実施形態の第2補正データ生成モジュールにより生成される第2補正データの一例を示す図である。 図6は、実施形態の位置ズレ(誤差)を説明するための概念図である。 図7は、実施形態のLCDとセンサシートとの位置関係を示す図である。 図8は、実施形態のLCDとセンサシートとの位置関係を示す図である。 図9は、実施形態のハードウェアに起因する位置ズレと、ユーザの使い方に起因する位置ズレとの関係を示す図である。 図10は、実施形態のタブレットコンピュータを90度左方向に回転させて、タッチスクリーンディスプレイの向きを変更した例を示す図である。 図11は、実施形態のキャリブレーションユーティリティプログラムによる補正処理を説明するための図である。 図12は、実施形態の第1補正データを生成する第1補正データ生成処理のフローチャートである。 図13は、実施形態の第1補正データ生成処理におけるキャリブレーション用の画面の一例を示す図である。 図14は、実施形態の第2補正データを生成する第2補正データ生成処理のフローチャートである。 図15は、実施形態の手書き入力操作の例を示す図である。 図16は、実施形態のキャリブレーション用の画面の一例を示す図である。 図17は、実施形態のペンの傾きを説明するための概念図である。 図18は、実施形態のキャリブレーション用の画面の一例を示す図である。 図19は、実施形態のキャリブレーション用の画面の一例を示す図である。 図20は、実施形態のキャリブレーション用の画面の一例を示す図である。 図21は、実施形態の入力操作時のペンを持つ手が画面に触れている状態を示す図である。 図22は、実施形態の補正データ生成用のデータを収集する原理を説明するための図である。 図23は、実施形態のずれ成分を抽出する原理を説明するための図である。 図24は、実施形態の第1補正データと第2補正データとを用いた補正処理を示すフローチャートである。 図25は、実施形態のタブレットコンピュータの使用状態の一例を示す図である。 図26は、実施形態のタブレットコンピュータの使用状態の一例を示す図である。
 以下、図面を参照して、実施形態について説明する。 
 図1は、実施形態に係るタブレットコンピュータ10の外観を示す斜視図である。タブレットコンピュータ10は、タブレットまたはストレートコンピュータとも称される携帯型電子機器であり、本体11とタッチスクリーンディスプレイ17とを備える。タッチスクリーンディスプレイ17は、本体11の上面に取り付けられている。
 本体11は、薄い箱形の筐体を有している。タッチスクリーンディスプレイ17には、フラットパネルディスプレイと、フラットパネルディスプレイの画面上のペンまたは指の接触位置を検出するように構成されたセンサとが組み込まれている。フラットパネルディスプレイは、例えば、液晶表示装置(LCD)であってもよい。センサとしては、例えば、静電容量方式のタッチパネル、電磁誘導方式のデジタイザなどを使用することができる。以下の例では、デジタイザとタッチパネルの2種類のセンサの双方がタッチスクリーンディスプレイ17に組み込まれている場合を想定する。
 デジタイザに対応するセンサは、ペンとタッチスクリーンディスプレイ17との接触を検出可能なセンサであればどのようなものであっても良い。
 タッチパネルに対応するセンサは、物体(例えば、人間の手や指)とタッチスクリーンディスプレイ17との接触を検出可能なセンサであればどのようなものであっても良い。例えば、静電容量方式でマルチタッチを検出可能な場合、隣接する複数のポイントで接触を検出することができる。
 デジタイザ及びタッチパネルタッチの各々は、フラットパネルディスプレイの画面を覆うように設けられる。このタッチスクリーンディスプレイ17は、指を使用した画面に対するタッチ操作のみならず、ペン100を使用した画面に対するタッチ操作も検出することができる。ペン100は例えば電磁誘導ペンであってもよい。ユーザは、外部オブジェクト(ペン100又は指)を使用してタッチスクリーンディスプレイ17上で手書き入力操作を行うことができる。手書き入力操作中においては、画面上の外部オブジェクト(ペン100又は指)の動きの軌跡、つまり手書き入力操作によって手書きされるストロークの軌跡(筆跡)がリアルタイムに描画され、これによって各ストロークの軌跡が画面上に表示される。外部オブジェクトが画面に接触されている間の外部オブジェクトの動きの軌跡が1ストロークに相当する。手書きされた文字または図形などに対応する多数のストロークの集合、つまり多数の軌跡(筆跡)の集合が手書き文書を構成する。
 本実施形態では、この手書き文書は、イメージデータではなく、各ストロークの軌跡の座標列とストローク間の順序関係を示す時系列情報として記憶媒体に保存される。この時系列情報は、概して、複数のストロークにそれぞれ対応する時系列のストロークデータの集合を意味する。各ストロークデータは、ある一つのストロークに対応し、このストロークの軌跡上の点それぞれに対応する座標データ系列(時系列座標)を含む。これらストロークデータの並びの順序は、ストロークそれぞれが手書きされた順序つまり筆順に相当する。
 図2は、タブレットコンピュータ10のシステム構成を示す図である。 
 タブレットコンピュータ10は、図2に示されるように、CPU101、システムコントローラ102、主メモリ103、グラフィクスコントローラ105、BIOS-ROM105、不揮発性メモリ106、無線通信デバイス107、エンベデッドコントローラ(EC)108、加速度センサ109等を備える。
 CPU101は、タブレットコンピュータ10内の各種モジュールの動作を制御するプロセッサである。CPU101は、ストレージデバイスである不揮発性メモリ106から主メモリ103にロードされる各種ソフトウェアを実行する。これらソフトウェアには、オペレーティングシステム(OS)201、及び各種アプリケーションプログラムが含まれている。
 OS201は、例えば起動時にユーザによって入力されるパスワード等をもとに、タブレットコンピュータ10を利用するユーザを識別することができる。
 アプリケーションプログラムには、ペン100などの外部オブジェクトを用いて入力されるストロークデータを処理する複数のアプリケーションプログラム202,203、ペン100の入力操作により入力される座標データの誤差を補正するキャリブレーションユーティリティプログラム204が含まれている。
 アプリケーションプログラム202は、例えば、主に文字を表すストロークを入力して手書き文書を作成、表示、編集する機能を有し、アプリケーションプログラム203は、例えば、線画や色の塗りつぶしなど表すストロークを入力して絵画などを作成、表示する機能を有している。アプリケーションプログラム202,203は、ストロークデータに応じて描画する線種や色などを切り替える機能が設けられている。
 アプリケーションプログラム203を利用する場合、ユーザは、文字を手書き入力する場合と異なる持ち方でペン100を操作する場合がある。すなわち、アプリケーションプログラム203を実行する場合、タッチスクリーンディスプレイ17に対するペン100の傾きが、アプリケーションプログラム202を利用して文字を手書き入力する場合と異なる。
 キャリブレーションユーティリティプログラム204は、タッチスクリーンディスプレイ17に対するペン100によるユーザが意図した接触位置と、接触位置に応じてタッチスクリーンディスプレイ17に描画される線(ストローク)との位置ズレ(誤差)を補正するための処理を実行する。キャリブレーションユーティリティプログラム204は、ハードウェアの実装に起因する接触位置の検出誤差と、タッチスクリーンディスプレイ17に対するペン100の接触状態の違いに起因する接触位置の検出誤差とを、2段階に分けて補正する機能を有する。キャリブレーションユーティリティプログラム204は、不揮発性メモリ106に記録された第1補正データ106Aと第2補正データ106Bとを主メモリ103にロードする。キャリブレーションユーティリティプログラム204は、主メモリ103にロードされた第1補正データ205と第2補正データ206をもとに、タッチスクリーンディスプレイ17(デジタイザ17C)により検出される座標データを補正して、OS201やアプリケーションプログラム202,203に出力する。
 また、CPU101は、BIOS-ROM105に格納された基本入出力システム(BIOS)も実行する。BIOSは、ハードウェア制御のためのプログラムである。
 システムコントローラ102は、CPU101のローカルバスと各種コンポーネントとの間を接続するデバイスである。システムコントローラ102には、主メモリ103をアクセス制御するメモリコントローラも内蔵されている。また、システムコントローラ102は、PCI EXPRESS規格のシリアルバスなどを介してグラフィクスコントローラ104との通信を実行する機能も有している。
 グラフィクスコントローラ104は、タブレットコンピュータ10のディスプレイモニタとして使用されるLCD17Aを制御する表示コントローラである。このグラフィクスコントローラ104によって生成される表示信号はLCD17Aに送られる。LCD17Aは、表示信号に基づいて画面イメージを表示する。このLCD17A上にはタッチパネル17B及びデジタイザ17Cが配置されている。タッチパネル17Bは、LCD17Aの画面上で入力を行うための静電容量式のポインティングデバイスである。指が接触される画面上の接触位置及び接触位置の動き等はタッチパネル17Bによって検出される。デジタイザ17Cは、画面上の接触位置を示す座標を出力する。デジタイザ17CはLCD17Aの画面上で入力を行うための電磁誘導式のポインティングデバイスである。
 ペン100が接触される画面上のペン100の位置(座標)及びペン100の位置の動き等はデジタイザ17Cによって検出される。デジタイザ17Cは、画面上のペン100による接触位置を示す座標データを出力する。
 無線通信デバイス107は、無線LANまたは3G移動通信などの無線通信を実行するように構成されたデバイスである。EC108は、電力管理のためのエンベデッドコントローラを含むワンチップマイクロコンピュータである。EC108は、ユーザによるパワーボタンの操作に応じてタブレットコンピュータ10を電源オンまたは電源オフする機能を有している。
 加速度センサ109は、タブレットコンピュータ10の動きや重力方向(静的加速度)を検出するセンサである。OS201は、加速度センサ109による検出結果をもとに、タブレットコンピュータ10の設置状態を検出し、タッチスクリーンディスプレイ17の向きを判別する。タッチスクリーンディスプレイ17の向きを判別することで、タッチスクリーンディスプレイ17に表示する画面の向きを変更することができる。また、タッチスクリーンディスプレイ17に対して、ユーザが何れの方向からペン100を用いた入力操作をするか判別することができる。
 次に、キャリブレーションユーティリティプログラム204の機能構成について説明する。図3は、キャリブレーションユーティリティプログラム204により実現される機能構成を示すブロック図である。
 図3に示すように、キャリブレーションユーティリティプログラム204は、CPU101により実行されることにより、データ入力モジュール301、第1補正データ生成モジュール303、第2補正データ生成モジュール302、補正モジュール304(第1補正モジュール305、第2補正モジュール306)、判別モジュール307が含まれる。
 データ入力モジュール301は、デジタイザ17Cから出力される検出信号を入力するモジュールである。デジタイザ17Cから出力される検出信号には、ペン100によるタッチスクリーンディスプレイ17への接触位置を示す座標データが含まれる。なお、データ入力モジュール301は、タッチパネル17Bからの検出信号を入力することもできる。
 第1補正データ生成モジュール303は、データ入力モジュール301から入力される座標データをもとに、ハードウェアの実装に起因する接触位置の検出誤差を補正するための第1補正データを生成して、不揮発性メモリ106に記録する。
 第2補正データ生成モジュール302は、タッチスクリーンディスプレイ17に対するペン100の接触状態の違いに起因する接触位置の検出誤差を補正するための第2補正データを生成して、不揮発性メモリ106に記録する。なお、第2補正データは、タブレットコンピュータ10の動作状態の違いに対応する複数の補正データを含むことができる。
 補正モジュール304は、タッチスクリーンディスプレイ17(デジタイザ17C)によって検出されるペン100の接触位置を示す座標データを補正するもので、第1補正モジュール305と第2補正モジュール306とを含む。第1補正モジュール305は、第1補正データ生成モジュール303によって生成された第1補正データ205をもとに座標データを補正する。第2補正モジュール306は、第2補正データ生成モジュール302によって生成された第2補正データ206をもとに、第1補正モジュール305により補正された座標データを補正する。すなわち、補正モジュール304は、デジタイザ17Cにより検出される座標データを2段階で補正する。
 判別モジュール307は、ユーザによるタブレットコンピュータ10の使い方を判別して、第2補正モジュール306に通知する。すなわち、判別モジュール307は、OS201や、アプリケーションプログラム203,203からの通知に基づいて、タッチスクリーンディスプレイ17に対するペン100の接触状態の違いが発生する動作状態を判別して、第2補正モジュール306に通知する。判別モジュール307により判別される動作状態には、例えばタッチスクリーンディスプレイ17の向き、タブレットコンピュータ10を使用するユーザ、デジタイザ17Cから入力される座標データを処理するアクティブなアプリケーション、アプリケーションで実行される機能(ストロークデータに応じて描画する線の線種など)、ユーザがペン100を持つ手(右手、左手)などがある。
 第2補正モジュール306は、判別モジュール307から通知される動作状態に応じて、複数の補正データの何れかを選択して補正処理に使用することができる。
 図4及び図5は、第2補正データ生成モジュール302により生成される第2補正データ206の一例を示す図である。
 図4は、タブレットコンピュータ10を使用する複数のユーザ(ユーザA、ユーザB,…)のそれぞれに対応する補正データを含む第2補正データ206の例を示す図である。図4に示すように、第2補正データ206には、複数のユーザ(ユーザA、ユーザB,…)に対応する、複数のユーザ用補正データ207A、ユーザB用補正データ207B,…が含まれている。
 一般に、ペン100の持ち方は、ユーザによって異なる。従って、タッチスクリーンディスプレイ17に対してペン100を用いて手書き入力する場合、タッチスクリーンディスプレイ17に対するペン100の傾斜角度がユーザによって異なるため、検出誤差もユーザによって異なる。こうした、ユーザによって異なる検出誤差を、ユーザのそれぞれに対応する補正データを用いて補正することで適正な補正が可能となる。
 図5は、タブレットコンピュータ10で実行される複数のアプリケーション(アプリケーションA、アプリケーションB,…)のそれぞれに対応する補正データを含む第2補正データ206の例を示す図である。図5に示すように、第2補正データ206には、複数のアプリケーション(アプリケーションA、アプリケーションB,…)に対応する、複数のアプリケーションA用補正データ208A、アプリケーションB用補正データ208B,…が含まれている。
 一般に、ユーザが文字を手書き入力する場合と、絵など手書きによって描画する場合とでは、ペン100の持ち方が異なる。従って、手書きによって文字を入力するアプリケーションを実行する場合と、手書きによって絵などを作成するアプリケーションを実行する場合とでは、タッチスクリーンディスプレイ17に対するペン100の傾斜角度が異なるため、検出誤差もアプリケーションによって異なる。こうした、アプリケーションによって異なる検出誤差を、アプリケーションのそれぞれに対応する補正データを用いて補正することで適正な補正が可能となる。
 なお、図4及び図5には、第2補正データ206に、ユーザ用補正データあるいはアプリケーション用補正データが含まれる例を示しているが、ペン100の接触状態の違いが発生する他の動作状態に対応する複数の補正データが第2補正データ206に含まれるようにしても良い。例えば、アプリケーションで実行される複数の機能(ストロークデータに応じて描画する線の線種)に応じた複数の補正データ、1人のユーザが右手と左手を用いてペン100を操作した場合に対応する右手用補正データと左手用補正データなどがある。
 本実施形態におけるキャリブレーションユーティリティプログラム204は、ハードウェアの実装に起因する接触位置の検出誤差を、第1補正データ205を用いて第1段階の補正処理により補正する。すなわち、固定的に発生する検出誤差については第1補正データにより補正されるため、動作状態に応じて第2段階の補正処理のみを動的に対応させることにより、ハードウェアの実装に起因する検出誤差とユーザの使い方に起因して発生する検出誤差の両方を補正した適正な補正が実現できる。
 次に、タッチスクリーンディスプレイ17に対するペン100によるユーザが意図した接触位置と、接触位置に応じてタッチスクリーンディスプレイ17に描画される線(ストローク)との位置ズレ(誤差)が生じる原因について説明する。 
 図6は、位置ズレ(誤差)を説明するための概念図である。図6に示すように、ペン100を持って手書き入力する場合、ペン100が傾斜状態でペン先がタッチスクリーンディスプレイ17の入力面上に接触される。ユーザが入力画面上の点Aで入力操作を行うと、電磁コイル101から電磁波が発信され、この電磁波はデジタイザ17Cのセンサ面上の点Bで最も強く受信される。従って、デジタイザ17C上のB点がペン100による接触位置として検出され、LCD17Aにおいてタッチ位置を示す線がB点の垂直上の点Cに表示されることになる。
 また、電磁誘導方式では、ペン100に内蔵された電磁コイル101とデジタイザ17Cのセンサシート面が最も近い位置がペン先により接触された位置として検出されるため、実際のペン先と座標として検出される位置にずれが生じ、ペン100を傾けるほど、ペン100の傾きによる位置ずれFは大きくなる。
 また、LCD17Aを保護するための保護材(ガラスなど)501が表面にあるため、LCD17A上に実際に表示される線の位置と、ユーザが目線の先に想定するペン先の位置との間に視差Eが生じる。
 このため、保護材501の厚みによる視差Eとペン100の傾きによる位置ずれFにより、図6に示すように、ユーザが線の描画を期待する線の位置Dと、実際に表示される線の位置Cとの間に位置ずれ(検出誤差)が生じる。
 次に、ハードウェアの実装に起因する、ペン100による接触位置とデジタイザ17Cにより検出される座標との検出誤差について説明する。 
 電磁誘導方式のペン100を使用するデジタイザ17Cを搭載したタブレットコンピュータ10は、LCD17Aの下にデジタイザ17Cのセンサシート17C1を配置している。デジタイザ17Cは、センサシート17C1によってペン100から発生される電磁波を検出する。
 LCD17Aとセンサシート17C1とは、例えば図7に示すように、センサシート17C1とLCD17Aの左上に設定される原点が一致するように組み立てられる。しかしながら、組み立て時に組み込み誤差が発生して、例えば図8に示すように、LCD17Aとセンサシート17C1とに位置ズレE1,E2が生じることがある。図8に示す例では、LCD17Aの原点位置(0,0)が右下にずれた例を示している。
 このため、ペン100によりストロークを手書きした場合に、センサシート17C1により検出されるペン先の軌跡を表す座標データ列と、座標データ列に応じてLCD17Aに表示される線との間に位置ズレ(検出誤差)が生じる。
 図9は、ハードウェアに起因する位置ズレと、ユーザの使い方に起因する位置ズレとの関係を示す図である。 
 図9では、ユーザが意図してLCD17A上の点(X,Y)に、ペン100のペン先を接触させた例を示す。この場合、ハードウェア起因による位置ズレを(Dxh、Dyh)、ユーザの使い方に依存する位置ズレを(Dxu、Dyu)とすると、ユーザが意図する点(X,Y)と、タブレットコンピュータ10がユーザにより指示されたと認識される点(X1、Y1)との関係は、次の式(1)(2)により示される。 
 X=X1-Dxh-Dxu  …(1) 
 Y=Y1-Dyh-Dyu  …(2)
 図10は、タブレットコンピュータ10を90度左方向に回転させて、タッチスクリーンディスプレイ17の向きを変更した例を示している。図10に示す動作状態の場合、ユーザの使い方に依存する位置ズレは、デジタイザ17C(センサシート17C1)の座標系に対して90度方向が異なるため、ユーザの指示したLCD17A上の本来の点(X,Y)とタブレットコンピュータ10により認識される点(X2、Y2)との関係は、次の式(3)(4)により示される。 
 X=X2-Dxh+Dyu  …(3) 
 Y=Y2-Dyh-Dxu  …(4)
 このように、座標データの補正は、タブレットコンピュータ10(タッチスクリーンディスプレイ17)の向きによって計算方法が異なる。
 しかし、本実施形態のキャリブレーションユーティリティプログラム204は、図11(A)に示すハードウェア起因による位置ズレに対する補正と、図11(B)に示すユーザの使い方に依存する位置ズレに対する補正とを分離し、まず、ハードウェア起因による位置ズレに対する補正を行ってから、次にユーザの使い方に依存する位置ズレに対する補正を行う2段階とする。これにより、タブレットコンピュータ10が回転されてタッチスクリーンディスプレイ17の向き、すなわちペン100によるタッチスクリーンディスプレイ17に対する入力操作の向きが変更される場合であっても、動的に補正処理の計算方法を変更することで、タッチスクリーンディスプレイ17の向きに応じた適正な補正処理ができる。
 次に、本実施形態におけるキャリブレーションユーティリティプログラム204による動作について説明する。 
 まず、第1補正データを生成する第1補正データ生成処理について、図12に示すフローチャートを参照しながら説明する。第1補正データ生成処理は、ハードウェアの実装に起因して発生する検出誤差を補正する第1補正データを生成するための処理である。
 第1補正データは、タブレットコンピュータ10に固有の補正データである。このため、第1補正データ生成処理は、例えばタブレットコンピュータ10の製造ライン中で管理者の操作によって実施する。
 まず、タブレットコンピュータ10は、管理者の操作に応じて、キャリブレーションユーティリティプログラム204によるハードウェア誤差補正用キャリブレーションユーティリティを起動する(ステップA1)。第1補正データ生成モジュール303は、キャリブレーション用の画面をタッチスクリーンディスプレイ17において表示させる(ステップA2)。
 図13は、第1補正データ生成処理におけるキャリブレーション用の画面の一例を示す図である。 
 図13に示すように、キャリブレーション用の画面では、表示画面の四隅に“+”マークを表示すると共に、「ペンをパネルに垂直になるようにして十字の中心をタップしてください」のメッセージを表示する。
 第1補正データ生成処理では、ペン100の傾きなどによる位置ズレの影響を排除するため、ペン100をタッチスクリーンディスプレイ17(LCD17A)に対して垂直に立てて入力操作を実行させる。
 管理者は、ペン100が垂直となるように保持して、ペン先が“+”マークと一致するようにして、タッチスクリーンディスプレイ17に対して入力操作をする。
 データ入力モジュール301は、デジタイザ17Cから、ペン100による入力操作に応じて検出される座標データを入力する(ステップA3)。
 第1補正データ生成モジュール303は、LCD17Aに表示した“+”マークの位置と、入力された座標データが示す位置との差を算出して、ハードウェア誤差補正用の第1補正データとする(ステップA4)。すなわち、図9における(Dxh、Dyh)を算出する。
 第1補正データ生成モジュール303は、第1補正データを不揮発性メモリ106に記録する(ステップA5)。タブレットコンピュータ10は、第1補正データが不揮発性メモリ106に記録された状態で出荷される。
 従って、ユーザは、タブレットコンピュータ10に固有の第1補正データが予め記録された状態でタブレットコンピュータ10を利用することができる。
 なお、前述した説明では、第1補正データ生成処理は、製造ラインにおいて管理者によって実行されるものとしたが、ユーザにより実行されるようにしても良い。例えば、ユーザは、手書き入力した際に、位置ズレが生じていることを認識した場合に、キャリブレーションユーティリティプログラム204を起動して前述した第1補正データ生成処理を実行する。これにより、前述と同様にして、第1補正データを生成して、不揮発性メモリ106に記録することができる。
 LCD17Aとセンサシート17C1との組み立て誤差が生じていない場合には、第1補正データ生成処理を不要とすることができる。また、ユーザによって第1補正データ生成処理を実行することにより、製造ラインにおける作業工程を削減して、コストダウンを図ることができる。
 次に、第2補正データを生成する第2補正データ生成処理について、図14に示すフローチャートを参照しながら説明する。第2補正データ生成処理は、ユーザの使い方に起因する検出誤差を補正する第2補正データを生成するための処理である。
 まず、タブレットコンピュータ10は、ユーザの操作に応じて、キャリブレーションユーティリティプログラム204によるユーザ別誤差補正用キャリブレーションユーティリティを起動する(ステップB1)。第2補正データ生成モジュール302は、キャリブレーション用の画面をLCD17Aにおいて表示させる(ステップB2)。キャリブレーション用の画面の具体例については後述する。
 第2補正データ生成処理では、ユーザが通常の入力操作をした際に生じる位置ズレを補正するための第2補正データを生成する。例えば、図15に示すように、ユーザがタッチスクリーンディスプレイ17上においてペン100のペン先をラインL1に沿って移動させた際に、ペン100の傾斜により発生する検出誤差により、ラインL1と異なる位置にラインL2が描画される。
 第2補正データは、ラインL1とラインL2との差を補正するためのデータである。このため、第2補正データ生成処理では、キャリブレーション用の画面に表示した線に対して、ユーザに通常通りにペン100を持って、線をなぞるように入力操作させる。
 第2補正データ生成モジュール302は、データ入力モジュール301を通じて座標データ列を入力し(ステップB3)、LCD17Aに表示した線の位置と、入力された座標データ列との差を算出して、ユーザ別誤差補正用の第2補正データとする(ステップB4)。すなわち、図9における(Dxu、Dyu)を算出する。
 第2補正データ生成モジュール302は、第2補正データをユーザ識別情報と対応づけて不揮発性メモリ106に記録する(ステップB5)。
 なお、タブレットコンピュータ10を複数のユーザによって使用する場合、各ユーザが前述した第2補正データ生成処理を実行することにより、各ユーザに対応する第2補正データを不揮発性メモリ106に記録することができる。
 次に、第2補正データ生成処理においてキャリブレーション用の画面に表示する線の具体例について説明する。 
 第2補正データ生成モジュール302は、例えば、図16に示すように、キャリブレーション用の画面に複数の線で構成される図形(矩形R1)を表示する。第2補正データ生成モジュール302は、ユーザによりペン100で矩形R1をなぞらせることで、ユーザが期待する線R2の位置と、ペン先の接触位置として検知される座標データが示す位置とのずれ量を算出する。第2補正データ生成モジュール302は、ずれ量をもとに第2補正データを生成することで、ユーザに応じた、目線の角度やペン100の傾きを考慮した補正を可能にする。
 ユーザによって目線やペンの傾きは異なり、また、ペン100の持ち方も異なるが、ユーザが図形や文字を書くときの自然な目線やペン100の傾きでの位置補正ができるようになり、ユーザ毎のペンで何かを書くときの癖に合わせた位置補正が可能となる。
 また、図17に示すように、利き手から遠い場所で入力操作をするほどペン100が斜めになり、利き手側に近いほどペンが垂直になる傾向がある。図17は、右手でペン100を持った場合を示している。
 このため、図18や図19に示すように、タッチスクリーンディスプレイ17上の複数の場所にキャリブレーション用の図形を表示し、それぞれの場所での位置ずれを算出して、それぞれの位置に応じた複数の第2補正データを生成するようにしても良い。これにより、タッチスクリーンディスプレイ17上の入力操作がされた領域に応じて、異なる位置に対応する第2補正データを選択して補正処理をすることで、より正確に位置ズレを補正することができる。
 ペン100による入力操作をする場所(領域)によって第2補正データを変更することで、同じユーザでもペン100を用いて入力操作をする場所によってペン100の傾きや目線の角度が異なるとしても、より正確な位置補正が可能となる。
 図18は、キャリブレーション用の図形として、3つの矩形R11,R12,R13を表示した例である。矩形R11,R12,R13は、画面の上下方向の中央に横方向に並んで配置されている。
 図19は、キャリブレーション用の図形として、5つの矩形R21,R22,R23,R24,R25を表示した例である。矩形R21は、タッチスクリーンディスプレイ17の左上隅に表示されている。矩形R22は、タッチスクリーンディスプレイ17の右上隅に表示されている。矩形R23は、タッチスクリーンディスプレイ17の中央に表示されている。矩形R24は、タッチスクリーンディスプレイ17の左下隅に表示されている。矩形R25は、タッチスクリーンディスプレイ17の右下隅に表示されている。
 なお、キャリブレーション用の図形は、図20に示すように、図形の代わりに文字を使ってもよい。図20は、キャリブレーション用の図形として、5つの文字T1,T2,T3,T4,T5を表示した例である。文字T1は、タッチスクリーンディスプレイ17の左上隅に表示されている。文字T2は、タッチスクリーンディスプレイ17の右上隅に表示されている。文字T3は、タッチスクリーンディスプレイ17の中央に表示されている。文字T4は、タッチスクリーンディスプレイ17の左下隅に表示されている。文字T5は、タッチスクリーンディスプレイ17の右下隅に表示されている。
 文字を手書き入力する場合、ユーザは、図形を手書き入力する場合と異なる持ち方で、ペン100を持つ場合がある。従って、図形の代わりに文字を使って第2補正データを生成することで、この第2補正データを用いて文字が手書き入力される場合に補正処理をすることで、より正確に位置ズレを補正することができる。
 また、第2補正データ生成モジュール302は、データ入力モジュール301を通じて、デジタイザ17Cによって検出される座標データと共に、タッチパネル17Bにより検出されるユーザの手の位置を示すデータを入力して、第2補正データを生成することもできる。
 例えば、図21に示すように、ペン100を持つ手Hがタッチスクリーンディスプレイ17に触れている場合、第2補正データ生成モジュール302は、ペン100のペン先の接触位置を示す座標データと手Hの位置を示すデータとをもとに、ユーザが右手と左手の何れでペン100を持っているかを判別する。すなわち、ペン先の接触位置を示す座標データより、手Hの位置を示すデータが右側にある場合には、ユーザが右手でペン100を持って入力操作をしたと判別することができる。同様にして、ペン先の接触位置を示す座標データより、手Hの位置を示すデータが左側にある場合には、ユーザが左手でペン100を持って入力操作をしたと判別することができる。第2補正データ生成モジュール302は、入力された座標データをもとに算出した第2位置データに、右手入力用あるいは左手入力用のデータを付加して不揮発性メモリ106に記録する。補正処理では、ユーザが右手あるいは左手の何れでペン100を持っているかを判別できる場合、右手あるいは左手に応じて第2補正データを選択して補正処理をすることで、より正確な補正が可能となる。
 次に、キャリブレーション用の図形に対する入力操作により応じて、第2補正データを算出するために用いる座標データの入力方法について説明する。
 例えば、デジタイザ17Cによるタッチ操作の検出が100Hzのサイクルで実行されているものとする。この場合、例えば図22に示すように、線分(b1)がペン100の操作により筆記されると、1秒間に100回、つまり10ms(c1)毎に検出信号が出力されることになる。従って、データ入力モジュール301は、ユーザの1回の筆記から数多くの検出信号を収集できる。
 データ入力モジュール301によって入力される複数の検出信号は、第2補正データ生成モジュール302に供給される。第2補正データ生成モジュール302は、手書きデータ入力部301から供給される複数の検出信号の中からキャリブレーションに用いるべき検出信号を選び出す。
 第2補正データ生成モジュール302は、タッチスクリーンディスプレイ17(LCD17A)に表示したキャリブレーション用の図形の位置と、図形をなぞる入力操作によりデジタイザ17Cにより検出された位置とのずれに関する成分を抽出する。
 デジタイザ17Cから出力される検出信号には、座標データが含まれている。座標データによれば、この検出信号に対応するタッチ操作がタッチスクリーンディスプレイ17上のどの位置で行われたのかを知ることができる。しかしながら、(例えば点状のオブジェクトに対するタッチ操作とは異なり)タッチスクリーンディスプレイ17上に表示された図形で示される線分をなぞるようにユーザがタッチスクリーンディスプレイ17上で線分を筆記したことに伴って取得される検出信号の場合、その検出信号に含まれる座標データで示されるタッチ操作の位置が、ユーザが図形で示される線分上のどの位置をなぞろうとした時に得られたものであるのかがわからない。
 そこで、第2補正データ生成モジュール302は、タッチ操作の検出位置に対する向きがその線分と直交する向きとなる線分上の位置を、そのタッチ操作の位置と対応するものであると推定する。
 第2補正データ生成モジュール302は、各タッチ操作の位置について、対応する線分上の位置を推定すると、両者間の距離を各々算出し、かつ、その平均値を算出する。これにより、第2補正データ生成モジュール302は、図23に示すように、タッチスクリーンディスプレイ17上での1本の横線の筆記によって、複数の検出信号に基づき、縦方向のずれ成分(d1)を算出でき(図23の(A))、また、タッチスクリーンディスプレイ17上での1本の縦線の筆記によって、複数の検出信号に基づき、横方向のずれ成分(d2)を算出できる(図23の(B))。また、この縦横2方向のずれ成分からは、タッチスクリーンディスプレイ17(LCD17A)の表示位置とタッチスクリーンディスプレイ17(デジタイザ17C)による検出位置とを一致させるための補正値(d3)を算出できる。
 第2補正データ生成モジュール302は、抽出されたずれ成分に基づき補正値を算出し、この補正値を、タッチスクリーンディスプレイ17(LCD17A)の表示位置とタッチスクリーンディスプレイ17(タッチパネル17Bまたはデジタイザ17C)による検出位置とを一致させるための第2補正データとして設定する。
 なお、前述したように、ペン100によるタッチスクリーンディスプレイ17上への接触位置は、電磁誘導式のポインティングデバイスであるデジタイザ17Cによって検出される。デジタイザ17Cによって検出される接触位置は、タッチスクリーンディスプレイ17上の同一位置であっても、ペン100がタッチスクリーンディスプレイ17に対してどのような角度で接触したかによって異なり得る。そこで、第2補正データ生成モジュール302によって表示される図形で示される線分の長さは、線分の筆記中にペン100の角度が著しく(閾値を超えて)変わらない範囲内に収まるようにする。
 次に、第1補正データと第2補正データとを用いた補正処理について、図24に示すフローチャートを参照しながら説明する。 
 キャリブレーションユーティリティプログラム204は、ペン100による入力操作がされる場合、常駐して動作するものとする。タブレットコンピュータ10の起動時に、パスワードの入力などによって、タブレットコンピュータ10を使用するユーザが識別された場合、キャリブレーションユーティリティプログラム204は、不揮発性メモリ106から、タブレットコンピュータ10を使用するユーザに対応する第2補正データ106Bを、ユーザ識別情報をもとに検索し、第1補正データ106Aと共に主メモリ103にロードする。
 補正モジュール304は、データ入力モジュール301を通じて座標データが入力されると(ステップC1)、第1補正データ205を用いて座標データを補正する(ステップC2)。すなわち、第1段階の補正によって、ハードウェアに起因する誤差を補正する。
 次に、第2補正モジュール306は、第1補正モジュール305によって補正された座標データを、第2補正データ206を用いて補正する。すなわち、第2段階の補正によって、ユーザの使い方に起因する誤差を補正する。これにより、ハードウェアに起因する誤差とユーザの使い方に起因する誤差の両方を考慮した補正された補正データを、アプリケーションあるいはOS201に出力することができる(ステップC5)。
 なお、第2補正モジュール306は、判別モジュール307により判別される動作状態に応じて、第2段階の補正処理を切り替えることができる。
 例えば、タブレットコンピュータ10を回転させた場合、判別モジュール307は、OS201からの通知によって、タッチスクリーンディスプレイ17の向きを判別し、第2補正モジュール306によってタブレットコンピュータ10の向きに応じた補正処理を実行させる。
 例えば、タブレットコンピュータ10が図9に示す状態で使用される場合、前述したように、次の式(1)(2)に示す計算により座標データが補正される。 
 X=X1-Dxh-Dxu  …(1) 
 Y=Y1-Dyh-Dyu  …(2)
 また、タブレットコンピュータ10が図10に示す状態(左方向に90度回転した状態)で使用される場合、前述したように、次の式(3)(4)に示す計算により座標データが補正される。 
 X=X2-Dxh+Dyu  …(3) 
 Y=Y2-Dyh-Dxu  …(4)
 また、タブレットコンピュータ10が図25に示す状態(左方向に180度回転した状態)で使用される場合、次の式(5)(6)に示す計算により座標データが補正される。 
 X=X3-Dxh+Dxu  …(5) 
 Y=Y3-Dyh+Dyu  …(6)
 また、タブレットコンピュータ10が図26に示す状態(左方向に270度回転した状態)で使用される場合、次の式(7)(8)に示す計算により座標データが補正される。 
 X=X4-Dxh-Dyu  …(7) 
 Y=Y4-Dyh+Dxu  …(8)
 このように、第1段階の補正処理によりハードウェアに起因する誤差が補正されているため、タブレットコンピュータ10の向きに応じて計算方法を変更することで、1つの第2補正データ206によって座標データの補正が可能である。すなわち、タブレットコンピュータ10の各向きに応じた第2補正データを予め生成しておく必要がない。
 また、アプリケーションプログラム202,203のそれぞれに対応する第2補正データ206が生成されている場合、第2補正モジュール306は、判別モジュール307により判別されるアクティブなアプリケーションに対応する第2補正データを選択して座標データを補正する。
 また、アプリケーションプログラム202,203の機能(例えば、線種など)が切り替えられたことが、判別モジュール307によりアプリケーションからの通知により検出した場合、第2補正モジュール306は、アプリケーションの機能に応じた第2補正データを選択して座標データを補正する。
 また、タッチパネル17Bによってユーザの手Hが検出される場合、第2補正モジュール306は、デジタイザ17Cにより検出される座標データが示す位置と手Hの位置との関係に基づいて、ユーザが右手と左手の何れにペン100を持っているかを判別して、右手あるいは左手に応じた第2補正データを選択して、座標データを補正することもできる。
 さらに、前述した説明では、タブレットコンピュータ10の向きとして90度毎に回転させた状態を例にして説明しているが、例えばユーザがタブレットコンピュータ10を持った状態でペン100を用いた入力操作をする場合がある。この場合、タブレットコンピュータ10とペン100のそれぞれに姿勢検出センサ(ジャイロ)を設け、タブレットコンピュータ10は、ペン100の姿勢検出センサにより検出された姿勢状態を示すデータを受信し、このデータをもとにタブレットコンピュータ10とペン100との相対的な位置関係を算出する。すなわち、タッチスクリーンディスプレイ17に対して、ペン100が何れの方向から何れの傾斜角度で接触されているかを算出する。第2補正モジュール306は、タブレットコンピュータ10とペン100との相対的な位置関係に応じて動的に第2補正データを決定して座標データを補正する。本実施形態におけるタブレットコンピュータ10は、第1段階の補正処理によりハードウェアに起因する補正がされているため、タブレットコンピュータ10の状態変化に応じて動的に座標データを補正することも可能となる。
 このようにして、本実施形態におけるタブレットコンピュータ10では、キャリブレーション処理を、ハードウェアの実装に起因して固定的に特定方向に生じる位置ズレ(誤差)に対する補正処理と、ユーザの使い方に起因してタブレット端末の状態(回転)によって生じる方向が異なる位置ズレに対する補正処理との2段階に分けて行うことができる。
 また、ハードウェアに起因する位置ズレの補正と、ユーザの使い方に起因する位置ズレの補正とに分離することで、1台のタブレットコンピュータ10を複数のユーザが使用する場合であっても、ハードウェアに起因する位置ズレの補正はそのタブレットコンピュータ10で共通の補正(第1補正データを用いた補正)として予め完了させておき、その上でユーザ毎にキャリブレーション処理ができるようにすることで、ユーザのそれぞれの好みに適した位置補正を行うことができる。
 本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
 また、前述した実施の形態において記載した処理は、コンピュータに実行させることのできるプログラムとして、例えば磁気ディスク(フレキシブルディスク、ハードディスク等)、光ディスク(CD-ROM、DVD等)、半導体メモリなどの記録媒体に書き込んで各種装置に提供することができる。また、通信媒体により伝送して各種装置に提供することも可能である。コンピュータは、記録媒体に記録されたプログラムを読み込み、または通信媒体を介してプログラムを受信し、このプログラムによって動作が制御されることにより、上述した処理を実行する。

Claims (15)

  1.  第1オブジェクトとの接触位置を検出可能なディスプレイと、
     少なくともハードウェアに起因する誤差に関する第1データであって、前記第1オブジェクトと前記ディスプレイとが接触する第1位置と、前記第1オブジェクトと前記ディスプレイとの前記第1位置での接触に応じて取得される第1位置情報にしたがって前記ディスプレイが描画する第2位置との誤差に関する第1データを記憶する記憶手段と、
     第2オブジェクトと前記ディスプレイとの接触状態の違いに関する第2データであって、前記第2オブジェクトと前記ディスプレイとの第3位置での接触に応じて取得される第2位置情報にしたがって前記ディスプレイが描画する第4位置を決定するために用いられる第2データを生成する生成手段と、
     前記ディスプレイが検出する接触位置を、前記第1データと前記第2データとを用いて決定する決定手段と
    を有する電子機器。
  2.  前記ディスプレイの向きを判別する第1判別手段をさらに具備し、
     前記生成手段は、前記ディスプレイの複数の向きに対応する複数の第2データを生成し、
     前記決定手段は、前記ディスプレイの向きに応じて、前記複数の第2データのうちの1つを用いる請求項1記載の電子機器。
  3.  前記電子機器の動作状況を判別する第2判別手段をさらに有し、
     前記生成手段は、前記電子機器の複数の動作状況に対応する複数の第2データを生成し、
     前記決定手段は、前記動作状況に応じて、前記複数の第2データのうちの1つを用いる請求項1記載の電子機器。
  4.  前記生成手段は、前記電子機器を使用する第1ユーザと第2ユーザに応じて前記複数の第2データを生成し、
     前記第2判別手段は、前記動作状況として前記電子機器を使用するユーザが、前記第1ユーザあるいは前記第2ユーザの何れであるか判別する請求項3記載の電子機器。
  5.  前記生成手段は、前記電子機器で実行される第1のアプリケーションと第2のアプリケーションに応じて前記複数の第2データを生成し、
     前記第2判別手段は、前記動作状況として前記電子機器で実行されるアプリケーションが、前記第1アプリケーションあるいは前記第2アプリケーションの何れであるか判別する請求項3記載の電子機器。
  6.  第1オブジェクトとの接触位置を検出可能なディスプレイを有する電子機器の前記接触位置の補正方法であって、
     少なくともハードウェアに起因する誤差に関する第1データであって、前記第1オブジェクトと前記ディスプレイとが接触する第1位置と、前記第1オブジェクトと前記ディスプレイとの前記第1位置での接触に応じて取得される第1位置情報にしたがって前記ディスプレイが描画する第2位置との誤差に関する第1データを記録しておき、
     第2オブジェクトと前記ディスプレイとの接触状態の違いに関する第2データであって、前記第2オブジェクトと前記ディスプレイとの第3位置での接触に応じて取得される第2位置情報にしたがって前記ディスプレイが描画する第4位置を決定するために用いられる第2データを生成し、
     前記ディスプレイが検出する接触位置を、前記第1データと前記第2データとを用いて決定する補正方法。
  7.  前記ディスプレイの向きを判別し、
     前記ディスプレイの複数の向きに対応する複数の第2データを生成し、
     前記ディスプレイの向きに応じて、前記複数の第2データのうちの1つを用いて前記接触位置を決定する請求項6記載の補正方法。
  8.  前記電子機器の動作状況を判別し、
     前記電子機器の複数の動作状況に対応する複数の第2データを生成し、
     前記動作状況に応じて、前記複数の第2データのうちの1つを用いて前記接触位置を決定する請求項6記載の補正方法。
  9.  前記電子機器を使用する第1ユーザと第2ユーザに応じて前記複数の第2データを生成し、
     前記動作状況として前記電子機器を使用するユーザが、前記第1ユーザあるいは前記第2ユーザの何れであるか判別する請求項8記載の補正方法。
  10.  前記電子機器で実行される第1のアプリケーションと第2のアプリケーションに応じて前記複数の第2データを生成し、
     前記動作状況として前記電子機器で実行されるアプリケーションが、前記第1アプリケーションあるいは前記第2アプリケーションの何れであるか判別する請求項8記載の補正方法。
  11.  第1オブジェクトとの接触位置を検出可能なディスプレイを有するコンピュータを、
     少なくともハードウェアに起因する誤差に関する第1データであって、前記第1オブジェクトと前記ディスプレイとが接触する第1位置と、前記第1オブジェクトと前記ディスプレイとの前記第1位置での接触に応じて取得される第1位置情報にしたがって前記ディスプレイが描画する第2位置との誤差に関する第1データを記憶させる記憶手段と、
     第2オブジェクトと前記ディスプレイとの接触状態の違いに関する第2データであって、前記第2オブジェクトと前記ディスプレイとの第3位置での接触に応じて取得される第2位置情報にしたがって前記ディスプレイが描画する第4位置を決定するために用いられる第2データを生成する生成手段と、
     前記ディスプレイが検出する接触位置を、前記第1データと前記第2データとを用いて決定する決定手段
    として機能させるためのプログラム。
  12.  前記コンピュータを、
     さらに前記ディスプレイの向きを判別する第1判別手段として機能させ、
     前記生成手段は、前記ディスプレイの複数の向きに対応する複数の第2データを生成し、
     前記決定手段は、前記ディスプレイの向きに応じて、前記複数の第2データのうちの1つを用いるように機能させるための請求項11記載のプログラム。
  13.  前記コンピュータを、
     さらに前記電子機器の動作状況を判別する第2判別手段として機能させ、
     前記生成手段は、前記電子機器の複数の動作状況に対応する複数の第2データを生成し、
     前記決定手段は、前記動作状況に応じて、前記複数の第2データのうちの1つを用いるように機能させるための請求項11記載のプログラム。
  14.  前記生成手段は、前記電子機器を使用する第1ユーザと第2ユーザに応じて前記複数の第2データを生成し、
     前記第2判別手段は、前記動作状況として前記電子機器を使用するユーザが、前記第1ユーザあるいは前記第2ユーザの何れであるか判別するように機能させるための請求項13記載のプログラム。
  15.  前記生成手段は、前記電子機器で実行される第1のアプリケーションと第2のアプリケーションに応じて前記複数の第2データを生成し、
     前記第2判別手段は、前記動作状況として前記電子機器で実行されるアプリケーションが、前記第1アプリケーションあるいは前記第2アプリケーションの何れであるか判別するように機能させるための請求項13記載のプログラム。
PCT/JP2013/063071 2013-05-09 2013-05-09 電子機器、補正方法、及びプログラム WO2014181435A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013541132A JP5606635B1 (ja) 2013-05-09 2013-05-09 電子機器、補正方法、及びプログラム
PCT/JP2013/063071 WO2014181435A1 (ja) 2013-05-09 2013-05-09 電子機器、補正方法、及びプログラム
US14/265,035 US20160139693A9 (en) 2013-05-09 2014-04-29 Electronic apparatus, correction method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/063071 WO2014181435A1 (ja) 2013-05-09 2013-05-09 電子機器、補正方法、及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/265,035 Continuation US20160139693A9 (en) 2013-05-09 2014-04-29 Electronic apparatus, correction method, and storage medium

Publications (1)

Publication Number Publication Date
WO2014181435A1 true WO2014181435A1 (ja) 2014-11-13

Family

ID=51840502

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/063071 WO2014181435A1 (ja) 2013-05-09 2013-05-09 電子機器、補正方法、及びプログラム

Country Status (3)

Country Link
US (1) US20160139693A9 (ja)
JP (1) JP5606635B1 (ja)
WO (1) WO2014181435A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9665206B1 (en) * 2013-09-18 2017-05-30 Apple Inc. Dynamic user interface adaptable to multiple input tools
JP7184619B2 (ja) * 2018-12-07 2022-12-06 富士通コンポーネント株式会社 情報処理装置、制御プログラム、及び制御方法
JP6998436B1 (ja) * 2020-10-19 2022-01-18 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、情報処理システム、及び制御方法
US11537239B1 (en) * 2022-01-14 2022-12-27 Microsoft Technology Licensing, Llc Diffusion-based handedness classification for touch-based input
KR20230174354A (ko) * 2022-06-20 2023-12-28 삼성디스플레이 주식회사 전자 장치 및 이를 포함하는 인터페이스 장치

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63187326A (ja) * 1987-01-30 1988-08-02 Nippon Telegr & Teleph Corp <Ntt> 入力表示装置
JPS63311425A (ja) * 1987-06-12 1988-12-20 Fujitsu Ltd タッチスクリ−ンの位置補正装置
JPH02245818A (ja) * 1989-03-20 1990-10-01 Fujitsu Ltd 手書き入力装置
JPH0354622A (ja) * 1989-07-21 1991-03-08 Sony Corp 座標データ入力装置
JPH03266020A (ja) * 1990-03-16 1991-11-27 Fujitsu Ltd タッチ入力装置
JPH0573203A (ja) * 1991-09-11 1993-03-26 Toshiba Corp 手書き入力装置
JPH06161664A (ja) 1992-11-26 1994-06-10 Toshiba Corp データ処理装置及び入力座標補正方法
JPH10340159A (ja) * 1997-06-06 1998-12-22 Canon Inc 情報処理装置及び方法及びコンピュータ可読メモリ
JP2012208714A (ja) * 2011-03-29 2012-10-25 Kyocera Corp 携帯電子機器

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080100586A1 (en) * 2006-10-26 2008-05-01 Deere & Company Method and system for calibrating a touch screen
US8619043B2 (en) * 2009-02-27 2013-12-31 Blackberry Limited System and method of calibration of a touch screen display
US20110102334A1 (en) * 2009-11-04 2011-05-05 Nokia Corporation Method and apparatus for determining adjusted position for touch input
TWI417778B (zh) * 2010-02-26 2013-12-01 Raydium Semiconductor Corp 補償電容偏差之電子裝置
US9990003B2 (en) * 2011-06-03 2018-06-05 Microsoft Technology Licensing, Llc Motion effect reduction for displays and touch input
KR20130034765A (ko) * 2011-09-29 2013-04-08 삼성전자주식회사 휴대 단말기의 펜 입력 방법 및 장치
CN103186329B (zh) * 2011-12-27 2017-08-18 富泰华工业(深圳)有限公司 电子设备及其触摸输入控制方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63187326A (ja) * 1987-01-30 1988-08-02 Nippon Telegr & Teleph Corp <Ntt> 入力表示装置
JPS63311425A (ja) * 1987-06-12 1988-12-20 Fujitsu Ltd タッチスクリ−ンの位置補正装置
JPH02245818A (ja) * 1989-03-20 1990-10-01 Fujitsu Ltd 手書き入力装置
JPH0354622A (ja) * 1989-07-21 1991-03-08 Sony Corp 座標データ入力装置
JPH03266020A (ja) * 1990-03-16 1991-11-27 Fujitsu Ltd タッチ入力装置
JPH0573203A (ja) * 1991-09-11 1993-03-26 Toshiba Corp 手書き入力装置
JPH06161664A (ja) 1992-11-26 1994-06-10 Toshiba Corp データ処理装置及び入力座標補正方法
JPH10340159A (ja) * 1997-06-06 1998-12-22 Canon Inc 情報処理装置及び方法及びコンピュータ可読メモリ
JP2012208714A (ja) * 2011-03-29 2012-10-25 Kyocera Corp 携帯電子機器

Also Published As

Publication number Publication date
JP5606635B1 (ja) 2014-10-15
US20160139693A9 (en) 2016-05-19
US20150309597A1 (en) 2015-10-29
JPWO2014181435A1 (ja) 2017-02-23

Similar Documents

Publication Publication Date Title
JP5422724B1 (ja) 電子機器および描画方法
JP5606635B1 (ja) 電子機器、補正方法、及びプログラム
US20120299848A1 (en) Information processing device, display control method, and program
JP2014075053A (ja) 電子機器、電子機器の制御方法、プログラム、記憶媒体
US9019217B2 (en) Touch input location correction device, input device, touch input location correction method, and program and integrated circuit used for touch input location correction apparatus
CN108415654A (zh) 虚拟输入系统和相关方法
US8448081B2 (en) Information processing apparatus
US20150227852A1 (en) Data processing device
US20160196002A1 (en) Display device
JP2014016712A (ja) 情報処理装置、情報処理方法、およびプログラム
JP2013222263A (ja) 情報処理装置およびその制御方法、コンピュータプログラム
JP6202874B2 (ja) 電子機器、キャリブレーション方法およびプログラム
US9927914B2 (en) Digital device and control method thereof
JP5075975B2 (ja) 情報処理装置、情報処理方法及びプログラム
US10452262B2 (en) Flexible display touch calibration
US9146625B2 (en) Apparatus and method to detect coordinates in a penbased display device
US9507440B2 (en) Apparatus and method to detect coordinates in a pen-based display device
JP5827695B2 (ja) 情報処理装置、情報処理方法、プログラム及び情報記憶媒体
KR20160015146A (ko) 웨어러블 디바이스 및 웨어러블 디바이스의 동작 방법
CN111886567B (zh) 操作输入装置、操作输入方法及计算机可读的记录介质
KR20120068259A (ko) 터치 입력을 이용한 문자 입력 방법 및 장치
TW201823942A (zh) 書寫姿勢提醒方法與使用其之電子系統
JP6220374B2 (ja) 情報処理装置、出力文字コード判定方法、及びプログラム
JP2019192142A (ja) 情報処理装置、入力制御方法、及び入力制御プログラム
JP2012234574A (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2013541132

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13840143

Country of ref document: EP

Kind code of ref document: A1

WD Withdrawal of designations after international publication
NENP Non-entry into the national phase

Ref country code: DE