WO2023157556A1 - ペン及びペン位置検出装置を含むシステム、ペン位置検出装置、並びに、ペンに内蔵されるハプティクス素子を動作させる方法 - Google Patents

ペン及びペン位置検出装置を含むシステム、ペン位置検出装置、並びに、ペンに内蔵されるハプティクス素子を動作させる方法 Download PDF

Info

Publication number
WO2023157556A1
WO2023157556A1 PCT/JP2023/001554 JP2023001554W WO2023157556A1 WO 2023157556 A1 WO2023157556 A1 WO 2023157556A1 JP 2023001554 W JP2023001554 W JP 2023001554W WO 2023157556 A1 WO2023157556 A1 WO 2023157556A1
Authority
WO
WIPO (PCT)
Prior art keywords
pen
vibration control
signal
control signal
position detection
Prior art date
Application number
PCT/JP2023/001554
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 株式会社ワコム
Publication of WO2023157556A1 publication Critical patent/WO2023157556A1/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
    • 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
    • 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
    • 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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text

Definitions

  • the present invention relates to a system including a pen and a pen position detection device, a pen position detection device, and a method of operating a haptic element built into the pen.
  • Patent Documents 1 to 5 disclose examples of systems using this type of pen.
  • the systems described in Patent Documents 1 and 2 are configured to vibrate the pen when the pen is positioned over an item displayed on the screen.
  • the systems described in Patent Documents 3 to 5 are configured to vibrate the tip of the pen during writing in order to reproduce the feeling of writing on paper.
  • one object of the present invention is a system including a pen and a pen position detection device, a pen position detection device, and a pen that can generate timely tactile feedback when the pen position crosses the boundary of any region.
  • another object of the present invention is to provide a system including a pen and a pen position detection device, a pen position detection device, and a method of operating a haptic element built in a pen, which can reproduce a realistic writing feel. to provide.
  • a system is a system including a pen and a pen position detection device, wherein the pen includes a signal transmitter for transmitting a pen signal, a receiver for receiving a vibration control signal, and the vibration control signal. a haptic element that operates in response to a control signal, wherein the pen position detection device derives a pen position by detecting the pen signal; detecting the occurrence of an event that causes at least one of crossing or contact with a line segment of and operating the haptic element by transmitting the vibration control signal in response to detecting the occurrence of the event; System.
  • a pen position detection device is a pen position detection device for use with a pen having a haptic element that operates in response to a vibration control signal, the pen position detection device detecting a pen signal transmitted by the pen.
  • a position is derived, an occurrence of an event in which at least one of intersection or contact occurs between a drawn line indicated by the derived series of pen positions and a predetermined line segment is detected, and the occurrence of the event is detected.
  • a pen position sensing device responsively activating the haptic element by sending the vibration control signal.
  • a method is a method of operating a haptic element built into a pen, comprising the steps of: sending a pen signal from the pen; and an event in which at least one of intersection or contact occurs between a drawn line indicated by the series of pen positions derived by the pen position detection device and a predetermined line segment. detecting an occurrence; the pen position detection device sending a vibration control signal in response to detecting the occurrence of the event; the pen receiving the vibration control signal; a pen operating the haptic element in response to the received vibration control signal.
  • a system is a system including a pen and a pen position detection device, wherein the pen includes a signal transmitter for transmitting a pen signal, a receiver for receiving a vibration control signal, and the vibration control signal. a haptic element that operates in response to a control signal, wherein the pen position detection device derives a pen position by detecting the pen signal and derives a writing direction of the pen based on the history of the pen position. and operating the haptic element by transmitting a vibration control signal indicating the derived vibration pattern corresponding to the writing direction of the pen.
  • a pen position detection device is a pen position detection device for use with a pen having a haptic element that operates in response to a vibration control signal, the pen position detection device detecting a pen signal transmitted by the pen.
  • the haptic element is operated by deriving a position, deriving a writing direction of the pen based on the history of the pen position, and transmitting a vibration control signal indicating a vibration pattern corresponding to the derived writing direction of the pen.
  • a method is a method of operating a haptic element built into a pen, comprising the steps of: sending a pen signal from the pen; a step of deriving a pen position by the pen position detection device deriving a writing direction of the pen based on the history of the pen position; and a step of the pen position detection device deriving the derived writing of the pen transmitting a vibration control signal indicative of a direction-dependent vibration pattern; receiving the vibration control signal by the pen; and operating the haptic element in response to the vibration control signal received by the pen.
  • a method comprising the steps of: sending a pen signal from the pen; a step of deriving a pen position by the pen position detection device deriving a writing direction of the pen based on the history of the pen position; and a step of the pen position detection device deriving the derived writing of the pen transmitting a vibration control signal indicative of a direction-dependent vibration pattern; receiving the vibration control signal by the pen; and operating the haptic element in response to the vibration control signal received
  • the first aspect of the present invention it is possible to generate tactile feedback in a timely manner when the pen position crosses the boundary of any region.
  • FIG. 4 is a processing flow diagram showing processing executed by the sensor controller 32 according to the first embodiment of the present invention
  • FIG. 3 is a diagram showing an example of a screen displayed on panel surface 3a by a drawing application according to the first embodiment of the present invention
  • 4 is a processing flow diagram showing processing executed by a host processor 33 according to the first embodiment of the present invention
  • FIG. FIG. 8 is a diagram showing another example of the during-touch vibration control line according to the first embodiment of the present invention
  • FIG. 11 is a processing flow diagram showing processing executed by a host processor 33 according to the second embodiment of the present invention
  • FIG. 9 is a processing flow diagram showing processing executed by a sensor controller 32 according to a second embodiment of the present invention
  • FIG. 4 is a diagram showing an example of setting a vibration control area during hover 50 on the screen shown in FIG. 3
  • FIG. 11 is a processing flow diagram showing processing executed by a sensor controller 32 according to a third embodiment of the present invention
  • FIG. 11 is a processing flow diagram showing processing executed by a host processor 33 according to a third embodiment of the present invention
  • FIG. 11 is a processing flow diagram showing processing executed by a sensor controller 32 according to a fourth embodiment of the present invention
  • FIG. 14 is a diagram showing an example of a paint screen displayed on panel surface 3a by a paint application according to a fifth embodiment of the present invention
  • 6 is a diagram showing a brush selection menu 61a displayed when a user taps a brush selection menu activation icon 61 using the pen 2.
  • FIG. 8 is a diagram showing a line width selection menu 62a displayed when a user taps a line width selection menu activation icon 62 using the pen 2.
  • FIG. 6 is a diagram showing an area selection menu 63a displayed when a user taps an area selection menu activation icon 63 with the pen 2.
  • FIG. 4 is a processing flow diagram showing processing executed by a host processor 33 according to instructions from a paint application;
  • FIG. 4 is a processing flow diagram showing processing executed by a host processor 33 according to instructions from a paint application;
  • FIG. 4 is a processing flow diagram showing processing executed by a host processor 33 according to instructions from a paint application;
  • FIG. 4 is a processing flow diagram showing processing executed by
  • FIG. 1 is a diagram showing the configuration of a position detection system 1 according to the first embodiment of the present invention. As shown in the figure, the position detection system 1 comprises a pen 2 and a pen position detection device 3 .
  • the pen position detection device 3 is a computer having a function of detecting the pen 2, and as shown in FIG. 32 , a host processor 33 , and a wireless communication unit 34 .
  • the pen position detection device 3 is a personal computer such as a tablet terminal or a notebook computer.
  • the display 31 is a display device having a display surface such as a liquid crystal display or an organic EL display.
  • the panel surface 3a constitutes the display surface of the display 31.
  • the host processor 33 is a central processing unit of the pen position detection device 3 having a function of controlling each part of the pen position detection device 3 including the display 31 .
  • the host processor 33 is configured to be able to execute the operating system of the pen position detection device 3 and various applications including drawing applications by executing programs stored in an internal memory.
  • the display 31 plays a role of displaying various screens (images or videos) on the display surface based on a video signal generated by an operating system or application.
  • the wireless communication unit 34 is a device for communicating with other devices including the pen 2 by short-range wireless communication such as Bluetooth (registered trademark).
  • the host processor 33 is configured to be able to communicate with the pen 2 via the wireless communication unit 34 by short-range wireless communication.
  • the sensor 30 is a device used by the sensor controller 32 to communicate with the pen 2, and includes a plurality of X electrodes each extending in the y direction within the panel surface 3a and juxtaposed at equal intervals in the x direction. , and a plurality of Y electrodes each extending in the x direction in the panel surface 3a and arranged in parallel in the y direction at equal intervals.
  • a plurality of X electrodes and a plurality of Y electrodes are each independently connected to the sensor controller 32 .
  • One of the plurality of X electrodes and the plurality of Y electrodes may also be used as a common electrode within the display 31, in which case the pen position detection device 3 is called an "in-cell type".
  • the plurality of X electrodes and the plurality of Y electrodes may not be used as common electrodes in the display 31, and the pen position detection device 3 in that case is called "on-cell type" or "out-cell type”.
  • the sensor controller 32 By communicating with the pen 2 via the sensor 30, the sensor controller 32 derives the position of the pen 2 within the panel surface 3a, acquires data from the pen 2, and acquires the derived position and the acquired data. It is an integrated circuit having the function of sequentially supplying reports containing data to the host processor 33 .
  • the sensor controller 32 implements these functions by executing a program implemented as hardware or a program stored in a built-in memory, and is configured to be able to execute various processes described later.
  • Communication between the sensor controller 32 and the pen 2 via the sensor 30 is preferably performed by, for example, an active capacitance method.
  • an active capacitance method Although the following description assumes the use of the active capacitance method, it is of course possible to use the electromagnetic induction method or other methods.
  • uplink signal US the signal that the sensor controller 32 transmits to the pen 2 via the sensor 30
  • pen signal PS the signal that the pen 2 will transmit to the sensor controller 32 via the sensor 30
  • the sensor controller 32 is configured to communicate with the pen 2 in units of frames having a predetermined length of time.
  • an uplink signal US is transmitted using a plurality of X electrodes or a plurality of Y electrodes. I do.
  • the uplink signal US thus transmitted has the role of notifying the pen 2 of the temporal position of the frame and the timing (time slot) within which the pen 2 should transmit the pen signal PS.
  • the uplink signal US includes a command indicating an instruction from the sensor controller 32 to the pen 2 .
  • the pen signal PS can include a position signal for causing the sensor controller 32 to detect the position of the pen 2 and a data signal modulated by data transmitted from the pen 2 to the sensor controller 32 .
  • the sensor controller 32 receives position signals from each of the plurality of X electrodes and the plurality of Y electrodes that constitute the sensor 30, and approximates the distribution of the reception intensity of the position signals in each of the x direction and the y direction using a normal distribution curve. , to derive the position of the pen 2 within the panel surface 3a (hereinafter referred to as "pen position") by deriving the respective peak positions.
  • the sensor controller 32 receives the data signal by one of the X electrodes or the Y electrodes closest to the pen position derived immediately before, and demodulates it to obtain the data transmitted by the pen 2 (hereinafter referred to as "pen data"). is configured to obtain
  • the pen data includes the response to the command in the uplink signal US, the writing pressure value indicating the pressure applied to the pen tip of the pen 2, and the ON/OFF states of the push button switches 27a and 27b (described later) provided on the pen 2. and switch information indicating the
  • FIG. 2 is a processing flow diagram showing processing executed by the sensor controller 32.
  • FIG. Referring to FIG. 2, the processing executed by the sensor controller 32 will be described in detail.
  • the sensor controller 32 transmits an uplink signal US at the beginning of a frame (step S1).
  • the sensor controller 32 executes the processing of steps S3 to S7 each time the pen 2 transmits the pen signal PS (timing notified by the uplink signal US) in the corresponding frame (step S2).
  • the sensor controller 32 first attempts to detect the pen signal PS using the sensor 30 (step S3). As a result, it is determined whether or not the pen signal PS has been detected (step S4), and if it is determined that it has not been detected, the process proceeds to the next timing. On the other hand, the sensor controller 32 determined to be "detected" in step S4 derives the pen position (step S5) and acquires pen data (step S6) based on the detected pen signal PS. Then, a report including the derived pen position and the acquired pen data is output to the host processor 33 (step S7), and the process returns to step S3.
  • a series of reports supplied by the sensor controller 32 to the host processor 33 are used in the host processor 33 for processing performed by the drawing application.
  • the processing of the drawing application here includes generation and display of digital ink, movement of the cursor, detection of various gestures such as tapping and dragging, control of the haptics element 28 (described later) built in the pen 2, and the like.
  • the drawing application first creates one stroke based on a series of pen positions and pen data that are continuously acquired when the pen pressure value is greater than 0. It is configured to generate data and generate digital ink from the series of stroke data thus generated. Each time the drawing application derives a new pen position, it also uses one or more past pen positions included in the same stroke data to generate a spline curve such as a Catmull-Rom curve for rendering. At this time, the drawing application also performs processing for controlling the appearance of the generated spline curve based on the pen data. This processing includes processing for controlling line width or transparency based on pen pressure values. The drawing application generates a video signal based on the rendered spline curve and supplies it to the display 31 . Thereby, the spline curve rendered by the drawing application is displayed on the display 31 .
  • a spline curve such as a Catmull-Rom curve for rendering.
  • the pen 2 includes a core body 20, a pen tip electrode 21, a pressure sensor 22, a battery 23, an integrated circuit 24, a wireless communication circuit 25, a seesaw switch 26, and a push button switch. 27 a, 27 b and a haptic element 28 .
  • the core 20 is a columnar member that constitutes the pen shaft of the pen 2 .
  • the tip of the core body 20 constitutes the pen tip of the pen 2 and the distal end is in contact with the pressure sensor 22 .
  • the pen tip electrode 21 is a conductor arranged on the pen tip of the pen 2 and electrically connected to the integrated circuit 24 .
  • the pressure sensor 22 is a sensor that detects pressure applied to the tip of the core 20 .
  • the pressure detected by the pressure sensor 22 is supplied to the integrated circuit 24 and placed in the pen signal PS by the integrated circuit 24 as the pen pressure value described above.
  • Battery 23 serves to provide the power necessary for integrated circuit 24, wireless communication circuit 25, and haptic element 28 to operate.
  • the integrated circuit 24 is an integrated circuit composed of various circuits including a booster circuit, a transmission circuit, a reception circuit, and a processing circuit.
  • the receiving circuit is connected to the pen tip electrode 21, and by using the pen tip electrode 21 to detect the uplink signal US, it serves as a receiving section for receiving the uplink signal US.
  • the transmitting circuit is also connected to the pen tip electrode 21, and functions as a signal transmitting section that transmits the pen signal PS by changing the pen tip electrode 21 using the booster circuit at the timing indicated by the uplink signal US.
  • the processing circuit is a circuit that functions as a control unit that controls each part of the pen 2, generates a pen signal PS based on the uplink signal US received by the receiving circuit, and transmits the generated pen signal PS to the transmitting circuit. process to cause
  • the wireless communication circuit 25 is a device for communicating with other devices including the pen position detection device 3 by short-range wireless communication such as Bluetooth (registered trademark). Since short-range wireless communication is two-way communication, wireless communication circuit 25 functions as a transmitter for transmitting signals and also as a receiver for receiving signals.
  • the integrated circuit 24 is configured to be able to communicate with the pen position detection device 3 via this wireless communication circuit 25 by short-range wireless communication.
  • the host processor 33 is configured to transmit vibration control signals to the pen 2 via this short-range wireless communication.
  • a vibration control signal is a signal for instructing the operation of the haptic element 28 . Specifically, it may be a signal for simply instructing to operate the haptic element 28, or a signal for instructing to operate the haptic element 28 at a predetermined timing.
  • Integrated circuit 24 is configured to, upon receiving a vibration control signal via wireless communication circuitry 25, control operation of haptic element 28 in response to the received vibration control signal.
  • the seesaw switch 26 is a switch-pressing member having a plate-like portion 26p arranged along the surface of the housing and two legs 26a and 26b projecting from the plate-like portion 26p toward the inside of the housing. is.
  • the leg portions 26a and 26b are provided in the vicinity of one end and the other end of the plate-like portion 26p in the pen axis direction, respectively, and their tips are in contact with the push button switches 27a and 27b.
  • the leg portion 26a moves inward and presses the push button switch 27a.
  • the leg portion 26b moves inward and presses the push button switch 27b.
  • the push button switches 27a and 27b are configured so that when one of them is turned on, the other is turned off, and when one of them is turned off, the other is turned on.
  • the ON/OFF states of the pushbutton switches 27a and 27b are supplied to the integrated circuit 24 and placed in the pen signal PS by the integrated circuit 24 as switch information described above.
  • the haptic element 28 is an element that operates under the control of the integrated circuit 24 and is arranged in the region between the two legs 26a and 26b of the seesaw switch 26.
  • the haptic elements 28 are constituted by vibrators or actuators.
  • the haptic element 28 may be configured by a piezo vibrator that incorporates a weight and a piezoceramic in a case, moves the weight by expanding and contracting the piezoceramic under control from the integrated circuit 24, and generates vibration as a result. is preferred.
  • the reason why the haptic element 28 is arranged in the region between the legs 26a and 26b is to particularly vibrate the portion of the surface of the pen 2 that comes into contact with the finger of the person holding the pen 2 (the portion close to the finger). is. However, it is possible to position the haptic element 28 at a position other than between the legs 26a, 26b.
  • FIG. 3 is a diagram showing an example of a screen displayed on the panel surface 3a by the drawing application (host processor 33) according to this embodiment.
  • FIG. 4 is a processing flow diagram showing processing executed by the host processor 33 according to this embodiment. Processing for generating tactile feedback in a timely manner when the pen position straddles the boundary of arbitrary regions will be described in detail below with reference to these figures.
  • the drawing application has a drawing area 40 including a signature field 41 on the panel surface 3a, and a save button 42 and an erase button 43 arranged outside the drawing area 40. showing the screen.
  • the pen position and pen data are sequentially supplied from the sensor controller 32 to the host processor 33 .
  • the drawing application uses a series of pen positions and pen data thus supplied to generate stroke data in real time, stores the generated stroke data in memory, renders the data, and displays the data on the panel surface 3a. I do.
  • FIG. 3 shows a state in which the user has entered the character string "John.T” using the pen 2, and as a result, the drawing application has displayed the character string "John.T” on the panel surface 3a. ing.
  • the save button 42 is a button for causing the drawing application to save the series of generated stroke data as digital ink.
  • the drawing application detects this tap and stores the series of stroke data stored in the temporary memory so far as digital ink representing the user's signature.
  • a process of saving in the memory in the device 3 is performed.
  • the erase button 43 is a button for causing the drawing application to erase the entered character string.
  • the drawing application detects this tap, erases the series of stroke data corresponding to the written character string from the memory, and deletes the series of stroke data being displayed.
  • a process of generating a video signal for erasing and supplying it to the display 31 is performed.
  • FIG. 3 it is of course possible to provide various other user interfaces in the screen.
  • Various user interfaces may include an interface for changing the screen displayed on panel surface 3a to another screen by user operation.
  • the drawing application has a function of detecting the occurrence of such overrunning and notifying the user of the overrunning by operating the haptic element 28 of the pen 2 in real time.
  • the user notices that the signature has protruded from the signature column 41, and can press the erase button 43 to rewrite it.
  • a line to be notified is referred to as a "vibration control line during touch”.
  • the outline of the signature column 41 is the vibration control line during touch.
  • the during-touch vibration control line is closed, but the during-touch vibration control line can also be configured by an open line. Specific processing for realizing timely haptic feedback when the pen position straddles the during-touch vibration control line will be described below with reference to FIG. 4 .
  • FIG. 4 shows processing executed by the host processor 33 according to instructions from the drawing application.
  • the host processor 33 first displays an initial screen on the panel surface 3a (step S10). This initial screen may or may not include the vibration during touch control line. Subsequently, the host processor 33 receives a report including the pen position and pen data from the sensor controller (step S11), and determines whether the pen pressure value included in the received pen data is greater than 0 (that is, if the pen 2 is on the panel surface). 3a) or 0 (that is, whether the pen 2 is hovering over the panel surface 3a) (step S12). The host processor 33, which determines that the writing pressure value is 0 in this determination, moves the cursor displayed on the panel surface 3a based on the pen position (step S13), and returns the process to step S11.
  • the host processor 33 determines whether or not the current pen position is within the drawing area (step S14). In this determination, if it is determined that it is "not within the drawing area", the host processor 33 attempts to detect a gesture with the pen 2 (step S21). Then, as a result of the trial, it is determined whether or not a gesture (such as a tap of a button displayed on the screen) has been detected (step S22). On the other hand, if "detected" is determined, the process corresponding to the gesture is executed (step S23), and then the process returns to step S11.
  • the processing executed in step S23 includes processing for displaying a screen including the vibration control line during touch on the panel surface 3a.
  • the host processor 33 which has determined "within the drawing area" in the determination of step S14, generates or updates stroke data based on the pen position and pen data, renders the stroke data obtained as a result, and renders the panel.
  • Draw on surface 3a step S15).
  • the host processor 33 determines whether or not there is a touch vibration control line on the screen being displayed (step S16).
  • the host processor 33 that has determined “no” in this determination returns the process to step S11.
  • the host processor 33 that has determined "yes” predicts the pen position that will be included in the next report received from the sensor controller 32 (step S17).
  • the next pen position can be predicted by calculating the moving speed of the pen position from two or more latest pen positions, and deriving the next pen position assuming that the moving speed will continue.
  • character recognition technology may be used to determine the character the user is currently writing, and the next pen position may be predicted based on the shape of the determined character.
  • the stroke data of the figure is learned in advance by artificial intelligence, and the stroke data currently being generated is input to this artificial intelligence to determine the character or figure that the user is writing, and based on the determined shape of the character or figure It is also possible to predict the next pen position.
  • the prediction of the next pen position based on the moving speed calculates the next pen position using a simple calculation of two coordinates as shown in the following equations (1) and (2). It may be done by In other words, the moving speed vector is obtained by the equation (1), and the next pen position is calculated by using the obtained moving speed vector by the equation (2). However, in equations (1) and (2), the next pen position is (x p , y p ), the newest pen position is (x 1 , y 1 ), the second newest pen position is (x 2 , y 2 ). This makes it possible to reduce the processing load on the host processor 33 for prediction.
  • acceleration may be used in addition to moving speed to predict the next pen position.
  • the next pen position can be predicted by calculating the next pen position using a simple calculation of the three coordinates, as shown in the following equations (3)-(6). That is, two moving speed vectors are obtained from the equations (3) and (4), the acceleration vector is obtained from the equation (5) using the two moving speed vectors obtained, and the obtained moving speed vector and the acceleration vector are used in the equation
  • the next pen position can be calculated by (6).
  • the next pen position is (x p , y p )
  • the newest pen position is (x 1 , y 1 )
  • the second newest pen position is (x 2 , y 2 )
  • the third newest pen position is (x 3 , y 3 ).
  • the host processor 33 After the pen position prediction is completed, the host processor 33 detects events in which at least one of crossing and contact occurs between the drawing line indicated by the series of pen positions including the predicted pen position and the vibration-on-touch control line. An attempt is made to detect the occurrence (step S18). Specifically, the predicted pen position is temporarily added to the currently generated stroke data, a spline curve is generated based on the added stroke data, and the generated spline curve is used as the drawing line to try the above detection. do it. Further, the host processor 33 generates a line segment connecting any of the one or more pen positions forming the stroke data generated in step S15 and the predicted pen position, and the generated line segment is used as the drawing line. may be tried.
  • the host processor 33 determines whether or not the occurrence of the event has been detected in step S18 (step S19), and if it determines "not detected", returns to step S11 and repeats the process.
  • the host processor 33 determines "detected"
  • the host processor 33 transmits a predetermined vibration control signal to the pen 2 by short-range wireless communication via the wireless communication unit 34 shown in FIG. 1 (step S20).
  • the vibration control signal transmitted in this way may be a signal for simply instructing to operate the haptic element 28, or a signal for instructing to operate the haptic element 28 after a predetermined time. may Alternatively, if the host processor 33 can predict the timing at which crossing or contact occurs from the moving speed of the pen 2, etc., the vibration control signal is a signal containing information for operating the haptic element 28 at the predicted timing. It can be a certain thing.
  • the integrated circuit 24 of the pen 2 Upon receiving the vibration control signal, the integrated circuit 24 of the pen 2 operates the haptic element 28 at the timing indicated by the vibration control signal. This provides a vibrating notification to the user so that the user can know that the line being written crosses or touches (or has crossed or touched) the vibrating control line during touch.
  • the host processor 33 controls the distance between the during-touch vibration control line set in the screen and the drawing line indicated by the stroke data being input. detecting the occurrence of an event that causes at least one of crossing and/or contact with the pen 2, and in response to detecting the occurrence of this event, operating the haptic element 28 of the pen 2 by sending a vibration control signal via short-range wireless communication.
  • This makes it possible to generate tactile feedback in a timely manner when the pen position crosses arbitrary region boundaries. Therefore, the user can timely know when the line he is writing crosses or touches the vibrating control line during touch.
  • the host processor 33 performs the process of predicting the next pen position in step S17 of FIG. It is due to If the delay is negligible, the host processor 33 does not execute the process of step S17, and in step S18, the drawing line indicated by the acquired series of pen positions intersects the vibration-on-touch control line. Alternatively, it may attempt to detect the occurrence of an event in which at least one of the contacts occurs.
  • the contour line of the signature field 41 is exemplified as the during-touch vibration control line, but it goes without saying that other lines may be used as the during-touch vibration control line.
  • FIG. 5 is a diagram showing another example of the during-touch vibration control line according to the present embodiment.
  • the figure shows an example in which an electronic ruler 45 is displayed within the drawing area 40 .
  • the electronic ruler 45 is a virtual ruler that is displayed within the drawing area 40 by the drawing application, and is configured to be able to be displayed at any position at any angle and size according to the user's operation.
  • the position detection system 1 provides timely tactile feedback when the pen position crosses the contour line of the electronic ruler 45. Since it can be generated, it is possible to reproduce the thumping sensation when the pen 2 rides on the ruler and the jerkiness when the pen 2 falls off the ruler, even though there are no unevenness in reality. become.
  • the haptic element 28 is not controlled when the pen 2 is hovering, the pen 2 moves over the contour line of the electronic ruler 45. It is possible to prevent the above-mentioned thumping or snapping sensation from occurring just by doing so.
  • the position detection system 1 according to the present embodiment differs from the position detection system 1 according to the first embodiment in that the sensor controller 32, not the host processor 33, transmits the vibration control signal for operating the haptic element 28. ing.
  • Other points are the same as the position detection system 1 according to the first embodiment, including the configuration of the position detection system 1 shown in FIG. Description will be made by focusing on the differences from.
  • FIG. 6 is a processing flow diagram showing processing executed by the host processor 33 according to this embodiment.
  • the processing shown in FIG. 4 is also processing executed by the host processor 33 in accordance with instructions from the drawing application, as in FIG.
  • FIG. 7 is a processing flow diagram showing processing executed by the sensor controller 32 according to this embodiment.
  • the processing performed by the host processor 33 according to the present embodiment is that steps S24 and S25 are executed after step S10, and steps S26 and S27 are executed after step S23. and steps S16 to S20 are not executed.
  • Step S24 is a step for determining whether or not the initial screen includes the touch vibration control line. If it is determined to be "included” here, the host processor 33 transmits the vibration control position information to the sensor controller 32 (step S25).
  • the vibration control position information is information indicating the position of the during-touch vibration control line (the position on the sensor 30) within the panel surface 3a, and is expressed using coordinates within the panel surface 3a. Specifically, the vibration control position information may be a series of coordinates or a function representing a line segment.
  • the host processor 33 causes at least crossing or contact between the drawn line indicated by the series of pen positions and the during-touch vibration control line. It causes the sensor controller 32 to perform on its own behalf the process of detecting the occurrence of an event that one occurs and, in response to detecting the occurrence of this event, operating the haptic element 28 by transmitting a vibration control signal.
  • Step S26 is a process of determining whether or not the position of the touch vibration control line has been changed by the process of step S23 (process corresponding to the gesture). If it is determined that the touch vibration control line has been changed, the host processor 33 again transmits vibration control position information indicating the changed position of the touch vibration control line to the sensor controller 32 (step S27). Although details will be described later, the sensor controller 32 that has thus received the new vibration control position information will thereafter execute the above processing based on the newly received vibration control position information.
  • the processing performed by the sensor controller 32 according to the present embodiment executes steps S30 to S38. It is different from the processing to be performed.
  • the sensor controller 32 first attempts to receive vibration control position information from the host processor 33 (step S30). Then, as a result of this trial, it is determined whether or not the vibration control position information has been received (step S31), and when it is determined that it has been received, the received vibration control position information is stored (step S32). If other vibration control position information is already stored when the vibration control position information is received, the sensor controller 32 updates the stored vibration control position information with the received vibration control position information. good.
  • step S33 determines whether or not the vibration control position information is stored. Then, when it is determined that "not stored”, the process moves to step S1. After that, the same processing as the processing of steps S1 to S7 described with reference to FIG. 2 is performed, but after step S7, the processing of temporarily storing the derived pen position and the obtained pen data in the memory is performed (step S38). The pen data stored here may be only the writing pressure value. After the repeated processing of step S2 ends, the sensor controller 32 returns the processing to step S30.
  • the sensor controller 32 determines whether or not the drawing application is currently drawing based on the latest stored pen pressure value (step S34). Specifically, if the latest stored pen pressure value is 0, it is determined that "drawing is not in progress", and if it is greater than 0, it is determined that "drawing is in progress". When the sensor controller 32 determines that "drawing is not in progress" in step S34, the process proceeds to step S1.
  • the sensor controller 32 which has determined that drawing is being performed in step S34, draws a line between the drawn line indicated by the series of stored pen positions and the during-touch vibration control line indicated by the stored vibration control position information. An attempt is made to detect the occurrence of an event in which at least one of crossing and contact occurs (step S35). Specifically, among a series of stored pen positions, a spline curve is generated based on one or more pen positions for which the corresponding pen pressure value is continuously greater than 0 from the latest pen position, The above detection can be tried by using the generated spline curve as the drawing line. Further, the sensor controller 32 determines whether or not the pen pressure value corresponding to the second newest pen position among the series of stored pen positions is greater than 0.
  • the second a line segment connecting the new pen position and the latest pen position may be generated, and the detection may be attempted using the generated line segment as the drawing line. Furthermore, the sensor controller 32 detects the occurrence of the event when the latest one of the stored series of pen positions is on the vibration control line during touch indicated by the vibration control position information. good.
  • step S36 determines whether or not the occurrence of the above event has been detected in step S35 (step S36), and if it determines that "not detected", the process proceeds to step S1.
  • step S37 the uplink signal US including the vibration control signal is transmitted at the beginning of the frame (step S37), and the process proceeds to step S2.
  • the vibration control signal is supplied to the integrated circuit 24 of the pen 2 through the uplink signal US, and the integrated circuit 24 operates the haptic element 28 at the timing indicated by the vibration control signal.
  • a vibrating notification is provided to the user so that the user can know that the line being written has crossed or touched the vibrating control line during touch.
  • the sensor controller 32 controls the distance between the during-touch vibration control line set in the screen and the drawing line indicated by the stroke data being input. detecting the occurrence of an event in which at least one of crossing and/or contacting the pen 2 occurs, and in response to detecting the occurrence of this event, operating the haptic element 28 of the pen 2 by sending a vibration control signal using the uplink signal US This makes it possible to generate tactile feedback in a timely manner when the pen position crosses arbitrary region boundaries. Therefore, the user can timely know when the line he is writing crosses or touches the vibrating control line during touch.
  • the reason why the prediction of the pen position (step S17 in FIG. 4) performed by the host processor 33 according to the first embodiment is not performed in this embodiment is that the haptic element 28 is controlled by the uplink signal US. is due to the fact that almost no delay can be expected. If the delay cannot be ignored, the sensor controller 32 may predict the pen position in the same way as the host processor 33 according to the first embodiment, and use the result to perform the trial of step S35. .
  • the position detection system 1 according to the present embodiment operates the haptic element 28 even when the pen 2 is hovering over the panel surface 3a. is different from Other points are the same as the position detection system 1 according to the first embodiment, including the configuration of the position detection system 1 shown in FIG. Description will be made by focusing on the differences from.
  • FIG. 8 is a diagram showing an example of setting a space area for vibrating the pen 2 (hereinafter referred to as a "vibration control area during hovering") on the screen shown in FIG.
  • the vibration control area during hover 50 is defined as a spatial area from H L to H H (>H L ) above the signature field 41 (the distance in the z direction shown). Specific processing for realizing timely haptic feedback when the position of the tip of the pen 2 is within the vibration control area during hover will be described below.
  • FIG. 9 is a processing flow diagram showing processing executed by the sensor controller 32 according to this embodiment.
  • FIG. 10 is a processing flow diagram showing processing executed by the host processor 33 according to this embodiment. The processing shown in FIG. 4 is also processing executed by the host processor 33 in accordance with instructions from the drawing application, as in FIG.
  • the processing performed by the sensor controller 32 according to the present embodiment includes executing step S40 after step S5 and executing step S41 instead of step S7. This is different from the process performed by the sensor controller 32 according to the first embodiment in this point.
  • the sensor controller 32 acquires the reception strength of the pen signal PS received from the pen 2 (hereinafter referred to as "pen signal reception strength").
  • the sensor controller 32 may acquire, as the pen signal reception strength, the maximum reception strength of the pen signal PS at each of the plurality of X electrodes and the plurality of Y electrodes that constitute the sensor 30.
  • the peak value of the above-described normal distribution curve may be obtained for each of the y directions, and the larger of the obtained two peak values may be obtained as the received pen signal intensity.
  • step S41 the sensor controller 32 outputs to the host processor 33 a report containing the pen position derived in step S5, the pen signal reception strength obtained in step S40, and the pen data obtained in step S6.
  • This process differs from step S7 shown in FIG. 2 in that the pen signal reception strength is added to the report.
  • the host processor 33 that receives the pen signal reception strength uses the pen signal reception strength to derive the height of the pen 2 (the distance in the z direction from the panel surface 3a to the pen tip).
  • step S51 is executed instead of step S11, and steps S52 and S53 are executed after step S13. is different from the processing performed by the host processor 33 according to the first embodiment.
  • Step S51 differs from step S11 shown in FIG. 4 in that the report received from the sensor controller 32 includes the pen signal reception strength.
  • the details of the received pen signal strength are as described above.
  • the host processor 33 determines whether or not the tip of the pen 2 is positioned within the vibration control area during hover (step S52). Specifically, the host processor 33 first derives the pen height based on the received pen signal strength. Specifically, a table or function that associates pen heights with pen signal reception intensities is stored, and the pen signal reception intensities are converted into pen heights using this table or function. Then, the host processor 33 makes the determination in step S52 by determining whether the spatial coordinates indicated by the pen position and the pen height are located within the vibration control area during hover. Taking the vibration control area 50 during hovering in FIG. It will be determined that the tip is positioned within the vibration control area during hover. If it is determined in step S52 that the tip of the pen 2 is not located within the vibration control area during hovering, the host processor 33 returns to step S51 to continue processing.
  • the host processor 33 which has determined in step S52 that the tip of the pen 2 is positioned within the vibration control area during hover, performs the same processing as step S20 in FIG. Then, a predetermined vibration control signal is transmitted (step S53). This causes the haptic element 28 of the pen 2 to operate when the tip of the pen 2 is within the vibration control region during hover.
  • the host processor 33 determines whether or not the tip of the pen 2 is within the vibration control area during hovering, and determines that it is. Accordingly, since the haptic element 28 of the pen 2 is operated by transmitting a vibration control signal via short-range wireless communication, when the tip of the pen 2 is within the vibration control region during hover, the time It will be possible to generate tactile feedback to Lee. Therefore, the user can timely know that the tip of the pen 2 is within the vibration control area during hover.
  • the haptic element 28 of the pen 2 is activated by transmitting a vibration control signal.
  • the host processor 33 executes a series of processes to operate
  • the sensor controller 32 may execute these processes.
  • information indicating the vibration control area during hover is added to the vibration control position information shown in FIG. It may be determined whether or not the object is positioned, and if it is determined that the object is positioned, the vibration control signal may be transmitted by the uplink signal US as in the example of FIG.
  • the position detection system 1 according to the present embodiment differs from the second embodiment in terms of the timing at which the sensor controller 32 transmits the vibration control signal and in that the sensor controller 32 generates vibration control signals indicating various vibration patterns. is different from the position detection system 1 in the form of Other points are the same as the position detection system 1 according to the second embodiment, including the configuration of the position detection system 1 shown in FIG. Description will be made by focusing on the differences from.
  • Step S60 is a process of deriving the writing direction of the pen 2 based on a series of stored pen positions (history of pen positions). For example, the direction of the moving velocity vector derived from the above equation (1) may be used as the writing direction derived in step S60.
  • the sensor controller 32 that derived the writing direction determines the vibration pattern of the haptic element 28 based on the derived writing direction (step S61). Then, an uplink signal US including a vibration control signal indicating the determined vibration pattern is transmitted at the beginning of the frame (step S62). This makes it possible to vibrate the haptic element 28 with different vibration patterns for each writing direction.
  • the sensor controller 32 derives the writing direction of the pen 2 based on the history of the pen position, and determines the derived writing direction of the pen 2. Since the vibration control signal indicating the vibration pattern is sent, the friction between the pen tip and the paper fibers, which changes with the change in the moving direction of the pen 2, can be reproduced by the vibration of the pen 2. Therefore, it becomes possible to reproduce a realistic writing feeling.
  • the vibration pattern of the haptic element 28 is determined based on the writing direction, but the vibration pattern of the haptic element 28 may be determined based on other information. For example, based on the direction of change in writing direction (in one example, the orientation of the acceleration vector derived by equation (5) above), the writing pressure value, tilt value, azimuth angle value, etc. received from the pen 2, the haptic element 28 may be used to determine the vibration pattern of Alternatively, the vibration pattern of haptic element 28 may be determined based on a combination of two or more of these pieces of information.
  • the sensor controller 32 has been described as deriving the writing direction, determining the vibration pattern, and transmitting the vibration control signal. I don't mind. In this case, transmission of the vibration control signal may be performed by short-range wireless communication, as in the first embodiment.
  • the position detection system 1 according to the present embodiment is different from the position detection system according to the first embodiment in that the haptic element 28 is operated in accordance with various user operations related to the paint application, which is a type of drawing application described above. is different from 1.
  • Other points are the same as the position detection system 1 according to the first embodiment, including the configuration of the position detection system 1 shown in FIG. Description will be made by focusing on the differences from.
  • FIG. 12 is a diagram showing an example of a screen (hereinafter referred to as "paint screen") displayed on the panel surface 3a by the paint application.
  • 13 to 15 shown below are screenshots of the software "Paint" installed in Windows 11 (registered trademark), an operating system sold by Microsoft (registered trademark). is.
  • the paint screen includes a menu screen 46 in addition to the drawing area 40 described above.
  • the menu screen 46 includes various icons including a color selection palette 60 including a plurality of color icons, a brush selection menu activation icon 61, a line width selection menu activation icon 62, and an area selection menu activation icon 63.
  • Each icon corresponds to different processes, and when the user taps each icon on the menu screen 46 with the pen 2 , the corresponding process is executed by the host processor 33 .
  • Each icon will be described in detail below.
  • the color selection palette 60 is an icon for the user to specify the color of lines to be drawn.
  • the host processor 33 associates different colors with the respective color icons forming the color selection palette 60 and stores them. is stored as the color of the line to be drawn in (hereinafter referred to as "effective color").
  • the host processor 33 updates the stored effective color with the color stored in association with the tapped color icon.
  • the user can specify the color of the line to be drawn by tapping the color icon.
  • the host processor 33 associates and stores different vibration patterns with the respective color icons forming the color selection palette 60, and also stores the region above each color icon as the vibration control region during hovering described above. .
  • the host processor 33 determines whether or not the position of the tip of the pen 2 is within the hovering vibration control region by the same processing as in the third embodiment. Then, the haptic element 28 is vibrated using the vibration pattern stored in association with the corresponding color icon. This allows the user to know that the pen tip is positioned above the color icon, and also the color icon that is directly below the pen tip (i.e., the color icon that will be tapped if the pen is down at that position). ) is changed, it is possible to know that by vibration.
  • the vibration control signal according to the present embodiment includes a vibration pattern selection signal that indicates the vibration pattern (vibration waveform) of the haptic element 28 and a reproduction method instruction signal that indicates the reproduction method of the vibration pattern.
  • the reproduction method includes a method of reproducing the vibration pattern indicated by the vibration pattern selection signal only once, a method in which the user moves the pen 2 (while the pen tip is in contact with the panel surface 3a, touches the pen tip on the panel surface 3a). and a method of repeatedly reproducing a vibration pattern indicated by a vibration pattern selection signal during the movement operation).
  • the reproduction method when the tip of the pen 2 is positioned above the color icon is the former method of reproducing only once.
  • the host processor 33 selects one vibration pattern and one reproduction method each time it transmits a vibration control signal, and generates a vibration including a vibration pattern selection signal indicating the selected vibration pattern and a reproduction method instruction signal indicating the selected reproduction method. configured to transmit control signals;
  • the integrated circuit 24 of the pen 2 that has received this vibration control signal uses the vibration pattern indicated by the vibration pattern selection signal to vibrate the haptic element 28 in the reproduction method indicated by the reproduction method instruction signal.
  • the brush selection menu activation icon 61 is an icon for user designation of the type of line to be drawn (hereinafter referred to as "brush").
  • FIG. 13 is a diagram showing a brush selection menu 61a displayed when the user taps the brush selection menu activation icon 61 with the pen 2.
  • the brush selection menu 61a includes a plurality of brush icons.
  • the host processor 33 associates different brushes and different vibration patterns with each of the plurality of brush icons and stores them.
  • the host processor 33 selects the brush corresponding to any one of the plurality of brush icons as the type of line to be drawn (hereinafter referred to as "effective brush") in step S15 shown in FIG. 4 (and FIG. 17 described later). ) is remembered as When the user taps any brush icon with the pen 2, the host processor 33 updates the stored effective brush with the brush stored in association with the tapped brush icon.
  • the host processor 33 performing this processing, the user can specify the type of line to be drawn by tapping the brush icon. Also, when the user taps any brush icon using the pen 2, the host processor 33 vibrates the haptic element 28 using the vibration pattern stored in association with the tapped brush icon. process. This allows the user to understand by vibration whether he has chosen the correct brush or not.
  • the host processor 33 may also change the effective brush by pressing the push button switches 27a and 27b of the pen 2.
  • the host processor 33 associates different brushes with each of the push button switches 27a and 27b and stores them in advance. If the pen data indicates that the push button switch 27b is ON, the brush stored in association with the push button switch 27b is used as the effective brush. It can be regarded as an effective brush. This allows the user to switch between effective brushes with a switch at hand. Further, when the effective brush is changed by pressing the push button switches 27a and 27b, the host processor 33 uses the vibration pattern stored in association with the brush icon corresponding to the changed brush to move the haptic element 28. may be vibrated. In this way, even when the user changes the effective brush by depressing the push button switches 27a and 27b, it is possible for the user to understand from the vibration whether or not he/she has selected the correct brush.
  • the line width selection menu activation icon 62 is an icon for user designation of the width of the line to be drawn.
  • FIG. 14 is a diagram showing a line width selection menu 62a displayed when the user taps the line width selection menu activation icon 62 with the pen 2.
  • the line width selection menu 62a includes a plurality of line width icons.
  • the host processor 33 associates different line widths and different vibration patterns with each of the plurality of line width icons and stores them.
  • the host processor 33 also stores the line width corresponding to any one of the plurality of line width icons as the width of the line drawn in step S15 shown in FIG. 4 (hereinafter referred to as "effective line width"). ing.
  • the host processor 33 updates the stored effective line width with the line width stored in association with the tapped line width icon. process.
  • the host processor 33 performs this process.
  • the user can specify the width of the line to be drawn by tapping the line width icon.
  • the host processor 33 uses the vibration pattern stored in association with the tapped line width icon to move the haptic element 28. Perform vibration processing. This allows the user to know by vibration whether he has chosen the correct line width.
  • each line width icon is preferably associated with vibration patterns having different vibration frequencies. More specifically, it is preferable to associate a thicker line width with a lower frequency vibration pattern. By doing so, the user can naturally understand the width of the line tapped by the user.
  • the area selection menu activation icon 63 is an icon for specifying an area within the drawing area 40 by the user.
  • FIG. 15 is a diagram showing an area selection menu 63a displayed when the user taps the area selection menu activation icon 63 with the pen 2.
  • the area selection menu 63a includes a plurality of selection method icons.
  • the host processor 33 associates and stores different selection methods with each of the plurality of selection method icons.
  • a "square" is a line segment that connects the position of the pen tip when the pen 2 is moved and the current position of the pen tip by moving the pen 2. This is a method of selecting a rectangular area with a diagonal line.
  • "Free form” is a method of drawing a closed curve with the pen 2 and selecting an area surrounded by the closed curve.
  • the host processor 33 temporarily stores the selection method corresponding to the one tapped with the pen 2 among the plurality of selection method icons, and executes the selection operation by the stored selection method at the next move. .
  • the host processor 33 performs processing for vibrating the haptic element 28 using a predetermined vibration pattern while the user is performing a move for selection operation. This allows the user to understand from the vibration that the move he or she is performing is for the selection operation.
  • FIG. 15 also shows an example of processing executed by the host processor 33 after the "square" icon among the plurality of selection method icons included in the area selection menu 63a is tapped.
  • a trajectory 63b shown in the figure is the trajectory of the movement of the pen 2 performed by the user immediately after the "square" icon is tapped.
  • the host processor 33 acquires a rectangular area 63c whose diagonal is a line segment connecting the start position SP of the trajectory 63b and the current position CP of the trajectory 63b as a selected area. According to this processing, while the movement of the pen 2 continues, the size and shape of the area 63c change every moment.
  • the host processor 33 determines the area 63c at that time as the selected area and performs processing to display it.
  • the user can specify the selection area by tapping the selection method icon and then moving the icon.
  • 16 to 18 are processing flow diagrams showing processing executed by the host processor 33 according to instructions from the paint application. Processing executed by the host processor 33 according to the present embodiment to operate the haptic element 28 in accordance with various user operations related to the paint application will be described below in detail with reference to these drawings.
  • the host processor 33 performs steps S10, S51, and S12 in the same manner as in FIG.
  • the initial screen displayed in step S10 in this case is the paint screen shown in FIG.
  • the host processor 33 which has determined that the writing pressure value is 0 in step S12, performs the processes of steps S13 and S52, as in the case of FIG.
  • the vibration control area during hover to be determined in step S2 includes the area set above each of the color icons forming the color selection palette 60 shown in FIG.
  • the host processor 33 shifts the process to step S71.
  • step S52 if it is determined in step S52 that the tip of the pen 2 is positioned within the vibration control region during hovering, the host processor 33 controls the vibration control region during hovering in which the tip of the pen 2 is positioned. , to select a vibration pattern (step S70). More specifically, if the vibration control area during hover where the tip of the pen 2 is positioned is set above any color icon, the host processor 33 associates and stores the area with that color icon. Select the vibration pattern that is If the hovering vibration control region where the tip of the pen 2 is positioned is the hovering vibration control region 50 shown in FIG. It is sufficient to select the vibration pattern that
  • the host processor 33 uses near field communication to transmit a vibration control signal to the pen 2 (step S71).
  • the vibration control signal transmitted here includes a vibration pattern selection signal indicating the vibration pattern selected in step S70, and a reproduction method instruction signal indicating a reproduction method for reproducing the vibration pattern indicated by the vibration pattern selection signal only once. is included. This provides a vibrating notification to the user, allowing the user to know that the pen tip is positioned above the color icon, as well as the color icon directly below the pen tip (i.e., When the color icon (that is to be tapped when the pen is down at that position) changes, it is possible to know that by vibration.
  • the host processor 33 attempts to detect a predetermined user operation (step S72), and determines whether or not it has been detected (step S73).
  • User operations to be detected here are, for example, pressing operations of push button switches 27 a and 27 b provided on the pen 2 .
  • the host processor 33 may detect the user's operation based on the pen data received in step S51.
  • the host processor 33 that has determined "detected" in step S73 subsequently executes processing according to the detected user operation (step S74).
  • the detected user operation is an operation of pressing the push button switches 27a and 27b and brushes are stored in association with the respective push button switches 27a and 27b
  • the process executed by the host processor 33 is performed to detect the effective brushes. is switched to the brush stored in association with the pressed push button switch.
  • the host processor 33 which has executed processing according to the detected user operation, then determines whether or not the detected user operation is an operation to be vibrated (step S75). As a result of the determination, when it is determined that "the operation was a vibration target", the host processor 33 first selects a vibration pattern (step S76). For example, if the effective brush is changed by pressing the push button switches 27a and 27b, the host processor 33 selects the vibration pattern stored in association with the brush icon corresponding to the changed brush. do it.
  • the host processor 33 uses near field communication to transmit a vibration control signal to the pen 2 (step S77).
  • the vibration control signal transmitted here includes a vibration pattern selection signal indicating the vibration pattern selected in step S76, and a reproduction method instruction signal indicating a reproduction method for reproducing the vibration pattern indicated by the vibration pattern selection signal only once. is included.
  • a vibration notification is given to the user, and the user can know that the operation performed by the user has been accepted. Also, when the brush is changed, it becomes possible to know that by vibration.
  • step S73 If it is determined that "not detected” in step S73, if it is determined that "the operation was not subject to vibration" in step S75, and if the process of step S77 is completed, the host processor 33 performs step Return to S51 to continue processing.
  • the host processor 33 which has determined in step S12 that the pen pressure value is greater than 0, determines whether the current pen position is within the drawing area as shown in FIG. 17 (step S14). Then, if it is determined that it is "within the drawing area" in this determination, the host processor 33 determines the current mode of the paint application (step S80).
  • the mode here includes a drawing mode in which lines are drawn with the pen 2 and an operation mode in which various operations are performed with the pen 2 .
  • the host processor 33 Having determined that the current paint application mode is the drawing mode, the host processor 33 generates or updates stroke data based on the pen position and pen data acquired in step S51, as in the case of FIG.
  • the obtained stroke data is rendered and drawn on the panel surface 3a (step S15).
  • the host processor 33 tries to detect a figure to be vibrated (step S81), and determines whether or not it has been detected (step S82).
  • the figure to be detected here is, for example, an arrow-shaped figure or an arbitrary polygon.
  • the host processor 33 associates and stores in advance the features of the figure to be vibrated and the vibration pattern. Attempt discovery. If the figure to be detected is an arbitrary polygon, the host processor 33 may store the vibration pattern in association with the number of corners of the figure.
  • the host processor 33 that has determined "detected" in step S82 selects the vibration pattern stored in association with the detected figure (step S83). Then, a vibration control signal is transmitted to the pen 2 using short-range wireless communication (step S84).
  • the vibration control signal transmitted here includes a vibration pattern selection signal indicating the vibration pattern selected in step S83, and a reproduction method instruction signal indicating a reproduction method for reproducing the vibration pattern indicated by the vibration pattern selection signal only once. is included.
  • the notification by vibration is given to the user, so that it is possible to give the user an effect corresponding to the predetermined figure. For example, it is possible to give the user who has drawn the arrow the feeling of shooting a bow.
  • step S82 If it is determined "not detected” in step S82, and if step S84 is completed, the host processor 33 shifts the process to step S51 of FIG.
  • the host processor 33 having determined in step S80 that the current paint application mode is the operation mode, determines whether or not the pen 2 is being moved (step S85). As a result of this determination, the host processor 33 that has determined "not in the process of moving" shifts the processing to step S51 in FIG. On the other hand, the host processor 33, having determined that it is in the process of moving, starts processing according to the move (step S86). For example, immediately after tapping any of the selection method icons in the area selection menu 63a described above, this process displays a selection area that changes moment by moment (for example, the area 63c shown in FIG. 15(b)). It becomes the processing to do. In addition, for example, a process of enlarging a graphic being displayed, a process of rotating a graphic being displayed, and the like may be performed.
  • the host processor 33 which has started the process corresponding to the move, determines whether or not the started process is subject to vibration (step S87). As a result of the determination, when it is determined that "the process is subject to vibration", the host processor 33 first selects a vibration pattern (step S88). For example, if the started process is the region selection operation described above, the host processor 33 may select a predetermined vibration pattern stored in association with the selection operation. The host processor 33 can also start a process of enlarging the figure being displayed and a process of rotating the figure being displayed. It suffices to select a predetermined vibration pattern.
  • the host processor 33 uses near field communication to transmit a vibration control signal to the pen 2 (step S89).
  • the vibration control signal transmitted here includes a vibration pattern selection signal indicating the vibration pattern selected in step S88, and the vibration pattern indicated by the vibration pattern selection signal is repeatedly reproduced while the movement of the pen 2 continues. and a reproduction method instruction signal indicating a reproduction method.
  • the vibration is continuously given to the user while the move continues, and the user can know that the processing corresponding to the move continues.
  • step S90 determines whether or not the move has ended.
  • the host processor 33 repeatedly makes this determination while the pen 2 continues to move.
  • step S91 ends the process started in step S86 (step S91), and shifts the process to step S51 in FIG.
  • the host processor 33 that has determined "not within the drawing area” in step S14 attempts to detect a gesture (step S21), and determines whether or not it has been detected (step S22).
  • Gestures to be detected here are, for example, one of the color icons in the color selection palette 60 shown in FIG. 12, the brush selection menu activation icon 61, the line width selection menu activation icon 62, or the The icon 63 is tapped, any brush icon within the brush selection menu 61a shown in FIG. 13 is tapped, and any line width icon is tapped within the line width selection menu 62a shown in FIG.
  • the host processor 33 that has determined "detected" in step S22 executes processing corresponding to the gesture (step S23), and then determines whether or not the detected gesture is an operation to be vibrated (step S100). ). For example, if the gesture is a tap of a color icon, the process executed in step S23 is a process of setting the color corresponding to the color icon as an effective color. This is the process of setting the brush corresponding to the icon as the effective brush. For example, if the gesture is a tap of the line width icon, the process of setting the line width corresponding to the line width icon as the effective line width.
  • step S100 if the host processor 33 stores a vibration pattern associated with the tapped icon, the host processor 33 determines that "the operation is a vibration target", and if not stores a vibration pattern. It should be determined that the operation is not a target operation.
  • the host processor 33 having determined that "the operation is the target of vibration" in step S100, selects a vibration pattern corresponding to the detected gesture (step S101).
  • the host processor 33 may select a vibration pattern stored in association with the tapped icon.
  • the host processor 33 uses near field communication to transmit a vibration control signal to the pen 2 (step S102).
  • the vibration control signal transmitted here includes a vibration pattern selection signal indicating the vibration pattern selected in step S101, and a reproduction method instruction signal indicating a reproduction method for reproducing the vibration pattern indicated by the vibration pattern selection signal only once. is included. This provides a vibration notification to the user, allowing the user to know that the gesture he or she has made has been accepted by the paint app.
  • the position detection system 1 it is possible to operate the haptics element 28 in the pen 2 according to various user operations related to the paint application.
  • a haptic element in the position detection device 3 may be operated. In this way, the user can be notified by vibration of the panel surface 3a. Therefore, even when the pen 2 having no haptic element 28 is operated by the pen 2 or the finger, the user can be notified by vibration. becomes possible.
  • the host processor 33 executes processing according to the drawing application, but the host processor 33 may execute part or all of the processing according to the operating system.
  • the pen 2 acquires the writing pressure value based on the pressure detected by the pressure sensor 22 that detects the pressure applied to the pen tip.
  • the writing pressure value may be acquired based on the pressure detected by a pressure sensor that detects the pressure applied to the button provided on the surface.
  • the present invention can be applied to pen pressure values that are simulated in extended reality (XR) spaces such as virtual reality (VR), augmented reality (AR), and mixed reality (MR). can be applied.
  • XR extended reality
  • VR virtual reality
  • AR augmented reality
  • MR mixed reality

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Input By Displaying (AREA)

