WO2022074910A1 - 信号生成装置、信号生成方法及び信号生成プログラム - Google Patents

信号生成装置、信号生成方法及び信号生成プログラム Download PDF

Info

Publication number
WO2022074910A1
WO2022074910A1 PCT/JP2021/028602 JP2021028602W WO2022074910A1 WO 2022074910 A1 WO2022074910 A1 WO 2022074910A1 JP 2021028602 W JP2021028602 W JP 2021028602W WO 2022074910 A1 WO2022074910 A1 WO 2022074910A1
Authority
WO
WIPO (PCT)
Prior art keywords
envelope
event
force
information
wave
Prior art date
Application number
PCT/JP2021/028602
Other languages
English (en)
French (fr)
Inventor
俊 松浦
Original Assignee
株式会社村田製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社村田製作所 filed Critical 株式会社村田製作所
Priority to JP2022555276A priority Critical patent/JP7448030B2/ja
Priority to CN202180068667.3A priority patent/CN116322913A/zh
Priority to EP21877214.3A priority patent/EP4226984A1/en
Publication of WO2022074910A1 publication Critical patent/WO2022074910A1/ja
Priority to US18/296,602 priority patent/US20230304853A1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • A63F13/28Output arrangements for video game devices responding to control signals received from the game device for affecting ambient conditions, e.g. for vibrating players' seats, activating scent dispensers or affecting temperature or light
    • A63F13/285Generating tactile feedback signals via the game input device, e.g. force feedback
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01HMEASUREMENT OF MECHANICAL VIBRATIONS OR ULTRASONIC, SONIC OR INFRASONIC WAVES
    • G01H17/00Measuring mechanical vibrations or ultrasonic, sonic or infrasonic waves, not provided for in the preceding groups
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/44Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment involving timing of operations, e.g. performing an action within a time slot
    • 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/016Input arrangements with force or tactile feedback as computer generated output to the user
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03CMODULATION
    • H03C1/00Amplitude modulation
    • H03C1/46Modulators with mechanically-driven or acoustically-driven parts

