WO2025258620A1 - コンピュータ、方法、及びプログラム - Google Patents

コンピュータ、方法、及びプログラム

Info

Publication number
WO2025258620A1
WO2025258620A1 PCT/JP2025/021090 JP2025021090W WO2025258620A1 WO 2025258620 A1 WO2025258620 A1 WO 2025258620A1 JP 2025021090 W JP2025021090 W JP 2025021090W WO 2025258620 A1 WO2025258620 A1 WO 2025258620A1
Authority
WO
WIPO (PCT)
Prior art keywords
orientation
information
coordinate system
stylus
pen
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
PCT/JP2025/021090
Other languages
English (en)
French (fr)
Inventor
清一 坂井
潤吏 藤岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wacom Co Ltd
Original Assignee
Wacom Co Ltd
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 Wacom Co Ltd filed Critical Wacom Co Ltd
Publication of WO2025258620A1 publication Critical patent/WO2025258620A1/ja
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating three-dimensional [3D] models or images for computer graphics

Definitions

  • the present invention relates to a computer, method, and program, and in particular to a computer, method, and program for converting tablet input data obtained as a result of pen input to a tablet terminal into a 3D object in an XR (eXtended Reality) space.
  • XR extended Reality
  • Patent Document 1 discloses this type of technology.
  • Patent Documents 2 and 3 disclose technologies for detecting the twist angle (amount of rotation around the pen axis) and tilt angle (inclination of the pen relative to the tablet surface) of a pen using an electromagnetic induction (EMR) method, which is one type of pen input method
  • Patent Document 4 discloses technology for detecting the twist angle and tilt angle of a pen using an active electrostatic method, another type of pen input method.
  • EMR electromagnetic induction
  • trackers are provided on the pen and tablet device to detect the position and orientation of the pen and tablet device using a tracking system.
  • Patent Document 1 requires trackers to be installed on both the pen and the tablet terminal.
  • one object of the present invention is to provide a computer, method, and program that can convert tablet input data, which is the result of pen input on the tablet surface, into a 3D object in XR space without providing a tracker on the tablet terminal.
  • a computer is a computer having a processor that acquires first position and orientation information indicating the position and orientation of a stylus in a first coordinate system having an origin at a representative position of a device having a digitizer, acquires second position and orientation information indicating the position and orientation of the stylus in a second coordinate system that defines XR space, and calculates third position and orientation information indicating the position and orientation of the device having the digitizer in the second coordinate system based on the first position and orientation information and the second position and orientation information.
  • a method is a method executed by a computer having a processor, and includes the steps of: the processor acquiring first position and orientation information indicating the position and orientation of a stylus in a first coordinate system having an origin at a representative position of a device having a digitizer; the processor acquiring second position and orientation information indicating the position and orientation of the stylus in a second coordinate system that defines an XR space; and the processor calculating third position and orientation information indicating the position and orientation of the device having the digitizer in the second coordinate system based on the first position and orientation information and the second position and orientation information.
  • the program according to the present invention causes a computer to execute the following steps: acquiring first position and orientation information indicating the position and orientation of a stylus in a first coordinate system whose origin is a representative position of a device having a digitizer; acquiring second position and orientation information indicating the position and orientation of the stylus in a second coordinate system that defines XR space; and calculating third position and orientation information indicating the position and orientation of the device having a digitizer in the second coordinate system based on the first position and orientation information and the second position and orientation information.
  • FIG. 1 is a diagram showing an XR system 1 according to a first embodiment of the present invention.
  • 1A is a diagram showing a tablet coordinate system set on the tablet surface 5a
  • FIG. 1B is a diagram showing a world coordinate system set on the tablet surface 5a.
  • 10A and 10B are diagrams illustrating tilt information detected by the tablet terminal 5
  • FIG. 10C is a diagram illustrating twist information detected by the tablet terminal 5.
  • FIG. FIG. 10 is a flowchart of a process executed by a computing unit 2a.
  • FIG. 1 is a diagram showing an XR system 1 according to a first embodiment of the present invention.
  • the XR system 1 according to this embodiment is composed of a computer 2, a virtual reality display 3, multiple cameras 4, a tablet terminal 5, and a pen 6.
  • the computer 2 is composed of a computing unit 2a and an XR tracking system 2b as functional units.
  • the computer 2 may be a single computer, or may be a composite computer that functions as a single computer by combining multiple computers.
  • Computer 2 is a device comprising a processor, memory, and a communication device.
  • the processor executes programs stored in the memory to realize various functions of computer 2, including the computing unit 2a and XR tracking system 2b shown in Figure 1.
  • the communication device is configured to communicate with each of the virtual reality display 3, multiple cameras 4, and tablet terminal 5 via wired or wireless connections, according to the control of the processor.
  • Computer 2a is a functional unit that sets an XR space based on the positions of multiple cameras 4, generates images representing the set XR space, and supplies them to the virtual reality display 3.
  • the x2, y2, and z2 axes shown in Figure 1 indicate the virtual reality space coordinate system that defines the XR space set by computer 2a.
  • the positions and orientations of various objects rendered in the XR space by computer 2a can be represented by the translation vectors and rotation matrices of this virtual reality space coordinate system. Details of the translation vectors and rotation matrices will be described later.
  • the virtual reality display 3 is an XR display (head-mounted display) that is worn on a human's head.
  • XR display head-mounted display
  • the XR space set by the calculator 2a is a VR (Virtual Reality) space
  • a user wearing the virtual reality display 3 will perceive virtual reality and be separated from the real world.
  • the XR space set by the calculator 2a is an AR (Augmented Reality) space or MR (Mixed Reality) space
  • a user wearing the virtual reality display 3 will perceive a space that mixes virtual reality and the real world.
  • Computer 2a performs processing to render various 3D objects (materials) and place them within the image.
  • the 3D objects to be rendered may include 3D objects that exist in reality, such as the tablet device 5 shown in Figure 1, and 3D objects that do not exist in reality.
  • a user wearing virtual reality display 3 can view 3D objects within the XR space.
  • the 3D object information is information that indicates the shape, position, and orientation of a 3D object in the XR space set by the calculator 2a, and is stored in memory for each 3D object to be rendered.
  • the calculator 2a When generating an image representing the XR space, the calculator 2a first acquires the position and orientation of the virtual reality display 3. Specifically, it receives the position and orientation of the virtual reality display 3 from the XR tracking system 2b, which will be described later. The calculator 2a determines the user's viewpoint based on the acquired position and orientation of the virtual reality display 3, and then renders 3D objects and generates an image representing the XR space based on the determined viewpoint. This allows the user, viewing the XR space through the virtual reality display 3, to see each 3D object in the same position as in reality.
  • the XR tracking system 2b is a functional unit that detects objects (real-world objects) shown in images captured by each of the multiple cameras 4, and tracks their position and orientation.
  • the multiple cameras 4 are positioned so that they can capture images from various angles of various locations in the real space corresponding to the XR space set by the computing unit 2a. Although three cameras 4 are shown in Figure 1, the number of cameras 4 is not limited to three.
  • the detection of an object by the XR tracking system 2b is performed, for example, by detecting a tracker consisting of multiple markers (any type is acceptable as long as they are optically detectable marks) attached to the surface of the object, or by image recognition of the object.
  • the XR tracking system 2b detects the position and orientation of the pen 6 in the virtual reality space coordinate system based on the positions of the multiple markers contained in the image of the pen 6 captured by each camera 4.
  • the tracking results by the XR tracking system 2b are sequentially stored in the memory of the computing unit 2a.
  • the computing unit 2a renders the 3D object that actually exists based on the tracking results stored in memory in this way.
  • the tablet terminal 5 is a device with a digitizer for accepting pen input, and is configured with a flat tablet surface 5a that serves as the input surface.
  • the tablet terminal 5 may have the function of displaying images on this tablet surface 5a (a so-called “liquid tablet”), or it may not have such a function (a so-called “sticky tablet”).
  • a tablet terminal 5 that has the function of displaying images on the tablet surface 5a is configured to be able to display various data on the tablet surface 5a, including tablet input data that is the result of pen input.
  • Figure 2(a) is a diagram showing the tablet coordinate system set on the tablet surface 5a
  • (b) is a diagram showing the world coordinate system set on the tablet surface 5a.
  • the tablet coordinate system is a spatial coordinate system represented by the x3, y3, and z3 axes shown in Figure 2(a), and is set by the tablet terminal 5 with one of the four corners of the tablet surface 5a as the origin.
  • the x3 axis is a coordinate axis that runs along the longitudinal direction of the tablet surface 5a
  • the y3 axis is a coordinate axis that is perpendicular to the x3 axis within the tablet surface 5a
  • the z3 axis is a coordinate axis that is perpendicular to both the x3 and y3 axes.
  • the world coordinate system is a spatial coordinate system represented by the x1, y1, and z1 axes shown in Figure 2(b), and is set by the calculator 2a with the representative position P of the tablet terminal 5 in the XR tracking system 2b (i.e., the reference position of the tablet terminal 5 as a 3D object; usually, this is the center position of the tablet surface 5a) as the origin.
  • the x1 axis is a coordinate axis that runs along the longitudinal direction of the tablet surface 5a
  • the z1 axis is a coordinate axis that is orthogonal to the x1 axis within the tablet surface 5a
  • the y1 axis is a coordinate axis that is orthogonal to both the x1 and z1 axes.
  • the calculator 2a pre-stores the relationship between the tablet coordinate system and the world coordinate system (i.e., the conversion rules for converting between the position and orientation represented in the tablet coordinate system and the position and orientation represented in the world coordinate system).
  • the pen 6 is a pen-shaped position indicator (stylus).
  • the user performs pen input on the tablet terminal 5 by sliding the tip of the pen 6 over the tablet surface 5a.
  • EMR electromagnetic induction
  • the tablet terminal 5 may also support input using a finger (touch input), and a specific method of touch input may be, for example, a capacitance method.
  • the tablet terminal 5 is configured with a function to sequentially detect the position and orientation of the pen 6 in the tablet coordinate system.
  • the position of the pen 6 detected by the tablet terminal 5 is represented by coordinate information indicating the position of the pen 6 in the tablet coordinate system described above.
  • This coordinate information includes planar coordinates (X tab , Y tab ) indicating the position on the tablet surface 5 a and height information Z tab indicating the distance from the tablet surface 5 a to the pen 6.
  • the orientation of the pen 6 detected by the tablet terminal 5 is represented by tilt information indicating the inclination of the pen 6 with respect to the tablet surface 5 a and twist information indicating the amount of rotation of the pen 6 around the pen axis.
  • this information detected by the tablet terminal 5 may be collectively referred to as "zeroth position and orientation information" indicating the position and orientation of the pen 6 in the tablet coordinate system.
  • FIG. 3(a) and (b) are diagrams illustrating tilt information detected by the tablet terminal 5.
  • FIG. 3(a) shows the tilt angle XTILT tab , which represents the tilt of the pen axis toward the x3 axis
  • FIG. 3(b) shows the tilt angle YTILT tab , which represents the tilt of the pen axis toward the y3 axis.
  • the tilt information is made up of these two tilt angles (XTILT tab , YTILT tab ).
  • the specific values of the tilt angles (XTILT tab , YTILT tab ) may be any values that can be converted into physical angle values (for example, values in degrees or radians).
  • 3(c) is a diagram illustrating twist information detected by the tablet terminal 5.
  • the figure shows the twist angle TWIST tab , which indicates the amount of rotation of the pen 6 around the pen axis.
  • the twist information is composed of this twist angle TWIST tab .
  • the specific value of the twist angle TWIST tab may also be any value that can be converted into a physical angle value (for example, a value in degrees or radians).
  • the tablet terminal 5 which is compatible with the electromagnetic induction (EMR) system, is configured with multiple loop coils each extending in the x3-axis direction and multiple loop coils each extending in the y3-axis direction.
  • the coil of the second LC resonant circuit is wound around the second core, and the coil of the first LC resonant circuit is wound around the cylindrical core from above the coil of the second LC resonant circuit.
  • the tablet terminal 5 supplies an alternating current to one of the loop coils, thereby intermittently emitting an alternating magnetic field from the tablet surface 5a.
  • the switching circuit of the pen 6 is configured to enable the first LC resonant circuit if the duration of this alternating magnetic field is less than a predetermined value, and to enable the second LC resonant circuit if the duration is equal to or greater than the predetermined value.
  • the tablet terminal 5 When detecting the position (X tab , Y tab ), pen 6 height information Z tab , and tilt angle (XTILT tab , YTILT tab ) of the pen 6 on the tablet surface 5a, the tablet terminal 5 emits an alternating magnetic field for a time length less than a predetermined value. Therefore, the pen 6 is in a state in which the first LC resonant circuit is enabled. In this state, when the coil of the first LC resonant circuit enters the alternating magnetic field, the capacitor of the first LC resonant circuit is charged. When the tablet terminal 5 stops emitting the alternating magnetic field, the power stored in the capacitor causes the coil of the first LC resonant circuit to emit an alternating magnetic field as a reflected signal. The tablet terminal 5 attempts to detect this alternating magnetic field using each of the loop coils described above, and detects the position (X tab , Y tab ) of the pen 6 on the tablet surface 5a based on the distribution of the strength of the detected alternating magnetic field.
  • the tablet terminal 5 also detects height information Ztab of the pen 6 based on the maximum strength of the detected alternating magnetic field.
  • the tablet terminal 5 pre-stores a function that uses the maximum strength of the alternating magnetic field as a variable and the height information Ztab as an output value.
  • the tablet terminal 5 then acquires the output value obtained by inputting the detected maximum strength of the alternating magnetic field into this function as the height information Ztab of the pen 6.
  • the tablet terminal 5 When detecting the twist angle TWIST tab of the pen 6, the tablet terminal 5 emits an alternating magnetic field for a time period equal to or longer than the predetermined value described above. Therefore, the pen 6 is in a state in which the second LC resonant circuit is enabled. In this state, when the coil of the second LC resonant circuit enters the alternating magnetic field, the capacitor of the second LC resonant circuit is charged. When the tablet terminal 5 stops emitting the alternating magnetic field, the power stored in the capacitor causes the coil of the second LC resonant circuit to emit an alternating magnetic field as a reflected signal.
  • the tablet terminal 5 attempts to detect this alternating magnetic field using each of the loop coils described above, and detects the position of the second LC resonant circuit on the tablet surface 5 a based on the distribution of the strength of the detected alternating magnetic field.
  • the pen 6 may be provided with a gyroscope, an acceleration sensor, and a geomagnetic sensor, which the pen 6 uses to detect the tilt angle (XTILT tab , YTILT tab ) and the twist angle TWIST tab .
  • the tablet terminal 5 may then receive data including the tilt angle (XTILT tab , YTILT tab ) and the twist angle TWIST tab from the pen 6, thereby detecting the tilt angle (XTILT tab , YTILT tab ) and the twist angle TWIST tab of the pen 6.
  • the pen 6 does not need to be provided with a second LC resonant circuit and a switching circuit.
  • Data transmission from the pen 6 can be achieved by connecting a variable capacitor in parallel to the capacitor constituting the first LC resonant circuit and controlling the capacitance of this variable capacitor depending on the content of the data to be transmitted.
  • the tablet terminal 5 may demodulate the detected alternating magnetic field to acquire the data transmitted by the pen 6.
  • the data transmitted by the pen 6 may include a writing pressure value indicating the pressure applied to the pen tip, on/off information indicating the on/off state of a switch provided on the housing of the pen 6, a pen ID that is identification information for the pen 6, and the like.
  • the tablet terminal 5, which supports the active electrostatic method is configured with, instead of the loop coil described above, multiple linear electrodes each extending in the x3-axis direction and multiple linear electrodes each extending in the y3-axis direction.
  • the pen 6, which supports the active electrostatic method is configured with, instead of the core, first and second LC resonant circuits, and switching circuit described above, a pen tip electrode provided at the pen tip, a ring-shaped peripheral electrode provided rearward in the pen axis direction as viewed from the pen tip electrode, a processing circuit connected to the pen tip electrode, and a battery that supplies power to the processing circuit.
  • the ring-shaped peripheral electrode is divided into two, a first peripheral electrode and a second peripheral electrode, in a plane along the pen axis.
  • the tablet terminal 5 transmits an uplink signal from the tablet surface 5a by supplying a signal to one of the linear electrodes.
  • the uplink signal is a signal modulated by a command, and when the processing circuit of the pen 6 receives this uplink signal via the pen tip electrode, it generates a downlink signal according to the command and transmits it from one or more of the pen tip electrode, the first peripheral electrode, and the second peripheral electrode.
  • the tablet terminal 5 uses an uplink signal to control the pen 6 to transmit a downlink signal from the pen tip electrode.
  • the tablet terminal 5 attempts to detect this downlink signal with each of the linear electrodes described above, and detects the position ( Xtab , Ytab ) of the pen 6 on the tablet surface 5a based on the distribution of the strength of the detected downlink signal.
  • the tablet terminal 5 detects height information Ztab of the pen 6 based on the maximum strength of the detected downlink signal.
  • the tablet terminal 5 pre-stores a function that uses the maximum strength of the downlink signal as a variable and the height information Ztab as an output value. The tablet terminal 5 then acquires the output value obtained by inputting the detected maximum strength of the downlink signal into this function as the height information Ztab of the pen 6.
  • the tablet terminal 5 uses the uplink signal to control the pen 6 to transmit a downlink signal from each of the first peripheral electrode and the second peripheral electrode.
  • the tablet terminal 5 uses an uplink signal to transmit a downlink signal from the first peripheral electrode, and then controls the pen 6 to transmit a downlink signal from the second peripheral electrode.
  • the tablet terminal 5 attempts to detect the downlink signal with each of the linear electrodes, and detects the positions of the first and second peripheral electrodes on the tablet surface 5 a based on the distribution of the strength of the detected downlink signals.
  • the tablet terminal 5 detects the twist angle TWIST tab of the pen 6 based on the positions of the first and second peripheral electrodes.
  • the method for acquiring the zeroth position and orientation information in the active electrostatic system described here is merely an example, and other methods may of course be used.
  • a gyroscope, an acceleration sensor, and a geomagnetic sensor may be provided in the pen 6, and the pen 6 may use these to detect the tilt angle (XTILT tab , YTILT tab ) and the twist angle TWIST tab .
  • the tablet terminal 5 may then receive data including the tilt angle (XTILT tab , YTILT tab ) and the twist angle TWIST tab from the pen 6, thereby detecting the tilt angle (XTILT tab , YTILT tab ) and the twist angle TWIST tab of the pen 6.
  • data transmission from the pen 6 may be achieved by placing a data signal within a downlink signal.
  • the tablet terminal 5 may acquire the data transmitted by the pen 6 by demodulating the data signal included in the detected downlink signal.
  • the data transmitted by the pen 6 may also include a pen pressure value indicating the pressure applied to the pen tip, on/off information indicating the on/off state of a switch provided on the housing of the pen 6, and a pen ID which is identification information for the pen 6.
  • the tablet device 5 is configured to sequentially supply the 0th position and orientation information acquired in the manner described above to the computing unit 2a.
  • the computing unit 2a uses the 0th position and orientation information thus supplied to perform processing to detect the position and orientation of the tablet device 5 in the virtual reality space coordinate system. The specific contents of this processing will be explained in detail later with reference to Figure 4.
  • the tablet terminal 5 also performs processing to generate stroke data as tablet input data resulting from pen input, based on the acquired planar coordinates (X tab , Y tab ) and pen pressure value.
  • Stroke data is data including a series of coordinate data indicating the trajectory of the pen tip. Each piece of coordinate data may include, in addition to the planar coordinates (X tab , Y tab ), the pen pressure value, the on/off information, height information Z tab , tilt angle (X TILT tab , Y TILT tab ), and twist angle TWIST tab .
  • the tablet terminal 5 stores the generated stroke data and performs processing to sequentially render and display it on the tablet surface 5 a.
  • the tablet device 5 is configured to supply the generated stroke data to the calculator 2a.
  • the calculator 2a receives stroke data from the tablet device 5, it converts the zeroth position and orientation information contained therein into position and orientation information in the virtual reality space coordinate system based on the position and orientation of the tablet device 5 in the virtual reality space coordinate system. Details of this conversion will be described later, but the reason why the position and orientation of the tablet device 5 in the virtual reality space coordinate system are used during the conversion is to display a 3D object representing the stroke data in the same position as on the real tablet surface 5a.
  • the calculator 2a stores the converted stroke data in memory as one piece of the 3D object information described above, and also performs processing to render and place it in XR space. This allows the user to visually recognize the tablet input data, which is the result of pen input, as a 3D object in XR space.
  • the calculator 2a performs processing to sequentially detect the position and orientation of the tablet terminal 5 in the virtual reality space coordinate system. Specifically, the calculator 2a acquires first position and orientation information indicating the position and orientation of the pen 6 in the world coordinate system each time based on the zeroth position and orientation information sequentially supplied from the tablet terminal 5, and acquires second position and orientation information indicating the position and orientation of the pen 6 in the virtual reality space coordinate system each time based on information sequentially supplied from the XR tracking system 2b (information indicating the position and orientation of the pen 6 stored in memory). The calculator 2a is then configured to convert the second position and orientation information based on the first position and orientation information, thereby detecting third position and orientation information indicating the position and orientation of the tablet terminal 5 in the virtual reality space coordinate system.
  • FIG 4 is a flow diagram of the processing executed by the computing unit 2a. Below, with reference to Figure 4, we will explain in more detail the processing performed by the computing unit 2a to detect the position and orientation of the tablet terminal 5 in the virtual reality space coordinate system.
  • the calculator 2a first acquires the zeroth position and orientation information indicating the position and orientation of the pen 6 in the tablet coordinate system from the tablet terminal 5 (step S1).
  • the zeroth position and orientation information includes the above-mentioned plane coordinates ( Xtab , Ytab ), height information Ztab , tilt angle ( XTILTtab , YTILTtab ), and twist angle TWISTtab .
  • the calculator 2a converts the acquired zeroth position and orientation information based on the pre-stored relationship (conversion rules) between the tablet coordinate system and the world coordinate system, thereby acquiring first position and orientation information indicating the position and orientation of the pen 6 in the world coordinate system (step S2).
  • the first position and orientation information includes a translation vector TV pen indicating the position of the pen 6 in the world coordinate system, and a rotation matrix R pen indicating the orientation of the pen 6 in the world coordinate system.
  • XMAX tab and YMAX tab included in equation (1) are the maximum values of X tab and Y tab , respectively
  • XRES tab , YRES tab , and ZRES tab are the resolutions of X tab , Y tab , and Z tab , respectively.
  • XRES , YRES , and ZRES are all assumed to be 0.01 mm/point, but other values are of course acceptable.
  • the denominator on the right side of equation (1) is multiplied by 1000 because the units of XRES , YRES , and ZRES are mm/point.
  • the calculator 2a also obtains a rotation matrix R pen by performing the conversion shown in the following equation (2): R x , R y , and R z included in the middle side of equation (2) are calculated using equation (3):
  • the right side of equation (2) represents each element of the rotation matrix R pen using variables, and will be used in the following description.
  • the calculator 2a acquires second position and orientation information indicating the position and orientation of the pen 6 in the virtual reality space coordinate system based on information from the XR tracking system 2b (step S3).
  • the calculator 2a generates an affine transformation matrix M2 (second affine transformation matrix) indicating the position and orientation of the pen 6 in the virtual reality space coordinate system based on the translation vector TV ext and the rotation matrix R ext, and acquires the generated affine transformation matrix M2 as the second position and orientation information.
  • the specific content of the affine transformation matrix M2 is expressed by the following equation (5), where each element of the rotation matrix R ext is expressed by a variable as in equation (4).
  • the calculator 2a converts the second position and orientation information based on the first position and orientation information to obtain third position and orientation information indicating the position and orientation of the tablet terminal 5 in the virtual reality space coordinate system (step S4).
  • Converting the second position and orientation information based on the first position and orientation information is, in essence, a process of multiplying the affine transformation matrix M2 by the inverse matrix M1-1 of the affine transformation matrix M1 (first affine transformation matrix) obtained from the first position and orientation information.
  • the following equation (6) shows this process.
  • the third position and orientation information is represented by the affine transformation matrix Mtab obtained as a result of this process.
  • the affine transformation matrix M1 and the inverse matrix M1-1 are matrices expressed by the following formulas (7) and (8), respectively.
  • the calculator 2a may first obtain the affine transformation matrix M1 from the first position and orientation information, and then obtain the inverse matrix M1-1 by calculating the inverse matrix of the obtained affine transformation matrix M1.
  • the calculator 2a may first obtain the inverse vector -TV pen of the translation vector TV pen shown in formula (9) and the inverse matrix R pen -1 of the rotation matrix R pen shown in formula (10), and then obtain the inverse matrix M1-1 based on these. In this way, the amount of calculation required to obtain the inverse matrix M1-1 can be reduced.
  • the affine transformation matrix M tab obtained by the calculation of equation (6) is information representing a translation vector TV tab indicating the position of the tablet terminal 5 in the virtual reality space coordinate system, and a rotation matrix R tab indicating the orientation of the tablet terminal 5 in the virtual reality space coordinate system.
  • the affine transformation matrix M tab is expressed as in equation (11)
  • the translation vector TV tab and the rotation matrix R tab are expressed as in equations (12) and (13), respectively.
  • the third position and orientation information may be information consisting of a combination of the translation vector TV tab and the rotation matrix R tab .
  • step S4 completes detection of the position and orientation of the tablet device 5 in the virtual reality space coordinate system.
  • the computer 2 can acquire third position and orientation information indicating the position and orientation of the tablet terminal 5 in the virtual reality space coordinate system without attaching a position sensor to the tablet terminal 5. Therefore, it becomes possible to convert tablet input data, which is the result of pen input performed on the tablet surface 5a, into a 3D object in the XR space without attaching a position sensor to the tablet terminal 5.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Position Input By Displaying (AREA)