Abstract

【課題】ペン位置が任意の領域の境界をまたぐ際、タイムリーに触覚フィードバックを生成できるようにする。 【解決手段】ペン2及びペン位置検出装置3を含む位置検出システム1であって、ペン2は、ペン信号PSを送出する送信回路と、振動制御信号を受信する受信回路と、振動制御信号に応じて動作するハプティクス素子28と、を含み、ペン位置検出装置3は、ペン信号PSを検出することによってペン位置を導出し、導出した一連のペン位置により示される描画線と、所定の線分との間に交差又は接触の少なくとも一方が生ずる事象の発生を検出し、この事象の発生を検出したことに応じ、振動制御信号を送出することによってハプティクス素子28を動作させる。

Description

ペン及びペン位置検出装置を含むシステム、ペン位置検出装置、並びに、ペンに内蔵されるハプティクス素子を動作させる方法
 本発明は、ペン及びペン位置検出装置を含むシステム、ペン位置検出装置、並びに、ペンに内蔵されるハプティクス素子を動作させる方法に関する。
 ハプティクスによる触覚フィードバックを生成する機能を有するペンが知られている。特許文献1~5には、この種のペンを利用するシステムの例が開示されている。特許文献1,2に記載のシステムは、画面上に表示されているアイテム上にペンが位置している場合に、ペンを振動させるように構成される。また、特許文献3~5に記載のシステムは、紙上での書き味を再現するべく、筆記中のペンの先端に振動を与えるように構成される。