Definitions

  • the present invention relates to a signal generator, a signal generation method, and a signal generation program.
  • vibration device that the user (user) holds by hand or wears on the user's body.
  • a vibration mechanism such as a linear resonance actuator is built in, and the vibration mechanism operates to present vibration to the user (for example, Patent Document 1).
  • the vibration device described in Patent Document 1 corresponds to the content of data in which tactile vibration data representing the content of tactile vibration that makes the user feel as if the user has touched some object and pseudo-force sensor vibration data are combined. Generates vibration.
  • the pseudo force sensation vibration data is a basic waveform of a specific pattern composed of a pseudo force sensation vibration that makes the user feel a traction force in a specific direction, specifically, a sine wave, a triangular wave, a sawtooth wave, or a rectangular wave. It is the data which shows the content of the vibration which repeats in a predetermined cycle. Since the pseudo-force sensory vibration is a periodic vibration, the vibrating device may vibrate periodically for a certain period of time.
  • the present invention has been made in view of such circumstances, and in a configuration for generating a waveform signal for generating vibration according to an event in the object, vibration in the object when two events occur. It is an object of the present invention to provide a signal generation device, a signal generation method, and a signal generation program capable of stabilizing the above-described aspect.
  • the signal generation device is a signal generation device for generating a waveform signal for generating vibration corresponding to an event in an object, and is a first of the first waveform signals corresponding to the first event.
  • the envelope information acquisition unit that acquires the first envelope information indicating the envelope and the second envelope information indicating the second envelope of the second waveform signal corresponding to the second event, the first envelope information, and the first envelope information Based on the second envelope information, it includes a synthesis unit that generates a synthetic envelope in which the envelope is synthesized, and a modulation unit that modulates the force sensory wave by the synthetic envelope to generate the waveform signal.
  • a signal capable of stabilizing the mode of vibration in the object when two events occur in a configuration for generating a waveform signal for generating vibration according to an event in the object. It becomes possible to provide a generator, a signal generation method, and a signal generation program.
  • FIG. 1 is a diagram showing an outline of a game system according to the first embodiment of the present invention.
  • FIG. 2 is a diagram showing a hardware configuration of a game system according to the first embodiment of the present invention.
  • FIG. 3 is a diagram showing an example of a waveform signal according to the first embodiment of the present invention.
  • FIG. 4 is a diagram for explaining the first problem.
  • FIG. 5 is a diagram for explaining the second problem.
  • FIG. 6 is a block diagram showing a configuration of a signal generation device according to the first embodiment of the present invention.
  • FIG. 7 is a diagram showing correspondence information held by the disk in the signal generation device according to the first embodiment of the present invention.
  • FIG. 8 is a diagram showing an example of an event-specific force-amplitude envelope indicated by the envelope waveform information held by the signal generator according to the first embodiment of the present invention.
  • FIG. 9 is a diagram showing an example of an event-specific force-amplitude envelope indicated by the envelope waveform information held by the signal generator according to the first embodiment of the present invention.
  • FIG. 10 is a diagram showing an example of an event-specific force-sensitive amplitude envelope synthesized by the signal generation device according to the first embodiment of the present invention.
  • FIG. 11 is a diagram showing an example of an event-specific force-amplitude envelope synthesized by the signal generation device according to the first embodiment of the present invention.
  • FIG. 12 is a diagram showing an example of a unit force sensory wave held by the signal generation device according to the first embodiment of the present invention.
  • FIG. 13 is a diagram showing an example of a waveform signal when the waveform signal generation periods according to the first embodiment of the present invention do not overlap.
  • FIG. 14 is a diagram showing an example of a waveform signal when there is an overlap in waveform signal generation periods according to the first embodiment of the present invention.
  • FIG. 15 is a diagram showing an example of a waveform signal when there is an overlap in waveform signal generation periods according to the first embodiment of the present invention.
  • FIG. 16 is a flowchart defining an operation procedure when the signal generation device according to the first embodiment of the present invention performs event information processing.
  • FIG. 16 is a flowchart defining an operation procedure when the signal generation device according to the first embodiment of the present invention performs event information processing.
  • FIG. 17 is a flowchart defining an operation procedure when the signal generation device according to the first embodiment of the present invention performs waveform signal generation processing.
  • FIG. 18 is a flowchart defining an operation procedure when the signal generation device according to the first embodiment of the present invention performs a synthesis process.
  • FIG. 19 is a diagram showing an example of a candidate unit force sensory wave stored on a disk according to a second embodiment of the present invention.
  • FIG. 20 is a diagram showing an example of a candidate unit force sensory wave stored on a disk according to a second embodiment of the present invention.
  • FIG. 21 is a diagram showing an example of a candidate unit force sensory wave stored on a disk according to a second embodiment of the present invention.
  • FIG. 22 is a block diagram showing a configuration of a force sensory wave determining device according to a second embodiment of the present invention.
  • FIG. 23 is a block diagram showing a configuration of a presentation processing unit in the force-sensitive wave determining device according to the second embodiment of the present invention.
  • FIG. 24 is a diagram showing an example of an event-specific force sensation amplitude envelope, a second candidate force sensation wave, and a waveform signal according to the second embodiment of the present invention.
  • FIG. 25 is a flowchart defining an operation procedure when the force sensory wave determination device according to the second embodiment of the present invention performs force sensory wave determination processing.
  • FIG. 26 is a flowchart defining an operation procedure when the force sensory wave determination device according to the second embodiment of the present invention performs force sensory wave determination processing using an index.
  • FIG. 27 is a diagram showing a modified example of the candidate unit force sensory wave stored in the disk according to the second embodiment of the present invention.
  • FIG. 28 is a diagram showing a modified example of the force sensation amplitude envelope for each event according to the first embodiment and the second embodiment of the present invention.
  • FIG. 1 is a diagram showing an outline of a game system according to the first embodiment of the present invention.
  • the game system 3 mainly includes a computer 11, a display monitor 20, and a controller 21 (object).
  • the computer 11 executes, for example, a game program, and displays the virtual reality developed by the game program on the display monitor 20.
  • User 6 is, for example, the creator of a game program or a player of a game.
  • the user 6 recognizes the situation of the character in the virtual reality displayed on the display monitor 20, and operates the controller 21 so as to give the character a movement according to the situation.
  • the computer 11 executes the game program according to the operation content performed on the controller 21.
  • the computer 11 presents the "force sense”, “pressure sense”, and “tactile sense” by haptics to at least one user 6 (hereinafter, may be referred to as haptics presentation).
  • the "force sense” is, for example, the feeling when being pulled or pushed, and the feeling when being pressed tightly or popping.
  • the "pressure sensation” is a feeling of contact, for example, when the object is in contact with the object, or when the object is felt to be firm or soft.
  • the "tactile sensation” is, for example, the tactile sensation of the surface of an object, or the tactile sensation and roughness of the surface of an object such as the degree of unevenness.
  • the software and hardware layers in the computer 11 are composed of, for example, an application layer game program, an intermediate layer SDK (Software Development Kit), a system and a game engine, and a physical layer HW (Hardwere).
  • SDK includes, for example, plug-ins or authoring tools and middleware.
  • the middleware includes a program (hereinafter, may be referred to as a target program) that vibrates the controller 21 so as to give the user 6 at least one of "force sense", "pressure sense", and "tactile sense”.
  • a target program a program that vibrates the controller 21 so as to give the user 6 at least one of "force sense", "pressure sense", and "tactile sense”.
  • the game program calls the target program according to the API (Application Programming Interface).
  • the game program passes, for example, event information indicating the content of the event and the start time of the event (start timing of the first event or the second event) to the target program.
  • the content of the event is specified by, for example, an ID.
  • Certain events are, for example, in virtual reality, where an external force of pulling or pushing is applied to the character, the character shoots a gun, the character is hit, and the character dances to music. And so on.
  • the target program generates a waveform signal for presenting haptics according to the content of the event indicated by the event information based on the event information.
  • the target program transmits the generated waveform signal to the controller 21 through the game engine, operating system, and hardware.
  • the controller 21 vibrates based on the waveform signal. For example, by holding the vibrating controller 21 by hand, the user 6 recognizes the situation of the character in virtual reality not only by sight and hearing but also by at least one of "force sense”, “pressure sense” and “tactile sense”. can do.
  • FIG. 2 is a diagram showing a hardware configuration of a game system according to the first embodiment of the present invention.
  • the game system 3 includes a computer 11, a speaker 19, a display monitor 20, and a controller 21.
  • the computer 11 includes a CPU (Central Processing Unit) 12, a memory 13, a disk 14, an audio interface (I / F) 15, a GPU (Graphics Processing Unit) 16, a communication interface (I / F) 17, and the like. Includes bus 18.
  • the controller 21 includes an MCU (MicroControllerUnit) 22, a communication interface (I / F) 23, a haptics output drive 24, a haptics element 25, a sensor input drive 26, and a sensor element 27.
  • MCU MicroControllerUnit
  • the CPU 12, the memory 13, the disk 14, the audio interface 15, the GPU 16, and the communication interface 17 are connected via the bus 18 so that data can be transmitted and received to each other.
  • the disk 14 is a non-volatile storage device such as an HDD (Hard Disk Drive) or SSD (Solid State Drive) capable of reading and writing, and a game program and a program (code) such as an SDK are stored.
  • the disk 14 is not limited to the HDD and SSD, and may be a memory card, a read-only CD-ROM (Compact Disc Read Only Memory), a DVD-ROM (Digital Versatile Disc-Read Only Memory), or the like. good.
  • programs such as the target program can be installed from the outside. Further, a program such as a target program is distributed in a state of being stored in a storage medium readable by a computer 11 such as a disk 14. The program such as the target program may be distributed on the Internet connected via the communication interface.
  • the memory 13 is a volatile storage device such as a DRAM (Dynamic Random Access Memory).
  • the communication interface 17 transmits and receives various data to and from the communication interface 23 in the controller 21. This communication may be carried out either by wire or wirelessly, and any communication protocol may be used as long as communication with each other can be carried out.
  • the communication interface 17 transmits various data to the controller 21 according to the instruction from the CPU 12. Further, the communication interface 17 receives various data transmitted from the controller 21 and outputs the received data to the CPU 12.
  • the CPU 12 transfers the program stored in the disk 14 and the data necessary for executing the program to the memory 13.
  • the CPU 12 reads processing instructions and data necessary for executing the program from the memory 13, and executes arithmetic processing according to the contents of the processing instructions. At this time, the CPU 12 may newly generate data necessary for executing the program and store it in the memory 13.
  • the CPU 12 is not limited to the configuration in which programs and data are acquired from the disk 14, but may be configured to acquire programs and data from a server or the like via the Internet.
  • the CPU 12 receives the operation content for the controller 21 of the user 6 and executes a processing instruction according to the operation content to give a movement to the character in the virtual reality. At this time, the CPU 12 performs processing for presenting haptics, displaying video, and outputting audio according to the situation of the character in virtual reality.
  • the CPU 12 provides a waveform signal for presenting the haptics of the force sensation felt when the external force of pulling or pushing is applied to the character in the virtual reality, for example. Generate.
  • the CPU 12 generates a waveform signal for presenting haptics of a reactionary feeling that is felt when a character shoots a gun in virtual reality, for example.
  • the CPU 12 generates a waveform signal for presenting haptics of a feeling of impact when a character is hit in virtual reality, for example.
  • the CPU 12 generates a waveform signal for presenting haptics of a dynamic feeling for musical beats and rhythms, for example, when a character is dancing to music in virtual reality.
  • the CPU 12 generates haptic information by digitally encoding the generated waveform signal, and transmits the generated haptic information to the controller 21 via the communication interface 17.
  • the CPU 12 generates screen information necessary for displaying images such as characters and backgrounds moving in virtual reality, and outputs the generated screen information to the GPU 16.
  • the GPU 16 receives screen information from the CPU 12, for example, performs rendering or the like based on the screen information, and generates a digital video signal including a video such as 3D graphics.
  • the GPU 16 transmits the generated digital video signal to the display monitor 20 to display 3D graphics and the like on the display monitor 20.
  • the CPU 12 generates voice information indicating voice according to the environment, movement, situation, etc. of the character in virtual reality, and outputs the generated voice information to the audio interface 15.
  • the audio interface 15 receives voice information from the CPU 12 and performs rendering or the like based on the received voice information to generate a voice signal.
  • the audio interface 15 outputs the voice from the speaker 19 by transmitting the generated voice signal to the speaker 19.
  • the haptics element 25 in the controller 21 is a vibration actuator that converts an electric signal into mechanical vibration, for example, a voice coil actuator having a wide frequency band for vibration relaxation.
  • the haptic element 25 may be an eccentric motor, a linear resonance actuator, an electromagnetic actuator, a piezoelectric actuator, an ultrasonic actuator, an electrostatic actuator, a polymer actuator, or the like.
  • the MCU 22 controls the haptics output drive 24 and the sensor input drive 26. Specifically, for example, when the MCU 22 receives power supply, it reads out a program stored in a ROM (not shown) and executes arithmetic processing according to the contents of the program.
  • the MCU 22 when the MCU 22 receives the haptics information from the computer 11 via the communication interface 23, the MCU 22 controls the haptics output drive 24 based on the received haptics information, and the haptics element 25 presents the haptics.
  • the MCU 22 outputs haptic information to the haptic output drive 24.
  • the haptics output drive 24 receives haptics information from the MCU 22, and based on the received haptics information, generates an electric signal corresponding to the waveform signal, which is an analog electric signal capable of driving the haptics element 25, and haptics. Output to element 25. As a result, the haptics element 25 vibrates based on the electric signal, and the haptics are presented.
  • the sensor element 27 detects the movement of an operation unit that receives an operation of the user 6, such as a joystick and a button provided on the controller 21, and outputs an analog electric signal indicating the detection result to the sensor input drive 26.
  • the sensor input drive 26 operates, for example, under the control of the MCU 22, supplies electric power required for driving to the sensor element 27, receives an electric signal from the sensor element 27, and converts the received electric signal into a digital signal. ..
  • the sensor input drive 26 outputs the converted digital signal to the MCU 22.
  • the MCU 22 Based on the digital signal received from the sensor input drive 26, the MCU 22 generates operation information indicating the operation content for the controller 21 of the user 6 and transmits the operation information to the computer 11 via the communication interface 23.
  • FIG. 3 is a diagram showing an example of a waveform signal according to the first embodiment of the present invention.
  • the horizontal axis represents time and the vertical axis represents amplitude.
  • the waveform signal 75 is, for example, a periodic rectangular wave that continues for a certain period of time.
  • the waveform signal 75 is a rectangular wave that continues during the period T1 from time ts to time te.
  • the amplitude of the waveform signal 75 may change with time. Further, the length of the period T1 can be arbitrarily set.
  • FIG. 4 is a diagram for explaining the first problem. As shown in FIG. 4, for example, it is assumed that a character in virtual reality is pulled forward at time tsa and further pulled forward at time tsb after time tsa. It is considered that the user 6 expects the force sense of being pulled to the front side in two steps because the character is pulled to the front side and then pulled to the front side.
  • the reference waveform signals 91a and 91b cause weakening interference. Then, the vibration based on the reference composite waveform signal 92 having zero amplitude is presented to the user 6 from the time tsb to the end time tea of the reference waveform signal 91a.
  • the user 6 expected a force sensation to be pulled to the front side in two steps, he / she feels only a weak force sensation, so he / she feels a sense of discomfort.
  • the reference waveform signals 91a and 91b interfere with each other strongly, and the user 6 determines. You can receive the expected force. That is, the force sense received by the user 6 may feel uncomfortable or as expected depending on the difference between the start time of the first event and the start time of the second event. It is difficult to stabilize the force sense received by the user 6 in the configuration in which the reference waveform signal 91b is simply superimposed and synthesized.
  • FIG. 5 is a diagram for explaining the second problem. As shown in FIG. 5, for example, it is assumed that a character in virtual reality is pulled forward at time tsa and pulled backward at time tsb after time tsa, which is the opposite direction of the front side. Since the character is pulled to the front side and then to the rear side, the user 6 is expected to expect a weak force sense that is not pulled by either the front side or the rear side.
  • the reference waveform signal 91c has a symbol opposite to that of the reference waveform signal 91a, when the difference between the time tsa and the time tsb corresponds to a half cycle of the square wave in the reference waveform signal 91a, the reference waveform The signals 91a and 91c cause strong interference. Therefore, the vibration based on the reference composite waveform signal 93 having a large amplitude is presented to the user 6 from the start time tsb of the reference waveform signal 91c to the end time tea of the reference waveform signal 91a.
  • the user 6 expected a weak force sensation that could not be pulled by either the front side or the rear side, but received a strong force sensation, which made him feel uncomfortable.
  • the reference waveform signals 91a and 91c interfere with each other, and the user 6 determines. You can receive the weak sensation as expected. That is, the force sense received by the user 6 may feel uncomfortable or as expected depending on the difference between the start time of the first event and the start time of the second event. It is difficult to stabilize the force sense received by the user 6 in the configuration in which the reference waveform signal 91c is simply superimposed and synthesized.
  • FIG. 6 is a block diagram showing a configuration of a signal generation device according to the first embodiment of the present invention.
  • the signal generation device 1 is configured by, for example, executing a signal generation program, which is an example of a target program, in the CPU 12 of the computer 11.
  • the signal generation device 1 has an event reception unit 31, an envelope generation information acquisition unit 32 (envelope information acquisition unit and weighting information acquisition unit), a current amplitude calculation unit 33 (synthesis unit), and a counter as functional blocks. 34, a modulation unit 35, a unit force sensory wave information acquisition unit 36, and an output unit 37 are provided.
  • the counter 34 counts clock pulses generated by, for example, an oscillation circuit using a crystal oscillator, and holds the counted values. This count value indicates, for example, the current time.
  • the event reception unit 31 receives event information from the game program, for example, when a specific event occurs in a character in virtual reality.
  • the event reception unit 31 starts the ID of the event E1 and the start of the event E1 when, for example, an event in which the character is pulled forward (hereinafter, may be referred to as an event E1) occurs in the virtual reality.
  • Event information indicating the time (hereinafter, may be referred to as event information EM1) is received from the game program.
  • the event reception unit 31 sets the ID of the event E2 and the start time of the event E2, for example, when an event in which the character is pulled to the rear side (hereinafter, may be referred to as an event E2) occurs in the virtual reality.
  • Receives the indicated event information hereinafter, may be referred to as event information EM2) from the game program.
  • the event reception unit 31 Each time the event reception unit 31 receives the event information EM1 or the event information EM2 from the game program, the event reception unit 31 outputs the event information EM1 or the event information EM2 to the envelope generation information acquisition unit 32.
  • FIG. 7 is a diagram showing correspondence information held by the disk in the signal generation device according to the first embodiment of the present invention.
  • 8 and 9 are diagrams showing an example of an event-specific force-amplitude envelope indicated by the envelope waveform information held by the signal generator according to the first embodiment of the present invention.
  • the horizontal axis represents time and the vertical axis represents amplitude.
  • the correspondence information 101 shows the correspondence between the “event content” and the “event ID” and the “envelope generation information”.
  • the "envelope generation information” is information for generating an envelope, that is, an envelope, and includes "envelope waveform information", "start time offset information”, and "weighting information”.
  • the “contents of the event” are, for example, "character is pulled to the front”, “character is pulled to the back”, “character shoots a gun”, “character is hit from the front”, and “character is back”. "I get hit from the side” and “the character dances to the BGM”.
  • the “event ID” is a number unique to the content of the event.
  • “001” and “002” are assigned to “the character is pulled to the front side” and “the character is pulled to the rear side”, respectively.
  • Envelope waveform information is data for creating a waveform of an envelope of a waveform signal corresponding to the content of an event (hereinafter, may be referred to as an event-specific force sensory amplitude envelope).
  • the event-specific force amplitude envelope has, for example, a different waveform depending on the content of the event (event ID).
  • the "envelope waveform information” is, for example, data in which a set of a time and an amplitude at the time is arranged in chronological order.
  • the "envelope waveform information" is, for example, data indicating a set of the time of the control point used for the spline curve and the amplitude at the time when the waveform of the force sensory amplitude envelope for each event is generated by the spline curve. There may be.
  • the envelope waveform information Env1 corresponds to the event whose "event ID” is "001", and shows the event-specific force-amplitude amplitude envelope 71P shown in FIG.
  • the event-specific force-amplitude amplitude envelope 71P is set so as to have a positive amplitude for the event E1 in which the character is pulled forward.
  • the envelope waveform information Env2 corresponds to the event whose "event ID" is "002", and shows the event-specific force amplitude envelope 71M shown in FIG.
  • the event-specific force-amplitude amplitude envelope has an amplitude of a sign different from the sign of the amplitude of the event-specific force-sense amplitude envelope 71P, that is, a negative amplitude.
  • 71M is set.
  • the event-specific force sensation amplitude envelope 71P and the event-specific force sensation amplitude envelope 71M have a shape symmetrical with respect to the axis of zero amplitude, that is, the time axis.
  • the event-specific force-amplitude envelope 71P and the event-specific force-amplitude envelope 71M may have shapes that are asymmetric with respect to the time axis.
  • start time offset information indicates, for example, the difference between the start time of the force sensory amplitude envelope for each event and the start time of the event indicated by the event information. For example, when it is desired to start the vibration in the controller 21 at the time when the event occurs in the character in the virtual reality, the value indicated by the start time offset information is set to zero.
  • the value indicated by the start time offset information when it is desired to advance or delay the start time of the vibration in the controller 21 with respect to the time when the event occurs in the character in the virtual reality, the value indicated by the start time offset information. Is set to a non-zero value. In the present embodiment, for example, when the value indicated by the start time offset information is set to a positive value, the start time of vibration in the controller 21 is delayed from the time when the event occurs in the character in the virtual reality. On the other hand, when the value indicated by the start time offset information is set to a negative value, the start time of the vibration in the controller 21 is earlier than the time when the event occurs in the character in the virtual reality.
  • Weighting information indicates, for example, the weight given to the amplitude of the force sensory amplitude envelope for each event. Specifically, for example, when the weighting information w1 and w2 corresponding to the "event ID" of "001" and “002" both indicate 1, the event-specific force amplitude envelope 71P (see FIG. 8) and the event. The separate force sensation amplitude envelope 71M (see FIG. 9) is used as it is.
  • the amplitude is tripled and the event-specific force sensor amplitude envelope represented by the envelope waveform information Env3 is used.
  • the value indicated by the weighting information w4 corresponding to the event ID 004 is 0.5
  • the amplitude is multiplied by 0.5
  • the event-specific force sensory amplitude envelope represented by the envelope waveform information Env4 is performed. Is used.
  • the envelope generation information acquisition unit 32 when the envelope generation information acquisition unit 32 receives the event information EM1 from the event reception unit 31, the envelope line generation information acquisition unit 32 refers to the correspondence information 101 (see FIG. 7) stored in the disk 14. Then, based on the event information EM1, the envelope generation information acquisition unit 32 has the envelope generation information corresponding to the “event ID” of “001”, that is, the envelope waveform information Env1, the start time offset information Ts1, and the weighting information w1. Is obtained from the disk 14.
  • the envelope generation information acquisition unit 32 starts the event-specific force-amplitude amplitude envelope 71P based on the start time and the start time offset information Ts1 of the event E1 indicated by the event information EM1 (hereinafter, the first setting). It may be called the time.) Is calculated.
  • the envelope generation information acquisition unit 32 generates the first envelope setting information including the first set time, the envelope waveform information Env1 and the weighting information w1, and outputs the first envelope setting information to the current amplitude calculation unit 33.
  • the envelope generation information acquisition unit 32 receives the event information EM2 from the event reception unit 31, the envelope line generation information acquisition unit 32 refers to the correspondence information 101 stored in the disk 14. Then, the envelope generation information acquisition unit 32 bases on the event information EM2, and the envelope generation information corresponding to the “event ID” of “002”, that is, the envelope waveform information Env2, the start time offset information Ts2, and the weighting information w2. Is obtained from the disk 14.
  • the envelope generation information acquisition unit 32 should start the event-specific force-amplitude amplitude envelope 71M based on the start time and the start time offset information Ts2 of the event E2 indicated by the event information EM2 (hereinafter, the second setting). It may be called the time.) Is calculated.
  • the envelope generation information acquisition unit 32 generates the second envelope setting information including the set time information indicating the second set time, the envelope waveform information Env2, and the weighting information w2, and outputs the second envelope setting information to the current amplitude calculation unit 33.
  • the current amplitude calculation unit 33 When the current amplitude calculation unit 33 receives the first envelope setting information from the envelope generation information acquisition unit 32, the amplitude calculation unit 33 is based on the first set time and the envelope waveform information Env1 included in the received first envelope setting information. The start time and end time of the event-specific force amplitude envelope 71P (see FIG. 8) are calculated. Then, the current amplitude calculation unit 33 sets the generation period from the start time to the end time (hereinafter, may be referred to as a waveform signal generation period Tp).
  • the current amplitude calculation unit 33 performs a process of weighting the amplitude of the event-specific force sensory amplitude envelope 71P based on the weighting information w1 included in the first envelope setting information.
  • the amplitude of the event-specific force-sensing amplitude envelope 71P is the same before and after the processing.
  • the current amplitude calculation unit 33 When the current amplitude calculation unit 33 receives the second envelope setting information from the envelope generation information acquisition unit 32, the amplitude calculation unit 33 is based on the second set time and the envelope waveform information Env2 included in the received second envelope setting information. The start time and end time of the event-specific force amplitude envelope 71M (see FIG. 9) are calculated. Then, the current amplitude calculation unit 33 sets the generation period from the start time to the end time (hereinafter, may be referred to as a waveform signal generation period Tm).
  • the current amplitude calculation unit 33 performs a process of weighting the amplitude of the event-specific force sensory amplitude envelope 71M based on the weighting information w2 included in the second envelope setting information.
  • the amplitude of the event-specific force-sensing amplitude envelope 71M is the same before and after the processing.
  • the current amplitude calculation unit 33 sets, for example, a confirmation time for each predetermined time.
  • the current amplitude calculation unit 33 monitors the count value in the counter 34, that is, the current time, and when the confirmation time arrives, confirms whether or not there is an overlap in the waveform signal generation periods.
  • the existence of overlapping waveform signal generation periods means that the next waveform signal generation period Tp or Tm starts before the waveform signal generation period Tp or Tm ends.
  • the fact that there is no overlap of the waveform signal generation periods means that the next waveform signal generation period Tp or Tm starts after the waveform signal generation period Tp or Tm ends.
  • the amplitude of the event-specific force-sensitive amplitude envelope 71P or 71M at the current time (hereinafter, may be referred to as an envelope current amplitude).
  • the value of is acquired, and the value of the acquired envelope current amplitude is output to the modulation unit 35.
  • FIG. 10 is a diagram showing an example of an event-specific force-amplitude envelope synthesized by the signal generator according to the first embodiment of the present invention.
  • each horizontal axis indicates time, and each vertical axis indicates amplitude.
  • FIG. 10 shows an event-specific force sensation amplitude envelope 71Pa (first envelope) and an event-specific force sensation amplitude envelope 71Pb (second envelope).
  • the event-specific force-amplitude amplitude envelope 71Pa is an envelope of the waveform signal 75d (first waveform signal) corresponding to the event E1 (first event).
  • the event-specific force amplitude envelope 71Pb is an envelope of the waveform signal 75e (second waveform signal) corresponding to another event E1 (second event) generated after the event E1.
  • the sign of the event-specific force-amplitude envelope 71Pa and the sign of the event-specific force-amplitude envelope 71Pb are the same.
  • the first set time and the envelope waveform information Env1 included in the first envelope setting information used to generate the event-specific force amplitude envelope 71Pa is the first envelope information P1 indicating the event-specific force amplitude envelope 71Pa. ..
  • the first set time and the envelope waveform information Env1 included in the first envelope setting information used to generate the event-specific force amplitude envelope 71Pb is the second envelope information P2 indicating the event-specific force amplitude envelope 71Pb. ..
  • the first set time is different between the first envelope information P1 and the second envelope information P2.
  • the wave signal generation period Tpb start time t2 (second timing) of the event-specific force amplitude envelope 71Pb is the waveform signal generation period Tpa start time t1 (first timing) of the event-specific force amplitude envelope 71Pa and the waveform signal generation. It is between the end time t3 of the period Tpa.
  • the start time t2 is a time after the start time t1 by half a cycle of the waveform signal 75d.
  • the event-specific force-amplitude envelope 71Pa and the event-specific force-amplitude envelope 71Pb are combined. (Overlap) to generate a synthetic envelope (synthetic envelope) 72a.
  • the synthetic envelope 72a has the same amplitude as the event-specific force sensory amplitude envelope 71Pa from the start time t1 to the start time t2. Further, the synthetic envelope 72a has an amplitude obtained by adding the amplitude of the event-specific force sensory amplitude envelope 71Pa and the amplitude of the event-specific force sensory amplitude envelope 71Pb from the start time t2 to the end time t3, that is, the event-specific force sensory amplitude envelope 71Pa. It has twice the amplitude. Further, the synthetic envelope 72a has the same amplitude as the amplitude of the event-specific force sensory envelope 71Pb from the end time t3 to the end time t4 of the waveform signal generation period Tpb.
  • the current amplitude calculation unit 33 acquires the value of the envelope current amplitude of the synthetic envelope 72a, and outputs the acquired value of the envelope current amplitude to the modulation unit 35.
  • FIG. 11 is a diagram showing an example of an event-specific force-amplitude envelope synthesized by the signal generation device according to the first embodiment of the present invention.
  • each horizontal axis indicates time, and each vertical axis indicates amplitude.
  • FIG. 11 shows an event-specific force sensation amplitude envelope 71Pc (first envelope) and an event-specific force sensation amplitude envelope 71Ma (second envelope).
  • the event-specific force-amplitude amplitude envelope 71Pc is an envelope of the waveform signal 75f (first waveform signal) corresponding to the event E1 (first event).
  • the event-specific force amplitude envelope 71Ma is an envelope of the waveform signal 75 g (second waveform signal) corresponding to the event E2 (second event) generated after the event E1.
  • the sign of the event-specific force-amplitude envelope 71Pc and the sign of the event-specific force-amplitude envelope 71Ma are different.
  • the first set time and the envelope waveform information Env1 included in the first envelope setting information used to generate the event-specific force amplitude envelope 71Pc is the first envelope information Q1 indicating the event-specific force amplitude envelope 71Pc. ..
  • the second set time and the envelope waveform information Env2 included in the second envelope setting information used to generate the event-specific force amplitude envelope 71Ma is the second envelope information Q2 indicating the event-specific force amplitude envelope 71Ma. .. In this case, both the first set time and the envelope waveform information are different between the first envelope information P1 and the second envelope information P2.
  • the start time t6 (second timing) of the waveform signal generation period Tma of the force sensory amplitude envelope 71Ma for each event is the start time t5 (first timing) of the waveform signal generation period Tpc of the force sensory amplitude envelope 71Pc for each event and the waveform signal generation. It is between the end time t7 of the period Tpc.
  • the start time t6 is a time after a half cycle of the waveform signal 75f with respect to the start time t5.
  • the event-specific force-amplitude envelope 71Pc and the event-specific force-amplitude envelope 71Ma are combined. (Overlap) to generate a synthetic envelope (synthetic envelope) 72b.
  • the synthetic envelope 72b has the same amplitude as the event-specific force sensory amplitude envelope 71Pc from the start time t5 to the start time t6. Further, the synthetic envelope 72b has an amplitude, that is, zero, which is the sum of the amplitude of the event-specific force sensation envelope 71Pc and the amplitude of the event-specific force sensation envelope 71Ma from the start time t6 to the end time t7. Further, the synthetic envelope 72b has the same amplitude as the amplitude of the event-specific force sensory envelope 71Ma from the end time t7 to the end time t8 of the waveform signal generation period Tma.
  • the current amplitude calculation unit 33 acquires the value of the envelope current amplitude of the synthetic envelope 72b, and outputs the acquired value of the envelope current amplitude to the modulation unit 35.
  • FIG. 12 is a diagram showing an example of a unit force sensory wave held by the signal generator according to the first embodiment of the present invention.
  • FIG. 13 is a diagram showing an example of a waveform signal when the waveform signal generation periods according to the first embodiment of the present invention do not overlap.
  • the horizontal axis represents time and the vertical axis represents amplitude.
  • the force sensory wave 74 has a period Pu. Further, the force sensation wave 74 is a wave that vibrates in the waveform signal generation period Tp, Tpa, Tpb, Tpc and Tma.
  • FIG. 12 shows a force sensation wave for one cycle (hereinafter, may be referred to as a unit force sensation wave 73).
  • the force sensory wave 74 is a rectangular wave having a period Pu.
  • the shape of the unit force sensory wave 73 is not limited to the rectangular wave, and may have any shape.
  • the unit force sensory wave information indicating the period and shape of the unit force sensory wave 73 is stored in advance on, for example, the disk 14.
  • the unit force sensation wave information is data for creating a force sensation wave waveform, and specifically, for example, is data in which a set of a time and an amplitude at the time is arranged in chronological order.
  • the unit force wave information may be, for example, data indicating a set of the time of the control point used for the spline curve and the amplitude at the time when the waveform of the force sense wave is generated by the spline curve. ..
  • the unit force sensation wave information acquisition unit 36 acquires the unit force sensation wave information from the disk 14, and outputs the acquired unit force sensation wave information to the modulation unit 35.
  • the value of the envelope current amplitude of the event-specific force-sensitive amplitude envelope 71P (see FIG. 8) is modulated.
  • the event-specific force-amplitude amplitude envelope 71P, force-sense wave 74, and waveform signal 75a when output to the unit 35 are shown.
  • FIG. 14 is a diagram showing an example of a waveform signal when there is an overlap in waveform signal generation periods according to the first embodiment of the present invention.
  • each horizontal axis indicates time, and each vertical axis indicates amplitude.
  • the value of the envelope current amplitude of the synthetic envelope 72a is output to the modulation unit 35.
  • the synthetic envelope 72a, the force sensation wave 74 and the waveform signal 75b, as they are, are shown.
  • FIG. 15 is a diagram showing an example of a waveform signal when there is an overlap in waveform signal generation periods according to the first embodiment of the present invention.
  • each horizontal axis indicates time, and each vertical axis indicates amplitude.
  • the value of the envelope current amplitude of the synthetic envelope 72b is output to the modulation unit 35.
  • the synthetic envelope 72b, the force sensation wave 74 and the waveform signal 75c, as they are, are shown.
  • the modulation unit 35 modulates the periodic force sensory wave by the synthetic envelope to generate a waveform signal.
  • the modulation unit 35 receives the unit force sensation wave information from the unit force sensation wave information acquisition unit 36, and generates the unit force sensation wave 73 based on the received unit force sensation wave information.
  • the modulation unit 35 generates the unit force sensation wave 73 for each period Pu to generate the force sensation wave 74 in which the unit force sensation wave 73 is continuous (see FIGS. 13 to 15).
  • the modulation unit 35 modulates the force sensory wave 74 according to the value of the envelope current amplitude of the event-specific force sensory amplitude envelope 71P, the synthetic envelope 72a, or the synthetic envelope 72b received from the current amplitude calculation unit 33 with the passage of the current time, and waveforms. Generate signals 75a, 75b or 75c, respectively.
  • the modulation in the modulation unit 35 is, for example, digital modulation.
  • the modulation in the modulation unit 35 may be analog modulation.
  • the modulation unit 35 acquires the value of the amplitude of the generated waveform signal 75a, 75b or 75c at the current time (hereinafter, may be referred to as the signal current amplitude) and outputs the value to the output unit 37.
  • the output unit 37 When the output unit 37 receives the signal current amplitude value from the modulation unit 35, the output unit 37 generates haptic information by digitally encoding the received signal current amplitude value, and the generated haptic information is transmitted to the controller 21 via the communication interface 17. Send to.
  • the waveform signal 75d and the waveform signal 75e cause weak interference.
  • the start time t2 of the waveform signal generation period Tpb is later than the start time t1 of the waveform signal generation period Tpa and earlier than the end time t3, regardless of the difference between the start time t2 and the start time t1.
  • the synthetic envelope 72a can maintain a positively pointed convex shape. Then, as shown in FIG.
  • the waveform signal 75b can be generated by the configuration in which the force sensory wave 74 is modulated by such a synthetic envelope 72a, so that the start time of the first event and the start time of the second event can be generated. Regardless of the difference from the start time, the user 6 can receive the force sensation of being pulled forward in two steps as expected. That is, the first problem can be solved.
  • the waveform signal 75f and the waveform signal 75g cause strong interference with each other.
  • the start time t6 of the waveform signal generation period Tma is later than the start time t5 of the waveform signal generation period Tpc and earlier than the end time t7, regardless of the difference between the start time t6 and the start time t5,
  • the synthetic envelope 72b can maintain a shape in which the amplitude between the start time t6 and the end time t7 is zero. Then, as shown in FIG.
  • the waveform signal 75c can be generated by the configuration in which the force sensory wave 74 is modulated by such a synthetic envelope 72b, so that the start time of the first event and the start time of the second event can be generated. Regardless of the difference from the start time, the user 6 can receive the weak force as expected. That is, the second problem can be solved. Therefore, the force sense received by the user 6 can be stabilized regardless of the start time of two or more events.
  • FIG. 16 is a flowchart defining an operation procedure when the signal generation device according to the first embodiment of the present invention performs event information processing.
  • the event reception unit 31 in the signal generation device 1 waits until event information is received from the game program (NO in step S102).
  • the event reception unit 31 when the event reception unit 31 receives the event information from the game program (YES in step S102), the event reception unit 31 outputs the received event information to the envelope generation information acquisition unit 32.
  • the envelope generation information acquisition unit 32 receives the event information from the event reception unit 31, the envelope generation information acquisition unit 32 acquires the envelope generation information corresponding to the event ID indicated by the received event information from the disk 14 (step S104).
  • the envelope generation information acquisition unit 32 calculates the time when the event-specific force amplitude envelope should be started based on the acquired envelope generation information and event information (step S106).
  • the envelope generation information acquisition unit 32 generates envelope setting information including the time when the event-specific force-amplitude amplitude envelope should be started, the envelope waveform information, and the weighting information, based on the envelope generation information. It is currently output to the amplitude calculation unit 33 (step S108).
  • the current amplitude calculation unit 33 sets the waveform signal generation period based on the envelope setting information (step S110).
  • the current amplitude calculation unit 33 weights the amplitude of the event-specific force sensory amplitude envelope indicated by the envelope waveform information included in the envelope setting information based on the weighting information included in the envelope setting information (). Step S112).
  • the event reception unit 31 waits until new event information is received from the game program (NO in step S102).
  • steps S110 and S112 are not limited to the above, and the order may be changed.
  • FIG. 17 is a flowchart defining an operation procedure when the signal generation device according to the first embodiment of the present invention performs waveform signal generation processing.
  • the current amplitude calculation unit 33 in the signal generation device 1 confirms whether or not there is a waveform signal generation period that overlaps with each other. (Step S204).
  • the current amplitude calculation unit 33 acquires the envelope current amplitude of the force-sensitive amplitude envelope for each event, and obtains the value of the envelope current amplitude. Output to the modulation unit 35 (step S206).
  • the current amplitude calculation unit 33 generates a synthetic envelope, acquires the envelope current amplitude of the synthetic envelope, and modulates the value of the envelope current amplitude when there is a waveform signal generation period that overlaps with each other. Perform a synthesis process to output to the unit 35 (step S208). The details of the synthesis process will be described later.
  • the modulation unit 35 receives a unit force wave.
  • the force sensory wave 74 is generated by generating the unit force sensory wave 73 for each period Pu based on the unit force sensory wave information received from the information acquisition unit 36 (step S210).
  • the modulation unit 35 modulates the force sensory wave 74 with the value of the envelope current amplitude received from the current amplitude calculation unit 33, and generates a waveform signal.
  • the modulation unit 35 acquires the value of the signal current amplitude of the waveform signal and outputs it to the output unit 37 (step S212).
  • the output unit 37 when the output unit 37 receives the value of the signal current amplitude from the modulation unit 35, the output unit 37 generates haptic information by digitally encoding the value of the received signal current amplitude, and the generated haptic information is transmitted via the communication interface 17. Is transmitted to the controller 21 (step S214).
  • steps S210 to S214 is repeated until the amplitude calculation unit 33 currently confirms that a new confirmation time has arrived (NO in step S202).
  • FIG. 18 is a flowchart defining an operation procedure when the signal generator according to the first embodiment of the present invention performs a synthesis process.
  • FIG. 18 shows the details of the operation in step S208 of FIG.
  • N integer of 2 or more waveform signal generation periods overlap each other.
  • N event-specific force-amplitude envelopes correspond to each of the N waveform signal generation periods.
  • the current amplitude calculation unit 33 in the signal generation device 1 sets, for example, the integer i to 1, and performs an initial value setting process for resetting the combined amplitude value to zero (step S302).
  • the current amplitude calculation unit 33 selects the i-th event-specific force-amplitude amplitude envelope corresponding to the i-th waveform signal generation period of the N waveform signal generation periods (step S304).
  • the current amplitude calculation unit 33 acquires the envelope current amplitude of the i-th event-specific force-sensitive amplitude envelope (step S306).
  • the current amplitude calculation unit 33 performs an addition process of adding the acquired current envelope amplitude to the combined amplitude value (step S308).
  • the current amplitude calculation unit 33 increments the integer i (step S310).
  • the current amplitude calculation unit 33 confirms whether or not all of the N event-specific force-amplitude amplitude envelopes have been selected (step S312). Specifically, the current amplitude calculation unit 33 confirms whether or not the integer i is larger than N.
  • step S304 when the current amplitude calculation unit 33 has not selected all of the N event-specific force-amplitude amplitude envelopes, that is, when the integer i is N or less (NO in step S312), the remaining waveform signal generation period.
  • the current amplitude calculation unit 33 presents the synthetic amplitude value, that is, the envelope of the synthetic envelope.
  • the amplitude value is output to the modulation unit 35 (step S314). This ends the synthesis process.
  • the weighting information has been described as static information included in the correspondence information 101 previously stored in the disk 14, but the weighting information is dynamic information.
  • the game program may have a configuration in which the weighting information can be rewritten.
  • the value indicated by the weighting information can be changed according to the situation of the game, so the priority of the haptics presentation can be set for each event, and the priority can be changed according to the situation of the game, or the game. It is possible to adjust the strength of the force sense according to the situation of.
  • the envelope generation information acquisition unit 32 acquires the envelope generation information from the disk 14 to generate the event-specific force-amplitude amplitude envelope has been described.
  • the information acquisition unit 32 may be configured to generate a plurality of patterns of force sensory amplitude envelopes for each event in advance and hold them in the memory 13, and read the force sensory amplitude envelopes for each event from the memory 13 as needed.
  • the current amplitude calculation unit 33 synthesizes two weighted force-sensitive amplitude envelopes for each event to generate a synthetic envelope, and envelops the envelope based on the generated synthetic envelope.
  • the configuration for acquiring the line current amplitude value has been described, but the present invention is not limited to this.
  • the current amplitude calculation unit 33 synthesizes two event-specific force-sensitive amplitude envelopes without weighting to generate a synthetic envelope, and when acquiring the value of the envelope current amplitude from the generated synthetic envelope, the following processing is performed. May be done.
  • the current amplitude calculation unit 33 weights the amplitudes of the force-sensitive amplitude envelopes for each event constituting the synthetic envelope at the current time, and adds the weighted amplitudes to the value of the envelope current amplitude. May be configured to acquire.
  • the amplitude calculation unit 33 may perform a limiter process for limiting the upper limit of the composite envelope or a process for adjusting the shape of the composite envelope.
  • the modulation unit 35 may perform limiter processing that limits the upper limit of the waveform signal, for example.
  • another waveform signal may be superimposed on the waveform signal based on the synthetic envelope output by the signal generation device 1.
  • the signal generation device 1 of the present embodiment has described a configuration for generating a waveform signal that causes the controller 21 to generate vibration in response to an event in virtual reality, but the present invention is not limited to this.
  • the signal generation device 1 when an operation target such as a construction machine, a vehicle, or an airplane is remotely operated by a controller, the signal generation device 1 generates a waveform signal that causes the controller to generate vibration according to an actual event in the operation target. It may be a configuration.
  • the current amplitude calculation unit 33 synthesizes the event-specific force-amplitude amplitude envelopes 71Pa and 71Pb based on, for example, the first envelope information P1 and the second envelope information P2.
  • the amplitude calculation unit 33 is configured to generate a synthetic envelope by synthesizing three or more event-specific force-sensitive amplitude envelopes indicated by each of the three or more envelope information based on the three or more envelope information. You may.
  • a configuration for generating a force sense wave 74 by using a unit force sense wave 73 stored in advance on the disk 14 has been described, but in the game system according to the second embodiment, the force sense wave has been described. It differs from the game system according to the first embodiment in that the unit force sensation wave used for wave generation can be changed.
  • the satisfaction level of the user 6 with respect to the force sense varies depending on, for example, the sensitivity of the hand, the thickness of the skin, the age, the sex, the physical condition and the psychological state, and the usage time zone such as morning, noon and evening.
  • the user 6 has a taste and preference regarding a sense of force, strength of stimulation, quietness, and power consumption.
  • the unit force sensation wave used for generating the waveform signal is fixed even though the unit force sensation wave that gives a highly satisfying force sensation is different for each user 6. Therefore, it is difficult to improve the satisfaction level for the user 6 who is dissatisfied with the force sense based on the unit force sense wave.
  • FIG. 19 is a diagram showing an example of a candidate unit force sensory wave stored on a disk according to a second embodiment of the present invention.
  • each horizontal axis indicates time, and each vertical axis indicates amplitude.
  • FIG. 19 shows unit force sensation waves 73, 73a and 73b as candidate unit force sensation waves that are candidates for the unit force sensation wave for generating the force sensation wave modulated by the envelope of the waveform signal.
  • the unit force sensory waves 73, 73a and 73b have the same shape.
  • two unit force sensations "have the same shape” means that one unit force sensation wave is independently expanded and contracted in the time axis direction and the amplitude axis direction, and one unit force sensation after expansion and contraction is performed. It means that it is possible to match the waveform of the wave with the waveform of the other unit force sensation wave.
  • the unit force sense waves 73, 73a and 73b are rectangular waves.
  • the unit force sense waves 73, 73a and 73b have different fundamental frequencies.
  • the unit force sensation wave 73 is the same rectangular wave as the unit force sensation wave 73 shown in FIG.
  • the unit force sensation wave 73a has a period Pu1 shorter than the period Pu of the unit force sensation wave 73.
  • the unit force sensation wave 73a has a fundamental frequency higher than the fundamental frequency of the unit force sensation wave 73.
  • the unit force sensation wave 73b has a period Pu2 longer than the period Pu of the unit force sensation wave 73. In other words, the unit force sensation wave 73b has a fundamental frequency lower than the fundamental frequency of the unit force sensation wave 73.
  • FIG. 20 is a diagram showing an example of a candidate unit force sensory wave stored on a disk according to a second embodiment of the present invention.
  • each horizontal axis indicates time, and each vertical axis indicates amplitude.
  • unit force sensation waves 73, 83 and 84 are shown as candidate unit force sensation waves.
  • the unit force sensory waves 73, 83 and 84 have the same period Pu, that is, have the same fundamental frequency.
  • the unit force sense waves 73, 83 and 84 have different shapes.
  • “the two unit force sensations have different shapes” means that one unit force sensation wave is independently expanded and contracted in the time axis direction and the amplitude axis direction, and one unit force sensation after expansion and contraction is performed. It means that the waveform of the wave and the waveform of the other unit force sensation wave cannot be matched.
  • the unit force sense waves 73, 83 and 84 are a rectangular wave, a sawtooth wave and a triangular wave, respectively.
  • the unit force sensation wave may have any shape as long as it is a periodic wave.
  • the shape of the unit force sensation wave may be a waveform shape in which a part or all of a sawtooth wave, a square wave, a triangular wave, and a sine wave are combined.
  • FIG. 21 is a diagram showing an example of a candidate unit force sensory wave stored on a disk according to a second embodiment of the present invention.
  • each horizontal axis indicates time, and each vertical axis indicates amplitude.
  • unit force sensation waves 73, 73c and 73d are shown as candidate unit force sensation waves.
  • the unit force sensory waves 73, 73c and 73d have the same period Pu, that is, have the same fundamental frequency. Further, the unit force sense waves 73, 73c and 73d have the same shape. In this embodiment, the unit force sense waves 73, 73c and 73d are rectangular waves. On the other hand, the unit force sense waves 73, 73c and 73d differ in the smoothness of the waveform shape.
  • the unit force sensation wave 73 is the same rectangular wave as the unit force sensation wave 73 shown in FIGS. 12, 19 and 20.
  • the unit force sensation wave 73c is, for example, a rectangular wave having rounded corners by subtracting a high frequency component from the unit force sensation wave 73.
  • the unit force sensation wave 73d is, for example, a rectangular wave whose corners are further rounded by subtracting a high frequency component from the unit force sensation wave 73c.
  • the unit force sensation wave having different smoothness is not limited to the rectangular wave, and any shape can be used as long as it is a periodic wave. May have.
  • the disk 14 stores, for example, seven candidate information indicating, for example, unit force sensory waves 73, 73a, 73b, 73c, 73d, 83 and 84, respectively.
  • Each candidate information is managed by, for example, an index.
  • the disk 14 may store not only these seven candidate information but also candidate information indicating another unit force sensory wave.
  • the candidate information has, for example, a data format similar to the unit force sensory wave information.
  • FIG. 22 is a block diagram showing a configuration of a force sensory wave determining device according to a second embodiment of the present invention.
  • the force sensory wave determination device 2 is configured by, for example, executing a force sensory wave determination program, which is an example of the target program, in the CPU 12 of the computer 11.
  • the force / sensory wave determination device 2 operates as a function block with a command reception unit 51, a candidate information processing unit 52 (candidate information acquisition unit and determination unit), a presentation processing unit 53, and an envelope waveform information acquisition unit 55. It includes an information reception unit 57 (selection result acquisition unit).
  • the game program (see FIG. 1) displays, for example, a game content setting screen or a game system setting screen for controlling the GPU 16 and haptics tuning on the display monitor 20 in order to allow the user 6 to select a unit force sensory wave. Display. At this time, the game program outputs a force sensory wave determination processing execution command to the command reception unit 51.
  • the command reception unit 51 When the command reception unit 51 receives a force sensor wave determination process execution command from the game program, it activates the force sensor wave determination program and outputs the force sensor wave determination process execution command to the candidate information processing unit 52.
  • the candidate information processing unit 52 When the candidate information processing unit 52 receives a force sensory wave determination processing execution command from the command receiving unit 51, the candidate information processing unit 52 acquires two candidate information from the disk 14 from the plurality of candidate information stored in the disk 14.
  • the two candidate information is, for example, candidate information for generating waveform signals that give significantly different stimuli.
  • the two candidate information is, for example, the first candidate information for generating a waveform signal giving a strong stimulus and the second candidate information for generating a waveform signal giving a weak stimulus.
  • the two candidate information may be candidate information for generating waveform signals that give significantly different quietness.
  • the two candidate information is not limited to stimulation and quietness, but may be candidate information for generating a waveform signal that gives a greatly different power consumption, fundamental frequency, or smoothness of the shape of the waveform.
  • the candidate information processing unit 52 outputs, for example, the first candidate information to the presentation processing unit 53.
  • the candidate information processing unit 52 controls the GPU 16 and causes the controller 21 to generate a vibration based on the unit force sensory wave indicated by the first candidate information (hereinafter, may be referred to as a first candidate vibration).
  • the display monitor 20 may display the fact that the information is being processed.
  • the envelope waveform information acquisition unit 55 refers to the corresponding information 101 (see FIG. 7) stored in the disk 14, and acquires the envelope waveform information from the disk 14.
  • the envelope waveform information acquired by the envelope waveform information acquisition unit 55 is, for example, the envelope waveform information corresponding to the event ID defined in the initial setting.
  • the envelope waveform information may be specified by the game program.
  • the envelope waveform information acquisition unit 55 outputs the acquired envelope waveform information to the presentation processing unit 53.
  • the presentation processing unit 53 When the presentation processing unit 53 receives the first candidate information from the candidate information processing unit 52, the presentation processing unit 53 generates haptics information based on the first candidate information and the envelope waveform information received from the envelope waveform information acquisition unit 55, and the generated haptics. Information is transmitted to the controller 21 via the communication interface 17. As a result, the first candidate vibration is generated in the controller 21.
  • the candidate information processing unit 52 outputs the second candidate information to the presentation processing unit 53 when the predetermined waiting time W has elapsed after outputting the first candidate information to the presentation processing unit 53.
  • the controller 21 generates vibration based on the unit force sensation wave indicated by the second candidate information (hereinafter, may be referred to as the second candidate vibration).
  • the candidate information processing unit 52 may control the GPU 16 and display on the display monitor 20 that the second candidate vibration is generated in the controller 21.
  • the waiting time W is set to be longer than, for example, the length of the waveform signal generation period of the event-specific force-amplitude envelope indicated by the envelope waveform information. This makes it possible to prevent the first candidate vibration and the second candidate vibration from occurring at the same time.
  • the candidate information processing unit 52 controls the GPU 16 when the waiting time W elapses after outputting the second candidate information to the presentation processing unit 53, and controls the first candidate vibration that occurs first and the second candidate vibration that occurs last.
  • the display monitor 20 is displayed to the effect that the user 6 is prompted to select one of the above.
  • FIG. 23 is a block diagram showing a configuration of a presentation processing unit in the force-sensitive wave determining device according to the second embodiment of the present invention.
  • FIG. 24 is a diagram showing an example of an event-specific force sensation amplitude envelope, a second candidate force sensation wave, and a waveform signal according to the second embodiment of the present invention.
  • each horizontal axis indicates time, and each vertical axis indicates amplitude.
  • FIG. 24 shows the event-specific force-sensing amplitude envelope 71P, the force-sensing wave 74d, and the waveform signal 75h shown in FIG.
  • the presentation processing unit 53 includes a counter 34, a modulation unit 35, an output unit 37 (vibration generation unit), and a current amplitude calculation unit 63 as functional blocks. include.
  • the current amplitude calculation unit 63 When the current amplitude calculation unit 63 receives the envelope waveform information from the envelope waveform information acquisition unit 55, it monitors the count value in the counter 34, that is, the current time, and when the confirmation time arrives, the event-specific force indicated by the envelope waveform information.
  • the value of the envelope current amplitude of the sensation amplitude envelope (for example, the event-specific force sensation amplitude envelope 71P shown in FIGS. 13 and 24) is acquired.
  • the current amplitude calculation unit 63 outputs the acquired value of the current envelope amplitude to the modulation unit 35.
  • the modulation unit 35 When the modulation unit 35 receives the first candidate information from the candidate information processing unit 52, the modulation unit 35 causes the unit force sensation wave (for example, the unit force sensation wave 73 shown in FIG. 13) indicated by the first candidate information to have a cycle (for example, period Pu).
  • a continuous force sensory wave hereinafter, may be referred to as a first candidate force sensory wave
  • the force sensory wave 74 shown in FIG. 13 is generated by the unit force sensory wave.
  • the modulation unit 35 modulates the first candidate force sensory wave with the value of the envelope current amplitude received from the current amplitude calculation unit 63 with the passage of the current time, and may be referred to as a waveform signal (hereinafter, referred to as a first waveform signal). ) (For example, the waveform signal 75a shown in FIG. 13) is generated.
  • the modulation unit 35 outputs the value of the signal current amplitude of the first waveform signal to the output unit 37.
  • the modulation unit 35 when the modulation unit 35 receives the second candidate information from the candidate information processing unit 52, the modulation unit 35 cycles the unit force sensory wave (for example, the unit force sensory wave 73d shown in FIGS. 21 and 24) indicated by the second candidate information.
  • the unit force sensation wave is a continuous force sensation wave (hereinafter, may be referred to as a second candidate force sensation wave) (for example, the force sensation wave 74d shown in FIG. 24). ) Is generated.
  • the modulation unit 35 modulates the second candidate force sensory wave with the value of the envelope current amplitude received from the current amplitude calculation unit 63 with the passage of the current time, and may be referred to as a waveform signal (hereinafter, referred to as a second waveform signal). ) (For example, the waveform signal 75h shown in FIG. 24) is generated.
  • the modulation unit 35 outputs the value of the signal current amplitude of the second waveform signal to the output unit 37.
  • the output unit 37 causes the controller 21 to generate a vibration based on the first waveform signal, that is, a first candidate vibration, and a vibration based on the second waveform signal, that is, a second candidate vibration.
  • the output unit 37 receives the value of the signal current amplitude from the modulation unit 35, the output unit 37 generates haptic information by digitally encoding the value of the received signal current amplitude, and the generated haptic information is used as a communication interface. It is transmitted to the controller 21 via 17.
  • the operation information receiving unit 57 acquires the selection result by the user 6 for the first candidate vibration and the second candidate vibration.
  • the user 6 is looking at the display monitor 20 while holding the controller 21 by hand, for example.
  • the user 6 is based on the first candidate vibration generated first in the controller 21 and the second candidate vibration generated last, and the force sense due to the first candidate vibration (hereinafter, may be referred to as the first force sense).
  • the force sensation due to the second candidate vibration (hereinafter, may be referred to as the second force sensation) are recognized respectively.
  • the user 6 performs an operation on the controller 21 to select a vibration that generates a force sense that suits his / her taste and preference from the first force sense and the second force sense. Specifically, the user 6 performs an operation on the controller 21 to select either the first candidate vibration generated first or the second candidate vibration generated last.
  • the controller 21 generates operation information indicating the operation result by the user 6 and transmits it to the operation information receiving unit 57.
  • the operation information receiving unit 57 receives the operation information from the controller 21, the operation information receiving unit 57 outputs the received operation information to the candidate information processing unit 52.
  • the candidate information processing unit 52 determines the force sensory wave based on the operation information acquired by the operation information reception unit 57.
  • the candidate information processing unit 52 generates a second waveform signal that gives a weak stimulus, for example, when the operation information indicates that the first candidate vibration generated first is selected by the user 6. Discard the candidate information. Then, the candidate information processing unit 52 selects new second candidate information for generating a waveform signal that gives a slightly stronger stimulus than the weak stimulus from the plurality of candidate information stored in the disk 14. Get from.
  • the candidate information processing unit 52 outputs the first candidate information that has not been discarded to the presentation processing unit 53. Then, when the waiting time W elapses after the candidate information processing unit 52 outputs the first candidate information to the presentation processing unit 53, the candidate information processing unit 52 outputs new second candidate information to the presentation processing unit 53.
  • the candidate information processing unit 52 for example, when the operation information indicates that the second candidate vibration generated last is selected by the user 6, the candidate information processing unit 52 provides the first candidate information for generating a waveform signal that gives a strong stimulus. Discard. Then, the candidate information processing unit 52 selects new first candidate information for generating a waveform signal that gives a slightly weaker stimulus than the strong stimulus from the plurality of candidate information stored in the disk 14. Get from.
  • the candidate information processing unit 52 outputs new first candidate information to the presentation processing unit 53. Then, when the waiting time W elapses after the new first candidate information is output to the presentation processing unit 53, the candidate information processing unit 52 outputs the second candidate information that has not been discarded to the presentation processing unit 53.
  • the candidate information processing unit 52 determines that the selection of the unit force sensory wave is sufficiently narrowed down when the predetermined condition is satisfied, and determines the unit force sensory wave to be used in the game program. Then, the candidate information processing unit 52 stores (registers) the candidate information indicating the unit force sensory wave on the disk 14 as the unit force sensory wave information, and transfers the decision information indicating that the force sensory wave is determined to the game program. Output.
  • the game program receives the decision information from the candidate information processing unit 52, for example, the game program controls the GPU 16 and switches the display content of the display monitor 20 from the game content setting screen or the game system setting screen to the game execution screen.
  • the predetermined condition is that, for example, candidate information for generating a waveform signal that gives a stimulus suitable for the taste and preference of the user 6 can be determined.
  • the predetermined condition may be that there is no candidate information to be newly presented among the plurality of candidate information stored in the disk 14.
  • FIG. 25 is a flowchart defining an operation procedure when the force sensory wave determination device according to the second embodiment of the present invention performs force sensory wave determination processing.
  • the command reception unit 51 in the force sensor wave determination device 2 receives the force sensor wave determination process execution command from the game program, and the force sensor wave determination program is activated.
  • the candidate information processing unit 52 When the candidate information processing unit 52 receives a force sensory wave determination processing execution command from the command receiving unit 51, the candidate information processing unit 52 acquires two candidate information from the disk 14 from the plurality of candidate information stored in the disk 14 (step S402). ).
  • the candidate information processing unit 52 outputs the first candidate information of the two acquired candidate information to the presentation processing unit 53.
  • the presentation processing unit 53 receives the first candidate information from the candidate information processing unit 52, the presentation processing unit 53 causes the controller 21 to generate the first candidate vibration based on the first candidate information and the envelope waveform information.
  • the haptics presentation based on the first candidate vibration is performed (step S404).
  • the candidate information processing unit 52 outputs the second candidate information of the two acquired candidate information to the presentation processing unit 53.
  • the presentation processing unit 53 receives the second candidate information from the candidate information processing unit 52, the presentation processing unit 53 causes the controller 21 to generate the second candidate vibration based on the second candidate information and the envelope waveform information.
  • the haptics presentation based on the second candidate vibration is performed (step S406).
  • the candidate information processing unit 52 controls the GPU 16 to control the first candidate vibration that occurred first and the first candidate vibration that occurred last.
  • the display monitor 20 is displayed to the effect that the user 6 is encouraged to select one of the two candidate vibrations (step S408).
  • the operation information receiving unit 57 waits until the operation information is received from the controller 21 (NO in step S410). Then, when the operation information receiving unit 57 receives the operation information from the controller 21 (YES in step S410), the operation information receiving unit 57 outputs the received operation information to the candidate information processing unit 52.
  • the candidate information processing unit 52 determines whether or not the selection of the unit force sensory wave is sufficiently narrowed down based on the operation information (step S412).
  • the candidate information processing unit 52 determines that the selection of the unit force sensory wave is not sufficiently narrowed down (NO in step S412), the candidate information processing unit 52 discards the candidate information not selected by the user 6 and discends the new candidate information. Obtained from 14 (step S416).
  • the candidate information processing unit 52 outputs the first candidate information of the new candidate information and the candidate information selected by the user 6 to the presentation processing unit 53.
  • the presentation processing unit 53 receives the first candidate information from the candidate information processing unit 52, the presentation processing unit 53 causes the controller 21 to generate the first candidate vibration based on the first candidate information and the envelope waveform information.
  • the haptics presentation based on the first candidate vibration is performed (step S404).
  • the candidate information processing unit 52 determines that the selection of the unit force sensory wave is sufficiently narrowed down (YES in step S412), the candidate information processing unit 52 determines the unit force sensory wave to be used in the game program, and determines the unit force sensory wave.
  • Candidate information indicating the above is stored in the disk 14 as unit force sensory wave information (step S414).
  • the candidate information processing unit 52 outputs the decision information indicating that the unit force sensor wave has been determined to the game program, so that the force sensor wave determination process is completed.
  • FIG. 26 is a flowchart defining an operation procedure when the force sensory wave determination device according to the second embodiment of the present invention performs force sensory wave determination processing using an index.
  • the flowchart shown in FIG. 26 differs from the flowchart shown in FIG. 25 in that the index is used to determine whether or not the selection of the unit force sensation wave is sufficiently narrowed down.
  • M integer of 2 or more
  • Step S500 When the candidate information processing unit 52 in the force sensory wave determination device 2 receives the force sensory wave determination process execution command from the command reception unit 51, the candidate information processing unit 52 performs an initial value setting process for setting the integer j to 1. (Step S500).
  • the candidate information processing unit 52 acquires, from the M candidate information stored in the disk 14, the candidate information having the index j and the candidate information having the index j + 1 from the disk 14 (step S502).
  • the candidate information processing unit 52 outputs the candidate information whose index is j to the presentation processing unit 53 as the first candidate information.
  • the presentation processing unit 53 receives the first candidate information from the candidate information processing unit 52, the presentation processing unit 53 causes the controller 21 to generate the first candidate vibration based on the first candidate information and the envelope waveform information.
  • the haptics presentation based on the first candidate vibration is performed (step S504).
  • the candidate information processing unit 52 outputs the candidate information having an index of j + 1 to the presentation processing unit 53 as the second candidate information. ..
  • the presentation processing unit 53 receives the second candidate information from the candidate information processing unit 52, the presentation processing unit 53 causes the controller 21 to generate the second candidate vibration based on the second candidate information and the envelope waveform information. As a result, the haptics presentation based on the second candidate vibration is performed (step S506).
  • the candidate information processing unit 52 controls the GPU 16 to control the first candidate vibration that occurred first and the first candidate vibration that occurred last.
  • the display monitor 20 is displayed to the effect that the user 6 is encouraged to select one of the two candidate vibrations (step S508).
  • the operation information receiving unit 57 waits until the operation information is received from the controller 21 (NO in step S510). Then, when the operation information receiving unit 57 receives the operation information from the controller 21 (YES in step S510), the operation information receiving unit 57 outputs the received operation information to the candidate information processing unit 52.
  • the candidate information processing unit 52 determines whether or not the integers j and M are equal (step S512).
  • the candidate information processing unit 52 determines that the integer j and M are not equal (NO in step S512)
  • the candidate information processing unit 52 increments the integer j (step S516).
  • the candidate information processing unit 52 discards the candidate information not selected by the user 6 and acquires the candidate information having the index j + 1 from the disk 14 (step S518).
  • the candidate information processing unit 52 outputs the first candidate information, which is one of the candidate information whose index is j + 1 and the candidate information selected by the user 6, to the presentation processing unit 53.
  • the presentation processing unit 53 receives the first candidate information from the candidate information processing unit 52, the presentation processing unit 53 causes the controller 21 to generate the first candidate vibration based on the first candidate information and the envelope waveform information.
  • the haptics presentation based on the first candidate vibration is performed (step S504).
  • the candidate information processing unit 52 determines that the integers j and M are equal (YES in step S512)
  • the candidate information processing unit 52 determines a unit force sensory wave to be used in the game program, and candidate information indicating the unit force sensory wave. Is stored in the disk 14 as unit force sensory wave information (step S514).
  • the candidate information processing unit 52 outputs the decision information indicating that the unit force sensor wave has been determined to the game program, so that the force sensor wave determination process is completed.
  • the configuration in which the user 6 selects either the first candidate vibration generated first or the second candidate vibration generated last is described, but the present invention is limited to this. It's not something to do.
  • the AI Artificial Intelligence
  • the AI that has learned the tastes and preferences of the user 6 may be configured to select either the first candidate vibration generated first or the second candidate vibration generated last.
  • the candidate information and the unit force sensation wave information indicate the unit force sensation wave
  • the candidate information and the unit force sensation wave information may be configured to indicate a force sensation wave in which a plurality of the unit force sensation waves are continuous.
  • the force sensory wave determination device 2 of the present embodiment the configuration of presenting the first candidate vibration generated first and the second candidate vibration generated last to the user 6 has been described, but the present invention is limited to this. It's not a thing.
  • the force-sensitive wave determining device 2 may be configured to present three or more candidate vibrations to the user 6 and the user 6 selects from these candidate vibrations.
  • the force sensation wave may be a wave having no period.
  • the force sensation wave is, for example, a unit force sensation wave 73a (see FIG. 19) having a period Pu 1 after K (K is an integer of 2 or more) is continuous.
  • K is an integer of 2 or more
  • the force sensation wave may be configured to include a wave having a period.
  • the force sensation wave may be configured such that the period Pu of the unit force sensation wave 73 randomly changes, for example.
  • the unit force sensation wave is a sawtooth wave unit force sensation wave 83, a square wave unit force sensation wave 73, and a triangle wave unit force sensation wave 84 (see FIG. 20).
  • FIG. 27 is a diagram showing a modified example of the candidate unit force sensory wave stored in the disk according to the second embodiment of the present invention. As shown in FIG.
  • the candidate unit force sensation wave has a configuration in which the shape of the waveform for one cycle does not have symmetry such as point symmetry, rotation symmetry, or line symmetry, that is, 1
  • the shape of the waveform for each cycle may be asymmetrical.
  • the unit force sense waves 73a, 73b, 73c, 73d, 83, 84 and 85 can be used in the signal generation device 1 of the first embodiment.
  • the force sensation amplitude envelope 71P (see FIG. 8) and 71M (see FIG. 9) for each event are used.
  • the event-specific force-amplitude envelope may be configured to include a portion where the sign of the amplitude is positive and a portion where the sign of the amplitude is negative.
  • FIG. 28 is a diagram showing a modified example of the force sensation amplitude envelope for each event according to the first embodiment and the second embodiment of the present invention. As shown in FIG.
  • the event-specific force-amplitude amplitude envelope 111 has a portion 111p in which the sign of the amplitude is positive and a portion 111m in which the sign of the amplitude is negative in the waveform signal generation period Tpm.
  • the waveform signal 115 is generated.
  • the signal generation device 1 generates a waveform signal for generating vibration in response to an event in the controller 21.
  • the envelope generation information acquisition unit 32 receives the first envelope information P1 indicating the event-specific force-amplitude amplitude envelope 71Pa of the waveform signal 75d corresponding to the event E1 and the waveform signal 75e corresponding to the event E1.
  • the second envelope information P2 indicating the event-specific force-amplitude amplitude envelope 71Pb is acquired.
  • the amplitude calculation unit 33 generates a synthetic envelope 72a in which event-specific force-sensitive amplitude envelopes 71Pa and 71Pb are combined based on the first envelope information P1 and the second envelope information P2.
  • the modulation unit 35 modulates the force sensory wave 74 with the synthetic envelope 72a to generate a waveform signal 75b.
  • a synthetic envelope obtained by synthesizing the event-specific force sensory amplitude envelope 71Pa having a time change smaller than the time change of the waveform signal 75d and the event-specific force sensory amplitude envelope 71Pb having a time change smaller than the time change of the waveform signal 75e With the configuration for generating 72a, it is possible to suppress the change in the shape of the synthetic envelope 72a due to the difference between the start time of the waveform signal 75d and the start time of the waveform signal 75e. As a result, even when the occurrence times of the two events vary, the change in the shape of the synthetic envelope 72a is suppressed, so that the change in the shape of the waveform signal 75b for vibrating the controller 21 can be suppressed.
  • the envelope generation information acquisition unit 32 uses the first envelope information Q1 indicating the event-specific force-amplitude amplitude envelope 71Pc of the waveform signal 75f corresponding to the event E1 and the waveform signal corresponding to the event E2.
  • the second envelope information Q2 indicating the event-specific force amplitude envelope 71Ma of 75 g is acquired.
  • the amplitude calculation unit 33 generates a synthetic envelope 72b that combines the event-specific force-sensitive amplitude envelopes 71Pc and 71Ma based on the first envelope information Q1 and the second envelope information Q2.
  • the modulation unit 35 modulates the force sensory wave 74 with the synthetic envelope 72b to generate a waveform signal 75c.
  • the change in the shape of the synthetic envelope 72b is suppressed, so that the change in the shape of the waveform signal 75c for vibrating the controller 21 can be suppressed. Therefore, in a configuration that generates a waveform signal for generating vibration in response to an event in the controller 21, it is possible to stabilize the mode of vibration in the controller 21 when two events occur. As a result, the user 6 can receive the expected force sense and can improve the sense of presence by the good force sense.
  • the sign of the event-specific force-amplitude envelope 71Pa and the code of the event-specific force-amplitude envelope 71Pb are the same.
  • the amplitude of the synthetic envelope 72a can be made equal to or larger than the amplitudes of the event-specific force sensory amplitude envelopes 71Pa and 71Pb, so that two events, for example, when pulled twice from the same direction. It is possible to generate a waveform signal 75b suitable for an event in which an effect of strengthening each other is required when they overlap. As a result, even when the occurrence times of the two events vary, it is possible to stably give the user 6 a force sensation of being pulled in two steps in the same direction.
  • the sign of the event-specific force-amplitude envelope 71Pc and the code of the event-specific force-amplitude envelope 71Ma are different.
  • the amplitude of the synthetic envelope 72b can be made equal to or less than the amplitudes of the event-specific force-sensing envelopes 71Pc and 71Ma. Therefore, for example, when the synthetic envelope 72b is pulled from a certain direction and then pulled from the opposite direction. As described above, it is possible to generate a waveform signal 75c suitable for an event that requires a weakening effect when two events overlap. As a result, even when the occurrence times of the two events vary, it is possible to stably give the user 6 a weak force sensation generated as a result of being pulled from opposite directions.
  • the waveform signal 75d starts at time t1 based on the start time of the event indicated by the event information used for generating the first envelope information P1.
  • the waveform signal 75e starts at time t2 based on the start time of the event indicated by the event information used for generating the second envelope information P2.
  • the current amplitude calculation unit 33 generates a synthetic envelope 72a that combines the event-specific force-amplitude amplitude envelope 71Pa started at time t1 and the event-specific force-aware amplitude envelope 71Pb started at time t2.
  • the start time t1 of the event-specific force amplitude envelope 71Pa can be set at the same time as the start time of the corresponding event, or can be delayed or advanced from the start time.
  • the start time t2 of the event-specific force sensation amplitude envelope 71Pb can be set at the same time as the start time of the corresponding event, or can be delayed or advanced from the start time.
  • the waveform signal 75f starts at time t5 based on the start time of the event indicated by the event information used for generating the first envelope information Q1.
  • the waveform signal 75g starts at time t6 based on the start time of the event indicated by the event information used for generating the second envelope information Q2.
  • the current amplitude calculation unit 33 generates a synthetic envelope 72b that combines the event-specific force-amplitude amplitude envelope 71Pc started at time t5 and the event-specific force-aware amplitude envelope 71Ma started at time t6.
  • the start time t5 of the event-specific force amplitude envelope 71Pc can be set at the same time as the start time of the corresponding event, or can be delayed or advanced from the start time.
  • the start time t6 of the event-specific force sensation amplitude envelope 71Ma can be set at the same time as the start time of the corresponding event, or can be delayed or advanced from the start time.
  • the envelope generation information acquisition unit 32 acquires the weighting information w1 indicating the weighting of the event-specific force sensation amplitude envelopes 71Pa and 71Pb.
  • the amplitude calculation unit 33 generates a synthetic envelope 72a by synthesizing the event-specific force-sensitive amplitude envelopes 71Pa and 71Pb based on the weighting information w1.
  • At least one of the amplitude of the event-specific force sensation envelope 71Pa and the amplitude of the event-specific force sensation envelope 71Pb can be adjusted to synthesize the synthetic envelope 72a.
  • the force sensation given to the user 6 can be adjusted according to the content of the event.
  • at least one of the amplitude of the event-specific force-sense amplitude envelope 71Pa and the amplitude of the event-specific force-sense amplitude envelope 71Pb can be dynamically adjusted to synthesize the synthetic envelope 72a.
  • the force sense given to the user 6 can be adjusted according to the progress of the game or the degree of overlap between the force sense amplitude envelope 71Pa and 71Pb for each event.
  • the envelope generation information acquisition unit 32 acquires the weighting information w1 and w2 indicating the weighting of the event-specific force sensation amplitude envelopes 71Pc and 71Ma, respectively.
  • the amplitude calculation unit 33 generates a synthetic envelope 72b that combines the event-specific force-sensitive amplitude envelopes 71Pc and 71Ma based on the weighting information w1 and w2.
  • At least one of the amplitude of the event-specific force sensation envelope 71Pc and the amplitude of the event-specific force sensation envelope 71Ma can be adjusted to synthesize the synthetic envelope 72b.
  • the force sensation given to the user 6 can be adjusted according to the content of the event.
  • at least one of the amplitude of the event-specific force sensation envelope 71Pc and the amplitude of the event-specific force sensation envelope 71Ma can be dynamically adjusted to synthesize the synthetic envelope 72b.
  • the force sense given to the user 6 can be adjusted according to the progress of the game or the degree of overlap between the force sense amplitude envelope 71Pc and 71Ma for each event.
  • the force sensation wave 74 is the waveform signal generation period Tpa of the event-specific force sensation amplitude envelope 71Pa, the waveform signal generation period Tpb of the event-specific force sensation amplitude envelope 71Pb, or the event-specific force sensation amplitude envelope 71Pc.
  • This is a wave that vibrates in the waveform signal generation period Tpc of the waveform signal generation period Tpc and the waveform signal generation period Tma of the event-specific force-amplitude amplitude envelope 71Ma.
  • the force sensory wave 74 can be appropriately modulated by the synthetic envelopes 72a and 72b to generate good waveform signals 75b and 75c.
  • the force sensory wave 74 has a period Pu.
  • the force sensation wave 74 can be generated by a simple process of continuously connecting the unit force sensation wave 73 with a small number of data.
  • the candidate information processing unit 52 is the first candidate for the force sensation wave 74 modulated by the event-specific force sensation amplitude envelope 71P of the waveform signal for generating vibration in the controller 21.
  • the first candidate information indicating the candidate force sensory wave and the second candidate information indicating the second candidate force sensory wave that is the candidate and is different from the first candidate force sensory wave are acquired.
  • the modulation unit 35 modulates the first candidate force sensation wave and the second candidate force sensation wave by the event-specific force sensation amplitude envelope 71P, respectively, based on the first candidate information and the second candidate information, and generates the waveform signals 75a and 75h, respectively. Generate.
  • the output unit 37 causes the controller 21 to generate a first candidate vibration based on the waveform signal 75a and a second candidate vibration based on the waveform signal 75h, respectively.
  • the operation information receiving unit 57 acquires the result selected for either the first candidate vibration or the second candidate vibration. Then, the candidate information processing unit 52 determines the force sensory wave based on the result.
  • the first candidate based on the waveform signal 75a is configured to generate the waveform signal 75a based on the first candidate force sensory wave and the waveform signal 75h based on the second candidate force sensory wave different from the first candidate force sensory wave.
  • the candidate vibration and the second candidate vibration different from the first candidate vibration based on the waveform signal 75h can be generated in the controller 21.
  • different force sensations can be generated by the first candidate vibration and the second candidate vibration. Therefore, the first candidate vibration is based on the result selected for either the first candidate vibration or the second candidate vibration. It is possible to determine which of the second candidate vibration and the second candidate vibration suits the taste of the user 6. Therefore, it is possible to realize a force sense that suits the taste of the user 6.
  • the force sensory waves 74 and 74d have a period Pu.
  • the unit force sensation waves 73 and 73d can be generated by a simple process of continuously connecting the unit force sensation waves 73 and 73d with a small number of data.
  • the first candidate force sensation wave is, for example, a force sensation wave in which the unit force sensation wave 73 is continuous
  • the second candidate force sensation wave is a force sensation wave in which the unit force sensation wave 73a is continuous. It is a force wave.
  • the waveform of the first candidate force sensory wave and the waveform of the second candidate force sensory wave have the same shape. Then, the fundamental frequency of the first candidate force sensory wave and the fundamental frequency of the second candidate force sensory wave are different.
  • the first candidate force sensation wave is, for example, a force sensation wave in which the unit force sensation wave 73 is continuous
  • the second candidate force sensation wave is a force sensation wave in which the unit force sensation wave 83 is continuous. It is a force wave.
  • the fundamental frequency of the first candidate force sensory wave and the fundamental frequency of the second candidate force sensory wave are the same.
  • the waveform of the first candidate force sensory wave and the waveform of the second candidate force sensory wave have different shapes.
  • the first candidate force sensation wave is, for example, a force sensation wave in which the unit force sensation wave 73 is continuous
  • the second candidate force sensation wave is a force sensation wave in which the unit force sensation wave 73d is continuous. It is a force wave.
  • the fundamental frequency of the first candidate force sensory wave and the fundamental frequency of the second candidate force sensory wave are the same.
  • the waveform of the first candidate force sensory wave and the waveform of the second candidate force sensory wave have the same shape.
  • the smoothness of the waveform of the first candidate force sensory wave is different from the smoothness of the waveform of the second candidate force sensory wave.
  • the smoothness of the waveform of the first candidate force sensation wave and the smoothness of the shape of the waveform of the second candidate force sensation wave are different from each other.
  • the force sensation wave can be further optimized by adjusting the ratio of the high frequency component, and the force sensation wave that gives the force sensation that suits the taste of the user 6 can be determined.
  • the operation information receiving unit 57 acquires the selection result by the user 6 for the first candidate vibration and the second candidate vibration.
  • the taste of the user 6 can be directly reflected in the selection of the first candidate vibration and the second candidate vibration, so that the force sense wave that gives the force sense that does not match the taste of the user 6 is determined. Can be suppressed.
  • the force sensation waves 74 and 74d are waves that vibrate in the waveform signal generation period Tp of the event-specific force sensation amplitude envelope 71P.
  • the force sensation waves 74 and 74d can be appropriately modulated by the event-specific force sensation amplitude envelope 71P, and good waveform signals 75a and 75h can be generated.
  • each of the embodiments described above is for facilitating the understanding of the present invention, and is not for limiting the interpretation of the present invention.
  • the present invention can be modified / improved without departing from the spirit thereof, and the present invention also includes an equivalent thereof. That is, those skilled in the art with appropriate design changes to each embodiment are also included in the scope of the present invention as long as they have the features of the present invention.
  • each element included in each embodiment and its arrangement, material, condition, shape, size, and the like are not limited to those exemplified, and can be appropriately changed.
  • each embodiment is an example, and it goes without saying that partial substitutions or combinations of the configurations shown in different embodiments are possible, and these are also included in the scope of the present invention as long as the features of the present invention are included. ..

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