Abstract

【課題】タブレット面上で行ったペン入力の結果であるタブレット入力データを、タブレット端末に位置センサを取り付けることなく、XR空間内の3Dオブジェクトに変換できるようにする。 【解決手段】プロセッサを有するコンピュータであって、前記プロセッサは、デジタイザを有する機器の代表位置を原点とする第1の座標系におけるスタイラスの位置及び姿勢を示す第1の位置姿勢情報を取得し、XR空間を規定する第2の座標系における前記スタイラスの位置及び姿勢を示す第2の位置姿勢情報を取得し、前記第1の位置姿勢情報および前記第2の位置姿勢情報に基づいて、前記第2の座標系における前記デジタイザを有する機器の位置及び姿勢を示す第3の位置姿勢情報を算出する。

Description

コンピュータ、方法、及びプログラム
 本発明はコンピュータ、方法、及びプログラムに関し、特に、タブレット端末へのペン入力の結果として得られるタブレット入力データをXR(eXtended Reality)空間内の3Dオブジェクトに変換するためのコンピュータ、方法、及びプログラムに関する。
 タブレット端末のタブレット面に対してペン入力により入力した絵や文字(以下「タブレット入力データ」と総称する)を、XR空間内に配置される3Dオブジェクトとして利用できるようにする技術が知られている。特許文献1には、この種の技術が開示されている。
 また、特許文献2,3には、ペン入力の方式の一種である電磁誘導(EMR)方式に関して、それぞれペンのツイスト角(ペン軸周りの回転量)及びチルト角(タブレット面に対するペンの傾き)を検出する技術が開示され、特許文献4には、ペン入力の方式の他の一種であるアクティブ静電方式に関して、ペンのツイスト角及びチルト角を検出する技術が開示されている。