米国特許出願公開第2013/0307829号明細書 特開2002-259044号公報 米国特許第10120446号明細書 特開2019-066960号公報 特開2009-238081号公報
 ところで、例えば署名欄への記入中に当該署名欄をはみ出した場合などのように、ペン位置が任意の領域の境界をまたぐ際、タイムリーに触覚フィードバックを生成できると便利であると考えられる。しかしながら、例えば特許文献1,2に記載の技術を用いてこれを実現しようとすると、境界の一方側の領域を振動のトリガとして設定することになり、記入中にはみ出したわけではなくペンが単にその領域に位置している場合にも触覚フィードバックを生成してしまうことになるので、改善が必要とされていた。
 したがって、本発明の目的の一つは、ペン位置が任意の領域の境界をまたぐ際、タイムリーに触覚フィードバックを生成できる、ペン及びペン位置検出装置を含むシステム、ペン位置検出装置、並びに、ペンに内蔵されるハプティクス素子を動作させる方法を提供することにある。
 また、伝統的な紙の上でペンを使用する場合、ペンの移動方向の変化に伴ってペン先と紙繊維の間の摩擦が変化し、ペンを持つユーザはその変化を感じ取ることができるが、パネル面上でペンを使用する場合にはそのような摩擦の変化が生じず、当然、ペンを持つユーザは摩擦の変化を感じ取ることができない。その結果、書き味にリアルさが欠けるという評価になってしまっていたので、改善が必要とされていた。
 したがって、本発明の目的の他の一つは、リアルな書き味を再現できる、ペン及びペン位置検出装置を含むシステム、ペン位置検出装置、並びに、ペンに内蔵されるハプティクス素子を動作させる方法を提供することにある。
 本発明の第1の側面によるシステムは、ペン及びペン位置検出装置を含むシステムであって、前記ペンは、ペン信号を送出する信号送出部と、振動制御信号を受信する受信部と、前記振動制御信号に応じて動作するハプティクス素子と、を含み、前記ペン位置検出装置は、前記ペン信号を検出することによってペン位置を導出し、導出した一連の前記ペン位置により示される描画線と、所定の線分との間に交差又は接触の少なくとも一方が生ずる事象の発生を検出し、前記事象の発生を検出したことに応じ、前記振動制御信号を送出することによって前記ハプティクス素子を動作させる、システムである。
 本発明の第1の側面によるペン位置検出装置は、振動制御信号に応じて動作するハプティクス素子を有するペンとともに用いられるペン位置検出装置であって、ペンが送信したペン信号を検出することによってペン位置を導出し、導出した一連の前記ペン位置により示される描画線と、所定の線分との間に交差又は接触の少なくとも一方が生ずる事象の発生を検出し、前記事象の発生を検出したことに応じ、前記振動制御信号を送出することによって前記ハプティクス素子を動作させる、ペン位置検出装置である。
 本発明の第1の側面による方法は、ペンに内蔵されるハプティクス素子を動作させる方法であって、前記ペンが、ペン信号を送出するステップと、前記ペン位置検出装置が、前記ペン信号を検出することによってペン位置を導出するステップと、前記ペン位置検出装置が、導出した一連の前記ペン位置により示される描画線と、所定の線分との間に交差又は接触の少なくとも一方が生ずる事象の発生を検出するステップと、前記ペン位置検出装置が、前記事象の発生を検出したことに応じて振動制御信号を送出するステップと、前記ペンが、前記振動制御信号を受信するステップと、前記ペンが、受信した前記振動制御信号に応じて前記ハプティクス素子を動作させるステップと、を含む方法である。
 本発明の第2の側面によるシステムは、ペン及びペン位置検出装置を含むシステムであって、前記ペンは、ペン信号を送出する信号送出部と、振動制御信号を受信する受信部と、前記振動制御信号に応じて動作するハプティクス素子と、を含み、前記ペン位置検出装置は、前記ペン信号を検出することによってペン位置を導出し、前記ペン位置の履歴に基づいて前記ペンの筆記方向を導出し、導出した前記ペンの筆記方向に応じた振動パターンを示す振動制御信号を送出することによって前記ハプティクス素子を動作させる、システムである。
 本発明の第2の側面によるペン位置検出装置は、振動制御信号に応じて動作するハプティクス素子を有するペンとともに用いられるペン位置検出装置であって、ペンが送信したペン信号を検出することによってペン位置を導出し、前記ペン位置の履歴に基づいて前記ペンの筆記方向を導出し、導出した前記ペンの筆記方向に応じた振動パターンを示す振動制御信号を送出することによって前記ハプティクス素子を動作させる、ペン位置検出装置である。
 本発明の第2の側面による方法は、ペンに内蔵されるハプティクス素子を動作させる方法であって、前記ペンが、ペン信号を送出するステップと、前記ペン位置検出装置が、前記ペン信号を検出することによってペン位置を導出するステップと、前記ペン位置検出装置が、前記ペン位置の履歴に基づいて前記ペンの筆記方向を導出するステップと、前記ペン位置検出装置が、導出した前記ペンの筆記方向に応じた振動パターンを示す振動制御信号を送出するステップと、前記ペンが、前記振動制御信号を受信するステップと、前記ペンが、受信した前記振動制御信号に応じて前記ハプティクス素子を動作させるステップと、を含む方法である。
 本発明の第1の側面によれば、ペン位置が任意の領域の境界をまたぐ際、タイムリーに触覚フィードバックを生成することが可能になる。
 本発明の第2の側面によれば、リアルな書き味を再現することが可能になる。