信号生成装置は、事象に応じた振動を対象物に発生させるための波形信号を生成する信号生成装置であって、第1事象に対応する第1波形信号の第1包絡線を示す第1包絡線情報、及び第2事象に対応する第2波形信号の第2包絡線を示す第2包絡線情報を取得する包絡線情報取得部と、前記第1包絡線情報及び前記第2包絡線情報に基づいて、包絡線を合成した合成包絡線を生成する合成部と、前記合成包絡線によって力覚波を変調して前記波形信号を生成する変調部と、を備える。

Description

信号生成装置、信号生成方法及び信号生成プログラム
 本発明は、信号生成装置、信号生成方法及び信号生成プログラムに関する。
 使用者(ユーザ)が手で保持したり、使用者の身体に装着したりして使用する振動デバイスがある。このような振動デバイスでは、リニア共振アクチュエータなどの振動機構が内蔵され、この振動機構が動作することによって使用者に振動を提示する(例えば、特許文献1)。
国際公開第2019/038887号
 特許文献1に記載の振動デバイスは、何らかの物体に触れたかのような触感を使用者に感じさせる触感振動の内容を表す触感振動データと、疑似力覚振動データとが合成されたデータの内容に応じた振動を発生させる。ここで、疑似力覚振動データは、使用者に特定の方向の牽引力を感じさせる疑似力覚振動、具体的には、正弦波、三角波、鋸波または矩形波によって構成される特定パターンの基本波形を所定周期で繰り返す振動の内容を表すデータである。疑似力覚振動が周期的な振動であるため、振動デバイスは、一定時間、周期的に振動することがある。
 例えば、ゲームなどの仮想現実内において、キャラクターが銃を撃ったり、キャラクターが打撃を受けたりするなどの事象(イベント)が発生するごとに振動デバイスを一定時間、振動させたいことがある。このような事象の開始時刻(タイミング)は一般に不規則であるので、例えば2つの事象が発生したとき、これらの事象の開始時刻によっては、2つの振動が強め合いの干渉をしたり、弱め合いの干渉をしたりする。つまり、2つの事象が発生したときの振動デバイスの振動の態様が安定しないため、使用者に違和感を与え、好ましくない。
 本発明はこのような事情に鑑みてなされたものであり、事象に応じた振動を対象物に発生させるための波形信号を生成する構成において、2つの事象が発生したときの当該対象物における振動の態様を安定させることが可能な信号生成装置、信号生成方法及び信号生成プログラムを提供することを目的とする。
 本発明の一側面に係る信号生成装置は、事象に応じた振動を対象物に発生させるための波形信号を生成する信号生成装置であって、第1事象に対応する第1波形信号の第1包絡線を示す第1包絡線情報、及び第2事象に対応する第2波形信号の第2包絡線を示す第2包絡線情報を取得する包絡線情報取得部と、前記第1包絡線情報及び前記第2包絡線情報に基づいて、包絡線を合成した合成包絡線を生成する合成部と、前記合成包絡線によって力覚波を変調して前記波形信号を生成する変調部と、を備える。
 本発明によれば、事象に応じた振動を対象物に発生させるための波形信号を生成する構成において、2つの事象が発生したときの当該対象物における振動の態様を安定させることが可能な信号生成装置、信号生成方法及び信号生成プログラムを提供することが可能となる。