国際公開第2019/102825号明細書 特許第3015278号 特許第5358834号 特許第6304814号
 上記特許文献1に記載の技術では、トラッキングシステムを用いてペン及びタブレット端末の位置・姿勢を検出するために、ペン及びタブレット端末にトラッカーが設けられる。
 しかしながら、上記特許文献1に記載の技術ではペンとタブレット端末の両方にトラッカーを設ける必要がある。
 そこで、本発明の目的の一つは、タブレット端末にトラッカーを設けることなく、タブレット面上で行ったペン入力の結果であるタブレット入力データをXR空間内の3Dオブジェクトに変換できるコンピュータ、方法、及びプログラムを提供することにある。
 本発明によるコンピュータは、プロセッサを有するコンピュータであって、前記プロセッサは、デジタイザを有する機器の代表位置を原点とする第1の座標系におけるスタイラスの位置及び姿勢を示す第1の位置姿勢情報を取得し、XR空間を規定する第2の座標系における前記スタイラスの位置及び姿勢を示す第2の位置姿勢情報を取得し、前記第1の位置姿勢情報および前記第2の位置姿勢情報に基づいて、前記第2の座標系における前記デジタイザを有する機器の位置及び姿勢を示す第3の位置姿勢情報を算出する、コンピュータである。
 本発明による方法は、プロセッサを有するコンピュータによって実行される方法であって、前記プロセッサが、デジタイザを有する機器の代表位置を原点とする第1の座標系におけるスタイラスの位置及び姿勢を示す第1の位置姿勢情報を取得するステップと、前記プロセッサが、XR空間を規定する第2の座標系における前記スタイラスの位置及び姿勢を示す第2の位置姿勢情報を取得するステップと、前記プロセッサが、前記第1の位置姿勢情報および前記第2の位置姿勢情報に基づいて、前記第2の座標系における前記デジタイザを有する機器の位置及び姿勢を示す第3の位置姿勢情報を算出するステップと、を含む方法である。
 本発明によるプログラムは、デジタイザを有する機器の代表位置を原点とする第1の座標系におけるスタイラスの位置及び姿勢を示す第1の位置姿勢情報を取得するステップ、XR空間を規定する第2の座標系における前記スタイラスの位置及び姿勢を示す第2の位置姿勢情報を取得するステップ、及び、前記第1の位置姿勢情報および前記第2の位置姿勢情報に基づいて、前記第2の座標系における前記デジタイザを有する機器の位置及び姿勢を示す第3の位置姿勢情報を算出するステップ、をコンピュータに実行させるためのプログラムである。
 本発明によれば、タブレット端末にトラッカーを設けることなく、タブレット面上で行ったペン入力の結果であるタブレット入力データをXR空間内の3Dオブジェクトに変換することが可能になる。