本発明の第1の実施の形態による位置検出システム1の構成を示す図である。 本発明の第1の実施の形態によるセンサコントローラ32によって実行される処理を示す処理フロー図である。 本発明の第1の実施の形態による描画アプリケーションによってパネル面3aに表示される画面の例を示す図である。 本発明の第1の実施の形態によるホストプロセッサ33によって実行される処理を示す処理フロー図である。 本発明の第1の実施の形態によるタッチ中振動制御線の他の一例を示す図である。 本発明の第2の実施の形態によるホストプロセッサ33によって実行される処理を示す処理フロー図である。 本発明の第2の実施の形態によるセンサコントローラ32によって実行される処理を示す処理フロー図である。 図3に示した画面の上に、ホバー中振動制御領域50を設定する例を示す図である。 本発明の第3の実施の形態によるセンサコントローラ32によって実行される処理を示す処理フロー図である。 本発明の第3の実施の形態によるホストプロセッサ33によって実行される処理を示す処理フロー図である。 本発明の第4の実施の形態によるセンサコントローラ32によって実行される処理を示す処理フロー図である。 本発明の第5の実施の形態によるペイントアプリによってパネル面3aに表示されるペイント画面の例を示す図である。 ブラシ選択メニュー起動アイコン61をユーザがペン2を用いてタップした場合に表示されるブラシ選択メニュー61aを示す図である。 線幅選択メニュー起動アイコン62をユーザがペン2を用いてタップした場合に表示される線幅選択メニュー62aを示す図である。 領域選択メニュー起動アイコン63をユーザがペン2を用いてタップした場合に表示される領域選択メニュー63aを示す図である。 ペイントアプリの指示に従ってホストプロセッサ33が実行する処理を示す処理フロー図である。 ペイントアプリの指示に従ってホストプロセッサ33が実行する処理を示す処理フロー図である。 ペイントアプリの指示に従ってホストプロセッサ33が実行する処理を示す処理フロー図である。
 以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。
 図1は、本発明の第1の実施の形態による位置検出システム1の構成を示す図である。同図に示すように、位置検出システム1は、ペン2及びペン位置検出装置3を備えて構成される。
 ペン位置検出装置3はペン2を検出する機能を有するコンピュータであり、図1に示すように、パネル面3aと、パネル面3aの直下に重ねて配置されたセンサ30及びディスプレイ31と、センサコントローラ32と、ホストプロセッサ33と、無線通信部34とを有して構成される。典型的な例では、ペン位置検出装置3はタブレット端末又はノートパソコンなどの個人用コンピュータである。
 ディスプレイ31は、例えば液晶ディスプレイ又は有機ELディスプレイなどの表示面を有する表示装置である。ペン位置検出装置3においては、パネル面3aがディスプレイ31の表示面を構成する。また、ホストプロセッサ33は、ディスプレイ31を含むペン位置検出装置3の各部を制御する機能を有するペン位置検出装置3の中央処理装置である。ホストプロセッサ33は、内蔵するメモリに記憶されるプログラムを実行することにより、ペン位置検出装置3のオペレーティングシステム、及び、描画アプリケーションを含む各種のアプリケーションを実行可能に構成される。ディスプレイ31は、オペレーティングシステム又はアプリケーションにより生成された映像信号に基づき、表示面に各種の画面(画像又は映像)を表示する役割を果たす。
 無線通信部34は、ブルートゥース(登録商標)などの近距離無線通信により、ペン2を含む他の装置と通信するための装置である。ホストプロセッサ33は、この無線通信部34を介して、近距離無線通信によりペン2と通信可能に構成される。
 センサ30は、センサコントローラ32がペン2と通信するために用いられる装置であり、それぞれパネル面3a内のy方向に延在し、かつ、x方向に等間隔で並置された複数のX電極と、それぞれパネル面3a内のx方向に延在し、かつ、y方向に等間隔で並置された複数のY電極とを含んで構成される。複数のX電極及び複数のY電極は、それぞれ独立してセンサコントローラ32に接続される。複数のX電極及び複数のY電極の一方をディスプレイ31内の共通電極と兼用することとしてもよく、その場合のペン位置検出装置3は「インセル型」と呼ばれる。一方、複数のX電極及び複数のY電極をディスプレイ31内の共通電極と兼用しないこととしてもよく、その場合のペン位置検出装置3は「オンセル型」又は「アウトセル型」と呼ばれる。
 センサコントローラ32は、センサ30を介してペン2と通信することによって、パネル面3a内におけるペン2の位置を導出するとともに、ペン2からデータを取得する機能と、導出した位置及び取得したデータを含むレポートをホストプロセッサ33に逐次供給する機能とを有する集積回路である。センサコントローラ32は、ハードウェアとして実装されたプログラム又は内蔵メモリに記憶されるプログラムを実行することにより、これらの機能を実現するとともに、後述する各種の処理を実行可能に構成される。
 センサ30を介して行うセンサコントローラ32とペン2との間の通信は、例えばアクティブ静電容量方式により行うことが好適である。以下の説明ではアクティブ静電容量方式の利用を前提とするが、電磁誘導方式やその他の方式を用いることとしてもよいのは勿論である。以下、センサコントローラ32がセンサ30を介してペン2に送信する信号を「アップリンク信号US」と称し、ペン2がセンサ30を介してセンサコントローラ32に送信する信号を「ペン信号PS」と称する。
 センサコントローラ32はペン2との通信を所定時間長のフレームの単位で行うように構成されており、各フレームの先頭で、複数のX電極又は複数のY電極を用いてアップリンク信号USの送信を行う。こうして送信されるアップリンク信号USは、フレームの時間的位置と、その中でペン2がペン信号PSを送信すべきタイミング(時間スロット)とをペン2に通知する役割を有している。また、アップリンク信号USには、センサコントローラ32からペン2に対する命令を示すコマンドが含まれる。
 ペン信号PSには、センサコントローラ32にペン2の位置を検出させるための位置信号と、ペン2からセンサコントローラ32に対して送信するデータによって変調されてなるデータ信号とが含まれ得る。センサコントローラ32は、センサ30を構成する複数のX電極及び複数のY電極のそれぞれによって位置信号を受信し、x方向及びy方向のそれぞれについて位置信号の受信強度の分布を正規分布曲線によって近似し、それぞれのピーク位置を導出することにより、パネル面3a内におけるペン2の位置(以下「ペン位置」という)を導出するよう構成される。また、センサコントローラ32は、直前に導出したペン位置に最も近い1本のX電極又はY電極によってデータ信号を受信し、復調することによって、ペン2が送信したデータ(以下「ペンデータ」という)を取得するよう構成される。ペンデータには、アップリンク信号US内のコマンドに対する応答の他、ペン2のペン先に加わる圧力を示す筆圧値と、ペン2に設けられた押しボタンスイッチ27a,27b(後述)のオンオフ状態を示すスイッチ情報とが含まれ得る。
 図2は、センサコントローラ32によって実行される処理を示す処理フロー図である。この図2を参照しながら、センサコントローラ32が実行する処理について改めて詳しく説明すると、センサコントローラ32はまず、フレームの先頭でアップリンク信号USを送信する(ステップS1)。続いてセンサコントローラ32は、対応するフレーム内においてペン2がペン信号PSを送信するタイミング(アップリンク信号USにより通知したタイミング)の都度、ステップS3~S7の処理を実行する(ステップS2)。
 具体的に説明すると、センサコントローラ32はまず、センサ30を用いてペン信号PSの検出を試行する(ステップS3)。そして、その結果としてペン信号PSが検出されたか否かを判定し(ステップS4)、「検出されなかった」と判定した場合には、次のタイミングに処理を移す。一方、ステップS4において「検出された」と判定したセンサコントローラ32は、検出されたペン信号PSに基づき、ペン位置の導出(ステップS5)とペンデータの取得(ステップS6)とを実行する。そして、導出したペン位置及び取得したペンデータを含むレポートをホストプロセッサ33に出力し(ステップS7)、ステップS3に戻る。
 図1に戻る。センサコントローラ32がホストプロセッサ33に対して供給した一連のレポートは、ホストプロセッサ33において、描画アプリケーションが行う処理のために利用される。ここでいう描画アプリケーションの処理には、デジタルインクの生成及び表示、カーソルの移動、タップやドラッグなどの各種ジェスチャーの検出、ペン2に内蔵されるハプティクス素子28(後述)の制御などが含まれる。
 このうちデジタルインクの生成及び表示について簡単に説明すると、描画アプリケーションはまず、筆圧値が0より大きくなっているときに連続して取得された一連のペン位置及びペンデータに基づいて1つのストロークデータを生成し、こうして生成した一連のストロークデータによりデジタルインクを生成するよう構成される。描画アプリケーションはまた、新たにペン位置を導出する都度、同じストロークデータ内に含まれる1以上の過去のペン位置も用いてCatmull-Rom曲線などのスプライン曲線を生成し、レンダリングを行う。このとき描画アプリケーションは、生成したスプライン曲線の外観をペンデータに基づいて制御する処理も行う。この処理には、筆圧値に基づいて線幅又は透明度を制御する処理が含まれる。描画アプリケーションは、こうしてレンダリングしたスプライン曲線に基づいて映像信号を生成し、ディスプレイ31に供給する。これにより、描画アプリケーションによってレンダリングされたスプライン曲線がディスプレイ31に表示されることになる。
 ペン2は、図1に示すように、芯体20と、ペン先電極21と、圧力センサ22と、バッテリー23と、集積回路24と、無線通信回路25と、シーソースイッチ26と、押しボタンスイッチ27a,27bと、ハプティクス素子28とを有して構成される。
 芯体20は、ペン2のペン軸を構成する柱状の部材である。芯体20の先端はペン2のペン先を構成し、末端は圧力センサ22に当接している。ペン先電極21は、ペン2のペン先に配置された導電体であり、集積回路24と電気的に接続されている。
 圧力センサ22は、芯体20の先端に加わる圧力を検出するセンサである。圧力センサ22が検出した圧力は集積回路24に供給され、上述した筆圧値として集積回路24によりペン信号PS内に配置される。バッテリー23は、集積回路24、無線通信回路25、及びハプティクス素子28が動作するために必要な電力を供給する役割を果たす。
 集積回路24は、昇圧回路、送信回路、受信回路、及び処理回路を含む各種の回路によって構成される集積回路である。受信回路はペン先電極21に接続されており、ペン先電極21を用いてアップリンク信号USの検出動作を行うことによって、アップリンク信号USを受信する受信部としての役割を果たす。送信回路もペン先電極21に接続されており、アップリンク信号USにより示されるタイミングで昇圧回路を用いてペン先電極21に変化を与えることによって、ペン信号PSを送出する信号送出部としての役割を果たす。処理回路は、ペン2の各部を制御する制御部として機能する回路であり、受信回路によって受信されたアップリンク信号USに基づいてペン信号PSを生成し、生成したペン信号PSを送信回路に送信させる処理を行う。
 無線通信回路25は、ブルートゥース(登録商標)などの近距離無線通信により、ペン位置検出装置3を含む他の装置と通信するための装置である。近距離無線通信は双方向通信であることから、無線通信回路25は、信号を送信するための送信部として機能するとともに、信号を受信するための受信部としても機能する。集積回路24は、この無線通信回路25を介して、近距離無線通信によりペン位置検出装置3と通信可能に構成される。
 ホストプロセッサ33は、この近距離無線通信を介して、ペン2に対して振動制御信号を送信するよう構成される。振動制御信号は、ハプティクス素子28の動作を指示するための信号である。具体的には、ハプティクス素子28を動作させることを単純に指示するための信号であってもよいし、所定のタイミングでハプティクス素子28を動作させることを指示するための信号であってもよい。集積回路24は、無線通信回路25を介して振動制御信号を受信すると、受信した振動制御信号に応じてハプティクス素子28の動作を制御するよう構成される。
 シーソースイッチ26は、筐体の表面に沿って配置される板状部26pと、板状部26pから筐体の内側に向かって突出する2本の脚部26a,26bとを有するスイッチ押下用部材である。脚部26a,26bは、板状部26pのペン軸方向の一端近傍及び他端近傍にそれぞれ設けられており、先端で押しボタンスイッチ27a,27bに当接している。ユーザがシーソースイッチ26のペン軸方向の一端側表面を押下すると、脚部26aが内側に向かって移動し、押しボタンスイッチ27aを押下する。一方、ユーザがシーソースイッチ26のペン軸方向の他端側表面を押下すると、脚部26bが内側に向かって移動し、押しボタンスイッチ27bを押下する。押しボタンスイッチ27a,27bは、いずれか一方がオンになった場合に他方がオフになり、いずれか一方がオフになった場合に他方がオンになるように構成される。押しボタンスイッチ27a,27bのオンオフ状態は集積回路24に供給され、上述したスイッチ情報として集積回路24によりペン信号PS内に配置される。
 ハプティクス素子28は集積回路24の制御に応じて動作する素子であり、シーソースイッチ26の2本の脚部26a,26bの間の領域に配置される。典型的な例では、ハプティクス素子28はバイブレータ又はアクチュエータによって構成される。例えば、ケース内に錘とピエゾセラミックとを内蔵し、集積回路24からの制御によりピエゾセラミックを伸縮させることによって錘を移動させ、その結果として振動を生じさせるピエゾバイブレータによってハプティクス素子28を構成することが好適である。なお、ハプティクス素子28を脚部26a,26bの間の領域に配置しているのは、ペン2の表面のうちペン2を持つ人の指に接触する部分(に近い部分)を特に振動させるためである。ただし、脚部26a,26bの間以外の位置にハプティクス素子28を配置することも可能である。
 図3は、本実施の形態による描画アプリケーション(ホストプロセッサ33)によってパネル面3aに表示される画面の例を示す図である。また、図4は、本実施の形態によるホストプロセッサ33によって実行される処理を示す処理フロー図である。以下、これらの図を参照しながら、ペン位置が任意の領域の境界をまたぐ際、タイムリーに触覚フィードバックを生成するための処理について、詳しく説明する。
 初めに図3を参照すると、この例による描画アプリケーションは、パネル面3a上に、署名欄41を含む描画領域40と、描画領域40の外に配置された保存ボタン42及び消去ボタン43とを有する画面を表示している。ユーザがペン2を用いて描画領域40への記入を開始すると、センサコントローラ32からホストプロセッサ33に対し、ペン位置及びペンデータが逐次供給される。描画アプリケーションは、こうして供給される一連のペン位置及びペンデータを用いてリアルタイムにストロークデータの生成を行い、生成したストロークデータをメモリに記憶しつつそのレンダリングを行い、パネル面3a上に表示する処理を行う。図3には、ユーザがペン2を用いて「John.T」の文字列を記入し、その結果として、描画アプリケーションがパネル面3a上に「John.T」の文字列を表示した状態を示している。
 保存ボタン42は、生成された一連のストロークデータをデジタルインクとして保存する処理を描画アプリケーションに実行させるためのボタンである。ユーザがペン2を用いて保存ボタン42をタップすると、描画アプリケーションはこのタップを検出し、それまでに一時メモリ内に記憶した一連のストロークデータを、ユーザの署名を示すデジタルインクとして、ペン位置検出装置3内のメモリに保存する処理を行う。また、消去ボタン43は、記入済みの文字列を描画アプリケーションに消去させるためのボタンである。ユーザがペン2を用いて消去ボタン43をタップすると、描画アプリケーションはこのタップを検出し、記入済みの文字列に対応する一連のストロークデータをメモリから消去するとともに、表示中の一連のストロークデータを消去するための映像信号を生成してディスプレイ31に供給する処理を行う。なお、図3には保存ボタン42及び消去ボタン43のみを示しているが、これらの他にも様々なユーザインターフェイスを画面内に設けてよいのは勿論である。様々なユーザインターフェイスには、パネル面3aに表示されている画面をユーザ操作により他の画面に変更するためのインターフェイスが含まれ得る。
 ここで、図3の例においては、「John.T」の「J」の二画目の一部が署名欄41をはみ出してしまっている。本実施の形態による描画アプリケーションは、このようなはみ出しが発生したことを検出し、リアルタイムでペン2のハプティクス素子28を動作させることにより、ユーザにはみ出したことを通知する機能を有している。これによりユーザは、署名欄41からはみ出したことに気づき、消去ボタン43を押して書き直すことが可能になる。以下では、このような通知の対象とする線を「タッチ中振動制御線」と称する。図3の例では、署名欄41の輪郭線がタッチ中振動制御線となる。なお、図3の例ではタッチ中振動制御線が閉じているが、開いた線によりタッチ中振動制御線を構成することも可能である。以下、図4を参照しつつ、ペン位置がタッチ中振動制御線をまたぐ際、タイムリーに触覚フィードバックを実現するための具体的な処理を説明する。
 図4は、描画アプリケーションの指示に従ってホストプロセッサ33が実行する処理を示している。同図に示すように、ホストプロセッサ33はまず、パネル面3a上に初期画面を表示する(ステップS10)。この初期画面はタッチ中振動制御線を含むものであってもよいし、含まないものであってもよい。続いてホストプロセッサ33は、ペン位置及びペンデータを含むレポートをセンサコントローラから受信し(ステップS11)、受信したペンデータ内に含まれる筆圧値が0より大きいか(すなわち、ペン2がパネル面3a上を摺動中であるか)、或いは、0であるか(すなわち、ペン2がパネル面3aの上空をホバー中であるか)を判定する(ステップS12)。この判定において筆圧値が0であると判定したホストプロセッサ33は、ペン位置に基づいてパネル面3aに表示しているカーソルを移動させ(ステップS13)、ステップS11に処理を戻す。
 一方、ステップS12の判定において筆圧値が0より大きいと判定したホストプロセッサ33は、現在のペン位置が描画領域内であるか否かを判定する(ステップS14)。この判定において「描画領域内でない」と判定した場合、ホストプロセッサ33は、ペン2によるジェスチャーの検出を試行する(ステップS21)。そして、試行の結果としてジェスチャー(画面に表示されているボタンのタップなど)を検出したか否かを判定し(ステップS22)、「検出していない」と判定した場合にはステップS11に処理を戻す一方、「検出した」と判定した場合には、ジェスチャーに応じた処理を実行した後(ステップS23)、ステップS11に処理を戻す。ステップS23で実行される処理には、タッチ中振動制御線を含む画面をパネル面3a上に表示する処理などが含まれる。
 一方、ステップS14の判定において「描画領域内である」と判定したホストプロセッサ33は、ペン位置及びペンデータに基づいてストロークデータを生成又は更新し、その結果として得たストロークデータをレンダリングし、パネル面3a上に描画する(ステップS15)。
 続いてホストプロセッサ33は、表示中の画面にタッチ中振動制御線があるか否かを判定する(ステップS16)。この判定において「ない」と判定したホストプロセッサ33は、ステップS11に処理を戻す。一方、「ある」と判定したホストプロセッサ33は、次にセンサコントローラ32から受信されるレポート内に含まれるであろうペン位置を予測する(ステップS17)。具体的には、最新の2以上のペン位置からペン位置の移動速度を算出し、その移動速度が継続すると仮定して次のペン位置を導出することによって次のペン位置を予測することとしてもよいし、文字認識技術を用いて現在ユーザが記入中の文字を判定し、判定された文字の形に基づいて次のペン位置を予測することとしてもよいし、ユーザが過去に記入した文字や図形のストロークデータを人工知能に予め学習させ、現在生成中のストロークデータをこの人工知能に入力することによってユーザが記入中の文字又は図形を判定し、判定された文字又は図形の形に基づいて次のペン位置を予測することとしてもよい。
 上記の予測方法のうち移動速度に基づく次のペン位置の予測については、次の式(1)(2)に示すように、2つの座標の簡単な計算を用いて次のペン位置を算出することによって行うこととしてもよい。すなわち、式(1)により移動速度ベクトルを求め、求めた移動速度ベクトルを用いて式(2)により次のペン位置を算出すればよい。ただし、式(1)(2)では、次のペン位置を(x,y)、最も新しいペン位置を(x,y)、2番目に新しいペン位置を(x,y)としている。こうすることで、予測にかかるホストプロセッサ33の処理負荷を軽減することが可能になる。