図1は、本発明の第1実施形態に係るゲームシステムの概略を示す図である。 図2は、本発明の第1実施形態に係るゲームシステムのハードウェア構成を示す図である。 図3は、本発明の第1実施形態に係る波形信号の一例を示す図である。 図4は、課題その1を説明するための図である。 図5は、課題その2を説明するための図である。 図6は、本発明の第1実施形態に係る信号生成装置の構成を示すブロック図である。 図7は、本発明の第1実施形態に係る信号生成装置におけるディスクが保持する対応情報を示す図である。 図8は、本発明の第1実施形態に係る信号生成装置が保持する包絡線波形情報の示すイベント別力覚振幅エンベロープの一例を示す図である。 図9は、本発明の第1実施形態に係る信号生成装置が保持する包絡線波形情報の示すイベント別力覚振幅エンベロープの一例を示す図である。 図10は、本発明の第1実施形態に係る信号生成装置によって合成処理されるイベント別力覚振幅エンベロープの一例を示す図である。 図11は、本発明の第1実施形態に係る信号生成装置によって合成処理されるイベント別力覚振幅エンベロープの一例を示す図である。 図12は、本発明の第1実施形態に係る信号生成装置が保持する単位力覚波の一例を示す図である。 図13は、本発明の第1実施形態に係る波形信号発生期間の重なりない場合の波形信号の一例を示す図である。 図14は、本発明の第1実施形態に係る波形信号発生期間の重なりがある場合における波形信号の一例を示す図である。 図15は、本発明の第1実施形態に係る波形信号発生期間の重なりがある場合における波形信号の一例を示す図である。 図16は、本発明の第1実施形態に係る信号生成装置がイベント情報処理を行う際の動作手順を定めたフローチャートである。 図17は、本発明の第1実施形態に係る信号生成装置が波形信号生成処理を行う際の動作手順を定めたフローチャートである。 図18は、本発明の第1実施形態に係る信号生成装置が合成処理を行う際の動作手順を定めたフローチャートである。 図19は、本発明の第2実施形態に係るディスクに保存された候補単位力覚波の一例を示す図である。 図20は、本発明の第2実施形態に係るディスクに保存された候補単位力覚波の一例を示す図である。 図21は、本発明の第2実施形態に係るディスクに保存された候補単位力覚波の一例を示す図である。 図22は、本発明の第2実施形態に係る力覚波決定装置の構成を示すブロック図である。 図23は、本発明の第2実施形態に係る力覚波決定装置における提示処理部の構成を示すブロック図である。 図24は、本発明の第2実施形態に係るイベント別力覚振幅エンベロープ、第2候補力覚波及び波形信号の一例を示す図である。 図25は、本発明の第2実施形態に係る力覚波決定装置が力覚波決定処理を行う際の動作手順を定めたフローチャートである。 図26は、本発明の第2実施形態に係る力覚波決定装置がインデックスを用いて力覚波決定処理を行う際の動作手順を定めたフローチャートである。 図27は、本発明の第2実施形態に係るディスクに保存された候補単位力覚波の変形例を示す図である。 図28は、本発明の第1実施形態及び第2実施形態に係るイベント別力覚振幅エンベロープの変形例を示す図である。
 以下、本発明の実施の形態について、図面を参照しつつ詳細に説明する。なお、同一の要素には同一の符号を付し、重複する説明を極力省略する。
 [第1実施形態]
 第1実施形態に係るゲームシステムについて説明する。図1は、本発明の第1実施形態に係るゲームシステムの概略を示す図である。図1に示すように、ゲームシステム3は、コンピュータ11と、ディスプレイモニタ20と、コントローラ21(対象物)と、を主に備える。
 コンピュータ11は、例えば、ゲームプログラムを実行し、ゲームプログラムが展開する仮想現実をディスプレイモニタ20に表示する。ユーザ6は、例えば、ゲームプログラムの作成者またはゲームのプレーヤである。ユーザ6は、例えば、ディスプレイモニタ20に映し出された仮想現実におけるキャラクターの状況を認識し、その状況に応じてキャラクターに動きを与えるようにコントローラ21を操作する。コンピュータ11は、コントローラ21に対して行われた操作内容に応じてゲームプログラムを実行する。
 また、コンピュータ11は、ハプティクスによる「力覚」、「圧覚」及び「触覚」の少なくとも1つのユーザ6への提示(以下、ハプティクス提示と称することがある。)を行う。ここで、「力覚」は、例えば、引っ張られたり、押されたりされたときの感触及びギューと押さえたり、プッチンと弾けたときの手ごたえ感である。「圧覚」は、例えば、物体に接触したとき、または物体の堅さもしくは柔らかさを感じたときなどの接触感である。「触覚」は、例えば、物体の表面の触り心地、または物体の表面の凹凸度合いなどの触感及び粗さ感である。
 コンピュータ11におけるソフトウェア及びハードウェアの階層は、例えば、アプリケーション層のゲームプログラム、中間層のSDK(Software Development Kit)、システム及びゲームエンジン、ならびに物理層のHW(Hardwere)によって構成される。
 SDKは、例えば、プラグインまたはオーサリングツールと、ミドルウェアと、を含む。ミドルウェアには、「力覚」、「圧覚」及び「触覚」の少なくとも1つをユーザ6に与えるようにコントローラ21を振動させるプログラム(以下、対象プログラムと称することがある。)が含まれる。ゲームプログラムは、例えば、キャラクターに特定のイベントが発生すると、API(Application Programming Interface)に従って対象プログラムを呼び出す。このとき、ゲームプログラムは、例えば、イベントの内容及び当該イベントの開始時刻(第1事象または第2事象の開始タイミング)を示すイベント情報を対象プログラムに渡す。イベントの内容は、例えばIDによって特定される。
 特定のイベントは、例えば、仮想現実内において、引っ張ったり押したりする外力がキャラクターに加わったこと、キャラクターが銃を撃ったこと、キャラクターが打撃を受けたこと、及びキャラクターが音楽に合わせて踊っていることなどである。
 対象プログラムは、イベント情報に基づいて、イベント情報の示すイベントの内容に応じた感覚のハプティクス提示をするための波形信号を生成する。対象プログラムは、生成した波形信号を、ゲームエンジン、オペレーティングシステム及びハードウェアを通じてコントローラ21へ送信する。
 コントローラ21は、波形信号に基づいて振動する。ユーザ6は、例えば、振動するコントローラ21を手で持つことで、仮想現実におけるキャラクターの状況を、視覚及び聴覚だけでなく、「力覚」、「圧覚」及び「触覚」の少なくとも1つによって認識することができる。
 図2は、本発明の第1実施形態に係るゲームシステムのハードウェア構成を示す図である。図2に示すように、ゲームシステム3は、コンピュータ11と、スピーカ19と、ディスプレイモニタ20と、コントローラ21と、を備える。コンピュータ11は、CPU(Central Processing Unit)12と、メモリ13と、ディスク14と、オーディオインターフェース(I/F)15と、GPU(Graphics Processing Unit)16と、通信インターフェース(I/F)17と、バス18と、を含む。コントローラ21は、MCU(Micro Controller Unit)22と、通信インターフェース(I/F)23と、ハプティクス出力駆動器24と、ハプティクス素子25と、センサ入力駆動器26と、センサ素子27と、を含む。
 コンピュータ11では、CPU12、メモリ13、ディスク14、オーディオインターフェース15、GPU16及び通信インターフェース17は、互いにデータの送受信が可能なようにバス18を通じて接続される。
 本実施形態では、ディスク14は、HDD(Hard Disk Drive)またはSSD(Solid State Drive)などの読み書きが可能な不揮発性の記憶装置であり、ゲームプログラム及びSDKなどのプログラム(コード)が保存されている。なお、ディスク14は、HDD及びSSDに限定するものではなく、メモリーカードまたは読み込み専用のCD-ROM(Compact Disc Read Only Memory)若しくはDVD-ROM(Digital Versatile Disc-Read Only Memory)などであってもよい。また、対象プログラムなどのプログラムは、外部からインストールすることができる。また、対象プログラムなどのプログラムは、ディスク14のようなコンピュータ11によって読み取り可能な記憶媒体に格納された状態で流通する。なお、対象プログラムなどのプログラムは、通信インターフェースを経由して接続されたインターネット上で流通するものであってもよい。
 メモリ13は、DRAM(Dynamic Random Access Memory)などの揮発性の記憶装置である。通信インターフェース17は、コントローラ21における通信インターフェース23と各種データの送受信を行う。この通信は、有線及び無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信インターフェース17は、CPU12からの指示に従って各種データをコントローラ21へ送信する。また、通信インターフェース17は、コントローラ21から送信された各種データを受信し、受信したデータをCPU12へ出力する。
 CPU12は、プログラムの実行時において、ディスク14に保存された当該プログラム及び当該プログラムの実行に必要なデータをメモリ13に転送する。CPU12は、プログラムの実行に必要な処理命令及びデータをメモリ13から読み出し、処理命令の内容に従って演算処理を実行する。このとき、CPU12は、プログラムの実行に必要なデータを新たに生成してメモリ13に保存する場合がある。なお、CPU12は、プログラム及びデータをディスク14から取得する構成に限らず、インターネットを経由してサーバなどから取得する構成であってもよい。
 具体的には、CPU12は、例えば、ゲームプログラムの実行時において、ユーザ6のコントローラ21に対する操作内容を受けて、操作内容に応じた処理命令を実行し、仮想現実内のキャラクターに動きを与える。このとき、CPU12は、仮想現実内のキャラクターの状況に応じて、ハプティクス提示、映像表示及び音声出力を行うための処理を行う。
 より具体的には、CPU12は、例えば、仮想現実内において引っ張ったり押したりする外力がキャラクターに加わったときに、当該外力が加わったときに感じる力覚感のハプティクス提示をするための波形信号を生成する。
 また、CPU12は、例えば、仮想現実内においてキャラクターが銃を撃ったときに、銃を撃ったときなどに感じる反動感のハプティクス提示をするための波形信号を生成する。
 また、CPU12は、例えば、仮想現実内においてキャラクターが打撃を受けたときに、打撃を受けたときなどに感じる衝撃感のハプティクス提示をするための波形信号を生成する。
 また、CPU12は、例えば、仮想現実内においてキャラクターが音楽に合わせて踊っているときに、音楽的なビートやリズムなどに対して感じる躍動感のハプティクス提示をするための波形信号を生成する。
 CPU12は、生成した波形信号をデジタル符号化することによってハプティクス情報を生成し、生成したハプティクス情報を通信インターフェース17経由でコントローラ21へ送信する。
 また、CPU12は、仮想現実内で動くキャラクター及び背景などの映像表示に必要な画面情報を生成し、生成した画面情報をGPU16へ出力する。GPU16は、例えば、CPU12から画面情報を受けて、画面情報に基づいてレンダリングなどを行い、3Dグラフィクスなどの映像を含むデジタル映像信号を生成する。GPU16は、生成したデジタル映像信号をディスプレイモニタ20へ送信することによって、ディスプレイモニタ20に3Dグラフィクスなどを表示させる。
 また、CPU12は、仮想現実内のキャラクターの環境、動き及び状況などに応じた音声を示す音声情報を生成し、生成した音声情報をオーディオインターフェース15へ出力する。オーディオインターフェース15は、例えば、CPU12から音声情報を受けて、受けた音声情報に基づいてレンダリングなどを行い、音声信号を生成する。オーディオインターフェース15は、生成した音声信号をスピーカ19へ送信することによって、スピーカ19から音声を出力させる。
 コントローラ21におけるハプティクス素子25は、電気信号を力学的な振動に変換する振動アクチュエータであり、例えば、振動緩和の周波数帯域が広いボイスコイルアクチュエータである。なお、ハプティクス素子25は、偏心モータ、リニア共振アクチュエータ、電磁アクチュエータ、圧電アクチュエータ、超音波アクチュエータ、静電アクチュエータまたは高分子アクチュエータなどであってもよい。
 MCU22は、ハプティクス出力駆動器24及びセンサ入力駆動器26を制御する。具体的には、MCU22は、例えば、電源の供給を受けたときに、ROM(図示しない)に保存されたプログラムを読み出し、当該プログラムの内容に従って演算処理を実行する。
 本実施形態では、MCU22は、例えば、コンピュータ11から通信インターフェース23経由でハプティクス情報を受信すると、受信したハプティクス情報に基づいてハプティクス出力駆動器24を制御し、ハプティクス素子25によってハプティクス提示を行う。
 具体的には、MCU22は、ハプティクス情報をハプティクス出力駆動器24へ出力する。ハプティクス出力駆動器24は、MCU22からハプティクス情報を受けて、受けたハプティクス情報に基づいて、波形信号に応じた電気信号であって、ハプティクス素子25を駆動可能なアナログの電気信号を生成してハプティクス素子25へ出力する。これにより、ハプティクス素子25が電気信号に基づいて振動し、ハプティクス提示が行われる。
 センサ素子27は、例えば、コントローラ21に設けられているジョイスティック及びボタンといったユーザ6の操作を受ける操作部の動きを検知し、検知結果を示すアナログの電気信号をセンサ入力駆動器26へ出力する。
 センサ入力駆動器26は、例えば、MCU22の制御に従って動作し、駆動に必要な電力をセンサ素子27に供給するとともに、センサ素子27から電気信号を受けて、受けた電気信号をデジタル信号に変換する。センサ入力駆動器26は、変換したデジタル信号をMCU22へ出力する。MCU22は、センサ入力駆動器26から受けるデジタル信号に基づいて、ユーザ6のコントローラ21に対する操作内容を示す操作情報を生成して通信インターフェース23経由でコンピュータ11へ送信する。
 図3は、本発明の第1実施形態に係る波形信号の一例を示す図である。なお、図3において、横軸は時間を示し、縦軸は振幅を示す。図3に示すように、波形信号75は、例えば、一定の時間継続する周期的な矩形波である。本実施形態では、波形信号75は、時刻tsから時刻teまでの期間T1の間、継続する矩形波である。なお、波形信号75の振幅は、時間とともに変化してもよい。また、期間T1の長さは、任意に設定することが可能である。
 [課題その1]
 例えば、イベントごとにハプティクス提示が行われる場合において、1番目のハプティクス提示が終了する前に、2番目のハプティクス提示が行われると、ユーザ6は、期待通りのハプティクス提示を受けることができないことがある。
 図4は、課題その1を説明するための図である。図4に示すように、例えば、仮想現実内のキャラクターが、時刻tsaにおいて前側に引っ張られ、時刻tsaより後の時刻tsbにおいてさらに前側に引っ張られる状況を想定する。ユーザ6は、キャラクターが前側に引っ張られた後、さらに前側に引っ張られるので、2段階で前側に引っ張られる力覚を期待するものと考えられる。
 しかしながら、キャラクターが時刻tsaにおいて前側に引っ張られる場合の参考波形信号91aと、キャラクターが時刻tsbにおいて前側に引っ張られる場合の参考波形信号91bとを単純に重ね合わせて合成する構成では、以下の問題が発生する。
 すなわち、参考波形信号91aの開始時刻tsaと参考波形信号91bの開始時刻tsbとの差が参考波形信号91aにおける矩形波の半周期に相当する場合、参考波形信号91a及び91bが弱め合いの干渉をし、時刻tsbから参考波形信号91aの終了時刻teaまで振幅がゼロの参考合成波形信号92に基づく振動がユーザ6に提示されてしまう。ユーザ6は、2段階で前側に引っ張られる力覚を期待していたものの、弱い力覚しか感じないので、違和感を感じてしまう。
 一方、図示しないが、仮に、時刻tsaと時刻tsbとの差が参考波形信号91aにおける矩形波の1周期に相当する場合、参考波形信号91a及び91bが強め合いの干渉をし、ユーザ6は、期待通りの力覚を受けることができる。すなわち、ユーザ6が受ける力覚は、1回目のイベントの開始時刻と2回目のイベントの開始時刻との差に応じて、違和感を感じたり、期待通りであったりするので、参考波形信号91aと参考波形信号91bとを単純に重ね合わせて合成する構成では、ユーザ6が受ける力覚を安定させることが困難である。
 [課題その2]
 図5は、課題その2を説明するための図である。図5に示すように、例えば、仮想現実内のキャラクターが、時刻tsaにおいて前側に引っ張られ、時刻tsaより後の時刻tsbにおいて前側の逆方向である後側に引っ張られる状況を想定する。ユーザ6は、キャラクターが前側に引っ張られた後、後側に引っ張られるので、前側及び後側のいずれにも引っ張られない弱い力覚を期待するものと考えられる。
 しかしながら、キャラクターが時刻tsaにおいて前側に引っ張られる場合の参考波形信号91aと、キャラクターが時刻tsbにおいて後側に引っ張られる場合の参考波形信号91cとを単純に重ね合わせて合成する構成では、以下の問題が発生する。
 すなわち、参考波形信号91cは、参考波形信号91aと比べて符号が逆になっているので、時刻tsaと時刻tsbとの差が参考波形信号91aにおける矩形波の半周期に相当する場合、参考波形信号91a及び91cが強め合いの干渉をする。このため、参考波形信号91cの開始時刻tsbから参考波形信号91aの終了時刻teaまで大振幅の参考合成波形信号93に基づく振動がユーザ6に提示されてしまう。ユーザ6は、前側及び後側のいずれにも引っ張られない弱い力覚を期待していたものの、強い力覚を受けるので、違和感を感じてしまう。
 一方、図示しないが、仮に、時刻tsaと時刻tsbとの差が参考波形信号91aにおける矩形波の1周期に相当する場合、参考波形信号91a及び91cが弱め合いの干渉をし、ユーザ6は、期待通りの弱い力覚を受けることができる。すなわち、ユーザ6が受ける力覚は、1回目のイベントの開始時刻と2回目のイベントの開始時刻との差に応じて、違和感を感じたり、期待通りであったりするので、参考波形信号91aと参考波形信号91cとを単純に重ね合わせて合成する構成では、ユーザ6が受ける力覚を安定させることが困難である。
 [信号生成装置の構成]
 図6は、本発明の第1実施形態に係る信号生成装置の構成を示すブロック図である。信号生成装置1は、例えば、コンピュータ11におけるCPU12において、対象プログラムの一例である信号生成プログラムを実行させることによって構成されるものである。信号生成装置1は、機能ブロックとして、イベント受付部31と、包絡線生成情報取得部32(包絡線情報取得部及び重みづけ情報取得部)と、現在振幅算出部33(合成部)と、カウンタ34と、変調部35と、単位力覚波情報取得部36と、出力部37と、を備える。
 カウンタ34は、例えば、水晶振動子を用いた発振回路等により生成されるクロックパルスをカウントし、カウントした値を保持する。このカウント値は、たとえば現在時刻を示す。
 イベント受付部31は、例えば、仮想現実内のキャラクターに特定のイベントが発生したときに、ゲームプログラムからイベント情報を受け付ける。
 本実施形態では、イベント受付部31は、例えば、仮想現実内においてキャラクターが前側に引っ張られるイベント(以下、イベントE1と称することがある。)が発生したとき、イベントE1のID及びイベントE1の開始時刻を示すイベント情報(以下、イベント情報EM1と称することがある。)をゲームプログラムから受ける。
 また、イベント受付部31は、例えば、仮想現実内においてキャラクターが後側に引っ張られるイベント(以下、イベントE2と称することがある。)が発生したとき、イベントE2のID及びイベントE2の開始時刻を示すイベント情報(以下、イベント情報EM2と称することがある。)をゲームプログラムから受ける。
 イベント受付部31は、イベント情報EM1またはイベント情報EM2をゲームプログラムから受けるごとに、イベント情報EM1またはイベント情報EM2を包絡線生成情報取得部32へ出力する。
 図7は、本発明の第1実施形態に係る信号生成装置におけるディスクが保持する対応情報を示す図である。図8及び図9は、本発明の第1実施形態に係る信号生成装置が保持する包絡線波形情報の示すイベント別力覚振幅エンベロープの一例を示す図である。なお、図8及び図9において、横軸は時間を示し、縦軸は振幅を示す。
 図7~図9に示すように、対応情報101は、「イベントの内容」及び「イベントID」と「包絡線生成情報」との対応関係を示す。「包絡線生成情報」は、包絡線すなわちエンベロープを生成するための情報であり、「包絡線波形情報」、「開始時刻オフセット情報」及び「重みづけ情報」を含む。
 「イベントの内容」は、例えば、「キャラクターが前側に引っ張られる」、「キャラクターが後側に引っ張られる」、「キャラクターが銃を撃つ」、「キャラクターが前側から打撃を受ける」、「キャラクターが後側から打撃を受ける」及び「キャラクターがBGMに合わせて踊る」などである。
 「イベントID」は、イベントの内容に固有の番号である。本実施形態では、例えば、「キャラクターが前側に引っ張られる」及び「キャラクターが後側に引っ張られる」に対してそれぞれ「001」及び「002」が割り当てられている。
 「包絡線波形情報」は、イベントの内容に対応する波形信号のエンベロープ(以下、イベント別力覚振幅エンベロープと称することがある。)の波形を作成するためのデータである。イベント別力覚振幅エンベロープは、例えば、イベントの内容(イベントID)ごとに異なる波形を有する。具体的には、「包絡線波形情報」は、例えば、時刻と当該時刻における振幅との組を時系列順に並べたデータである。なお、「包絡線波形情報」は、例えば、イベント別力覚振幅エンベロープの波形をスプライン曲線によって生成する場合において、当該スプライン曲線に用いる制御点の時刻と当該時刻における振幅との組を示すデータであってもよい。
 本実施形態では、包絡線波形情報Env1は、「イベントID」が「001」のイベントに対応し、図8に示すイベント別力覚振幅エンベロープ71Pを示す。本実施形態では、「キャラクターが前側に引っ張られる」イベントE1に対して、正の振幅を有するようにイベント別力覚振幅エンベロープ71Pが設定されている。
 包絡線波形情報Env2は、「イベントID」が「002」のイベントに対応し、図9に示すイベント別力覚振幅エンベロープ71Mを示す。本実施形態では、「キャラクターが後側に引っ張られる」イベントE2に対して、イベント別力覚振幅エンベロープ71Pの振幅の符号と異なる符号の振幅すなわち負の振幅を有するようにイベント別力覚振幅エンベロープ71Mが設定されている。本実施形態では、イベント別力覚振幅エンベロープ71Pとイベント別力覚振幅エンベロープ71Mとは、振幅ゼロの軸すなわち時間軸に対して対称な形状を有する。なお、イベント別力覚振幅エンベロープ71Pとイベント別力覚振幅エンベロープ71Mとは、時間軸に対して非対称な形状を有してもよい。
 「開始時刻オフセット情報」は、例えば、イベント別力覚振幅エンベロープの開始時刻と、イベント情報の示すイベントの開始時刻との差を示す。例えば、仮想現実内におけるキャラクターにイベントが発生した時刻で、コントローラ21における振動を開始させたい場合、開始時刻オフセット情報の示す値は、ゼロに設定される。
 また、力覚の知覚特性を考慮して、仮想現実内におけるキャラクターにイベントが発生した時刻に対して、コントローラ21における振動の開始時刻を早めたり、遅らせたりしたい場合、開始時刻オフセット情報の示す値は、ゼロでない値に設定される。本実施形態では、例えば、開始時刻オフセット情報の示す値が正の値に設定された場合、コントローラ21における振動の開始時刻が、仮想現実内におけるキャラクターにイベントが発生した時刻より遅れる。一方、開始時刻オフセット情報の示す値が負の値に設定された場合、コントローラ21における振動の開始時刻が、仮想現実内におけるキャラクターにイベントが発生した時刻より早くなる。
 「重みづけ情報」は、例えば、イベント別力覚振幅エンベロープの振幅に与える重みを示す。具体的には、例えば、「001」及び「002」の「イベントID」にそれぞれ対応する重みづけ情報w1及びw2がともに1を示す場合、イベント別力覚振幅エンベロープ71P(図8参照)及びイベント別力覚振幅エンベロープ71M(図9参照)をそのまま用いる。
 一方、例えば、イベントIDが003に対応する重みづけ情報w3の示す値が3である場合、振幅を3倍にして、包絡線波形情報Env3によって表されるイベント別力覚振幅エンベロープを用いる。また、例えば、イベントIDが004に対応する重みづけ情報w4の示す値が0.5である場合、振幅を0.5倍にして、包絡線波形情報Env4によって表されるイベント別力覚振幅エンベロープを用いる。
 図6に示すように、包絡線生成情報取得部32は、イベント受付部31からイベント情報EM1を受けると、ディスク14に保存された対応情報101(図7参照)を参照する。そして、包絡線生成情報取得部32は、イベント情報EM1に基づいて、「001」の「イベントID」に対応する包絡線生成情報すなわち包絡線波形情報Env1、開始時刻オフセット情報Ts1及び重みづけ情報w1をディスク14から取得する。
 包絡線生成情報取得部32は、イベント情報EM1の示すイベントE1の開始時刻及び開始時刻オフセット情報Ts1の示す値に基づいて、イベント別力覚振幅エンベロープ71Pを開始すべき時刻(以下、第1設定時刻と称することがある。)を算出する。
 包絡線生成情報取得部32は、第1設定時刻、包絡線波形情報Env1及び重みづけ情報w1を含む第1包絡線設定情報を生成して現在振幅算出部33へ出力する。
 また、包絡線生成情報取得部32は、イベント受付部31からイベント情報EM2を受けると、ディスク14に保存された対応情報101を参照する。そして、包絡線生成情報取得部32は、イベント情報EM2に基づいて、「002」の「イベントID」に対応する包絡線生成情報すなわち包絡線波形情報Env2、開始時刻オフセット情報Ts2及び重みづけ情報w2をディスク14から取得する。
 包絡線生成情報取得部32は、イベント情報EM2の示すイベントE2の開始時刻及び開始時刻オフセット情報Ts2の示す値に基づいて、イベント別力覚振幅エンベロープ71Mを開始すべき時刻(以下、第2設定時刻と称することがある。)を算出する。
 包絡線生成情報取得部32は、第2設定時刻を示す設定時刻情報、包絡線波形情報Env2及び重みづけ情報w2を含む第2包絡線設定情報を生成して現在振幅算出部33へ出力する。
 現在振幅算出部33は、包絡線生成情報取得部32から第1包絡線設定情報を受けると、受けた第1包絡線設定情報に含まれる第1設定時刻及び包絡線波形情報Env1に基づいて、イベント別力覚振幅エンベロープ71P(図8参照)の開始時刻及び終了時刻を算出する。そして、現在振幅算出部33は、当該開始時刻から当該終了時刻までの発生期間(以下、波形信号発生期間Tpと称することがある。)を設定する。
 また、現在振幅算出部33は、第1包絡線設定情報に含まれる重みづけ情報w1に基づいて、イベント別力覚振幅エンベロープ71Pの振幅を重みづけする処理を行う。本実施形態では、重みづけ情報w1の示す値が1なので、イベント別力覚振幅エンベロープ71Pの振幅は、当該処理の前後で同じである。
 現在振幅算出部33は、包絡線生成情報取得部32から第2包絡線設定情報を受けると、受けた第2包絡線設定情報に含まれる第2設定時刻及び包絡線波形情報Env2に基づいて、イベント別力覚振幅エンベロープ71M(図9参照)の開始時刻及び終了時刻を算出する。そして、現在振幅算出部33は、当該開始時刻から当該終了時刻までの発生期間(以下、波形信号発生期間Tmと称することがある。)を設定する。
 また、現在振幅算出部33は、第2包絡線設定情報に含まれる重みづけ情報w2に基づいて、イベント別力覚振幅エンベロープ71Mの振幅を重みづけする処理を行う。本実施形態では、重みづけ情報w2の示す値が1なので、イベント別力覚振幅エンベロープ71Mの振幅は、当該処理の前後で同じである。
 現在振幅算出部33は、例えば、所定時間ごとの確認時刻を設定する。現在振幅算出部33は、カウンタ34におけるカウント値すなわち現在時刻を監視し、確認時刻が到来すると、波形信号発生期間の重なりが存在するか否かを確認する。
 ここで、波形信号発生期間の重なりが存在するということは、波形信号発生期間TpまたはTmが終了する前に、次の波形信号発生期間TpまたはTmが開始することを意味する。一方、波形信号発生期間の重なりが存在しないということは、波形信号発生期間TpまたはTmが終了した後に、次の波形信号発生期間TpまたはTmが開始することを意味する。
 現在振幅算出部33は、波形信号発生期間の重なりが存在しないことを確認した場合、イベント別力覚振幅エンベロープ71Pまたは71Mの現在時刻における振幅(以下、包絡線現在振幅と称することがある。)の値を取得し、取得した包絡線現在振幅の値を変調部35へ出力する。
 図10は、本発明の第1実施形態に係る信号生成装置によって合成処理されるイベント別力覚振幅エンベロープの一例を示す図である。なお、図10において、各横軸は時間を示し、各縦軸は振幅を示す。
 図10には、イベント別力覚振幅エンベロープ71Pa(第1包絡線)と、イベント別力覚振幅エンベロープ71Pb(第2包絡線)と、が示される。ここで、イベント別力覚振幅エンベロープ71Paは、イベントE1(第1事象)に対応する波形信号75d(第1波形信号)の包絡線である。イベント別力覚振幅エンベロープ71Pbは、当該イベントE1より後に発生した、別のイベントE1(第2事象)に対応する波形信号75e(第2波形信号)の包絡線である。図10では、イベント別力覚振幅エンベロープ71Paの符号とイベント別力覚振幅エンベロープ71Pbの符号とは同じである。
 イベント別力覚振幅エンベロープ71Paの生成に用いた第1包絡線設定情報に含まれる第1設定時刻及び包絡線波形情報Env1が、イベント別力覚振幅エンベロープ71Paを示す第1包絡線情報P1である。イベント別力覚振幅エンベロープ71Pbの生成に用いた第1包絡線設定情報に含まれる第1設定時刻及び包絡線波形情報Env1が、イベント別力覚振幅エンベロープ71Pbを示す第2包絡線情報P2である。この場合、第1包絡線情報P1と第2包絡線情報P2とでは、第1設定時刻が異なる。
 イベント別力覚振幅エンベロープ71Pbの波形信号発生期間Tpbの開始時刻t2(第2タイミング)は、イベント別力覚振幅エンベロープ71Paの波形信号発生期間Tpaの開始時刻t1(第1タイミング)と波形信号発生期間Tpaの終了時刻t3との間にある。なお、図10では、開始時刻t2は、開始時刻t1に対して、波形信号75dの半周期分だけ後の時刻となっている。
 図6及び図10に示すように、現在振幅算出部33は、波形信号発生期間の重なりが存在することを確認した場合、イベント別力覚振幅エンベロープ71Paとイベント別力覚振幅エンベロープ71Pbとを合成する(重ね合わせる)ことにより合成エンベロープ(合成包絡線)72aを生成する。
 ここで、合成エンベロープ72aは、開始時刻t1から開始時刻t2まで、イベント別力覚振幅エンベロープ71Paの振幅と同じ振幅を有する。また、合成エンベロープ72aは、開始時刻t2から終了時刻t3まで、イベント別力覚振幅エンベロープ71Paの振幅とイベント別力覚振幅エンベロープ71Pbの振幅とを足し合わせた振幅すなわちイベント別力覚振幅エンベロープ71Paの振幅の2倍の振幅を有する。また、合成エンベロープ72aは、終了時刻t3から波形信号発生期間Tpbの終了時刻t4まで、イベント別力覚振幅エンベロープ71Pbの振幅と同じ振幅を有する。
 現在振幅算出部33は、合成エンベロープ72aの包絡線現在振幅の値を取得し、取得した包絡線現在振幅の値を変調部35へ出力する。
 図11は、本発明の第1実施形態に係る信号生成装置によって合成処理されるイベント別力覚振幅エンベロープの一例を示す図である。なお、図11において、各横軸は時間を示し、各縦軸は振幅を示す。
 図11には、イベント別力覚振幅エンベロープ71Pc(第1包絡線)と、イベント別力覚振幅エンベロープ71Ma(第2包絡線)と、が示される。ここで、イベント別力覚振幅エンベロープ71Pcは、イベントE1(第1事象)に対応する波形信号75f(第1波形信号)の包絡線である。イベント別力覚振幅エンベロープ71Maは、当該イベントE1より後に発生した、イベントE2(第2事象)に対応する波形信号75g(第2波形信号)の包絡線である。図11では、イベント別力覚振幅エンベロープ71Pcの符号とイベント別力覚振幅エンベロープ71Maの符号とは異なる。
 イベント別力覚振幅エンベロープ71Pcの生成に用いた第1包絡線設定情報に含まれる第1設定時刻及び包絡線波形情報Env1が、イベント別力覚振幅エンベロープ71Pcを示す第1包絡線情報Q1である。イベント別力覚振幅エンベロープ71Maの生成に用いた第2包絡線設定情報に含まれる第2設定時刻及び包絡線波形情報Env2が、イベント別力覚振幅エンベロープ71Maを示す第2包絡線情報Q2である。この場合、第1包絡線情報P1と第2包絡線情報P2とでは、第1設定時刻及び包絡線波形情報の両方が異なる。
 イベント別力覚振幅エンベロープ71Maの波形信号発生期間Tmaの開始時刻t6(第2タイミング)は、イベント別力覚振幅エンベロープ71Pcの波形信号発生期間Tpcの開始時刻t5(第1タイミング)と波形信号発生期間Tpcの終了時刻t7との間にある。なお、図11では、開始時刻t6は、開始時刻t5に対して、波形信号75fの半周期分だけ後の時刻となっている。
 図6及び図11に示すように、現在振幅算出部33は、波形信号発生期間の重なりが存在することを確認した場合、イベント別力覚振幅エンベロープ71Pcとイベント別力覚振幅エンベロープ71Maとを合成する(重ね合わせる)ことにより合成エンベロープ(合成包絡線)72bを生成する。
 ここで、合成エンベロープ72bは、開始時刻t5から開始時刻t6まで、イベント別力覚振幅エンベロープ71Pcの振幅と同じ振幅を有する。また、合成エンベロープ72bは、開始時刻t6から終了時刻t7まで、イベント別力覚振幅エンベロープ71Pcの振幅とイベント別力覚振幅エンベロープ71Maの振幅とを足し合わせた振幅すなわちゼロを有する。また、合成エンベロープ72bは、終了時刻t7から波形信号発生期間Tmaの終了時刻t8まで、イベント別力覚振幅エンベロープ71Maの振幅と同じ振幅を有する。
 現在振幅算出部33は、合成エンベロープ72bの包絡線現在振幅の値を取得し、取得した包絡線現在振幅の値を変調部35へ出力する。
 図12は、本発明の第1実施形態に係る信号生成装置が保持する単位力覚波の一例を示す図である。図13は、本発明の第1実施形態に係る波形信号発生期間の重なりない場合の波形信号の一例を示す図である。なお、図12及び図13において、横軸は時間を示し、縦軸は振幅を示す。
 図12及び図13に示すように、本実施形態では、力覚波74は、周期Puを有する。また、力覚波74は、波形信号発生期間Tp、Tpa、Tpb、Tpc及びTmaにおいて振動する波である。図12には、1周期分の力覚波(以下、単位力覚波73と称することがある。)が示される。本実施形態では、力覚波74は、周期Puを有する矩形波である。なお、単位力覚波73の形状は、矩形波に限らず、任意の形状を有してもよい。
 図6及び図12に示すように、単位力覚波73の周期及び形状を示す単位力覚波情報は、例えば、ディスク14に予め保存されている。単位力覚波情報は、力覚波の波形を作成するためのデータであり、具体的には、例えば、時刻と当該時刻における振幅との組を時系列順に並べたデータである。なお、単位力覚波情報は、例えば、力覚波の波形をスプライン曲線によって生成する場合において、当該スプライン曲線に用いる制御点の時刻と当該時刻における振幅との組を示すデータであってもよい。単位力覚波情報取得部36は、ディスク14から単位力覚波情報を取得し、取得した単位力覚波情報を変調部35へ出力する。
 図13には、例えば、現在振幅算出部33が波形信号発生期間の重なりが存在しないことを確認した場合において、イベント別力覚振幅エンベロープ71P(図8参照)の包絡線現在振幅の値が変調部35へ出力されるときの、イベント別力覚振幅エンベロープ71P、力覚波74及び波形信号75aが示される。
 図14は、本発明の第1実施形態に係る波形信号発生期間の重なりがある場合における波形信号の一例を示す図である。なお、図14において、各横軸は時間を示し、各縦軸は振幅を示す。図14には、例えば、現在振幅算出部33が波形信号発生期間の重なりが存在することを確認した場合において、合成エンベロープ72a(図10参照)の包絡線現在振幅の値が変調部35へ出力されるときの、合成エンベロープ72a、力覚波74及び波形信号75bが示される。
 図15は、本発明の第1実施形態に係る波形信号発生期間の重なりがある場合における波形信号の一例を示す図である。なお、図15において、各横軸は時間を示し、各縦軸は振幅を示す。図15には、例えば、現在振幅算出部33が波形信号発生期間の重なりが存在することを確認した場合において、合成エンベロープ72b(図11参照)の包絡線現在振幅の値が変調部35へ出力されるときの、合成エンベロープ72b、力覚波74及び波形信号75cが示される。
 図6及び図12~図15に示すように、変調部35は、合成エンベロープによって周期的な力覚波を変調して波形信号を生成する。本実施形態では、変調部35は、単位力覚波情報取得部36から単位力覚波情報を受けて、受けた単位力覚波情報に基づいて単位力覚波73を生成する。変調部35は、単位力覚波73を周期Puごとに生成することにより、単位力覚波73が連続する力覚波74を生成する(図13~図15参照)。
 変調部35は、現在時刻の経過とともに、現在振幅算出部33から受けるイベント別力覚振幅エンベロープ71P、合成エンベロープ72aまたは合成エンベロープ72bの包絡線現在振幅の値によって力覚波74を変調し、波形信号75a、75bまたは75cをそれぞれ生成する。変調部35における変調は、例えばデジタル変調である。なお、変調部35における変調は、アナログ変調であってもよい。変調部35は、生成した波形信号75a、75bまたは75cの現在時刻における振幅(以下、信号現在振幅と称することがある。)の値を取得して出力部37へ出力する。
 出力部37は、変調部35から信号現在振幅の値を受けると、受けた信号現在振幅の値をデジタル符号化することによってハプティクス情報を生成し、生成したハプティクス情報を通信インターフェース17経由でコントローラ21へ送信する。
 図10に示すように、波形信号75dと波形信号75eとを単純に重ね合わせて合成する構成では、波形信号75dと波形信号75eとは弱め合いの干渉をしてしまう。これに対して、波形信号発生期間Tpbの開始時刻t2が、波形信号発生期間Tpaの開始時刻t1より遅く、かつ終了時刻t3より早い場合、開始時刻t2と開始時刻t1との差にかかわらず、合成エンベロープ72aは、正方向に尖った凸形状を維持することができる。
 そして、図14に示すように、このような合成エンベロープ72aによって力覚波74を変調する構成により、波形信号75bを生成することができるので、1回目のイベントの開始時刻と2回目のイベントの開始時刻との差にかかわらず、ユーザ6は、期待通りの2段階で前側に引っ張られる力覚を受けることができる。すなわち、課題その1を解決することができる。
 また、図11に示すように、波形信号75fと波形信号75gとを単純に重ね合わせて合成する構成では、波形信号75fと波形信号75gとは強め合いの干渉をしてしまう。
 これに対して、波形信号発生期間Tmaの開始時刻t6が、波形信号発生期間Tpcの開始時刻t5より遅く、かつ終了時刻t7より早い場合、開始時刻t6と開始時刻t5との差にかかわらず、合成エンベロープ72bは、開始時刻t6と終了時刻t7との間における振幅がゼロとなる形状を維持することができる。そして、図15に示すように、このような合成エンベロープ72bによって力覚波74を変調する構成により、波形信号75cを生成することができるので、1回目のイベントの開始時刻と2回目のイベントの開始時刻との差にかかわらず、ユーザ6は、期待通りの弱い力覚を受けることができる。すなわち、課題その2を解決することができる。したがって、2つ以上のイベントの開始時刻にかかわらず、ユーザ6が受ける力覚を安定させることができる。
 [信号生成処理]
 図16は、本発明の第1実施形態に係る信号生成装置がイベント情報処理を行う際の動作手順を定めたフローチャートである。
 図16に示すように、まず、信号生成装置1におけるイベント受付部31は、ゲームプログラムからイベント情報を受けるまで待機する(ステップS102でNO)。
 次に、イベント受付部31は、ゲームプログラムからイベント情報を受けると(ステップS102でYES)、受けたイベント情報を包絡線生成情報取得部32へ出力する。包絡線生成情報取得部32は、イベント受付部31からイベント情報を受けると、受けたイベント情報の示すイベントのIDに対応する包絡線生成情報をディスク14から取得する(ステップS104)。
 次に、包絡線生成情報取得部32は、取得した包絡線生成情報及びイベント情報に基づいてイベント別力覚振幅エンベロープを開始すべき時刻を算出する(ステップS106)。
 次に、包絡線生成情報取得部32は、包絡線生成情報に基づいて、イベント別力覚振幅エンベロープを開始すべき時刻、包絡線波形情報及び重みづけ情報を含む包絡線設定情報を生成して現在振幅算出部33へ出力する(ステップS108)。
 次に、現在振幅算出部33は、包絡線生成情報取得部32から包絡線設定情報を受けると、包絡線設定情報に基づいて波形信号発生期間を設定する(ステップS110)。
 次に、現在振幅算出部33は、包絡線設定情報に含まれる重みづけ情報に基づいて、包絡線設定情報に含まれる包絡線波形情報の示すイベント別力覚振幅エンベロープの振幅を重みづけする(ステップS112)。
 次に、イベント受付部31は、ゲームプログラムから新たなイベント情報を受けるまで待機する(ステップS102でNO)。
 なお、上記ステップS110およびS112の順番は、上記に限らず、順番を入れ替えてもよい。
 図17は、本発明の第1実施形態に係る信号生成装置が波形信号生成処理を行う際の動作手順を定めたフローチャートである。
 図17に示すように、まず、信号生成装置1における現在振幅算出部33は、確認時刻が到来すると(ステップS202でYES)、互いに重なっている波形信号発生期間が存在しているか否かを確認する(ステップS204)。
 現在振幅算出部33は、互いに重なっている波形信号発生期間が存在していない場合(ステップS204でNO)、イベント別力覚振幅エンベロープの包絡線現在振幅を取得し、包絡線現在振幅の値を変調部35へ出力する(ステップS206)。
 一方、現在振幅算出部33は、互いに重なっている波形信号発生期間が存在している場合、合成エンベロープを生成して当該合成エンベロープの包絡線現在振幅を取得し、包絡線現在振幅の値を変調部35へ出力する合成処理を行う(ステップS208)。合成処理の詳細については後述する。
 次に、変調部35は、確認時刻が到来していない場合(ステップS202でNO)、または包絡線現在振幅の値が変調部35へ出力された場合(ステップS206及びS208)、単位力覚波情報取得部36から受けた単位力覚波情報に基づいて、単位力覚波73を周期Puごとに生成することにより力覚波74を生成する(ステップS210)。
 次に、変調部35は、現在振幅算出部33から受けた包絡線現在振幅の値によって力覚波74を変調し、波形信号を生成する。変調部35は、波形信号の信号現在振幅の値を取得して出力部37へ出力する(ステップS212)。
 次に、出力部37は、変調部35から信号現在振幅の値を受けると、受けた信号現在振幅の値をデジタル符号化することによってハプティクス情報を生成し、生成したハプティクス情報を通信インターフェース17経由でコントローラ21へ送信する(ステップS214)。
 ステップS210~S214の処理は、現在振幅算出部33が新たな確認時刻が到来したことを確認するまで(ステップS202でNO)、繰り返される。
 図18は、本発明の第1実施形態に係る信号生成装置が合成処理を行う際の動作手順を定めたフローチャートである。図18は、図17のステップS208における動作の詳細を示している。
 図18に示すように、例えば、N(2以上の整数)個の波形信号発生期間が互いに重なっている状況を想定する。N個の波形信号発生期間には、N個のイベント別力覚振幅エンベロープがそれぞれ対応する。
 まず、信号生成装置1における現在振幅算出部33は、例えば、整数iを1に設定するとともに、合成振幅値をゼロにリセットする初期値設定処理を行う(ステップS302)。
 次に、現在振幅算出部33は、N個の波形信号発生期間のうちのi番目の波形信号発生期間に対応するi番目のイベント別力覚振幅エンベロープを選択する(ステップS304)。
 次に、現在振幅算出部33は、i番目のイベント別力覚振幅エンベロープの包絡線現在振幅を取得する(ステップS306)。
 次に、現在振幅算出部33は、取得した包絡線現在振幅を合成振幅値に加える加算処理を行う(ステップS308)。
 次に、現在振幅算出部33は、整数iをインクリメントする(ステップS310)。
 次に、現在振幅算出部33は、N個のイベント別力覚振幅エンベロープのすべてを選択したか否かを確認する(ステップS312)。具体的には、現在振幅算出部33は、整数iがNより大きいか否かを確認する。
 次に、現在振幅算出部33は、N個のイベント別力覚振幅エンベロープのすべてを選択していない場合、すなわち整数iがN以下である場合(ステップS312でNO)、残りの波形信号発生期間のうちのi番目の波形信号発生期間に対応するi番目のイベント別力覚振幅エンベロープを選択する(ステップS304)。
 一方、現在振幅算出部33は、N個のイベント別力覚振幅エンベロープのすべてを選択した場合、すなわち整数iがNより大きい場合(ステップS312でYES)、合成振幅値すなわち合成エンベロープの包絡線現在振幅の値を変調部35へ出力する(ステップS314)。これにより、合成処理が終了する。
 なお、本実施形態の信号生成装置1では、重みづけ情報は、予めディスク14に保存された対応情報101に含まれる静的な情報として説明したが、重みづけ情報は、動的な情報であってもよい。具体的には、例えば、ゲームプログラムが重みづけ情報を書き換え可能な構成であってもよい。この場合、ゲームの状況に応じて重みづけ情報の示す値を変更することができるので、ハプティクス提示の優先度をイベントごとに設定し、その優先度をゲームの状況に応じて変更したり、ゲームの状況に応じて力覚の強度の調整をしたりすることができる。
 また、本実施形態の信号生成装置1では、包絡線生成情報取得部32が、ディスク14から包絡線生成情報を取得してイベント別力覚振幅エンベロープを生成する構成について説明したが、包絡線生成情報取得部32は、複数パターンのイベント別力覚振幅エンベロープを予め生成してメモリ13に保持させておき、必要に応じてイベント別力覚振幅エンベロープをメモリ13から読み出す構成であってもよい。
 また、本実施形態の信号生成装置1では、現在振幅算出部33が、重みづけされた、2つのイベント別力覚振幅エンベロープを合成して合成エンベロープを生成し、生成した合成エンベロープに基づいて包絡線現在振幅の値を取得する構成について説明したが、これに限定するものではない。現在振幅算出部33は、重みづけせずに2つのイベント別力覚振幅エンベロープを合成して合成エンベロープを生成し、生成した合成エンベロープから包絡線現在振幅の値を取得するときに、以下の処理を行ってもよい。すなわち、現在振幅算出部33は、当該合成エンベロープを構成する各イベント別力覚振幅エンベロープの現在時刻における振幅をそれぞれ重みづけし、重みづけされた各振幅を足し合わせることによって包絡線現在振幅の値を取得する構成であってもよい。
 また、本実施形態の信号生成装置1では、現在振幅算出部33が、重みづけされた、2つのイベント別力覚振幅エンベロープを合成して合成エンベロープをそのまま用いる構成について説明したが、これに限定するものではない。現在振幅算出部33は、例えば、合成エンベロープの上限を制限するリミッタ処理を行ったり、合成エンベロープの形状を調整する処理を行ったりしてもよい。
 また、本実施形態の信号生成装置1では、変調部35が、生成した波形信号をそのまま出力部37へ出力する構成について説明したが、これに限定するものではない。変調部35は、例えば、波形信号の上限を制限するリミッタ処理を行ってもよい。
 また、本実施形態の信号生成装置1では、信号生成装置1が出力する合成エンベロープに基づく波形信号に他の波形信号が重畳してもよい。
 また、本実施形態の信号生成装置1は、仮想現実内におけるイベントに応じた振動をコントローラ21に発生させる波形信号を生成する構成について説明したが、これに限定するものではない。信号生成装置1は、例えば、建設機械、車両及び飛行機などの操作対象を遠隔からコントローラで操作する場合において、当該操作対象における現実のイベントに応じた振動を当該コントローラに発生させる波形信号を生成する構成であってもよい。
 また、本実施形態の信号生成装置1では、現在振幅算出部33が、例えば、第1包絡線情報P1及び第2包絡線情報P2に基づいて、イベント別力覚振幅エンベロープ71Pa及び71Pbを合成した合成エンベロープ72aを生成する構成について説明したが、これに限定するものではない。現在振幅算出部33は、3つ以上の包絡線情報に基づいて、3つ以上の包絡線情報のそれぞれ示す3つ以上のイベント別力覚振幅エンベロープを合成して合成エンベロープを生成する構成であってもよい。
 [第2実施形態]
 第2実施形態に係るゲームシステムについて説明する。第2実施形態以降では第1実施形態と共通の事柄についての記述を省略し、異なる点についてのみ説明する。特に、同様の構成による同様の作用効果については実施形態毎には逐次言及しない。
 第1実施形態に係るゲームシステムでは、ディスク14に予め保存された単位力覚波73を用いて力覚波74を生成する構成について説明したが、第2実施形態に係るゲームシステムでは、力覚波の生成に用いる単位力覚波を変更できる点で第1実施形態に係るゲームシステムと異なる。
 [課題]
 第1実施形態に係るゲームシステム3では、所定の単位力覚波73に基づく力覚波74によって波形信号を生成していたので、ユーザ6によっては満足な力覚を得ることが困難な場合がある。
 詳細には、矩形波の単位力覚波73を用いて波形信号を生成した場合と、矩形波の単位力覚波73と異なる形状を有する単位力覚波を用いて波形信号を生成した場合とでは、ユーザ6に与える力覚が異なる。
 また、ユーザ6の力覚についての満足度は、例えば、手の敏感さ、皮膚の厚さ、年齢、性別、体調及び心理状態ならびに朝、昼及び晩などの使用時間帯によって異なる。また、ユーザ6には、力覚感、刺激の強弱、静音性及び電力消費について趣向及び好みがある。
 すなわち、第1実施形態に係るゲームシステム3では、満足度の高い力覚を与える単位力覚波がユーザ6ごとに異なるにもかかわらず、波形信号の生成に用いる単位力覚波が固定されていたので、当該単位力覚波に基づく力覚に不満を有するユーザ6に対し、満足度を向上させることが困難であった。
 図19は、本発明の第2実施形態に係るディスクに保存された候補単位力覚波の一例を示す図である。なお、図19において、各横軸は時間を示し、各縦軸は振幅を示す。図19には、波形信号の包絡線によって変調される力覚波を生成するための単位力覚波の候補である候補単位力覚波として、単位力覚波73、73a及び73bが示される。
 図19に示すように、単位力覚波73、73a及び73bは、同じ形状を有する。ここで、2つの単位力覚波が「同じ形状を有する」とは、一方の単位力覚波を、時間軸方向及び振幅軸方向についてそれぞれ独立に伸縮させて、伸縮後の一方の単位力覚波の波形と他方の単位力覚波の波形とを一致させることが可能なことを意味する。本実施形態では、単位力覚波73、73a及び73bは、矩形波である。一方、単位力覚波73、73a及び73bは、基本周波数が異なる。
 詳細には、単位力覚波73は、図12に示す単位力覚波73と同じ矩形波である。単位力覚波73aは、単位力覚波73の周期Puより短い周期Pu1を有する。言い換えると、単位力覚波73aは、単位力覚波73の基本周波数より高い基本周波数を有する。
 単位力覚波73bは、単位力覚波73の周期Puより長い周期Pu2を有する。言い換えると、単位力覚波73bは、単位力覚波73の基本周波数より低い基本周波数を有する。
 図20は、本発明の第2実施形態に係るディスクに保存された候補単位力覚波の一例を示す図である。なお、図20において、各横軸は時間を示し、各縦軸は振幅を示す。図20には、候補単位力覚波として、単位力覚波73、83及び84が示される。
 図20に示すように、単位力覚波73、83及び84は、同じ周期Puを有する、すなわち同じ基本周波数を有する。一方、単位力覚波73、83及び84は、異なる形状を有する。ここで、2つの単位力覚波が「異なる形状を有する」とは、一方の単位力覚波を、時間軸方向及び振幅軸方向についてそれぞれ独立に伸縮させて、伸縮後の一方の単位力覚波の波形と他方の単位力覚波の波形とを一致させることができないことを意味する。具体的には、単位力覚波73、83及び84は、それぞれ矩形波、鋸波及び三角波である。
 なお、単位力覚波は、周期的な波であれば、任意の形状を有してもよい。例えば、単位力覚波の形状は、鋸波、矩形波、三角波及び正弦波の一部または全部を組み合わせた波形の形状としてもよい。
 図21は、本発明の第2実施形態に係るディスクに保存された候補単位力覚波の一例を示す図である。なお、図21において、各横軸は時間を示し、各縦軸は振幅を示す。図21には、候補単位力覚波として、単位力覚波73、73c及び73dが示される。
 図21に示すように、単位力覚波73、73c及び73dは、同じ周期Puを有する、すなわち同じ基本周波数を有する。また、単位力覚波73、73c及び73dは、同じ形状を有する。本実施形態では、単位力覚波73、73c及び73dは、矩形波である。一方、単位力覚波73、73c及び73dは、波形の形状の滑らかさが異なる。
 詳細には、単位力覚波73は、図12、図19及び図20に示す単位力覚波73と同じ矩形波である。単位力覚波73cは、例えば、単位力覚波73から高周波成分を減じることで角が丸くなった矩形波である。単位力覚波73dは、例えば、単位力覚波73cから高周波成分を減じることで角がさらに丸くなった矩形波である。
 なお、本実施形態では、矩形波の形状の滑らかさが異なる場合について説明したが、滑らかさを異ならせる単位力覚波は、矩形波に限らず、周期的な波であれば、任意の形状を有してもよい。
 図2に示すように、ディスク14には、例えば、単位力覚波73、73a、73b、73c、73d、83及び84をそれぞれ示す7つの候補情報が保存されている。各候補情報は、例えば、インデックスによって管理される。なお、ディスク14には、これら7つの候補情報に限らず、他の単位力覚波を示す候補情報が保存されてもよい。また、候補情報は、例えば、単位力覚波情報と同様のデータ形式を有する。
 [力覚波決定装置の構成]
 図22は、本発明の第2実施形態に係る力覚波決定装置の構成を示すブロック図である。力覚波決定装置2は、例えば、コンピュータ11におけるCPU12において、対象プログラムの一例である力覚波決定プログラムを実行させることによって構成されるものである。力覚波決定装置2は、機能ブロックとして、コマンド受付部51と、候補情報処理部52(候補情報取得部及び決定部)と、提示処理部53と、包絡線波形情報取得部55と、操作情報受付部57(選択結果取得部)と、を備える。
 ゲームプログラム(図1参照)は、例えば、ユーザ6に単位力覚波を選択させるために、GPU16を制御し、ハプティクスチューニングするためのゲームコンテンツ設定画面またはゲームシステムの設定画面をディスプレイモニタ20に表示させる。このとき、ゲームプログラムは、力覚波決定処理実行命令をコマンド受付部51へ出力する。
 コマンド受付部51は、ゲームプログラムから力覚波決定処理実行命令を受けると、力覚波決定プログラムを起動し、力覚波決定処理実行命令を候補情報処理部52へ出力する。
 候補情報処理部52は、コマンド受付部51から力覚波決定処理実行命令を受けると、ディスク14に保存された複数の候補情報の中から、2つの候補情報をディスク14から取得する。
 2つの候補情報は、例えば、大きく異なる刺激を与える波形信号を生成するための候補情報である。具体的には、2つの候補情報は、例えば、強い刺激を与える波形信号を生成するための第1候補情報、及び弱い刺激を与える波形信号を生成するための第2候補情報である。なお、2つの候補情報は、大きく異なる静音性を与える波形信号を生成するための候補情報であってもよい。また、2つの候補情報は、刺激及び静音性に限らず、大きく異なる、消費電力、基本周波数または波形の形状の滑らかさを与える波形信号を生成するための候補情報であってもよい。
 候補情報処理部52は、例えば、第1候補情報を提示処理部53に出力する。なお、このとき、候補情報処理部52は、GPU16を制御し、第1候補情報の示す単位力覚波に基づく振動(以下、第1候補振動と称することがある。)をコントローラ21に発生させている旨をディスプレイモニタ20に表示させてもよい。
 包絡線波形情報取得部55は、ディスク14に保存された対応情報101(図7参照)を参照し、包絡線波形情報をディスク14から取得する。包絡線波形情報取得部55が取得する包絡線波形情報は、例えば、初期設定で定められたイベントIDに対応する包絡線波形情報である。なお、包絡線波形情報は、ゲームプログラムによって指定されたものであってもよい。包絡線波形情報取得部55は、取得した包絡線波形情報を提示処理部53へ出力する。
 提示処理部53は、候補情報処理部52から第1候補情報を受けると、第1候補情報及び包絡線波形情報取得部55から受ける包絡線波形情報に基づいてハプティクス情報を生成し、生成したハプティクス情報を通信インターフェース17経由でコントローラ21へ送信する。これにより、コントローラ21には、第1候補振動が発生する。
 候補情報処理部52は、第1候補情報を提示処理部53に出力してから所定の待機時間Wが経過すると、第2候補情報を提示処理部53に出力する。これにより、コントローラ21には、第2候補情報の示す単位力覚波に基づく振動(以下、第2候補振動と称することがある。)が発生する。なお、このとき、候補情報処理部52は、GPU16を制御し、第2候補振動をコントローラ21に発生させている旨をディスプレイモニタ20に表示させてもよい。
 ここで、待機時間Wは、例えば、包絡線波形情報の示すイベント別力覚振幅エンベロープの波形信号発生期間の長さより長く設定される。これにより、第1候補振動と第2候補振動とが同時に発生してしまうことを抑制することができる。
 候補情報処理部52は、第2候補情報を提示処理部53に出力してから待機時間Wが経過すると、GPU16を制御し、最初に発生した第1候補振動及び最後に発生した第2候補振動のいずれか一方の選択をユーザ6に促進する旨をディスプレイモニタ20に表示させる。
 図23は、本発明の第2実施形態に係る力覚波決定装置における提示処理部の構成を示すブロック図である。図24は、本発明の第2実施形態に係るイベント別力覚振幅エンベロープ、第2候補力覚波及び波形信号の一例を示す図である。なお、図24において、各横軸は時間を示し、各縦軸は振幅を示す。図24には、図13に示したイベント別力覚振幅エンベロープ71Pと、力覚波74dと、波形信号75hと、が示される。
 図13、図23及び図24に示すように、提示処理部53は、機能ブロックとして、カウンタ34と、変調部35と、出力部37(振動発生部)と、現在振幅算出部63と、を含む。
 現在振幅算出部63は、包絡線波形情報取得部55から包絡線波形情報を受けると、カウンタ34におけるカウント値すなわち現在時刻を監視し、確認時刻が到来すると、包絡線波形情報の示すイベント別力覚振幅エンベロープ(例えば、図13及び図24に示すイベント別力覚振幅エンベロープ71P)の包絡線現在振幅の値を取得する。現在振幅算出部63は、取得した包絡線現在振幅の値を変調部35へ出力する。
 変調部35は、候補情報処理部52から第1候補情報を受けると、第1候補情報の示す単位力覚波(例えば、図13に示す単位力覚波73)をその周期(例えば周期Pu)ごとに生成することにより、当該単位力覚波が連続する力覚波(以下、第1候補力覚波と称することがある。)(例えば、図13に示す力覚波74)を生成する。
 変調部35は、現在時刻の経過とともに、現在振幅算出部63から受ける包絡線現在振幅の値によって第1候補力覚波を変調し、波形信号(以下、第1波形信号と称することがある。)(例えば、図13に示す波形信号75a)を生成する。変調部35は、第1波形信号の信号現在振幅の値を出力部37へ出力する。
 また、変調部35は、候補情報処理部52から第2候補情報を受けると、第2候補情報の示す単位力覚波(例えば、図21及び図24に示す単位力覚波73d)をその周期(例えば周期Pu)ごとに生成することにより、当該単位力覚波が連続する力覚波(以下、第2候補力覚波と称することがある。)(例えば、図24に示す力覚波74d)を生成する。
 変調部35は、現在時刻の経過とともに、現在振幅算出部63から受ける包絡線現在振幅の値によって第2候補力覚波を変調し、波形信号(以下、第2波形信号と称することがある。)(例えば、図24に示す波形信号75h)を生成する。変調部35は、第2波形信号の信号現在振幅の値を出力部37へ出力する。
 出力部37は、第1波形信号に基づく振動すなわち第1候補振動、及び第2波形信号に基づく振動すなわち第2候補振動をそれぞれコントローラ21に発生させる。本実施形態では、出力部37は、変調部35から信号現在振幅の値を受けると、受けた信号現在振幅の値をデジタル符号化することによってハプティクス情報を生成し、生成したハプティクス情報を通信インターフェース17経由でコントローラ21へ送信する。
 図22に示すように、操作情報受付部57は、第1候補振動及び第2候補振動について、ユーザ6による選択結果を取得する。
 本実施形態では、ユーザ6は、例えば、コントローラ21を手で持ちながらディスプレイモニタ20を見ている。ユーザ6は、コントローラ21に最初に発生する第1候補振動、及び最後に発生する第2候補振動に基づいて、第1候補振動による力覚(以下、第1力覚と称することがある。)及び第2候補振動による力覚(以下、第2力覚と称することがある。)をそれぞれ認識する。
 ユーザ6は、第1力覚及び第2力覚のうち、自己の趣向及び好みに合った力覚を発生させた振動を選択する操作をコントローラ21に対して行う。具体的には、ユーザ6は、最初に発生した第1候補振動及び最後に発生した第2候補振動のいずれか一方を選択する操作をコントローラ21に対して行う。
 コントローラ21は、ユーザ6による操作結果を示す操作情報を生成して操作情報受付部57へ送信する。操作情報受付部57は、コントローラ21から操作情報を受信すると、受信した操作情報を候補情報処理部52へ出力する。
 候補情報処理部52は、操作情報受付部57によって取得された操作情報に基づいて力覚波を決定する。本実施形態では、候補情報処理部52は、例えば、最初に発生した第1候補振動がユーザ6によって選択されたことを操作情報が示す場合、弱い刺激を与える波形信号を生成するための第2候補情報を破棄する。そして、候補情報処理部52は、ディスク14に保存された複数の候補情報の中から、当該弱い刺激と比べて少し強い刺激を与える波形信号を生成するための新たな第2候補情報をディスク14から取得する。
 候補情報処理部52は、破棄しなかった第1候補情報を提示処理部53に出力する。そして、候補情報処理部52は、第1候補情報を提示処理部53に出力してから待機時間Wが経過すると、新たな第2候補情報を提示処理部53に出力する。
 一方、候補情報処理部52は、例えば、最後に発生した第2候補振動がユーザ6によって選択されたことを操作情報が示す場合、強い刺激を与える波形信号を生成するための第1候補情報を破棄する。そして、候補情報処理部52は、ディスク14に保存された複数の候補情報の中から、当該強い刺激と比べて少し弱い刺激を与える波形信号を生成するための新たな第1候補情報をディスク14から取得する。
 候補情報処理部52は、新たな第1候補情報を提示処理部53に出力する。そして、候補情報処理部52は、新たな第1候補情報を提示処理部53に出力してから待機時間Wが経過すると、破棄しなかった第2候補情報を提示処理部53に出力する。
 また、候補情報処理部52は、所定条件を満たした場合、単位力覚波の選択が十分に絞られたと判断し、ゲームプログラムで使用すべき単位力覚波を決定する。そして、候補情報処理部52は、当該単位力覚波を示す候補情報を単位力覚波情報としてディスク14に保存(登録)するとともに、力覚波を決定した旨を示す決定情報をゲームプログラムへ出力する。ゲームプログラムは、例えば、候補情報処理部52から決定情報を受けると、GPU16を制御し、ディスプレイモニタ20の表示内容をゲームコンテンツ設定画面またはゲームシステムの設定画面からゲームの実行画面に切り替える。
 ここで、所定条件は、例えば、ユーザ6の趣向及び好みに合った刺激を与える波形信号を生成する候補情報が決定できたことである。なお、所定条件は、ディスク14に保存された複数の候補情報の中に、新たに提示すべき候補情報がなくなったことであってもよい。
 [力覚波決定処理]
 図25は、本発明の第2実施形態に係る力覚波決定装置が力覚波決定処理を行う際の動作手順を定めたフローチャートである。
 図25に示すように、まず、力覚波決定装置2におけるコマンド受付部51がゲームプログラムから力覚波決定処理実行命令を受け付け、力覚波決定プログラムが起動した状況を想定する。
 候補情報処理部52は、コマンド受付部51から力覚波決定処理実行命令を受けると、ディスク14に保存された複数の候補情報の中から、2つの候補情報をディスク14から取得する(ステップS402)。
 次に、候補情報処理部52は、取得した2つの候補情報のうちの第1候補情報を提示処理部53に出力する。提示処理部53は、候補情報処理部52から第1候補情報を受けると、第1候補情報及び包絡線波形情報に基づいてコントローラ21に第1候補振動を発生させる。これにより、第1候補振動に基づくハプティクス提示が行われる(ステップS404)。
 次に、候補情報処理部52は、第1候補情報を提示処理部53に出力してから待機時間Wが経過すると、取得した2つの候補情報のうちの第2候補情報を提示処理部53に出力する。提示処理部53は、候補情報処理部52から第2候補情報を受けると、第2候補情報及び包絡線波形情報に基づいてコントローラ21に第2候補振動を発生させる。これにより、第2候補振動に基づくハプティクス提示が行われる(ステップS406)。
 次に、候補情報処理部52は、第2候補情報を提示処理部53に出力してから待機時間Wが経過すると、GPU16を制御し、最初に発生した第1候補振動及び最後に発生した第2候補振動のいずれか一方の選択をユーザ6に促進する旨をディスプレイモニタ20に表示させる(ステップS408)。
 次に、操作情報受付部57は、コントローラ21から操作情報を受信するまで待機する(ステップS410でNO)。そして、操作情報受付部57は、コントローラ21から操作情報を受信すると(ステップS410でYES)、受信した操作情報を候補情報処理部52へ出力する。
 次に、候補情報処理部52は、操作情報受付部57から操作情報を受けると、操作情報に基づいて、単位力覚波の選択が十分に絞られたか否かを判断する(ステップS412)。
 候補情報処理部52は、単位力覚波の選択が十分に絞られていないと判断した場合(ステップS412でNO)、ユーザ6に選択されなかった候補情報を破棄し、新たな候補情報をディスク14から取得する(ステップS416)。
 次に、候補情報処理部52は、新たな候補情報とユーザ6に選択された候補情報とのうちの第1候補情報を提示処理部53に出力する。提示処理部53は、候補情報処理部52から第1候補情報を受けると、第1候補情報及び包絡線波形情報に基づいてコントローラ21に第1候補振動を発生させる。これにより、第1候補振動に基づくハプティクス提示が行われる(ステップS404)。
 一方、候補情報処理部52は、単位力覚波の選択が十分に絞られたと判断した場合(ステップS412でYES)、ゲームプログラムで使用すべき単位力覚波を決定し、当該単位力覚波を示す候補情報を単位力覚波情報としてディスク14に保存する(ステップS414)。
 候補情報処理部52が、単位力覚波を決定した旨を示す決定情報をゲームプログラムへ出力することにより、力覚波決定処理が終了する。
 図26は、本発明の第2実施形態に係る力覚波決定装置がインデックスを用いて力覚波決定処理を行う際の動作手順を定めたフローチャートである。図26に示すフローチャートは、単位力覚波の選択が十分に絞られたか否かの判断にインデックスが用いられる点で図25に示すフローチャートと異なる。
 図26に示すように、まず、例えば、M(2以上の整数)個の候補情報がディスク14に保存されており、これらの候補情報が1~Mのインデックスによって管理されている状況を想定する。
 力覚波決定装置2における候補情報処理部52は、コマンド受付部51から力覚波決定処理実行命令を受けると、整数jを1に設定する初期値設定処理を行う(ステップS500)。
 次に、候補情報処理部52は、ディスク14に保存されたM個の候補情報の中から、インデックスがjの候補情報とインデックスがj+1の候補情報とをディスク14から取得する(ステップS502)。
 次に、候補情報処理部52は、インデックスがjの候補情報を第1候補情報として提示処理部53に出力する。提示処理部53は、候補情報処理部52から第1候補情報を受けると、第1候補情報及び包絡線波形情報に基づいてコントローラ21に第1候補振動を発生させる。これにより、第1候補振動に基づくハプティクス提示が行われる(ステップS504)。
 次に、候補情報処理部52は、第1候補情報を提示処理部53に出力してから待機時間Wが経過すると、インデックスがj+1の候補情報を第2候補情報として提示処理部53に出力する。提示処理部53は、候補情報処理部52から第2候補情報を受けると、第2候補情報及び包絡線波形情報に基づいてコントローラ21に第2候補振動を発生させる。
 これにより、第2候補振動に基づくハプティクス提示が行われる(ステップS506)。
 次に、候補情報処理部52は、第1候補情報を提示処理部53に出力してから待機時間Wが経過すると、GPU16を制御し、最初に発生した第1候補振動及び最後に発生した第2候補振動のいずれか一方の選択をユーザ6に促進する旨をディスプレイモニタ20に表示させる(ステップS508)。
 次に、操作情報受付部57は、コントローラ21から操作情報を受信するまで待機する(ステップS510でNO)。そして、操作情報受付部57は、コントローラ21から操作情報を受信すると(ステップS510でYES)、受信した操作情報を候補情報処理部52へ出力する。
 次に、候補情報処理部52は、操作情報受付部57から操作情報を受けると、整数jとMとが等しいか否かを判定する(ステップS512)。
 候補情報処理部52は、整数jとMとが等しくないと判定した場合(ステップS512でNO)、整数jをインクリメントする(ステップS516)。
 次に、候補情報処理部52は、ユーザ6に選択されなかった候補情報を破棄し、インデックスがj+1の候補情報をディスク14から取得する(ステップS518)。
 次に、候補情報処理部52は、インデックスがj+1の候補情報とユーザ6に選択された候補情報とのうちの一方である第1候補情報を提示処理部53に出力する。提示処理部53は、候補情報処理部52から第1候補情報を受けると、第1候補情報及び包絡線波形情報に基づいてコントローラ21に第1候補振動を発生させる。これにより、第1候補振動に基づくハプティクス提示が行われる(ステップS504)。
 一方、候補情報処理部52は、整数jとMとが等しいと判定した場合(ステップS512でYES)、ゲームプログラムで使用すべき単位力覚波を決定し、当該単位力覚波を示す候補情報を単位力覚波情報としてディスク14に保存する(ステップS514)。
 候補情報処理部52が、単位力覚波を決定した旨を示す決定情報をゲームプログラムへ出力することにより、力覚波決定処理が終了する。
 なお、本実施形態の力覚波決定装置2では、ユーザ6が、最初に発生した第1候補振動及び最後に発生した第2候補振動のいずれか一方を選択する構成について説明したがこれに限定するものではない。例えば、ユーザ6の趣向及び好みを学習したAI(Artificial Intelligence)が、最初に発生した第1候補振動及び最後に発生した第2候補振動のいずれか一方を選択する構成であってもよい。これにより、ユーザ6に負担をかけることなく、ユーザ6の趣向及び好みに合った単位力覚波を短時間で決定することができる。
 また、本実施形態の力覚波決定装置2では、候補情報及び単位力覚波情報が、単位力覚波を示す構成について説明したが、これに限定するものではない。候補情報及び単位力覚波情報は、複数の当該単位力覚波が連続する力覚波を示す構成であってもよい。
 また、本実施形態の力覚波決定装置2では、最初に発生した第1候補振動及び最後に発生した第2候補振動の2つをユーザ6に提示する構成について説明したが、これに限定するものではない。力覚波決定装置2は、3つ以上の候補振動をユーザ6に提示し、ユーザ6がこれらの候補振動の中から選択する構成であってもよい。
 また、第1実施形態の信号生成装置1及び本実施形態の力覚波決定装置2では、力覚波が周期的な波である構成について説明したが、これに限定するものではない。力覚波は、周期を有さない波であってもよい。具体的には、力覚波は、例えば、周期Puの単位力覚波73(図19参照)がK(Kは2以上の整数)個連続した後、周期Pu1の単位力覚波73a(図19参照)がL(Lは2以上の整数)個連続するような、力覚波の一部が周期的な波である構成であってもよい。つまり、力覚波は、周期を有する波を含む構成であってもよい。また、力覚波は、例えば、単位力覚波73の周期Puがランダムに変化する構成であってもよい。
 また、本実施形態の力覚波決定装置2では、単位力覚波が、鋸波の単位力覚波83、矩形波の単位力覚波73及び三角波の単位力覚波84(図20参照)のような、1周期分の波形の形状が点対称及び回転対称となっている構成について説明したが、これに限定するものではない。図27は、本発明の第2実施形態に係るディスクに保存された候補単位力覚波の変形例を示す図である。図27に示すように、候補単位力覚波は、単位力覚波85のように、1周期分の波形の形状が、点対称、回転対称または線対称などの対称性を有しない構成すなわち1周期分の波形の形状が非対称となっている構成であってもよい。また、単位力覚波73a、73b、73c、73d、83、84及び85は、第1実施形態の信号生成装置1に用いることが可能である。
 また、第1実施形態の信号生成装置1及び本実施形態の力覚波決定装置2では、イベント別力覚振幅エンベロープ71P(図8参照)及び71M(図9参照)のように、イベント別力覚振幅エンベロープの振幅の符号が、正及び負のいずれか一方となっている構成について説明したが、これに限定するものではない。イベント別力覚振幅エンベロープは、振幅の符号が正となる部分と、振幅の符号が負となる部分とを含む構成であってもよい。
 図28は、本発明の第1実施形態及び第2実施形態に係るイベント別力覚振幅エンベロープの変形例を示す図である。図28に示すように、例えば、イベント別力覚振幅エンベロープ111は、波形信号発生期間Tpmにおいて、振幅の符号が正となる部分111pと、振幅の符号が負となる部分111mとを有する。例えば、イベント別力覚振幅エンベロープ111によって力覚波74が変調されたとき、波形信号115が生成される。
 以上、本発明の例示的な実施形態について説明した。信号生成装置1は、イベントに応じた振動をコントローラ21に発生させるための波形信号を生成する。信号生成装置1では、包絡線生成情報取得部32は、イベントE1に対応する波形信号75dのイベント別力覚振幅エンベロープ71Paを示す第1包絡線情報P1、及びイベントE1に対応する波形信号75eのイベント別力覚振幅エンベロープ71Pbを示す第2包絡線情報P2を取得する。現在振幅算出部33は、第1包絡線情報P1及び第2包絡線情報P2に基づいて、イベント別力覚振幅エンベロープ71Pa及び71Pbを合成した合成エンベロープ72aを生成する。変調部35は、合成エンベロープ72aによって力覚波74を変調して波形信号75bを生成する。
 このように、波形信号75dの時間変化より小さい時間変化を有するイベント別力覚振幅エンベロープ71Paと、波形信号75eの時間変化より小さい時間変化を有するイベント別力覚振幅エンベロープ71Pbとを合成した合成エンベロープ72aを生成する構成により、波形信号75dの開始時刻と波形信号75eの開始時刻との差による合成エンベロープ72aの形状の変化を抑制することができる。これにより、2つのイベントの発生時刻がばらつく場合においても、合成エンベロープ72aの形状の変化が抑制されるので、コントローラ21を振動させるための波形信号75bの形状の変化を抑制することができる。したがって、イベントに応じた振動をコントローラ21に発生させるための波形信号を生成する構成において、2つのイベントが発生したときのコントローラ21における振動の態様を安定させることができる。これにより、ユーザ6は期待通りの力覚を受けることができるとともに、良好な力覚によって臨場感を向上させることができる。
 また、信号生成装置1では、包絡線生成情報取得部32は、イベントE1に対応する波形信号75fのイベント別力覚振幅エンベロープ71Pcを示す第1包絡線情報Q1、及びイベントE2に対応する波形信号75gのイベント別力覚振幅エンベロープ71Maを示す第2包絡線情報Q2を取得する。現在振幅算出部33は、第1包絡線情報Q1及び第2包絡線情報Q2に基づいて、イベント別力覚振幅エンベロープ71Pc及び71Maを合成した合成エンベロープ72bを生成する。変調部35は、合成エンベロープ72bによって力覚波74を変調して波形信号75cを生成する。
 このように、波形信号75fの時間変化より小さい時間変化を有するイベント別力覚振幅エンベロープ71Pcと、波形信号75gの時間変化より小さい時間変化を有するイベント別力覚振幅エンベロープ71Maとを合成した合成エンベロープ72bを生成する構成により、波形信号75fの開始時刻t5と波形信号75gの開始時刻t6との差による合成エンベロープ72bの形状の変化を抑制することができる。これにより、2つのイベントの発生時刻がばらつく場合においても、合成エンベロープ72bの形状の変化が抑制されるので、コントローラ21を振動させるための波形信号75cの形状の変化を抑制することができる。したがって、イベントに応じた振動をコントローラ21に発生させるための波形信号を生成する構成において、2つのイベントが発生したときのコントローラ21における振動の態様を安定させることができる。これにより、ユーザ6は期待通りの力覚を受けることができるとともに、良好な力覚によって臨場感を向上させることができる。
 また、信号生成装置1では、イベント別力覚振幅エンベロープ71Paの符号とイベント別力覚振幅エンベロープ71Pbの符号とは同じである。
 このような構成により、合成エンベロープ72aの振幅を、イベント別力覚振幅エンベロープ71Pa及び71Pbの振幅以上にすることができるので、例えば、同一方向から2回引っ張られたときのように、2つのイベントが重なったときに強め合う効果が求められるイベントに適した波形信号75bを生成することができる。これにより、2つの当該イベントの発生時刻がばらつく場合においても、同一方向に2段階で引っ張られる力覚をユーザ6に安定して与えることができる。
 また、信号生成装置1では、イベント別力覚振幅エンベロープ71Pcの符号とイベント別力覚振幅エンベロープ71Maの符号とは異なる。
 このような構成により、合成エンベロープ72bの振幅を、イベント別力覚振幅エンベロープ71Pc及び71Maの振幅以下にすることができるので、例えば、ある方向から引っ張られた後に、反対方向から引っ張られたときのように、2つのイベントが重なったときに弱め合う効果が求められるイベントに適した波形信号75cを生成することができる。これにより、2つの当該イベントの発生時刻がばらつく場合においても、互いに反対方向から引かれた結果として生ずる弱い力覚をユーザ6に安定して与えることができる。
 また、信号生成装置1では、波形信号75dは、第1包絡線情報P1の生成に用いたイベント情報の示すイベントの開始時刻に基づく時刻t1に開始する。波形信号75eは、第2包絡線情報P2の生成に用いたイベント情報の示すイベントの開始時刻に基づく時刻t2に開始する。現在振幅算出部33は、時刻t1に開始されるイベント別力覚振幅エンベロープ71Pa、及び時刻t2に開始されるイベント別力覚振幅エンベロープ71Pbを合成した合成エンベロープ72aを生成する。
 このような構成により、イベント別力覚振幅エンベロープ71Paの開始時刻t1を、対応のイベントの開始時刻と同時にしたり、当該開始時刻から遅らせたり早めたりすることができる。同様に、イベント別力覚振幅エンベロープ71Pbの開始時刻t2を、対応のイベントの開始時刻と同時にしたり、当該開始時刻から遅らせたり早めたりすることができる。これにより、イベントの内容に対応する力覚の知覚特性を考慮し、当該内容に合った違和感のない力覚をユーザ6に与えることができる。
 また、信号生成装置1では、波形信号75fは、第1包絡線情報Q1の生成に用いたイベント情報の示すイベントの開始時刻に基づく時刻t5に開始する。波形信号75gは、第2包絡線情報Q2の生成に用いたイベント情報の示すイベントの開始時刻に基づく時刻t6に開始する。現在振幅算出部33は、時刻t5に開始されるイベント別力覚振幅エンベロープ71Pc、及び時刻t6に開始されるイベント別力覚振幅エンベロープ71Maを合成した合成エンベロープ72bを生成する。
 このような構成により、イベント別力覚振幅エンベロープ71Pcの開始時刻t5を、対応のイベントの開始時刻と同時にしたり、当該開始時刻から遅らせたり早めたりすることができる。同様に、イベント別力覚振幅エンベロープ71Maの開始時刻t6を、対応のイベントの開始時刻と同時にしたり、当該開始時刻から遅らせたり早めたりすることができる。これにより、イベントの内容に対応する力覚の知覚特性を考慮し、当該内容に合った違和感のない力覚をユーザ6に与えることができる。
 また、信号生成装置1では、包絡線生成情報取得部32は、イベント別力覚振幅エンベロープ71Pa及び71Pbの重みづけを示す重みづけ情報w1を取得する。現在振幅算出部33は、重みづけ情報w1に基づいて、イベント別力覚振幅エンベロープ71Pa及び71Pbを合成した合成エンベロープ72aを生成する。
 このような構成により、例えば、イベント別力覚振幅エンベロープ71Paの振幅及びイベント別力覚振幅エンベロープ71Pbの振幅の少なくとも一方を調整して合成エンベロープ72aを合成することができる。これにより、ユーザ6に与える力覚をイベントの内容に応じて調整することができる。また、イベント別力覚振幅エンベロープ71Paの振幅及びイベント別力覚振幅エンベロープ71Pbの振幅の少なくとも一方を動的に調整して合成エンベロープ72aを合成することができる。これにより、ゲームの進行状況またはイベント別力覚振幅エンベロープ71Paと71Pbとの重なり具合などに応じて、ユーザ6に与える力覚を調整することができる。
 また、信号生成装置1では、包絡線生成情報取得部32は、イベント別力覚振幅エンベロープ71Pc及び71Maの重みづけをそれぞれ示す重みづけ情報w1及びw2を取得する。現在振幅算出部33は、重みづけ情報w1及びw2に基づいて、イベント別力覚振幅エンベロープ71Pc及び71Maを合成した合成エンベロープ72bを生成する。
 このような構成により、例えば、イベント別力覚振幅エンベロープ71Pcの振幅及びイベント別力覚振幅エンベロープ71Maの振幅の少なくとも一方を調整して合成エンベロープ72bを合成することができる。これにより、ユーザ6に与える力覚をイベントの内容に応じて調整することができる。また、イベント別力覚振幅エンベロープ71Pcの振幅及びイベント別力覚振幅エンベロープ71Maの振幅の少なくとも一方を動的に調整して合成エンベロープ72bを合成することができる。これにより、ゲームの進行状況またはイベント別力覚振幅エンベロープ71Pcと71Maとの重なり具合などに応じて、ユーザ6に与える力覚を調整することができる。
 また、信号生成装置1では、力覚波74は、イベント別力覚振幅エンベロープ71Paの波形信号発生期間Tpa及びイベント別力覚振幅エンベロープ71Pbの波形信号発生期間Tpb、またはイベント別力覚振幅エンベロープ71Pcの波形信号発生期間Tpc及びイベント別力覚振幅エンベロープ71Maの波形信号発生期間Tmaにおいて振動する波である。
 このような構成により、力覚波74を合成エンベロープ72a及び72bによって適切に変調し、良好な波形信号75b及び75cを生成することができる。
 また、信号生成装置1では、力覚波74は、周期Puを有する。
 このような構成により、データ数の少ない単位力覚波73を連続させる簡易な処理で力覚波74を生成することができる。
 また、力覚波決定装置2では、候補情報処理部52は、コントローラ21に振動を発生させるための波形信号のイベント別力覚振幅エンベロープ71Pによって変調される力覚波74の候補である第1候補力覚波を示す第1候補情報、及び当該候補であって第1候補力覚波と異なる第2候補力覚波を示す第2候補情報を取得する。変調部35は、第1候補情報及び第2候補情報に基づいて、第1候補力覚波及び第2候補力覚波をそれぞれイベント別力覚振幅エンベロープ71Pによって変調して波形信号75a及び75hを生成する。出力部37は、波形信号75aに基づく第1候補振動及び波形信号75hに基づく第2候補振動をそれぞれコントローラ21に発生させる。操作情報受付部57は、第1候補振動及び第2候補振動のいずれか一方に選択された結果を取得する。そして、候補情報処理部52は、当該結果に基づいて力覚波を決定する。
 このように、第1候補力覚波に基づく波形信号75aと、第1候補力覚波と異なる第2候補力覚波に基づく波形信号75hとを生成する構成により、波形信号75aに基づく第1候補振動と、波形信号75hに基づく、第1候補振動と異なる第2候補振動とをコントローラ21に発生させることができる。これにより、第1候補振動及び第2候補振動によって異なる力覚を生じさせることができるので、第1候補振動及び第2候補振動のいずれか一方に選択された結果に基づいて、第1候補振動及び第2候補振動のいずれがユーザ6の趣向に合っているかを判断することができる。したがって、ユーザ6の趣向に合った力覚を実現することができる。
 また、力覚波決定装置2では、力覚波74及び74dは、周期Puを有する。
 このような構成により、データ数の少ない単位力覚波73及び73dを連続させる簡易な処理で単位力覚波73及び73dを生成することができる。
 また、力覚波決定装置2では、第1候補力覚波は、例えば、単位力覚波73が連続する力覚波であり、第2候補力覚波は、単位力覚波73aが連続する力覚波である。第1候補力覚波の波形と第2候補力覚波の波形とは同じ形状を有する。そして、第1候補力覚波の基本周波数と第2候補力覚波の基本周波数とは異なる。
 このように、第1候補力覚波の基本周波数と第2候補力覚波の基本周波数とを異ならせる構成により、ユーザ6の趣向に合う力覚を与える基本周波数を決定することができる。
 また、力覚波決定装置2では、第1候補力覚波は、例えば、単位力覚波73が連続する力覚波であり、第2候補力覚波は、単位力覚波83が連続する力覚波である。第1候補力覚波の基本周波数と第2候補力覚波の基本周波数とは同じである。そして、第1候補力覚波の波形と第2候補力覚波の波形とは異なる形状を有する。
 このように、第1候補力覚波の波形と第2候補力覚波の波形とが異なる形状を有する構成により、ユーザ6の趣向に合う力覚を与える力覚波の形状を決定することができる。
 また、力覚波決定装置2では、第1候補力覚波は、例えば、単位力覚波73が連続する力覚波であり、第2候補力覚波は、単位力覚波73dが連続する力覚波である。第1候補力覚波の基本周波数と第2候補力覚波の基本周波数とは同じである。第1候補力覚波の波形と第2候補力覚波の波形とは同じ形状を有する。そして、第1候補力覚波の波形の形状の滑らかさと第2候補力覚波の波形の形状の滑らかさとは異なる。
 このように、第1候補力覚波の波形の形状の滑らかさと第2候補力覚波の波形の形状の滑らかさとが異なる構成により、例えば、基本周波数及び波形のパラメータについて最適化された力覚波について、高周波成分の割合を調整することによって力覚波をさらに最適化し、ユーザ6の趣向に合う力覚を与える力覚波を決定することができる。
 また、力覚波決定装置2では、操作情報受付部57は、第1候補振動及び第2候補振動について、ユーザ6による選択結果を取得する。
 このような構成により、第1候補振動及び第2候補振動の選択に、ユーザ6の趣向を直接反映させることができるので、ユーザ6の趣向に合わない力覚を与える力覚波を決定することを抑制することができる。
 また、力覚波決定装置2では、力覚波74及び74dは、イベント別力覚振幅エンベロープ71Pの波形信号発生期間Tpにおいて振動する波である。
 このような構成により、力覚波74及び74dをイベント別力覚振幅エンベロープ71Pによって適切に変調し、良好な波形信号75a及び75hを生成することができる。
 なお、以上説明した各実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更/改良され得るとともに、本発明にはその等価物も含まれる。即ち、各実施形態に当業者が適宜設計変更を加えたものも、本発明の特徴を備えている限り、本発明の範囲に包含される。例えば、各実施形態が備える各要素及びその配置、材料、条件、形状、サイズなどは、例示したものに限定されるわけではなく適宜変更することができる。また、各実施形態は例示であり、異なる実施形態で示した構成の部分的な置換又は組み合わせが可能であることは言うまでもなく、これらも本発明の特徴を含む限り本発明の範囲に包含される。