本発明の第1の実施の形態によるXRシステム1を示す図である。 (a)は、タブレット面5aに設定されるタブレット座標系を示す図であり、(b)は、タブレット面5aに設定されるワールド座標系を示す図である。 (a)(b)は、タブレット端末5によって検出されるチルト情報を説明する図であり、(c)は、タブレット端末5によって検出されるツイスト情報を説明する図である。 演算器2aによって実行される処理のフロー図である。
 以下、添付図面を参照しながら、本発明の実施の形態について詳細に説明する。
 図1は、本発明の第1の実施の形態によるXRシステム1を示す図である。同図に示すように、本実施の形態によるXRシステム1は、コンピュータ2と、仮想現実ディスプレイ3と、複数のカメラ4と、タブレット端末5と、ペン6とを有して構成される。このうちコンピュータ2は、機能部として、演算器2a及びXRトラッキングシステム2bを含んで構成される。なお、コンピュータ2は、1台のコンピュータであってもよいし、複数のコンピュータの結合により1台のコンピュータとして機能する複合コンピュータであってもよい。
 コンピュータ2は、プロセッサ、メモリ、及び通信装置を含んで構成される装置である。プロセッサは、メモリに記憶されるプログラムを実行することによって、図1に示した演算器2a及びXRトラッキングシステム2bを含むコンピュータ2の各種機能を実現する役割を果たす。通信装置は、プロセッサの制御に応じ、仮想現実ディスプレイ3、複数のカメラ4、及びタブレット端末5のそれぞれと有線又は無線により相互に通信するよう構成される。
 演算器2aは、複数のカメラ4の位置を基準とするXR空間を設定するとともに、設定したXR空間を表す影像を生成し、仮想現実ディスプレイ3に供給する機能を有する機能部である。図1に示したx2軸、y2軸、z2軸は、演算器2aが設定したXR空間を規定する仮想現実空間座標系を示している。演算器2aがXR空間内にレンダリングする各種オブジェクトの位置及び姿勢はそれぞれ、この仮想現実空間座標系の並進ベクトル及び回転行列によって表され得る。並進ベクトル及び回転行列の詳細については、後述する。
 仮想現実ディスプレイ3は、人間の頭部に装着して用いるXRディスプレイ(ヘッドマウントディスプレイ)である。一般に市販される仮想現実ディスプレイには、「透過型」又は「非透過型」、「メガネ型」又は「帽子型」など各種のものがあるが、仮想現実ディスプレイ3としては、そのいずれを用いることも可能である。演算器2aが設定したXR空間がVR(Virtual Reality)空間である場合、仮想現実ディスプレイ3を装着したユーザは、仮想現実を認識し、現実世界と切り離される。一方、演算器2aが設定したXR空間がAR(Augmented Reality)空間又はMR(Mixed Reality)空間である場合、仮想現実ディスプレイ3を装着したユーザは、仮想現実と現実世界とが混合した空間を認識することになる。
 演算器2aは、様々な3Dオブジェクト(物体)をレンダリングし、上記影像内に配置する処理を行う。レンダリングの対象となる3Dオブジェクトには、図1に示したタブレット端末5のように現実にも存在する3Dオブジェクトと、現実には存在しない3Dオブジェクトとが含まれ得る。演算器2aがこの処理を行うことの結果として、仮想現実ディスプレイ3を装着したユーザは、XR空間内において3Dオブジェクトを視認できるようになる。
 演算器2aによるレンダリングは、メモリ内に記憶される3Dオブジェクト情報に基づいて実行される。3Dオブジェクト情報は、演算器2aにより設定されたXR空間における3Dオブジェクトの形状、位置、及び姿勢を示す情報であり、レンダリング対象の3Dオブジェクトごとにメモリ内に記憶される。
 演算器2aは、XR空間を表す影像を生成するにあたり、まず初めに仮想現実ディスプレイ3の位置及び姿勢を取得する。具体的には、後述するXRトラッキングシステム2bから仮想現実ディスプレイ3の位置及び姿勢を受信すればよい。演算器2aは、取得した仮想現実ディスプレイ3の位置及び姿勢に基づいてユーザの視点を決定し、決定した視点に基づいて、3Dオブジェクトのレンダリング及びXR空間を表す影像の生成を行う。これにより、仮想現実ディスプレイ3を通してXR空間を見るユーザは、現実の位置と同じ位置に各3Dオブジェクトを見ることが可能になる。
 XRトラッキングシステム2bは、複数のカメラ4のそれぞれにより撮影された影像が示す物体(現実に存在する物体)を検出し、その位置及び姿勢をトラッキングする機能を有する機能部である。複数のカメラ4は、演算器2aによって設定されるXR空間に対応する現実空間内の各所を様々な角度から撮影できるように配置される。図1には3台のカメラ4を示しているが、カメラ4の台数は3台に限定されない。
 XRトラッキングシステム2bによる物体の検出は、一例として、物体の表面に付加された複数のマーカー(光学的に検出可能な標識であれば、その種類は問わない)からなるトラッカーの検出、若しくは、物体の画像認識によって実行される。前者の場合、XRトラッキングシステム2bは、各カメラ4によって撮影されたペン6の影像に含まれる複数のマーカーの位置に基づいて、仮想現実空間座標系におけるペン6の位置及び姿勢を検出する。XRトラッキングシステム2bによるトラッキングの結果は、逐次、演算器2aのメモリに格納される。演算器2aは、こうしてメモリに格納されるトラッキング結果に基づき、現実に存在する3Dオブジェクトのレンダリングを行う。
 タブレット端末5は、ペン入力を受け付けるためのデジタイザを有する機器であり、入力面である平坦なタブレット面5aを有して構成される。タブレット端末5は、このタブレット面5aに映像を表示する機能を有してもよいし(いわゆる「液タブ」)、そのような機能を有しなくてもよい(いわゆる「板タブ」)。タブレット面5aに映像を表示する機能を有するタブレット端末5は、ペン入力の結果であるタブレット入力データを含む各種のデータをタブレット面5aに表示可能に構成される。
 図2(a)は、タブレット面5aに設定されるタブレット座標系を示す図であり、(b)は、タブレット面5aに設定されるワールド座標系を示す図である。タブレット座標系は、図2(a)に示すx3軸、y3軸、z3軸により表される空間座標系であり、タブレット端末5により、タブレット面5aの4つの角のうちの1つを原点として設定される。x3軸は、タブレット面5aの長手方向に沿って設けられる座標軸であり、y3軸は、タブレット面5a内でx3軸と直交する座標軸であり、z3軸は、x3軸及びy3軸の双方に直交する座標軸である。
 一方、ワールド座標系は、図2(b)に示すx1軸、y1軸、z1軸により表される空間座標系であり、演算器2aにより、XRトラッキングシステム2bにおけるタブレット端末5の代表位置P(すなわち、3Dオブジェクトとしてのタブレット端末5の基準となる位置。通常は、タブレット面5aの中心位置)を原点として設定される。x1軸は、タブレット面5aの長手方向に沿って設けられる座標軸であり、z1軸は、タブレット面5a内でx1軸と直交する座標軸であり、y1軸は、x1軸及びz1軸の双方に直交する座標軸である。演算器2aは、タブレット座標系とワールド座標系の関係(すなわち、タブレット座標系で表された位置及び姿勢と、ワールド座標系で表された位置及び姿勢とを相互に変換するための変換規則)を予め記憶している。
 図1に戻る。ペン6は、ペン型の形状を有する位置指示器(スタイラス)である。ユーザは、タブレット面5a上でペン6のペン先を摺動させることにより、タブレット端末5に対するペン入力を行う。ペン入力の具体的な方式は特に限定されないが、例えば、電磁誘導(EMR)方式やアクティブ静電方式を好適に用いることが可能である。また、タブレット端末5は、指による入力(タッチ入力)にも対応していることとしてもよく、タッチ入力の具体的な方式は例えば静電容量方式であってよい。
 タブレット端末5は、タブレット座標系におけるペン6の位置及び姿勢を逐次検出する機能を有して構成される。タブレット端末5が検出するペン6の位置は、上述したタブレット座標系におけるペン6の位置を示す座標情報により表される。この座標情報には、タブレット面5a内の位置を示す平面座標(Xtab,Ytab)と、タブレット面5aからペン6までの距離を示す高さ情報Ztabとが含まれる。また、タブレット端末5が検出するペン6の姿勢は、タブレット面5aに対するペン6の傾きを示すチルト情報と、ペン軸周りにおけるペン6の回転量を示すツイスト情報とにより表される。以下の説明では、タブレット端末5によって検出されるこれらの情報を、タブレット座標系におけるペン6の位置及び姿勢を示す「第0の位置姿勢情報」と総称する場合がある。
 図3(a)(b)は、タブレット端末5によって検出されるチルト情報を説明する図でる。図3(a)には、ペン軸のx3軸側への傾きを表すチルト角XTILTtabを示し、図3(b)には、ペン軸のy3軸側への傾きを表すチルト角YTILTtabを示している。チルト情報は、これら2つのチルト角(XTILTtab,YTILTtab)により構成される。なお、チルト角(XTILTtab,YTILTtab)の具体的な値は、物理的な角度値(例えば、度数法又は弧度法による値)に変換できる値であればよい。
 図3(c)は、タブレット端末5によって検出されるツイスト情報を説明する図である。同図には、ペン6のペン軸周りの回転量を示すツイスト角TWISTtabを示している。ツイスト情報は、このツイスト角TWISTtabにより構成される。ツイスト角TWISTtabの具体的な値についても、物理的な角度値(例えば、度数法又は弧度法による値)に変換できる値であればよい。
 ここで、タブレット端末5による第0の位置姿勢情報の取得について、電磁誘導(EMR)方式の場合を例に取り、簡単に説明する。なお、以下の説明におけるチルト角(XTILTtab,YTILTtab)の検出技術は特許文献2に沿ったものであり、ツイスト角TWISTtabの検出技術は特許文献3に沿ったものであるので、より詳しい技術内容についてはこれらの文献を参照されたい。
 電磁誘導(EMR)方式に対応するタブレット端末5は、それぞれx3軸方向に延設された複数のループコイルと、それぞれy3軸方向に延設された複数のループコイルとを有して構成される。また、電磁誘導(EMR)方式に対応するペン6は、円筒軸に沿った平面で第1のコアと第2のコアの2つに分割されてなる円筒形のコアと、それぞれ直列に接続されたコイルとコンデンサからなる第1及び第2のLC共振回路と、第1及び第2のLC共振回路の切替回路とを有して構成される。第2のLC共振回路のコイルは第2のコアに巻回され、第1のLC共振回路のコイルは第2のLC共振回路のコイルの上から円筒形のコアに巻回される。
 タブレット端末5は、いずれかのループコイルに交流電流を供給することによって、タブレット面5aから断続的に交番磁界を送出する。ペン6の切替回路は、この交番磁界の継続時間が所定値未満である場合には第1のLC共振回路を有効化し、所定値以上である場合には第2のLC共振回路を有効化するよう構成される。
 タブレット面5a内におけるペン6の位置(Xtab,Ytab)、ペン6の高さ情報Ztab、及び、ペン6のチルト角(XTILTtab,YTILTtab)の検出を行う場合、タブレット端末5は、所定値未満の時間長で交番磁界を送出する。したがって、ペン6は、第1のLC共振回路が有効化された状態となる。この状態で、第1のLC共振回路のコイルが交番磁界の中に入ると、第1のLC共振回路のコンデンサが充電される。タブレット端末5による交番磁界の送出が終了すると、コンデンサに蓄積された電力により、反射信号としての交番磁界が第1のLC共振回路のコイルから送出される。タブレット端末5は、上記の各ループコイルにてこの交番磁界の検出を試み、検出された交番磁界の強度の分布に基づいて、タブレット面5a内におけるペン6の位置(Xtab,Ytab)を検出する。
 また、タブレット端末5は、検出された交番磁界の最大強度に基づいて、ペン6の高さ情報Ztabを検出する。一例では、タブレット端末5は、交番磁界の最大強度を変数とし、高さ情報Ztabを出力値とする関数を予め記憶している。そして、検出された交番磁界の最大強度をこの関数に入力することによって得られる出力値を、ペン6の高さ情報Ztabとして取得する。
 タブレット端末5によって検出される交番磁界の強度の分布は、主ピークの両側に副ピークを有している。タブレット端末5は、これらの副ピークの強度に基づいて、ペン6のチルト角(XTILTtab,YTILTtab)を検出する。
 ペン6のツイスト角TWISTtabの検出を行う場合、タブレット端末5は、上述した所定値以上の時間長で交番磁界を送出する。したがって、ペン6は、第2のLC共振回路が有効化された状態となる。この状態で、第2のLC共振回路のコイルが交番磁界の中に入ると、第2のLC共振回路のコンデンサが充電される。タブレット端末5による交番磁界の送出が終了すると、コンデンサに蓄積された電力により、反射信号としての交番磁界が第2のLC共振回路のコイルから送出される。タブレット端末5は、上記の各ループコイルにてこの交番磁界の検出を試み、検出された交番磁界の強度の分布に基づいて、タブレット面5a内における第2のLC共振回路の位置を検出する。そして、検出した第2のLC共振回路の位置と、検出済みのペン6の位置(Xtab,Ytab)(=第1のLC共振回路の位置)とに基づき、ペン6のツイスト角TWISTtabを検出する。
 なお、ここで説明した電磁誘導(EMR)方式の場合の第0の位置姿勢情報の取得の方法は一例であり、他の方法を用いてもよいのは勿論である。例えば、ペン6の中にジャイロスコープ、加速度センサ、地磁気センサを設け、これらを用いてペン6がチルト角(XTILTtab,YTILTtab)及びツイスト角TWISTtabを検出し、タブレット端末5は、チルト角(XTILTtab,YTILTtab)及びツイスト角TWISTtabを含むデータをペン6から受信することにより、ペン6のチルト角(XTILTtab,YTILTtab)及びツイスト角TWISTtabを検出することとしてもよい。この場合、第2のLC共振回路及び切替回路をペン6に設ける必要はない。ペン6からのデータの送信は、第1のLC共振回路を構成するコンデンサに対して並列に可変容量コンデンサを接続し、送信対象のデータの内容に応じてこの可変容量コンデンサの容量を制御することにより実現され得る。この場合、タブレット端末5は、検出された交番磁界を復調することにより、ペン6が送信したデータを取得すればよい。ペン6が送信するデータには、ペン先に加わる圧力を示す筆圧値、ペン6の筐体に設けられたスイッチのオンオフ状態を示すオンオフ情報、ペン6の識別情報であるペンIDなども含まれ得る。
 以上は、タブレット端末5及びペン6が電磁誘導(EMR)方式に対応するものである場合の例であるが、タブレット端末5及びペン6がアクティブ静電方式に対応するものである場合にも、一部を除いて同様である。以下、タブレット端末5及びペン6がアクティブ静電方式に対応するものである場合について、電磁誘導(EMR)方式と相違する点に着目して説明する。なお、以下の説明におけるチルト角(XTILTtab,YTILTtab)及びツイスト角TWISTtabの検出技術は特許文献4に沿ったものであるので、より詳しい技術内容については特許文献4を参照されたい。
 まず、アクティブ静電方式に対応するタブレット端末5は、上述したループコイルに代え、それぞれx3軸方向に延設された複数の線状電極と、それぞれy3軸方向に延設された複数の線状電極とを有して構成される。また、アクティブ静電方式に対応するペン6は、上述したコア、第1及び第2のLC共振回路、並びに切替回路に代え、ペン先に設けられるペン先電極と、ペン先電極から見てペン軸方向の後方に設けられたリング状の周辺電極と、ペン先電極に接続された処理回路と、処理回路に電力を供給するバッテリーとを有して構成される。リング状の周辺電極は、ペン軸に沿った平面で第1の周辺電極と第2の周辺電極の2つに分割されている。
 タブレット端末5は、いずれかの線状電極に信号を供給することによって、タブレット面5aからアップリンク信号を送信する。アップリンク信号はコマンドによって変調された信号であり、ペン6の処理回路は、ペン先電極を介してこのアップリンク信号を受信すると、コマンドに応じたダウンリンク信号を生成し、ペン先電極、第1の周辺電極、第2の周辺電極のいずれか1つ以上から送信する。
 タブレット面5a内におけるペン6の位置(Xtab,Ytab)、及び、ペン6の高さ情報Ztabの検出を行う場合、タブレット端末5は、アップリンク信号を用い、ペン先電極からダウンリンク信号を送信するようペン6を制御する。タブレット端末5は、上記の各線状電極にてこのダウンリンク信号の検出を試み、検出されたダウンリンク信号の強度の分布に基づいて、タブレット面5a内におけるペン6の位置(Xtab,Ytab)を検出する。
 また、タブレット端末5は、検出されたダウンリンク信号の最大強度に基づいて、ペン6の高さ情報Ztabを検出する。一例では、タブレット端末5は、ダウンリンク信号の最大強度を変数とし、高さ情報Ztabを出力値とする関数を予め記憶している。そして、検出されたダウンリンク信号の最大強度をこの関数に入力することによって得られる出力値を、ペン6の高さ情報Ztabとして取得する。
 チルト角(XTILTtab,YTILTtab)の検出を行う場合、タブレット端末5は、アップリンク信号を用い、第1の周辺電極及び第2の周辺電極のそれぞれからダウンリンク信号を送信するようペン6を制御する。タブレット端末5は、上記の各線状電極にてこのダウンリンク信号の検出を試み、検出されたダウンリンク信号の強度の分布に基づいて、タブレット面5a内における周辺電極の位置を検出する。そして、検出した周辺電極の位置と、検出済みのペン6の位置(Xtab,Ytab)(=ペン先電極の位置)とに基づき、ペン6のチルト角(XTILTtab,YTILTtab)を検出する。
 ツイスト角TWISTtabの検出を行う場合、タブレット端末5は、アップリンク信号を用い、第1の周辺電極からダウンリンク信号を送信し、その後、第2の周辺電極からダウンリンク信号を送信するようペン6を制御する。タブレット端末5は、その都度、上記の各線状電極にてダウンリンク信号の検出を試み、検出されたダウンリンク信号の強度の分布に基づいて、タブレット面5a内における第1の周辺電極及び第2の周辺電極それぞれの位置を検出する。そして、第1の周辺電極及び第2の周辺電極それぞれの位置に基づき、ペン6のツイスト角TWISTtabを検出する。
 なお、ここで説明したアクティブ静電方式の場合の第0の位置姿勢情報の取得の方法も一例であり、他の方法を用いてもよいのは勿論である。例えば、電磁誘導(EMR)方式の場合と同様、ペン6の中にジャイロスコープ、加速度センサ、地磁気センサを設け、これらを用いてペン6がチルト角(XTILTtab,YTILTtab)及びツイスト角TWISTtabを検出し、タブレット端末5は、チルト角(XTILTtab,YTILTtab)及びツイスト角TWISTtabを含むデータをペン6から受信することにより、ペン6のチルト角(XTILTtab,YTILTtab)及びツイスト角TWISTtabを検出することとしてもよい。この場合におけるペン6からのデータの送信は、ダウンリンク信号内にデータ信号を配置することによって実現され得る。この場合、タブレット端末5は、検出されたダウンリンク信号に含まれるデータ信号を復調することにより、ペン6が送信したデータを取得すればよい。ペン6が送信するデータには、ペン先に加わる圧力を示す筆圧値、ペン6の筐体に設けられたスイッチのオンオフ状態を示すオンオフ情報、ペン6の識別情報であるペンIDなども含まれ得る。
 タブレット端末5は、以上のようにして取得した第0の位置姿勢情報を、演算器2aに逐次供給するよう構成される。演算器2aは、こうして供給される第0の位置姿勢情報を用いて、仮想現実空間座標系におけるタブレット端末5の位置及び姿勢を検出する処理を行う。この処理の具体的な内容については、後ほど図4を参照して詳しく説明する。
 また、タブレット端末5は、取得した平面座標(Xtab,Ytab)及び筆圧値などに基づき、ペン入力の結果であるタブレット入力データとしてのストロークデータを生成する処理を行う。ストロークデータは、ペン先の軌跡を示す一連の座標データを含むデータである。各座標データには、平面座標(Xtab,Ytab)の他、上述した筆圧値、上述したオンオフ情報、高さ情報Ztab、チルト角(XTILTtab,YTILTtab)、ツイスト角TWISTtabが含まれ得る。タブレット端末5は、生成したストロークデータを記憶するとともに、逐次レンダリングしてタブレット面5aに表示する処理を行う。
 タブレット端末5は、生成したストロークデータを演算器2aに供給するよう構成される。演算器2aは、タブレット端末5からストロークデータの供給を受けると、その中に含まれる第0の位置姿勢情報を、仮想現実空間座標系におけるタブレット端末5の位置及び姿勢に基づき、仮想現実空間座標系の位置姿勢情報に変換する。この変換の詳細については後述するが、変換の際に仮想現実空間座標系におけるタブレット端末5の位置及び姿勢を用いるのは、ストロークデータを示す3Dオブジェクトを現実のタブレット面5a内と同じ位置に表示するためである。演算器2aは、変換後のストロークデータを上述した3Dオブジェクト情報の1つとしてメモリに記憶するとともに、レンダリングしてXR空間内に配置する処理を行う。これによりユーザは、ペン入力の結果であるタブレット入力データをXR空間内の3Dオブジェクトとして視認することが可能になる。
 演算器2aは、上記変換を実行するために、仮想現実空間座標系におけるタブレット端末5の位置及び姿勢を逐次検出する処理を行う。具体的に説明すると、演算器2aは、タブレット端末5から逐次供給される第0の位置姿勢情報に基づき、その都度、ワールド座標系におけるペン6の位置及び姿勢を示す第1の位置姿勢情報を取得するとともに、XRトラッキングシステム2bから逐次供給される情報(メモリに格納されるペン6の位置及び姿勢を示す情報)に基づき、その都度、仮想現実空間座標系におけるペン6の位置及び姿勢を示す第2の位置姿勢情報を取得する。そして演算器2aは、第2の位置姿勢情報を第1の位置姿勢情報に基づいて変換することにより、仮想現実空間座標系におけるタブレット端末5の位置及び姿勢を示す第3の位置姿勢情報を検出するよう構成される。
 図4は、演算器2aによって実行される処理のフロー図である。以下、この図4を参照しながら、仮想現実空間座標系におけるタブレット端末5の位置及び姿勢を検出するために演算器2aが行う処理について、より具体的に説明する。
 演算器2aは、まず初めに、タブレット座標系におけるペン6の位置及び姿勢を示す第0の位置姿勢情報をタブレット端末5から取得する(ステップS1)。第0の位置姿勢情報には、上述した平面座標(Xtab,Ytab)、高さ情報Ztab、チルト角(XTILTtab,YTILTtab)、ツイスト角TWISTtabが含まれる。
 次に演算器2aは、取得した第0の位置姿勢情報を、予め記憶しているタブレット座標系とワールド座標系の関係(変換規則)に基づいて変換することにより、ワールド座標系におけるペン6の位置及び姿勢を示す第1の位置姿勢情報に取得する(ステップS2)。
 具体的に説明すると、第1の位置姿勢情報は、ワールド座標系におけるペン6の位置を示す並進ベクトルTVpen、及び、ワールド座標系におけるペン6の姿勢を示す回転行列Rpenを含んで構成される。このうち並進ベクトルTVpenについて、演算器2aは、次の式(1)に示す変換を行うことにより、並進ベクトルTVpen=(PEN_Xworld,PEN_Yworld,PEN_Zworld)を取得する。ただし、式(1)に含まれるXMAXtab,YMAXtabはそれぞれXtab,Ytabの最大値であり、XREStab,YREStab,ZREStabはそれぞれXtab,Ytab,Ztabの分解能である。ここでは、XREStab,YREStab,ZREStabはいずれも0.01mm/pointであると仮定するが、その他の値であってもよいのは勿論である。式(1)の右辺の分母に1000を乗じているのは、XREStab,YREStab,ZREStabの単位をmm/pointとしているためである。
 また、演算器2aは、次の式(2)に示す変換を行うことにより、回転行列Rpenを取得する。式(2)の中辺に含まれるR,R,Rは、式(3)により算出される。なお、式(2)の右辺は回転行列Rpenの各要素を変数により表したもので、以下の説明で使用する。
 次に演算器2aは、XRトラッキングシステム2bからの情報に基づき、仮想現実空間座標系におけるペン6の位置及び姿勢を示す第2の位置姿勢情報を取得する(ステップS3)。具体的に説明すると、XRトラッキングシステム2bからの情報は、仮想現実空間座標系におけるペン6の位置を示す並進ベクトルTVext=(Xext,Yext,Zext)、及び、仮想現実空間座標系におけるペン6の姿勢を示す回転行列Rextを含んでおり、演算器2aは、これら並進ベクトルTVext及び回転行列Rextに基づいて、仮想現実空間座標系におけるペン6の位置及び姿勢を示すアフィン変換行列M(第2のアフィン変換行列)を生成し、生成したアフィン変換行列Mを第2の位置姿勢情報として取得する。アフィン変換行列Mの具体的な内容は、回転行列Rextの各要素を式(4)のように変数で表したとすると、次の式(5)によって表される。
 最後に演算器2aは、第2の位置姿勢情報を第1の位置姿勢情報に基づいて変換することにより、仮想現実空間座標系におけるタブレット端末5の位置及び姿勢を示す第3の位置姿勢情報を取得する(ステップS4)。第1の位置姿勢情報に基づく第2の位置姿勢情報の変換とは、要するに、第1の位置姿勢情報から得られるアフィン変換行列M(第1のアフィン変換行列)の逆行列M -1をアフィン変換行列Mに乗算する処理である。以下に示す式(6)は、この処理を示している。第3の位置姿勢情報は、この処理の結果として得られるアフィン変換行列Mtabにより表される。逆行列M -1は、ペン6の位置姿勢をタブレット端末5の位置姿勢に変換する変換規則であると言えるので、仮想現実空間座標系におけるペン6の位置姿勢(=M)に逆行列M -1を適用することにより、仮想現実空間座標系におけるタブレット端末5の位置及び姿勢を求めることが可能になる。
 アフィン変換行列M及び逆行列M -1はそれぞれ、次の式(7)及び式(8)により示される行列である。演算器2aは、第1の位置姿勢情報からまずアフィン変換行列Mを取得し、取得したアフィン変換行列Mの逆行列を演算することによって逆行列M -1を取得することとしてもよいが、式(9)に示す並進ベクトルTVpenの逆ベクトル-TVpenと、式(10)に示す回転行列Rpenの逆行列Rpen -1とをまず求め、これらに基づいて逆行列M -1を取得することとしてもよい。こうすることで、逆行列M -1を求めるための演算量を減らすことができる。なお、式(10)が成立するのは、回転行列Rpenは正規直交行列であり、Rpen -1=Rpen が成り立つためである。
 式(6)の演算により得られるアフィン変換行列Mtabは、仮想現実空間座標系におけるタブレット端末5の位置を示す並進ベクトルTVtab、及び、仮想現実空間座標系におけるタブレット端末5の姿勢を示す回転行列Rtabを表す情報となっている。すなわち、アフィン変換行列Mtabの各要素を式(11)のように表すこととすると、並進ベクトルTVtab及び回転行列Rtabはそれぞれ、式(12)及び式(13)のように表される。第3の位置姿勢情報は、並進ベクトルTVtabと回転行列Rtabの組み合わせからなる情報であることとしてもよい。
 ステップS4までの処理により、仮想現実空間座標系におけるタブレット端末5の位置及び姿勢の検出は完了する。
 以上説明したように、本実施の形態によるコンピュータ2によれば、タブレット端末5に位置センサを取り付けなくても、仮想現実空間座標系におけるタブレット端末5の位置及び姿勢を示す第3の位置姿勢情報を取得することができる。したがって、タブレット面5a上で行ったペン入力の結果であるタブレット入力データを、タブレット端末5に位置センサを取り付けることなく、XR空間内の3Dオブジェクトに変換することが可能になる。
 以上、本発明の好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
 例えば、上記実施の形態では、タブレット座標系及び仮想現実空間座標系が左手系であり、ワールド座標系が右手系である場合の例を説明したが、各座標系が左手系及び右手系のいずれであってもよいのは勿論である。各座標系が左手系及び右手系のいずれであるかに応じて、適宜、上記した各数式を変更すればよい。