Figure JPOXMLDOC01-appb-M000001
 また、移動速度に加えて加速度も用いて、次のペン位置を予測することとしてもよい。この場合、次の式(3)~(6)に示すように、3つの座標の簡単な計算を用いて次のペン位置を算出することによって、次のペン位置を予測すればよい。すなわち、式(3)(4)により2つの移動速度ベクトルを求め、求めた2つの移動速度ベクトルを用いて式(5)により加速度ベクトルを求め、求めた移動速度ベクトル及び加速度ベクトルを用いて式(6)により次のペン位置を算出すればよい。ただし、式(3)~(6)では、次のペン位置を(x,y)、最も新しいペン位置を(x,y)、2番目に新しいペン位置を(x,y)、3番目に新しいペン位置を(x,y)としている。
Figure JPOXMLDOC01-appb-M000002
 ペン位置の予測が完了した後、ホストプロセッサ33は、予測したペン位置を含む一連のペン位置により示される描画線と、タッチ中振動制御線との間に交差又は接触の少なくとも一方が生ずる事象の発生の検出を試行する(ステップS18)。具体的には、予測したペン位置を現在生成中のストロークデータに一時的に追加し、追加後のストロークデータに基づいてスプライン曲線を生成し、生成したスプライン曲線を上記描画線として上記検出を試行すればよい。また、ホストプロセッサ33は、ステップS15で生成したストロークデータを構成する1以上のペン位置のいずれかと、予測したペン位置とを結ぶ線分を生成し、生成した線分を上記描画線として上記検出を試行することとしてもよい。
 次にホストプロセッサ33は、ステップS18において上記事象の発生を検出したか否かを判定し(ステップS19)、「検出しなかった」と判定した場合には、ステップS11に戻って処理を繰り返す。一方、「検出した」と判定した場合のホストプロセッサ33は、図1に示した無線通信部34を介し、近距離無線通信により、ペン2に対して所定の振動制御信号を送信する(ステップS20)。こうして送信される振動制御信号は、ハプティクス素子28を動作させることを単純に指示するための信号であってもよいし、ハプティクス素子28を所定の時間後に動作させることを指示するための信号であってもよい。或いは、ホストプロセッサ33がペン2の移動速度などから交差又は接触が発生するタイミングを予測できる場合などには、振動制御信号は、予測したタイミングでハプティクス素子28を動作させるための情報を含む信号であることとしてもよい。
 振動制御信号を受信したペン2の集積回路24は、振動制御信号により示されるタイミングでハプティクス素子28を動作させる。これにより、振動による通知がユーザに対して与えられ、ユーザは、記入中の線がタッチ中振動制御線と交差又は接触すること(若しくは、交差又は接触したこと)を知ることができる。
 以上説明したように、本実施の形態による位置検出システム1によれば、ホストプロセッサ33が、画面内に設定されるタッチ中振動制御線と、入力中のストロークデータにより示される描画線との間に交差又は接触の少なくとも一方が生ずる事象の発生を検出し、この事象の発生を検出したことに応じ、近距離無線通信を介して振動制御信号を送出することによってペン2のハプティクス素子28を動作させているので、ペン位置が任意の領域の境界をまたぐ際、タイムリーに触覚フィードバックを生成することが可能になる。したがってユーザは、記入中の線がタッチ中振動制御線と交差又は接触することをタイムリーに知ることが可能になる。
 ここで、図4のステップS17においてホストプロセッサ33が次のペン位置を予測する処理を行っているのは、近距離無線通信によるハプティクス素子28の制御に一定の遅延が発生することを考慮したことによるものである。遅延が無視できる場合には、ホストプロセッサ33は、ステップS17の処理を実行せず、ステップS18において、取得済みの一連のペン位置により示される描画線と、タッチ中振動制御線との間に交差又は接触の少なくとも一方が生ずる事象の発生の検出を試行することとしてもよい。
 なお、本実施の形態では、タッチ中振動制御線として署名欄41の輪郭線を例示したが、他の線をタッチ中振動制御線として用いてよいのは勿論である。
 図5は、本実施の形態によるタッチ中振動制御線の他の一例を示す図である。同図には、描画領域40内に電子ルーラー45が表示されている例を示している。電子ルーラー45は、描画アプリケーションによって描画領域40内に表示される仮想的な定規であり、ユーザ操作に応じて、任意の位置に任意の角度及びサイズで表示可能に構成される。この電子ルーラー45の輪郭線をタッチ中振動制御線として用いることにより、本実施の形態による位置検出システム1によれば、ペン位置が電子ルーラー45の輪郭線をまたぐ際、タイムリーに触覚フィードバックを生成することができるので、現実には凹凸がないにも関わらず、ペン2が定規に乗り上げる際のコツンという感覚、及び、ペン2が定規上から落ちる際のガクンという感覚を再現することが可能になる。また、本実施の形態による位置検出システム1によれば、ペン2がホバー中である場合にはハプティクス素子28の制御が行われないことから、ペン2が電子ルーラー45の輪郭線の上空を移動しただけで、上記のようなコツン又はガクンという感覚が生じてしまうことを防止することが可能になる。
 次に、本発明の第2の実施の形態による位置検出システム1について説明する。本実施の形態による位置検出システム1は、ホストプロセッサ33ではなくセンサコントローラ32がハプティクス素子28を動作させるための振動制御信号を送信する点で、第1の実施の形態による位置検出システム1と異なっている。その他の点では、図1に示した位置検出システム1の構成を含めて第1の実施の形態による位置検出システム1と同様であるので、以下では、第1の実施の形態による位置検出システム1との相違点に着目して説明する。
 図6は、本実施の形態によるホストプロセッサ33によって実行される処理を示す処理フロー図である。同図に示す処理も、図4と同様、描画アプリケーションの指示に従ってホストプロセッサ33が実行する処理となっている。また、図7は、本実施の形態によるセンサコントローラ32によって実行される処理を示す処理フロー図である。
 図6と図4を比較すると理解されるように、本実施の形態によるホストプロセッサ33が行う処理は、ステップS10の後にステップS24,S25を実行する点、ステップS23の後にステップS26,S27を実行する点、及び、ステップS16~S20を実行しない点で、第1の実施の形態によるホストプロセッサ33が行う処理と相違する。
 ステップS24は、初期画面の中にタッチ振動制御線が含まれるか否かを判定するステップである。ここで「含まれる」と判定した場合、ホストプロセッサ33は、センサコントローラ32に対して振動制御位置情報を送信する(ステップS25)。振動制御位置情報はパネル面3a内におけるタッチ中振動制御線の位置(センサ30上の位置)を示す情報であり、パネル面3a内の座標を用いて表される。具体的に言えば、振動制御位置情報は一連の座標であってもよいし、線分を表す関数であってもよい。本実施の形態によるホストプロセッサ33は、この振動制御位置情報をセンサコントローラ32に供給することにより、一連のペン位置により示される描画線と、タッチ中振動制御線との間に交差又は接触の少なくとも一方が生ずる事象の発生を検出し、この事象の発生を検出したことに応じ、振動制御信号を送出することによってハプティクス素子28を動作させる処理を、自身に代わってセンサコントローラ32に実行させる。
 ステップS26は、ステップS23の処理(ジェスチャーに応じた処理)によりタッチ振動制御線の位置が変更されたか否かを判定する処理である。ここで「変更された」と判定した場合、ホストプロセッサ33は、センサコントローラ32に対し、変更後のタッチ振動制御線の位置を示す振動制御位置情報を改めて送信する(ステップS27)。詳しくは後述するが、こうして新たな振動制御位置情報を受信したセンサコントローラ32は、それ以後、新たに受信した振動制御位置情報に基づいて上記処理を実行することになる。
 次に図7と図2を比較すると理解されるように、本実施の形態によるセンサコントローラ32が行う処理は、ステップS30~S38を実行する点で、第1の実施の形態によるセンサコントローラ32が行う処理と相違する。
 本実施の形態によるセンサコントローラ32は、まず初めに、ホストプロセッサ33から振動制御位置情報の受信を試行する(ステップS30)。そして、この試行の結果として振動制御位置情報を受信したか否かを判定し(ステップS31)、「受信した」と判定した場合には、受信した振動制御位置情報を記憶する(ステップS32)。なお、振動制御位置情報を受信した時点で既に他の振動制御位置情報を記憶していた場合、センサコントローラ32は、受信した振動制御位置情報により、記憶している振動制御位置情報を更新すればよい。
 ステップS31において「受信していない」と判定した場合、又は、ステップS32を終了した後、センサコントローラ32は、振動制御位置情報を記憶しているか否かを判定する(ステップS33)。そして、「記憶していない」と判定した場合には、ステップS1に処理を移す。この後、図2で説明したステップS1~S7の処理と同様の処理を行うが、ステップS7の後に、導出したペン位置及び取得したペンデータをメモリ内に一時的に記憶する処理を行う(ステップS38)。ここで記憶するペンデータは、筆圧値だけであってもよい。ステップS2の繰り返し処理が終了した後、センサコントローラ32は、ステップS30に処理を戻す。
 一方、ステップS33において「記憶している」と判定したセンサコントローラ32は、記憶している最新の筆圧値に基づき、現在描画アプリケーションによる描画中であるか否かを判定する(ステップS34)。具体的には、記憶している最新の筆圧値が0である場合に「描画中でない」と判定し、0より大きい場合に「描画中である」と判定すればよい。ステップS34において「描画中でない」と判定したセンサコントローラ32は、ステップS1に処理を移す。
 ステップS34において描画中であると判定したセンサコントローラ32は、記憶している一連のペン位置により示される描画線と、記憶している振動制御位置情報により示されるタッチ中振動制御線との間に交差又は接触の少なくとも一方が生ずる事象の発生の検出を試行する(ステップS35)。具体的には、記憶している一連のペン位置のうち、対応する筆圧値が最新のペン位置から連続して0より大きくなっている1以上のペン位置に基づいてスプライン曲線を生成し、生成したスプライン曲線を上記描画線として上記検出を試行すればよい。また、センサコントローラ32は、記憶している一連のペン位置のうち2番目に新しいものに対応する筆圧値が0より大きいか否かを判定し、0より大きいと判定した場合に、2番目に新しいペン位置と最新のペン位置とを結ぶ線分を生成し、生成した線分を上記描画線として上記検出を試行してもよい。さらに、センサコントローラ32は、記憶している一連のペン位置のうちの最新のものが振動制御位置情報により示されるタッチ中振動制御線上に存在する場合に、上記事象の発生を検出したこととしてもよい。
 次にセンサコントローラ32は、ステップS35において上記事象の発生を検出したか否かを判定し(ステップS36)、「検出しなかった」と判定した場合には、ステップS1に処理を移す。一方、「検出した」と判定した場合には、ステップS1に代え、振動制御信号を含むアップリンク信号USをフレームの先頭で送信し(ステップS37)、ステップS2に処理を移す。これにより、アップリンク信号USを通じてペン2の集積回路24に振動制御信号が供給され、集積回路24は、振動制御信号により示されるタイミングでハプティクス素子28を動作させる。その結果として、振動による通知がユーザに対して与えられ、ユーザは、記入中の線がタッチ中振動制御線と交差又は接触したことを知ることができる。
 以上説明したように、本実施の形態による位置検出システム1によれば、センサコントローラ32が、画面内に設定されるタッチ中振動制御線と、入力中のストロークデータにより示される描画線との間に交差又は接触の少なくとも一方が生ずる事象の発生を検出し、この事象の発生を検出したことに応じ、アップリンク信号USを用いて振動制御信号を送出することによってペン2のハプティクス素子28を動作させているので、ペン位置が任意の領域の境界をまたぐ際、タイムリーに触覚フィードバックを生成することが可能になる。したがってユーザは、記入中の線がタッチ中振動制御線と交差又は接触することをタイムリーに知ることが可能になる。
 ここで、第1の実施の形態によるホストプロセッサ33が行っていたペン位置の予測(図4のステップS17)を本実施の形態において行わないのは、アップリンク信号USによるハプティクス素子28の制御には遅延がほとんど発生しないと期待できることによるものである。もし遅延が無視できない場合には、センサコントローラ32は、第1の実施の形態によるホストプロセッサ33と同様にペン位置の予測を行い、その結果も用いてステップS35の試行を実施することとしてもよい。
 次に、本発明の第3の実施の形態による位置検出システム1について説明する。本実施の形態による位置検出システム1は、ペン2がパネル面3aの上空をホバー中である場合にもハプティクス素子28を動作させることがある点で、第1の実施の形態による位置検出システム1と異なっている。その他の点では、図1に示した位置検出システム1の構成を含めて第1の実施の形態による位置検出システム1と同様であるので、以下では、第1の実施の形態による位置検出システム1との相違点に着目して説明する。
 図8は、図3に示した画面の上に、ペン2を振動させる空間領域(以下「ホバー中振動制御領域」と称する)を設定する例を示す図である。同図の例では、署名欄41上空の高さ(図示したz方向の距離)がHからH(>H)までの空間領域をホバー中振動制御領域50としている。以下、ペン2の先端の位置がホバー中振動制御領域内にあるときに、タイムリーに触覚フィードバックを実現するための具体的な処理を説明する。
 図9は、本実施の形態によるセンサコントローラ32によって実行される処理を示す処理フロー図である。また、図10は、本実施の形態によるホストプロセッサ33によって実行される処理を示す処理フロー図である。同図に示す処理も、図4と同様、描画アプリケーションの指示に従ってホストプロセッサ33が実行する処理となっている。
 図9と図2を比較すると理解されるように、本実施の形態によるセンサコントローラ32が行う処理は、ステップS5の後にステップS40を実行する点、及び、ステップS7に代えてステップS41を実行する点で、第1の実施の形態によるセンサコントローラ32が行う処理と相違する。
 ステップS40においてセンサコントローラ32は、ペン2から受信されたペン信号PSの受信強度(以下「ペン信号受信強度」という)を取得する。センサコントローラ32は、センサ30を構成する複数のX電極及び複数のY電極のそれぞれにおけるペン信号PSの受信強度のうち最大のものをペン信号受信強度として取得することとしてもよいし、x方向とy方向のそれぞれについて上述した正規分布曲線のピーク値を求め、得られた2つのピーク値のうちの大きい方をペン信号受信強度として取得することとしてもよい。
 ステップS41では、センサコントローラ32は、ステップS5で導出したペン位置、ステップS40で取得したペン信号受信強度、及び、ステップS6で取得したペンデータを含むレポートをホストプロセッサ33に出力する。この処理は、レポートにペン信号受信強度が追加されている点で、図2に示したステップS7と相違している。ペン信号受信強度の供給を受けたホストプロセッサ33は、ペン2の高さ(パネル面3aからペン先までのz方向の距離)を導出するためにペン信号受信強度を利用する。
 次に、図10と図4を比較すると理解されるように、本実施の形態によるホストプロセッサ33が行う処理は、ステップS11に代えてステップS51を実行する点、ステップS13の後にステップS52,S53を実行する点で、第1の実施の形態によるホストプロセッサ33が行う処理と相違する。
 ステップS51は、センサコントローラ32から受信するレポートにペン信号受信強度が含まれる点で、図4に示したステップS11と相違する。ペン信号受信強度の詳細については、上述したとおりである。
 本実施の形態によるホストプロセッサ33は、ステップS13でカーソルを移動させた後、ペン2の先端がホバー中振動制御領域内に位置しているか否かを判定する(ステップS52)。具体的に説明すると、ホストプロセッサ33はまず、ペン信号受信強度に基づいてペン高さを導出する。具体的には、ペン高さとペン信号受信強度とを対応付けるテーブル又は関数を記憶しておき、このテーブル又は関数を用いて、ペン信号受信強度をペン高さに変換すればよい。そしてホストプロセッサ33は、ペン位置及びペン高さにより示される空間座標がホバー中振動制御領域内に位置しているか否かを判定することにより、ステップS52の判定を行う。図9のホバー中振動制御領域50を例に取ると、ホストプロセッサ33は、ペン位置が署名欄41内にあり、かつ、ペン高さがH以上H以下である場合に、ペン2の先端がホバー中振動制御領域内に位置していると判定することになる。ステップS52においてペン2の先端がホバー中振動制御領域内に位置していないと判定した場合、ホストプロセッサ33は、ステップS51に戻って処理を続ける。
 一方、ステップS52においてペン2の先端がホバー中振動制御領域内に位置していると判定したホストプロセッサ33は、図4のステップS20と同様の処理により、近距離無線通信を用いてペン2に対して所定の振動制御信号を送信する(ステップS53)。これにより、ペン2の先端がホバー中振動制御領域内にあるときに、ペン2のハプティクス素子28が動作することになる。
 以上説明したように、本実施の形態による位置検出システム1によれば、ホストプロセッサ33が、ペン2の先端がホバー中振動制御領域内にあるか否かを判定し、「ある」と判定したことに応じて、近距離無線通信を介して振動制御信号を送出することによってペン2のハプティクス素子28を動作させているので、ペン2の先端がホバー中振動制御領域内にあるときに、タイムリーに触覚フィードバックを生成することが可能になる。したがってユーザは、ペン2の先端がホバー中振動制御領域内にあることをタイムリーに知ることが可能になる。
 なお、本実施の形態では、ペン2の先端がホバー中振動制御領域内にあるか否かを判定し、あると判定した場合に、振動制御信号を送出することによってペン2のハプティクス素子28を動作させるという一連の処理をホストプロセッサ33が実行する例を説明したが、センサコントローラ32がこれらの処理を実行することとしてもよい。この場合、図7に示した振動制御位置情報にホバー中振動制御領域を示す情報を追加するとともに、センサコントローラ32において、ペン位置及びペン高さにより示される空間座標がホバー中振動制御領域内に位置しているか否かを判定し、位置していると判定した場合に、図7の例と同様、アップリンク信号USにより振動制御信号を送信することとすればよい。
 次に、本発明の第4の実施の形態による位置検出システム1について説明する。本実施の形態による位置検出システム1は、センサコントローラ32が振動制御信号を送信するタイミングの点、及び、センサコントローラ32が様々な振動パターンを示す振動制御信号を生成する点で、第2の実施の形態による位置検出システム1と異なっている。その他の点では、図1に示した位置検出システム1の構成を含めて第2の実施の形態による位置検出システム1と同様であるので、以下では、第2の実施の形態による位置検出システム1との相違点に着目して説明する。
 図11は、本実施の形態によるセンサコントローラ32によって実行される処理を示す処理フロー図である。同図と図7を比較すると理解されるように、本実施の形態によるセンサコントローラ32が行う処理は、ステップS30~S33を実行せず、ステップS35~S37に代えてステップS60~S62を実行する点で、第2の実施の形態によるセンサコントローラ32が行う処理と相違する。
 ステップS60は、記憶している一連のペン位置(ペン位置の履歴)に基づき、ペン2の筆記方向を導出する処理である。例えば、上述した式(1)により導出される移動速度ベクトルの向きを、ステップS60で導出する筆記方向とすればよい。
 筆記方向を導出したセンサコントローラ32は、導出した筆記方向に基づいてハプティクス素子28の振動パターンを決定する(ステップS61)。そして、決定した振動パターンを示す振動制御信号を含むアップリンク信号USをフレームの先頭で送信する(ステップS62)。これにより、筆記方向ごとに異なる振動パターンでハプティクス素子28を振動させることが可能になる。
 以上説明したように、本実施の形態による位置検出システム1によれば、センサコントローラ32が、ペン位置の履歴に基づいてペン2の筆記方向を導出し、導出したペン2の筆記方向に応じた振動パターンを示す振動制御信号を送出しているので、ペン2の移動方向の変化に伴って変化するペン先と紙繊維の間の摩擦を、ペン2の振動により再現することができる。したがって、リアルな書き味を再現することが可能になる。
 なお、本実施の形態では、筆記方向に基づいてハプティクス素子28の振動パターンを決定することとしたが、他の情報に基づいてハプティクス素子28の振動パターンを決定することとしてもよい。例えば、筆記方向の変化方向(一例では、上述した式(5)により導出される加速度ベクトルの向き)、ペン2から受信される筆圧値、チルト値、方位角値などに基づいてハプティクス素子28の振動パターンを決定することとしてもよい。また、これらの情報のうちの2つ以上の組み合わせに基づいてハプティクス素子28の振動パターンを決定することとしてもよい。
 また、本実施の形態では、センサコントローラ32が筆記方向の導出、振動パターンの決定、振動制御信号の送信を行うものとして説明したが、これらのうちの一部又は全部をホストプロセッサ33が行うこととしても構わない。この場合、振動制御信号の送信は、第1の実施の形態と同様、近距離無線通信によって実行すればよい。
 次に、本発明の第5の実施の形態による位置検出システム1について説明する。本実施の形態による位置検出システム1は、上述した描画アプリケーションの一種であるペイントアプリに関連する各種のユーザ操作に応じてハプティクス素子28を動作させる点で、第1の実施の形態による位置検出システム1と異なっている。その他の点では、図1に示した位置検出システム1の構成を含めて第1の実施の形態による位置検出システム1と同様であるので、以下では、第1の実施の形態による位置検出システム1との相違点に着目して説明する。
 図12は、ペイントアプリによってパネル面3aに表示される画面(以下「ペイント画面」という)の例を示す図である。なお、同図及び後掲の図13~図15に示す画面例は、マイクロソフト(登録商標)社が販売するオペレーティングシステムであるWindows 11(登録商標)に搭載されているソフトウェア「ペイント」のスクリーンショットである。図12に示すように、ペイント画面は、上述した描画領域40の他に、メニュー画面46を有して構成される。メニュー画面46の中には、複数の色アイコンを含む色選択パレット60、ブラシ選択メニュー起動アイコン61、線幅選択メニュー起動アイコン62、領域選択メニュー起動アイコン63を含む各種のアイコンが含まれる。各アイコンには互いに異なる処理が対応しており、ユーザがメニュー画面46内の各アイコンをペン2でタップすると、対応する処理がホストプロセッサ33により実行される。以下、アイコンごとに詳しく説明する。
 初めに色選択パレット60について説明すると、色選択パレット60は、描画する線の色をユーザ指定するためのアイコンである。ホストプロセッサ33は、色選択パレット60を構成する各色アイコンに対し、互いに異なる色を対応付けて記憶するとともに、複数の色アイコンのいずれか1つに対応する色を、図4に示したステップS15において描画する線の色(以下「有効色」という)として記憶している。ユーザがペン2を用いていずれかの色アイコンをタップすると、ホストプロセッサ33は、記憶している有効色を、タップされた色アイコンに対応付けて記憶している色により更新する処理を行う。この処理をホストプロセッサ33が行うことの結果として、ユーザは、描画する線の色を色アイコンのタップにより指定できることになる。
 また、ホストプロセッサ33は、色選択パレット60を構成する各色アイコンに対し、互いに異なる振動パターンを対応付けて記憶するとともに、各色アイコンの上空の領域を上述したホバー中振動制御領域として記憶している。ホストプロセッサ33は、第3の実施の形態と同様の処理によりペン2の先端の位置がホバー中振動制御領域内にあるか否かを判定し、ホバー中振動制御領域内にあると判定した場合に、対応する色アイコンに対応付けて記憶している振動パターンを用いてハプティクス素子28を振動させる処理を行う。これによりユーザは、ペン先が色アイコンの上空に位置していることを知ることが可能になるとともに、ペン先の真下にある色アイコン(すなわち、その位置でペンダウンするとタップすることになる色アイコン)が変わった場合には、振動によりその旨を知ることが可能になる。
 ここで、本実施の形態における振動制御信号の構成について、詳しく説明する。本実施の形態による振動制御信号は、ハプティクス素子28の振動パターン(振動波形)を示す振動パターン選択信号と、振動パターンの再生方法を示す再生方法指示信号とを含んで構成される。再生方法には、振動パターン選択信号により示される振動パターンを1回だけ再生する方法、ユーザがペン2のムーブ(ペン先をパネル面3aに接触させた状態で、パネル面3a上でペン先を移動させる操作)を行っている間、振動パターン選択信号により示される振動パターンを繰り返し再生する方法などが含まれる。ペン2の先端の位置が色アイコンの上空に位置している場合の再生方法は、前者の1回だけ再生する方法となる。ホストプロセッサ33は、振動制御信号を送信する都度、1つの振動パターン及び1つの再生方法を選択し、選択した振動パターンを示す振動パターン選択信号及び選択した再生方法を示す再生方法指示信号を含む振動制御信号を送信するよう構成される。この振動制御信号を受信したペン2の集積回路24は、振動パターン選択信号により示される振動パターンを用いて、再生方法指示信号により示される再生方法でハプティクス素子28を振動させる処理を行う。
 次に、ブラシ選択メニュー起動アイコン61は、描画する線の種類(以下「ブラシ」という)をユーザ指定するためのアイコンである。
 図13は、ブラシ選択メニュー起動アイコン61をユーザがペン2を用いてタップした場合に表示されるブラシ選択メニュー61aを示す図である。同図に示すように、ブラシ選択メニュー61aは、複数のブラシアイコンを含んで構成される。ホストプロセッサ33は、これら複数のブラシアイコンのそれぞれに対し、互いに異なるブラシと、互いに異なる振動パターンとを対応付けて記憶している。また、ホストプロセッサ33は、これら複数のブラシアイコンのいずれか1つに対応するブラシを、図4(及び後掲の図17)に示したステップS15において描画する線の種類(以下「有効ブラシ」という)として記憶している。ユーザがペン2を用いていずれかのブラシアイコンをタップすると、ホストプロセッサ33は、記憶している有効ブラシを、タップされたブラシアイコンに対応付けて記憶しているブラシにより更新する処理を行う。この処理をホストプロセッサ33が行うことの結果として、ユーザは、描画する線の種類をブラシアイコンのタップにより指定できることになる。また、ホストプロセッサ33は、ユーザがペン2を用いていずれかのブラシアイコンをタップした場合に、タップされたブラシアイコンに対応付けて記憶している振動パターンを用いて、ハプティクス素子28を振動させる処理を行う。これによりユーザは、自分が正しいブラシを選んだか否かを振動により理解することが可能になる。
 ホストプロセッサ33は、ペン2の押しボタンスイッチ27a,27bの押下によっても有効ブラシの変更を行うこととしてもよい。一例では、ホストプロセッサ33は、押しボタンスイッチ27a,27bのそれぞれに互いに異なるブラシを対応付けて予め記憶しておき、ペンデータにより押しボタンスイッチ27aがオンであることが示される場合には、押しボタンスイッチ27aに対応付けて記憶しているブラシを有効ブラシとし、ペンデータにより押しボタンスイッチ27bがオンであることが示される場合には、押しボタンスイッチ27bに対応付けて記憶しているブラシを有効ブラシとすればよい。こうすれば、ユーザは、手元のスイッチで有効ブラシを切り替えることが可能になる。また、ホストプロセッサ33は、押しボタンスイッチ27a,27bの押下によって有効ブラシを変更した場合に、変更後のブラシに対応するブラシアイコンに対応付けて記憶している振動パターンを用いて、ハプティクス素子28を振動させる処理を行うこととしてもよい。こうすれば、ユーザは、押しボタンスイッチ27a,27bの押下によって有効ブラシを変更した場合においても、自分が正しいブラシを選んだか否かを振動により理解することが可能になる。
 図12に戻り、線幅選択メニュー起動アイコン62は、描画する線の幅をユーザ指定するためのアイコンである。
 図14は、線幅選択メニュー起動アイコン62をユーザがペン2を用いてタップした場合に表示される線幅選択メニュー62aを示す図である。同図に示すように、線幅選択メニュー62aは、複数の線幅アイコンを含んで構成される。ホストプロセッサ33は、これら複数の線幅アイコンのそれぞれに対し、互いに異なる線幅と、互いに異なる振動パターンとを対応付けて記憶している。また、ホストプロセッサ33は、これら複数の線幅アイコンのいずれか1つに対応する線幅を、図4に示したステップS15において描画する線の幅(以下「有効線幅」という)として記憶している。ユーザがペン2を用いていずれかの線幅アイコンをタップすると、ホストプロセッサ33は、記憶している有効線幅を、タップされた線幅アイコンに対応付けて記憶している線幅により更新する処理を行う。この処理をホストプロセッサ33が行うことの結果として、ユーザは、描画する線の幅を線幅アイコンのタップにより指定できることになる。また、ホストプロセッサ33は、ユーザがペン2を用いていずれかの線幅アイコンをタップした場合に、タップされた線幅アイコンに対応付けて記憶している振動パターンを用いて、ハプティクス素子28を振動させる処理を行う。これによりユーザは、自分が正しい線幅を選んだか否かを振動により理解することが可能になる。
 ここで、各線幅アイコンには、振動の周波数が互いに異なる振動パターンをそれぞれ対応付けることが好ましい。より具体的には、線幅が太いものほど、周波数の低い振動パターンを対応付けることが好ましい。こうすることでユーザは、自分のタップした線幅を自然に理解することが可能になる。
 再び図12に戻り、領域選択メニュー起動アイコン63は、描画領域40内の領域をユーザ指定するためのアイコンである。
 図15は、領域選択メニュー起動アイコン63をユーザがペン2を用いてタップした場合に表示される領域選択メニュー63aを示す図である。同図に示すように、領域選択メニュー63aは、複数の選択方法アイコンを含んで構成される。ホストプロセッサ33は、これら複数の選択方法アイコンのそれぞれに、互いに異なる選択方法を対応付けて記憶している。いくつかの選択方法について具体的に説明すると、例えば「四角形」は、ペン2をムーブすることにより、ムーブを開始したときのペン先の位置と、現在のペン先の位置とを結ぶ線分を対角線とする長方形の領域を選択する方法である。また、「自由形式」は、ペン2によって閉曲線を描くことにより、その閉曲線により囲まれた領域を選択する方法である。ホストプロセッサ33は、複数の選択方法アイコンのうちペン2によりタップされたものに対応する選択方法を一時的に記憶し、次のムーブの際、記憶した選択方法による選択操作を実行する処理を行う。また、ホストプロセッサ33は、ユーザが選択操作のためのムーブを行っている間、所定の振動パターンを用いて、ハプティクス素子28を振動させる処理を行う。これによりユーザは、自分の行っているムーブが選択操作のためのものであることを振動により理解することが可能になる。
 図15には、領域選択メニュー63aに含まれる複数の選択方法アイコンのうち「四角形」アイコンがタップされた後にホストプロセッサ33が実行する処理の一例も示している。同図に示す軌跡63bは、「四角形」アイコンがタップされた直後にユーザが行ったペン2のムーブの軌跡である。ホストプロセッサ33は、軌跡63bの開始位置SPと、軌跡63bの現在位置CPとを結ぶ線分を対角線とする長方形の領域63cを選択された領域として取得する処理を行う。この処理によれば、ペン2のムーブが継続している間、領域63cのサイズ及び形は刻々と変化することになる。ホストプロセッサ33は、ペン2のムーブが終了すると、その時点における領域63cを選択された領域として確定し、表示する処理を行う。この一連の処理をホストプロセッサ33が行うことの結果として、ユーザは、選択方法アイコンのタップと、その後のムーブとにより、選択領域を指定できることになる。
 図16~図18は、ペイントアプリの指示に従ってホストプロセッサ33が実行する処理を示す処理フロー図である。以下、これらの図を参照しながら、ペイントアプリに関連する各種のユーザ操作に応じてハプティクス素子28を動作させるために本実施の形態によるホストプロセッサ33が実行する処理について、詳細に説明する。
 初めに図16を参照すると、ホストプロセッサ33は、図10の場合と同様に、ステップS10,S51,S12の処理を行う。ただし、この場合のステップS10で表示される初期画面は、図12に示したペイント画面となる。
 ステップS12において筆圧値が0であると判定したホストプロセッサ33は、図10の場合と同様に、ステップS13,S52の処理を行う。ただし、この場合のステップS2で判定の対象となるホバー中振動制御領域には、図12に示した色選択パレット60を構成する複数の色アイコンそれぞれの上空に設定される領域が含まれる。ステップS52においてペン2の先端がホバー中振動制御領域内に位置していないと判定した場合には、ホストプロセッサ33は、ステップS71に処理を移す。
 一方、ステップS52においてペン2の先端がホバー中振動制御領域内に位置していると判定した場合には、ホストプロセッサ33は、ペン2の先端が位置しているホバー中振動制御領域に応じて、振動パターンを選択する(ステップS70)。具体的に説明すると、ペン2の先端が位置しているホバー中振動制御領域がいずれかの色アイコンの上空に設定されたものである場合、ホストプロセッサ33は、その色アイコンに対応付けて記憶している振動パターンを選択すればよい。また、ペン2の先端が位置しているホバー中振動制御領域が図8に示したホバー中振動制御領域50である場合、ホストプロセッサ33は、ホバー中振動制御領域50に対応付けて記憶している振動パターンを選択すればよい。
 続いてホストプロセッサ33は、近距離無線通信を用いて、ペン2に対して振動制御信号を送信する(ステップS71)。ここで送信される振動制御信号には、ステップS70で選択した振動パターンを示す振動パターン選択信号と、振動パターン選択信号により示される振動パターンを1回だけ再生する再生方法を示す再生方法指示信号とが含まれる。これにより、振動による通知がユーザに対して与えられ、ユーザは、ペン先が色アイコンの上空に位置していることを知ることが可能になるとともに、ペン先の真下にある色アイコン(すなわち、その位置でペンダウンするとタップすることになる色アイコン)が変わった場合には、振動によりその旨を知ることが可能になる。
 次にホストプロセッサ33は、所定のユーザ操作の検出を試行し(ステップS72)、検出したか否かを判定する(ステップS73)。ここで検出対象となるユーザ操作は、例えば、ペン2に設けられる押しボタンスイッチ27a,27bの押下操作である。この場合、ホストプロセッサ33は、ステップS51で受信したペンデータに基づいて、ユーザ操作の検出を行えばよい。
 ステップS73において「検出した」と判定したホストプロセッサ33は、続いて、検出したユーザ操作に応じた処理を実行する(ステップS74)。検出したユーザ操作が押しボタンスイッチ27a,27bの押下操作であり、かつ、押しボタンスイッチ27a,27bのそれぞれに対応付けてブラシを記憶している場合、ホストプロセッサ33が実行する処理は、有効ブラシを、押下された押しボタンスイッチに対応付けて記憶しているブラシに切り替える処理となる。
 検出したユーザ操作に応じた処理を実行したホストプロセッサ33は次に、検出したユーザ操作が振動の対象となる操作であったか否かを判定する(ステップS75)。判定の結果、「振動の対象となる操作であった」と判定した場合、ホストプロセッサ33は、まず振動パターンを選択する(ステップS76)。一例を挙げると、押しボタンスイッチ27a,27bの押下によって有効ブラシを変更した場合であれば、ホストプロセッサ33は、変更後のブラシに対応するブラシアイコンに対応付けて記憶している振動パターンを選択すればよい。
 続いてホストプロセッサ33は、近距離無線通信を用いて、ペン2に対して振動制御信号を送信する(ステップS77)。ここで送信される振動制御信号には、ステップS76で選択した振動パターンを示す振動パターン選択信号と、振動パターン選択信号により示される振動パターンを1回だけ再生する再生方法を示す再生方法指示信号とが含まれる。これにより、振動による通知がユーザに対して与えられ、ユーザは、自身の行った操作が受け付けられたことを知ることが可能になる。また、ブラシが変わった場合には、振動によりその旨を知ることが可能になる。
 ステップS73において「検出していない」と判定した場合、ステップS75において「振動の対象となる操作でなかった」と判定した場合、及び、ステップS77の処理を終了した場合、ホストプロセッサ33は、ステップS51に戻って処理を続ける。
 ステップS12において筆圧値が0より大きいと判定したホストプロセッサ33は、図17に示すように、現在のペン位置が描画領域内であるか否かを判定する(ステップS14)。そして、この判定において「描画領域内である」と判定した場合、ホストプロセッサ33は、現在のペイントアプリのモードを判定する(ステップS80)。ここでいうモードには、ペン2により線を書き入れる描画モードと、ペン2により各種の操作を行う操作モードとが含まれる。
 現在のペイントアプリのモードが描画モードであると判定したホストプロセッサ33は、図4の場合と同様、ステップS51で取得したペン位置及びペンデータに基づいてストロークデータを生成又は更新し、その結果として得たストロークデータをレンダリングし、パネル面3a上に描画する(ステップS15)。
 続いてホストプロセッサ33は、振動対象の図形の検出を試行し(ステップS81)、検出したか否かを判定する(ステップS82)。ここで検出の対象となる図形は、例えば、矢印の形状を有する図形、又は、任意の多角形である。ホストプロセッサ33は振動対象の図形の特徴と、振動パターンとを対応付けて予め記憶しており、ステップS81では、記憶している特徴に一致する、又は、記憶している特徴に類似する図形の検出を試行する。検出の対象となる図形が任意の多角形である場合、ホストプロセッサ33は、図形の角の数に振動パターンを対応付けて記憶することとしてもよい。
 ステップS82において「検出した」と判定したホストプロセッサ33は、検出した図形に対応付けて記憶している振動パターンを選択する(ステップS83)。そして、近距離無線通信を用い、ペン2に対して振動制御信号を送信する(ステップS84)。ここで送信される振動制御信号には、ステップS83で選択した振動パターンを示す振動パターン選択信号と、振動パターン選択信号により示される振動パターンを1回だけ再生する再生方法を示す再生方法指示信号とが含まれる。これにより、振動による通知がユーザに対して与えられるので、ユーザに対し、所定の図形に対応する効果を与えることが可能になる。例えば、矢印を描いたユーザに対し、弓を放つような感覚を与えることが可能になる。また、多角形を描いたユーザに対し、角の数に応じた感触(例えば、角が少ないほど硬く、角が多いほど柔らかい感触)を与えることが可能になる。ステップS82において「検出しなかった」と判定した場合、及び、ステップS84を終了した場合、ホストプロセッサ33は、図16のステップS51に処理を移す。
 ステップS80において現在のペイントアプリのモードが操作モードであると判定したホストプロセッサ33は、ペン2がムーブ中であるか否かを判定する(ステップS85)。この判定の結果、「ムーブ中でない」と判定したホストプロセッサ33は、図16のステップS51に処理を移す。一方、「ムーブ中である」と判定したホストプロセッサ33は、ムーブに応じた処理を開始する(ステップS86)。この処理は、例えば、上述した領域選択メニュー63aにおいていずれかの選択方法アイコンをタップした直後であれば、刻一刻と変化する選択領域(例えば、図15(b)に示した領域63c)を表示する処理となる。他にも、例えば、表示中の図形を拡大する処理、表示中の図形を回転させる処理などであってもよい。
 ムーブに応じた処理を開始したホストプロセッサ33は、開始した処理が振動の対象となる処理であるか否かを判定する(ステップS87)。判定の結果、「振動の対象となる処理である」と判定した場合、ホストプロセッサ33は、まず振動パターンを選択する(ステップS88)。一例を挙げると、開始した処理が上述した領域の選択操作である場合、ホストプロセッサ33は、この選択操作に対応付けて記憶している所定の振動パターンを選択すればよい。また、ホストプロセッサ33は、表示中の図形を拡大する処理や表示中の図形を回転させる処理を開始することもでき、そのような場合には、これらの処理のそれぞれに対応付けて記憶している所定の振動パターンを選択すればよい。
 続いてホストプロセッサ33は、近距離無線通信を用いて、ペン2に対して振動制御信号を送信する(ステップS89)。ここで送信される振動制御信号には、ステップS88で選択した振動パターンを示す振動パターン選択信号と、ペン2のムーブが継続している間、振動パターン選択信号により示される振動パターンを繰り返し再生する再生方法を示す再生方法指示信号とが含まれる。これにより、ムーブが継続している間、ユーザに対して振動が連続的に与えられ、ユーザは、ムーブに応じた処理が継続していることを知ることが可能になる。
 次にホストプロセッサ33は、ムーブが終了したか否かを判定する(ステップS90)。ホストプロセッサ33は、ペン2のムーブが継続している間、この判定を繰り返し行う。そして、ムーブが終了したと判定した場合、ホストプロセッサ33は、ステップS86で開始した処理を終了し(ステップS91)、図16のステップS51に処理を移す。
 ステップS14において「描画領域内でない」と判定したホストプロセッサ33は、図18に示すように、ジェスチャーの検出を試行し(ステップS21)、検出したか否かを判定する(ステップS22)。ここで検出の対象となるジェスチャーは、例えば、図12に示した色選択パレット60内のいずれかの色アイコン、ブラシ選択メニュー起動アイコン61、線幅選択メニュー起動アイコン62、又は、領域選択メニュー起動アイコン63のタップ、図13に示したブラシ選択メニュー61a内のいずれかのブラシアイコンのタップ、図14に示した線幅選択メニュー62a内のいずれかの線幅アイコンのタップである。
 ステップS22において「検出した」と判定したホストプロセッサ33は、ジェスチャーに応じた処理を実行した後(ステップS23)、検出したジェスチャーが振動の対象となる操作であるか否かを判定する(ステップS100)。ステップS23で実行される処理は、例えばジェスチャーが色アイコンのタップであれば、その色アイコンに対応する色を有効色に設定する処理であり、例えばジェスチャーがブラシアイコンのタップであれば、そのブラシアイコンに対応するブラシを有効ブラシに設定する処理であり、例えばジェスチャーが線幅アイコンのタップであれば、その線幅アイコンに対応する線幅を有効線幅に設定する処理である。また、例えばジェスチャーがブラシ選択メニュー起動アイコン61、線幅選択メニュー起動アイコン62、又は、領域選択メニュー起動アイコン63のタップであれば、それぞれに対応するメニュー(図13に示したブラシ選択メニュー61aなど)を起動する処理である。ステップS100においては、ホストプロセッサ33は、タップされたアイコンに対応付けて振動パターンを記憶している場合に「振動の対象となる操作である」と判定し、記憶していない場合に「振動の対象となる操作でない」と判定すればよい。
 ステップS100において「振動の対象となる操作である」と判定したホストプロセッサ33は、検出したジェスチャーに対応する振動パターンを選択する(ステップS101)。具体的な例では、ホストプロセッサ33は、タップされたアイコンに対応付けて記憶している振動パターンを選択すればよい。
 続いてホストプロセッサ33は、近距離無線通信を用いて、ペン2に対して振動制御信号を送信する(ステップS102)。ここで送信される振動制御信号には、ステップS101で選択した振動パターンを示す振動パターン選択信号と、振動パターン選択信号により示される振動パターンを1回だけ再生する再生方法を示す再生方法指示信号とが含まれる。これにより、振動による通知がユーザに対して与えられ、ユーザは、自身の行ったジェスチャーがペイントアプリにより受け付けられたことを知ることが可能になる。
 以上説明したように、本実施の形態による位置検出システム1によれば、ペイントアプリに関連する各種のユーザ操作に応じて、ペン2内のハプティクス素子28を動作させることが可能になる。
 なお、本実施の形態では、ペン2内のハプティクス素子28を動作させる例を説明したが、ペン位置検出装置3内にハプティクス素子を設け、ハプティクス素子28に代え、或いは、ハプティクス素子28とともに、ペン位置検出装置3内のハプティクス素子を動作させることとしてもよい。こうすれば、パネル面3aの振動による通知をユーザに対して与えることができるので、ハプティクス素子28を有しないペン2や指による操作を行う場合にも、振動による通知をユーザに対して与えることが可能になる。
 以上、本発明の好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
 例えば、上記各実施の形態では、ホストプロセッサ33が描画アプリケーションに従って実行する処理を説明したが、ホストプロセッサ33は、一部又は全部の処理をオペレーティングシステムに従って実行することとしてもよい。
 また、上記各実施の形態では、ペン2は、ペン先に加わる圧力を検出する圧力センサ22によって検出された圧力に基づいて筆圧値を取得することとしたが、ペン2は、筐体の表面に設けられたボタンに加わる圧力を検出する圧力センサによって検出された圧力に基づいて筆圧値を取得することとしてもよい。こうすることで、仮想現実(VR)、拡張現実(AR)、複合現実(MR)などのエクステンデッド・リアリティ(XR)空間内において擬似的に生成される筆圧値に対しても、本発明を適用することが可能になる。