1…信号生成装置
2…力覚波決定装置
3…ゲームシステム
11…コンピュータ
19…スピーカ
20…ディスプレイモニタ
21…コントローラ
31…イベント受付部
32…包絡線生成情報取得部
33…現在振幅算出部
34…カウンタ
35…変調部
36…単位力覚波情報取得部
37…出力部
51…コマンド受付部
52…候補情報処理部
53…提示処理部
55…包絡線波形情報取得部
57…操作情報受付部
63…現在振幅算出部
71…イベント別力覚振幅エンベロープ
72…合成エンベロープ
73…単位力覚波
74…力覚波
75…波形信号
83、84、85…単位力覚波
101…対応情報
111…イベント別力覚振幅エンベロープ
115…波形信号

Claims (9)

  1.  事象に応じた振動を対象物に発生させるための波形信号を生成する信号生成装置であって、
     第1事象に対応する第1波形信号の第1包絡線を示す第1包絡線情報、及び第2事象に対応する第2波形信号の第2包絡線を示す第2包絡線情報を取得する包絡線情報取得部と、
     前記第1包絡線情報及び前記第2包絡線情報に基づいて、包絡線を合成した合成包絡線を生成する合成部と、
     前記合成包絡線によって力覚波を変調して前記波形信号を生成する変調部と、を備える、
     信号生成装置。
  2.  請求項1に記載の信号生成装置であって、
     前記第1包絡線の符号と前記第2包絡線の符号とは同じである、
     信号生成装置。
  3.  請求項1に記載の信号生成装置であって、
     前記第1包絡線の符号と前記第2包絡線の符号とは異なる、
     信号生成装置。
  4.  請求項1から請求項3のいずれか一項に記載の信号生成装置であって、
     前記第1波形信号は、前記第1事象の開始タイミングに基づく第1タイミングに開始し、
     前記第2波形信号は、前記第2事象の開始タイミングに基づく第2タイミングに開始し、
     前記合成部は、前記第1タイミングに開始される前記第1包絡線、及び前記第2タイミングに開始される前記第2包絡線を合成した前記合成包絡線を生成する、
     信号生成装置。
  5.  請求項1から請求項4のいずれか一項に記載の信号生成装置であって、
     前記第1包絡線及び前記第2包絡線のそれぞれの重みづけを示す重みづけ情報を取得する重みづけ情報取得部をさらに備え、
     前記合成部は、前記重みづけ情報に基づいて、前記第1包絡線及び前記第2包絡線を合成した前記合成包絡線を生成する、
     信号生成装置。
  6.  請求項1から請求項5のいずれか一項に記載の信号生成装置であって、
     前記力覚波は、前記第1包絡線の発生期間及び前記第2包絡線の発生期間において振動する波である、
     信号生成装置。
  7.  請求項1から請求項6のいずれか一項に記載の信号生成装置であって、
     前記力覚波は、周期を有する、
     信号生成装置。
  8.  事象に応じた振動を対象物に発生させるための波形信号を生成する信号生成装置における信号生成方法であって、
     第1事象に対応する第1波形信号の第1包絡線を示す第1包絡線情報、及び第2事象に対応する第2波形信号の第2包絡線を示す第2包絡線情報を取得するステップと、
     前記第1包絡線情報及び前記第2包絡線情報に基づいて、包絡線を合成した合成包絡線を生成するステップと、
     前記合成包絡線によって力覚波を変調して前記波形信号を生成するステップと、を含む、
     信号生成方法。
  9.  事象に応じた振動を対象物に発生させるための波形信号を生成する信号生成装置において用いられる信号生成プログラムであって、
     コンピュータを、
     第1事象に対応する第1波形信号の第1包絡線を示す第1包絡線情報、及び第2事象に対応する第2波形信号の第2包絡線を示す第2包絡線情報を取得する包絡線情報取得部、
     前記第1包絡線情報及び前記第2包絡線情報に基づいて、包絡線を合成した合成包絡線を生成する合成部、及び
     前記合成包絡線によって力覚波を変調して前記波形信号を生成する変調部、
     として機能させるための、
     信号生成プログラム。