1  XRシステム
2  コンピュータ
2a 演算器
2b XRトラッキングシステム
3  仮想現実ディスプレイ
4  カメラ
5  タブレット端末
5a タブレット面
6  ペン
P  代表位置

Claims (14)

  1.  プロセッサを有するコンピュータであって、
     前記プロセッサは、
     デジタイザを有する機器の代表位置を原点とする第1の座標系におけるスタイラスの位置及び姿勢を示す第1の位置姿勢情報を取得し、
     XR空間を規定する第2の座標系における前記スタイラスの位置及び姿勢を示す第2の位置姿勢情報を取得し、
     前記第1の位置姿勢情報および前記第2の位置姿勢情報に基づいて、前記第2の座標系における前記デジタイザを有する機器の位置及び姿勢を示す第3の位置姿勢情報を算出する、
     コンピュータ。
  2.  前記第1の位置姿勢情報は、前記第1の座標系における前記スタイラスの位置及び姿勢を示す第1のアフィン変換行列によって示される情報であり、
     前記第2の位置姿勢情報は、前記第2の座標系における前記スタイラスの位置及び姿勢を示す第2のアフィン変換行列によって示される情報であり、
     前記第3の位置姿勢情報は、前記第1のアフィン変換行列の逆行列を前記第2のアフィン変換行列に乗算することによって得られる第3のアフィン変換行列によって示される情報である、
     請求項1に記載のコンピュータ。
  3.  前記プロセッサは、前記デジタイザを有する機器の面に設けられた第3の座標系における前記スタイラスの位置を示す座標情報と、前記面に対する前記スタイラスの傾きを示すチルト情報と、スタイラス軸周りにおける前記スタイラスの回転量を示すツイスト情報と、を含む前記デジタイザを有する機器から出力される情報に基づいて、前記第1の位置姿勢情報を取得する、
     請求項1に記載のコンピュータ。
  4.  前記座標情報は、前記面における前記スタイラスの位置を示す座標と、前記面から前記スタイラスまでの距離を示す情報と、を含む、
     請求項3に記載のコンピュータ。
  5.  前記プロセッサは、前記デジタイザを有する機器から出力される情報を前記第1の座標系と前記第3の座標系の関係に基づいて変換することにより、前記第1の位置姿勢情報を取得する、
     請求項3又は4に記載のコンピュータ。
  6.  前記スタイラスの表面には複数のマーカーが配置され、
     前記プロセッサは、カメラによって撮影された前記スタイラスの影像に含まれる前記複数のマーカーの位置に基づいて、前記第2の位置姿勢情報を取得する、
     請求項1に記載のコンピュータ。
  7.  プロセッサを有するコンピュータによって実行される方法であって、
     前記プロセッサが、デジタイザを有する機器の代表位置を原点とする第1の座標系におけるスタイラスの位置及び姿勢を示す第1の位置姿勢情報を取得するステップと、
     前記プロセッサが、XR空間を規定する第2の座標系における前記スタイラスの位置及び姿勢を示す第2の位置姿勢情報を取得するステップと、
     前記プロセッサが、前記第1の位置姿勢情報および前記第2の位置姿勢情報に基づいて、前記第2の座標系における前記デジタイザを有する機器の位置及び姿勢を示す第3の位置姿勢情報を算出するステップと、
     を含む方法。
  8.  前記第1の位置姿勢情報は、前記第1の座標系における前記スタイラスの位置及び姿勢を示す第1のアフィン変換行列によって示される情報であり、
     前記第2の位置姿勢情報は、前記第2の座標系における前記スタイラスの位置及び姿勢を示す第2のアフィン変換行列によって示される情報であり、
     前記第3の位置姿勢情報は、前記第1のアフィン変換行列の逆行列を前記第2のアフィン変換行列に乗算することによって得られる第3のアフィン変換行列によって示される情報である、
     請求項7に記載の方法。
  9.  前記プロセッサは、前記デジタイザを有する機器の面に設けられた第3の座標系における前記スタイラスの位置を示す座標情報と、前記面に対する前記スタイラスの傾きを示すチルト情報と、スタイラス軸周りにおける前記スタイラスの回転量を示すツイスト情報と、を含む前記デジタイザを有する機器から出力される情報に基づいて、前記第1の位置姿勢情報を取得する、
     請求項7に記載の方法。
  10.  前記座標情報は、前記面における前記スタイラスの位置を示す座標と、前記面から前記スタイラスまでの距離を示す情報と、を含む、
     請求項9に記載の方法。
  11.  前記プロセッサは、前記デジタイザを有する機器から出力される情報を前記第1の座標系と前記第3の座標系の関係に基づいて変換することにより、前記第1の位置姿勢情報を取得する、
     請求項9又は10に記載の方法。
  12.  前記スタイラスの表面には複数のマーカーが配置され、
     前記プロセッサは、カメラによって撮影された前記スタイラスの影像に含まれる前記複数のマーカーの位置に基づいて、前記第2の位置姿勢情報を取得する、
     請求項7に記載の方法。
  13.  デジタイザを有する機器の代表位置を原点とする第1の座標系におけるスタイラスの位置及び姿勢を示す第1の位置姿勢情報を取得するステップ、
     XR空間を規定する第2の座標系における前記スタイラスの位置及び姿勢を示す第2の位置姿勢情報を取得するステップ、及び、
     前記第1の位置姿勢情報および前記第2の位置姿勢情報に基づいて、前記第2の座標系における前記デジタイザを有する機器の位置及び姿勢を示す第3の位置姿勢情報を算出するステップ、
     をコンピュータに実行させるためのプログラム。
  14.  前記第1の位置姿勢情報は、前記第1の座標系における前記スタイラスの位置及び姿勢を示す第1のアフィン変換行列によって示される情報であり、
     前記第2の位置姿勢情報は、前記第2の座標系における前記スタイラスの位置及び姿勢を示す第2のアフィン変換行列によって示される情報であり、
     前記第3の位置姿勢情報は、前記第1のアフィン変換行列の逆行列を前記第2のアフィン変換行列に乗算することによって得られる第3のアフィン変換行列によって示される情報である、
     請求項13に記載のプロブラム。