1       位置検出システム
2       ペン
3       ペン位置検出装置
3a      パネル面
20      芯体
21      ペン先電極
22      圧力センサ
23      バッテリー
24      集積回路
25      無線通信回路
26      シーソースイッチ
26a,26b 脚部
26p     板状部
27a,27b 押しボタンスイッチ
28      ハプティクス素子
30      センサ
31      ディスプレイ
32      センサコントローラ
33      ホストプロセッサ
34      無線通信部
40      描画領域
41      署名欄
42      保存ボタン
43      消去ボタン
45      電子ルーラー
46      メニュー画面
50      ホバー中振動制御領域
60      色選択パレット
61      ブラシ選択メニュー起動アイコン
61a     ブラシ選択メニュー
62      線幅選択メニュー起動アイコン
62a     線幅選択メニュー
63      領域選択メニュー起動アイコン
63a     領域選択メニュー
63b     軌跡
63c     選択された領域
CP      現在位置
PS      ペン信号
SP      開始位置
US      アップリンク信号

Claims (24)

  1.  ペン及びペン位置検出装置を含むシステムであって、
     前記ペンは、
      ペン信号を送出する信号送出部と、
      振動制御信号を受信する受信部と、
      前記振動制御信号に応じて動作するハプティクス素子と、を含み、
     前記ペン位置検出装置は、
      前記ペン信号を検出することによってペン位置を導出し、
      導出した一連の前記ペン位置により示される描画線と、所定の線分との間に交差又は接触の少なくとも一方が生ずる事象の発生を検出し、
      前記事象の発生を検出したことに応じ、前記振動制御信号を送出することによって前記ハプティクス素子を動作させる、
     システム。
  2.  前記ペン信号は筆圧値を含み、
     前記ペン位置検出装置は、
      前記ペン信号から前記筆圧値を取得し、
      取得した前記筆圧値により前記ペンが摺動中であることが示されているときに前記事象の発生を検出したことに応じ、前記振動制御信号を送出することによって前記ハプティクス素子を動作させる一方、取得した前記筆圧値により前記ペンが摺動中であることが示されていないときには前記ハプティクス素子を動作させない、
     請求項1に記載のシステム。
  3.  前記ペン位置検出装置はセンサコントローラ及びホストプロセッサを含み、
     前記センサコントローラは、
      前記ペン信号を検出することによってペン位置を導出し、
      導出した前記ペン位置を前記ホストプロセッサに対して出力し、
     前記ホストプロセッサは、
      前記センサコントローラから供給される一連の前記ペン位置に基づいて次のペン位置を予測することによって前記事象の発生を検出し、
      前記事象の発生を検出したことに応じて、前記振動制御信号の送出を行う、
     請求項2に記載のシステム。
  4.  前記センサコントローラは、
      前記ペン信号から前記筆圧値を取得し、
      取得した前記筆圧値を前記ペン位置とともに前記ホストプロセッサに対して出力し、
     前記ホストプロセッサは、
      前記センサコントローラから供給された筆圧値により前記ペンが摺動中であることが示されているときに前記事象の発生を検出したことに応じて、前記振動制御信号の送出を行う、
     請求項3に記載のシステム。
  5.  前記振動制御信号は、予測したタイミングで前記ハプティクス素子を動作させるための情報を含む、
     請求項3又は4に記載のシステム。
  6.  前記ホストプロセッサは、近距離無線通信により前記振動制御信号の送出を行う、
     請求項3乃至5のいずれか一項に記載のシステム。
  7.  前記ペン位置検出装置はセンサコントローラ及びホストプロセッサを含み、
     前記センサコントローラは、
      前記所定の線分に対応するセンサ上の位置を示す振動制御位置情報を保持し、
      前記センサを介して前記ペン信号を検出することによってペン位置を導出し、
      導出した前記ペン位置を前記ホストプロセッサに対して出力し、
      前記振動制御位置情報に基づいて前記事象の発生を検出し、
      前記事象の発生を検出したことに応じて、前記振動制御信号の送出を行う、
     請求項2に記載のシステム。
  8.  前記センサコントローラは、
      前記センサを介して受信される前記ペン信号を復調することによって前記筆圧値を取得し、
      取得した前記筆圧値により前記ペンが摺動中であることが示されているときに前記事象の発生を検出したことに応じて、前記振動制御信号の送出を行う、
     請求項7に記載のシステム。
  9.  前記ホストプロセッサは、オペレーティングシステム又はアプリケーションに従って前記振動制御位置情報を前記センサコントローラに設定する処理を行う、
     請求項7又は8に記載のシステム。
  10.  前記センサコントローラは、前記センサを介して送信するアップリンク信号内に前記振動制御信号を配置することにより、前記振動制御信号の送出を行う、
     請求項7乃至9のいずれか一項に記載のシステム。
  11.  前記ペンは、ペン先に加わる圧力を検出する圧力センサによって検出された圧力に基づき、前記筆圧値を取得する、
     請求項2乃至10のいずれか一項に記載のシステム。
  12.  前記ペンは、筐体の表面に設けられたボタンに加わる圧力を検出する圧力センサによって検出された圧力に基づき、前記筆圧値を取得する、
     請求項2乃至10のいずれか一項に記載のシステム。
  13.  前記ペン位置検出装置は、
      前記ペン信号から前記筆圧値を取得し、
      取得した前記筆圧値により前記ペンがホバー中であることが示されているときに、前記振動制御信号を送出することによって前記ハプティクス素子を動作させる、
     請求項1に記載のシステム。
  14.  前記ペン位置検出装置は、
      前記ペン信号の受信強度に基づいて前記ペンの高さを取得し、
      取得した前記高さの値が第1の所定値と前記第1の所定値より大きい第2の所定値との間にある場合に、前記振動制御信号の送出を行う、
     請求項13に記載のシステム。
  15.  前記ペン位置検出装置は、
      前記ペン信号の受信強度に基づいて前記ペンの高さを取得し、
      前記ペン位置及び前記高さにより前記ペンの先端が所定の空間領域内に位置していることが示される場合に、前記振動制御信号の送出を行う、
     請求項13に記載のシステム。
  16.  前記所定の線分は、描画領域内に表示されている電子ルーラーの輪郭線である、
     請求項1乃至15のいずれか一項に記載のシステム。
  17.  ペン及びペン位置検出装置を含むシステムであって、
     前記ペンは、
      ペン信号を送出する信号送出部と、
      振動制御信号を受信する受信部と、
      前記振動制御信号に応じて動作するハプティクス素子と、を含み、
     前記ペン位置検出装置は、
      前記ペン信号を検出することによってペン位置を導出し、
      前記ペン位置の履歴に基づいて前記ペンの筆記方向を導出し、
      導出した前記ペンの筆記方向に応じた振動パターンを示す振動制御信号を送出することによって前記ハプティクス素子を動作させる、
     システム。
  18.  前記ペン信号は筆圧値、チルト値、及び方位角値のうちの少なくとも1つを含み、
     前記ペン位置検出装置は、前記ペン信号から前記筆圧値、前記チルト値、及び前記方位角値のうちの前記少なくとも1つを取得し、
     前記振動制御信号は、前記ペン位置検出装置により取得された前記筆圧値、前記チルト値、及び前記方位角値のうちの前記少なくとも1つにも応じた振動パターンを示す信号である、
     請求項17に記載のシステム。
  19.  振動制御信号に応じて動作するハプティクス素子を有するペンとともに用いられるペン位置検出装置であって、
      ペンが送信したペン信号を検出することによってペン位置を導出し、
      導出した一連の前記ペン位置により示される描画線と、所定の線分との間に交差又は接触の少なくとも一方が生ずる事象の発生を検出し、
      前記事象の発生を検出したことに応じ、前記振動制御信号を送出することによって前記ハプティクス素子を動作させる、
     ペン位置検出装置。
  20.   前記ペン信号から筆圧値を取得し、
      取得した前記筆圧値により前記ペンが摺動中であることが示されているときに前記事象の発生を検出したことに応じ、前記振動制御信号を送出することによって前記ハプティクス素子を動作させる一方、取得した前記筆圧値により前記ペンが摺動中であることが示されていないときには前記ハプティクス素子を動作させない、
     請求項19に記載のペン位置検出装置。
  21.  振動制御信号に応じて動作するハプティクス素子を有するペンとともに用いられるペン位置検出装置であって、
     ペンが送信したペン信号を検出することによってペン位置を導出し、
     前記ペン位置の履歴に基づいて前記ペンの筆記方向を導出し、
     導出した前記ペンの筆記方向に応じた振動パターンを示す振動制御信号を送出することによって前記ハプティクス素子を動作させる、
     ペン位置検出装置。
  22.  ペンに内蔵されるハプティクス素子を動作させる方法であって、
     前記ペンが、ペン信号を送出するステップと、
     前記ペン位置検出装置が、前記ペン信号を検出することによってペン位置を導出するステップと、
     前記ペン位置検出装置が、導出した一連の前記ペン位置により示される描画線と、所定の線分との間に交差又は接触の少なくとも一方が生ずる事象の発生を検出するステップと、
     前記ペン位置検出装置が、前記事象の発生を検出したことに応じて振動制御信号を送出するステップと、
     前記ペンが、前記振動制御信号を受信するステップと、
     前記ペンが、受信した前記振動制御信号に応じて前記ハプティクス素子を動作させるステップと、
     を含む方法。
  23.  前記ペン位置検出装置が、前記ペン信号から筆圧値を取得するステップ、をさらに含み、
     前記振動制御信号を送出するステップは、取得した前記筆圧値により前記ペンが摺動中であることが示されているときに前記事象の発生を検出したことに応じて前記振動制御信号を送出する一方、取得した前記筆圧値により前記ペンが摺動中であることが示されていないときには前記振動制御信号を送出しない、
     請求項22に記載の方法。
  24.  ペンに内蔵されるハプティクス素子を動作させる方法であって、
     前記ペンが、ペン信号を送出するステップと、
     前記ペン位置検出装置が、前記ペン信号を検出することによってペン位置を導出するステップと、
     前記ペン位置検出装置が、前記ペン位置の履歴に基づいて前記ペンの筆記方向を導出するステップと、
     前記ペン位置検出装置が、導出した前記ペンの筆記方向に応じた振動パターンを示す振動制御信号を送出するステップと、
     前記ペンが、前記振動制御信号を受信するステップと、
     前記ペンが、受信した前記振動制御信号に応じて前記ハプティクス素子を動作させるステップと、
     を含む方法。