PCT/JP2021/028602 2020-10-07 2021-08-02 信号生成装置、信号生成方法及び信号生成プログラム WO2022074910A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2022555276A JP7448030B2 (ja) 2020-10-07 2021-08-02 信号生成装置、信号生成方法及び信号生成プログラム
CN202180068667.3A CN116322913A (zh) 2020-10-07 2021-08-02 信号生成装置、信号生成方法以及信号生成程序
EP21877214.3A EP4226984A1 (en) 2020-10-07 2021-08-02 Signal generation device, signal generation method, and signal generation program
US18/296,602 US20230304853A1 (en) 2020-10-07 2023-04-06 Signal generation device, signal generation method, and signal generation program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-169575 2020-10-07
JP2020169575 2020-10-07

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/296,602 Continuation US20230304853A1 (en) 2020-10-07 2023-04-06 Signal generation device, signal generation method, and signal generation program

Publications (1)

Publication Number Publication Date
WO2022074910A1 true WO2022074910A1 (ja) 2022-04-14

Family

ID=81126444

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/028602 WO2022074910A1 (ja) 2020-10-07 2021-08-02 信号生成装置、信号生成方法及び信号生成プログラム

Country Status (5)

Country Link
US (1) US20230304853A1 (ja)
EP (1) EP4226984A1 (ja)
JP (1) JP7448030B2 (ja)
CN (1) CN116322913A (ja)
WO (1) WO2022074910A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116500568B (zh) * 2023-06-29 2023-10-13 成都华兴汇明科技有限公司 一种长时动态多目标重叠信号的生成方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016016372A (ja) * 2014-07-09 2016-02-01 和俊 尾花 振動生成システム、振動生成装置、振動信号生成プログラム、および振動生成方法
JP2019017475A (ja) * 2017-07-12 2019-02-07 任天堂株式会社 ゲームシステム、ゲームプログラム、ゲーム装置、およびゲーム処理方法
WO2019038887A1 (ja) 2017-08-24 2019-02-28 株式会社ソニー・インタラクティブエンタテインメント 振動制御装置
JP2019063547A (ja) * 2018-11-30 2019-04-25 任天堂株式会社 データ出力プログラム、データ出力装置、およびデータ出力方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016016372A (ja) * 2014-07-09 2016-02-01 和俊 尾花 振動生成システム、振動生成装置、振動信号生成プログラム、および振動生成方法
JP2019017475A (ja) * 2017-07-12 2019-02-07 任天堂株式会社 ゲームシステム、ゲームプログラム、ゲーム装置、およびゲーム処理方法
WO2019038887A1 (ja) 2017-08-24 2019-02-28 株式会社ソニー・インタラクティブエンタテインメント 振動制御装置
JP2019063547A (ja) * 2018-11-30 2019-04-25 任天堂株式会社 データ出力プログラム、データ出力装置、およびデータ出力方法