PCT/JP2025/021090 2024-06-14 2025-06-11 コンピュータ、方法、及びプログラム Pending WO2025258620A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2024096987 2024-06-14
JP2024-096987 2024-06-14

Publications (1)

Publication Number Publication Date
WO2025258620A1 true WO2025258620A1 (ja) 2025-12-18

Family

ID=98050575

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2025/021090 Pending WO2025258620A1 (ja) 2024-06-14 2025-06-11 コンピュータ、方法、及びプログラム

Country Status (1)

Country Link
WO (1) WO2025258620A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019046458A (ja) * 2017-09-04 2019-03-22 株式会社ワコム 空間位置指示システム
US20190094996A1 (en) * 2017-09-26 2019-03-28 Yong Bum Kim Systems and related methods for facilitating pen input in a virtual reality environment
WO2019102825A1 (ja) * 2017-11-21 2019-05-31 株式会社ワコム レンダリング装置及びレンダリング方法
JP2022037377A (ja) * 2020-08-25 2022-03-09 株式会社ワコム 入力システム及び入力方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019046458A (ja) * 2017-09-04 2019-03-22 株式会社ワコム 空間位置指示システム
US20190094996A1 (en) * 2017-09-26 2019-03-28 Yong Bum Kim Systems and related methods for facilitating pen input in a virtual reality environment
WO2019102825A1 (ja) * 2017-11-21 2019-05-31 株式会社ワコム レンダリング装置及びレンダリング方法
JP2022037377A (ja) * 2020-08-25 2022-03-09 株式会社ワコム 入力システム及び入力方法