PCT/JP2023/001554 2022-02-21 2023-01-19 ペン及びペン位置検出装置を含むシステム、ペン位置検出装置、並びに、ペンに内蔵されるハプティクス素子を動作させる方法 WO2023157556A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022024461 2022-02-21
JP2022-024461 2022-02-21

Publications (1)

Publication Number Publication Date
WO2023157556A1 true WO2023157556A1 (ja) 2023-08-24

Family

ID=87578365

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/001554 WO2023157556A1 (ja) 2022-02-21 2023-01-19 ペン及びペン位置検出装置を含むシステム、ペン位置検出装置、並びに、ペンに内蔵されるハプティクス素子を動作させる方法

Country Status (1)

Country Link
WO (1) WO2023157556A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7393568B1 (ja) 2023-01-04 2023-12-06 レノボ・シンガポール・プライベート・リミテッド 情報処理システム、及び制御方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140043242A1 (en) * 2012-08-08 2014-02-13 Microsoft Corporation Physically modulating friction in a stylus
JP2017529623A (ja) * 2014-09-29 2017-10-05 マイクロソフト テクノロジー ライセンシング,エルエルシー ウェットインク予測器
JP2021114202A (ja) * 2020-01-20 2021-08-05 株式会社ワコム センサシステム
JP2021192213A (ja) * 2020-04-01 2021-12-16 株式会社ワコム 手書きデータ生成装置、手書きデータ再生装置、及びデジタルインクのデータ構造

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140043242A1 (en) * 2012-08-08 2014-02-13 Microsoft Corporation Physically modulating friction in a stylus
JP2017529623A (ja) * 2014-09-29 2017-10-05 マイクロソフト テクノロジー ライセンシング,エルエルシー ウェットインク予測器
JP2021114202A (ja) * 2020-01-20 2021-08-05 株式会社ワコム センサシステム
JP2021192213A (ja) * 2020-04-01 2021-12-16 株式会社ワコム 手書きデータ生成装置、手書きデータ再生装置、及びデジタルインクのデータ構造

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7393568B1 (ja) 2023-01-04 2023-12-06 レノボ・シンガポール・プライベート・リミテッド 情報処理システム、及び制御方法