Also Published As

Publication number Publication date
JP7448030B2 (ja) 2024-03-12
JPWO2022074910A1 (ja) 2022-04-14
EP4226984A1 (en) 2023-08-16
CN116322913A (zh) 2023-06-23
US20230304853A1 (en) 2023-09-28

Similar Documents

Publication Publication Date Title
JP7061143B2 (ja) 触覚通知
US11069206B2 (en) Methods and apparatus for outputting a haptic signal to a haptic transducer
US11132062B2 (en) Coherent phase switching and modulation of a linear actuator array
US9158379B2 (en) Haptic warping system that transforms a haptic signal into a collection of vibrotactile haptic effect patterns
US20180040211A1 (en) Sound to haptic effect conversion system using mapping
EP2902879B1 (en) Haptic based information processing apparatus, information processing program, information processing system, and information processing method
CN105282591B (zh) 独立输出流的同步
CN105094312B (zh) 动态触觉效果修改
US20230304853A1 (en) Signal generation device, signal generation method, and signal generation program
WO2019043781A1 (ja) 振動制御装置、振動制御方法、及びプログラム
JP6664145B2 (ja) 情報処理装置、情報処理プログラム、情報処理システム、および情報処理方法
JP6884216B2 (ja) 振動制御装置
JP6959349B2 (ja) 操作デバイス、及びその制御装置
Martínez et al. Vitaki: a vibrotactile prototyping toolkit for virtual reality and video games
WO2019038888A1 (ja) 振動制御装置
WO2022074929A1 (ja) 力覚波決定装置、力覚波決定方法及び力覚波決定プログラム
Hachisu et al. Virtual chromatic percussions simulated by pseudo-haptic and vibrotactile feedback
JP6817344B2 (ja) 触覚効果のピッチ制御を可能にする方法及びデバイス
JP6322780B1 (ja) 触覚コンテンツ生成装置、音響コンテンツ生成装置、音響再生装置、触覚コンテンツ生成方法および音響コンテンツ生成方法
WO2022181702A1 (ja) 信号生成装置、信号生成方法及びプログラム
WO2023039759A1 (zh) 触感生成方法、触觉再现装置及计算机存储介质
US20230280832A1 (en) Signal generation device, signal generation method, and signal generation program
KR20120038258A (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: 21877214

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022555276

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021877214

Country of ref document: EP

Effective date: 20230508