Similar Documents

Publication Publication Date Title
US11287905B2 (en) Trackability enhancement of a passive stylus
Memo et al. Head-mounted gesture controlled interface for human-computer interaction
CN100461212C (zh) 显示控制方法及装置以及便携设备
US10698535B2 (en) Interface control system, interface control apparatus, interface control method, and program
EP3956717A1 (en) Sensor fusion for electromagnetic tracking
JP7814590B2 (ja) Vr画像生成システム及びvr画像生成方法
CN111353930B (zh) 数据处理方法及装置、电子设备及存储介质
JP6344530B2 (ja) 入力装置、入力方法、及びプログラム
JP5656514B2 (ja) 情報処理装置及び方法
US12468406B2 (en) Input system and input method for setting instruction target area including reference position of instruction device
CN102221878A (zh) 图像处理系统、图像处理装置、图像处理方法及程序
CN108027654A (zh) 输入设备、输入方法和程序
JP2026016849A (ja) 位置指示器の操作に基づいて三次元物体を生成する方法
Zheng Spatio-temporal registration in augmented reality
CN110209270A (zh) 一种数据手套、数据手套系统、校正方法及存储介质
WO2025258620A1 (ja) コンピュータ、方法、及びプログラム
EP4216040B1 (en) Computer, method, and program
JP5533311B2 (ja) 展示物用情報提示装置および提示方法
US20200042157A1 (en) Tablet computing device with display dock
WO2025057668A1 (ja) キャリブレーション方法及び座標変換ツール
US20260037100A1 (en) Virtual image sharing method and virtual image sharing system
WO2024184232A1 (en) Device, method and computer program
HK40023070A (en) Data processing method and device, electronic equipment and storage medium
CN121002472A (zh) 输入系统以及输入方法

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: 25821986

Country of ref document: EP

Kind code of ref document: A1