Similar Documents

Publication Publication Date Title
JP6553136B2 (ja) タッチ感応表面上でのマルチ圧力相互作用のためのシステムと方法
CN101910977B (zh) 基于视觉环境的音频和触觉反馈
KR200258353Y1 (ko) 터치패드용 햅틱 피드백 및 기타 터치 제어장치
US8963882B2 (en) Multi-touch device having dynamic haptic effects
CN104914987B (zh) 用于触觉启用的投影用户界面的系统和方法
EP2610738B1 (en) Method and device for displaying image
JP5635274B2 (ja) 触感呈示装置および触感呈示方法
JP3996852B2 (ja) 表示されたスライドの予め選択された部分を強調表示するためのタッチパッドを備えたリモートコントロール
US7877705B2 (en) System and methods for interacting with a control environment
EP2383631A1 (en) Hand-held mobile device and method for operating the hand-held mobile device
EP3382509A1 (en) Haptically enabled user interface
JP2009193423A (ja) 電子機器の入力装置
EP2075671A1 (en) User interface of portable device and operating method thereof
WO2023157556A1 (ja) ペン及びペン位置検出装置を含むシステム、ペン位置検出装置、並びに、ペンに内蔵されるハプティクス素子を動作させる方法
JP2014063387A (ja) 電子機器及び電子機器の制御方法
CN108579077A (zh) 信息处理方法、装置、存储介质及电子设备
KR20130030727A (ko) 힘을 이용한 인터페이스 제어 장치 및 방법
KR20100107997A (ko) 펜형태의 촉감 제시 장치와 그를 이용한 촉감 인터페이스 시스템
KR20130091140A (ko) 터치스크린 기기와 보조 기기 간 햅틱 피드백 장치 및 방법
JP2010165291A (ja) 表示装置および拡大表示方法
CN107016983A (zh) 一种钢琴操控方法、系统以及一种电子设备
KR20080017194A (ko) 무선 마우스 및 그의 구동 방법
KR20100107996A (ko) 터치면을 구비한 펜형 촉감 제시 장치와 그를 이용한 촉감 인터페이스 시스템
JP5292244B2 (ja) 入力装置
KR20070103268A (ko) 휴대용 단말의 사용자 입력 장치

Legal Events

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

Ref document number: 23756084

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2024501039

Country of ref document: JP

Kind code of ref document: A