Vibration control method, device, apparatus and system
Patent Information
- Application Number
- CN202210863114.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-21
- Publication Date
- 2026-08-21
- Estimated Expiration
- 2042-07-21
AI Technical Summary
[0004]现有方式控制左右手柄马达震动时,仍然存在较明显的延迟,导致左右手柄输出的震动反馈不一致,严重影响用户的使用体验
[0029]By receiving vibration control commands from the head-mounted display device, a target vibration waveform is determined from a preset vibration waveform based on these commands. Then, the motor vibration is controlled according to the target vibration waveform. Therefore, sending vibration control commands from the head-mounted display device to the controller avoids complex encoding and decoding operations on audio data and reduces data transmission volume. This achieves low-latency data transmission not only between the head-mounted display device and the controller but also between the left and right controllers, enabling synchronized vibration feedback output from both controllers and improving the user's vibration feedback experience.
Smart Images

Figure CN117475609B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of virtual reality technology, and in particular to a vibration control method, apparatus, device and system. Background Technology
[0002] The controller is currently the most commonly used control device in VR (Virtual Reality) products. It can control the vibration of the motor according to the usage scenario to output vibration feedback to the user, thereby increasing the user's sense of immersion and realism.
[0003] Currently, some VR products include left and right controllers, each with its own vibration motor. When it is necessary to control the vibration feedback output of the motors in the VR controllers, the VR device sends audio data to the VR controllers via wireless communication, so that the VR controllers can control the vibration of the motors in the left and right handles based on the left and right channels of the audio data.
[0004] The existing method of controlling the vibration of the left and right handle motors still has a significant delay, resulting in inconsistent vibration feedback from the left and right handles, which seriously affects the user experience. Summary of the Invention
[0005] This application provides a vibration control method, device, equipment, and system that not only achieves low-latency data transmission between the head-mounted display device and the controller, but also achieves low-latency data transmission between the left and right controllers, enabling the left and right controllers to output vibration feedback synchronously, thereby improving the user's vibration feedback experience.
[0006] In a first aspect, this application provides a vibration control method applied to a handle, the method comprising:
[0007] Receive vibration control commands sent by the head-mounted display device;
[0008] According to the vibration control command, the target vibration waveform is determined from the preset vibration waveform;
[0009] The motor vibration is controlled based on the target vibration waveform.
[0010] Secondly, embodiments of this application provide a vibration control method applied to a head-mounted display device, the method comprising:
[0011] Obtain sound effect data;
[0012] The vibration control command is determined based on the sound effect data;
[0013] The vibration control command is sent to the handle to instruct the handle to determine the target vibration waveform from the preset vibration waveform according to the vibration control command, and to control the motor vibration according to the target vibration waveform.
[0014] Thirdly, embodiments of this application provide a vibration control device, disposed on a handle, comprising:
[0015] The instruction receiving module is used to receive vibration control instructions sent by the head-mounted display device;
[0016] The waveform determination module is used to determine the target vibration waveform from the preset vibration waveforms according to the vibration control command;
[0017] The control module is used to control the motor vibration according to the target vibration waveform.
[0018] Fourthly, embodiments of this application provide a vibration control device configured in a head-mounted display device, comprising:
[0019] The data acquisition module is used to acquire sound effect data;
[0020] The instruction determination module is used to determine the vibration control instruction based on the sound effect data;
[0021] The instruction sending module is used to send the vibration control instruction to the handle, so as to instruct the handle to determine the target vibration waveform from the preset vibration waveform according to the vibration control instruction, and control the motor vibration according to the target vibration waveform.
[0022] Fifthly, embodiments of this application provide an electronic device, including:
[0023] A processor and a memory, wherein the memory is used to store a computer program, and the processor is used to call and run the computer program stored in the memory to perform the vibration control method described in the foregoing embodiments.
[0024] Sixthly, embodiments of this application provide a computer-readable storage medium for storing a computer program that causes a computer to execute the vibration control method described in the foregoing embodiments.
[0025] In a seventh aspect, embodiments of this application provide a vibration control system, including: an electronic device as described in the fifth aspect embodiment, the electronic device including: a handle and a head-mounted display device;
[0026] The handle includes a first wireless communication module and a motor;
[0027] The head-mounted display device includes a second wireless communication module.
[0028] The technical solutions disclosed in the embodiments of this application have at least the following beneficial effects:
[0029] By receiving vibration control commands from the head-mounted display device, a target vibration waveform is determined from a preset vibration waveform based on these commands. Then, the motor vibration is controlled according to the target vibration waveform. Therefore, sending vibration control commands from the head-mounted display device to the controller avoids complex encoding and decoding operations on audio data and reduces data transmission volume. This achieves low-latency data transmission not only between the head-mounted display device and the controller but also between the left and right controllers, enabling synchronized vibration feedback output from both controllers and improving the user's vibration feedback experience. Attached Figure Description
[0030] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0031] Figure 1 This is a schematic flowchart of the first vibration control method provided in the embodiments of this application;
[0032] Figure 2 This is a schematic diagram of the structure of a handle provided in an embodiment of this application;
[0033] Figure 3 This is a schematic diagram of another handle provided in an embodiment of this application;
[0034] Figure 4 This is a schematic diagram of a preset vibration waveform provided in an embodiment of this application;
[0035] Figure 5 This is a vibration curve diagram of the wideband motor provided in the embodiments of this application;
[0036] Figure 6 This is a schematic flowchart of the second vibration control method provided in the embodiments of this application;
[0037] Figure 7 This is a flowchart illustrating the third vibration control method provided in the embodiments of this application;
[0038] Figure 8 This is a schematic diagram of the structure of the head-mounted display device provided in the embodiments of this application;
[0039] Figure 9 This is a flowchart illustrating the fourth vibration control method provided in the embodiments of this application;
[0040] Figure 10 This is a schematic block diagram of a vibration control device provided in an embodiment of this application;
[0041] Figure 11 This is a schematic block diagram of another vibration control device provided in the embodiments of this application;
[0042] Figure 12 This is a schematic block diagram of an electronic device provided in an embodiment of this application;
[0043] Figure 13 This is a schematic block diagram of a vibration control system provided in an embodiment of this application;
[0044] Figure 14 This is a schematic block diagram of another vibration control system provided in an embodiment of this application;
[0045] Figure 15 This is a schematic block diagram of time synchronization of a vibration control system provided in an embodiment of this application;
[0046] Figure 16 This is a schematic diagram of the wireless communication process between a head-mounted display device and each handle in a vibration control system provided in this application embodiment. Detailed Implementation
[0047] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0048] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or server that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or devices.
[0049] This application addresses a situation in virtual reality scenarios where, based on audio data sent by a head-mounted display device, the motors in the left and right controllers of a VR (Virtual Reality) controller are controlled independently, resulting in asynchronous vibration feedback and severely impacting the user experience. Therefore, this application designs a vibration control method to achieve synchronized vibration feedback output from the left and right controllers, thereby improving the user experience.
[0050] The vibration control method provided by the embodiments of this application will be described in detail below with reference to the accompanying drawings. First, taking a handle as an example, the vibration control method of the embodiments of this application will be described in detail as follows: Figure 1 In this embodiment, there are two handles: a left handle and a right handle, so that the user holds one in each hand, laying the foundation for real-time tracking of the user's position and the movement trajectory of both hands.
[0051] See Figure 2 and Figure 3 As shown, the handle may include: a first wireless communication module, a motor module, a light-emitting diode module, an inertial measurement unit (IMU), and a preset vibration waveform module. The preset vibration waveform module stores multiple preset waveforms with different vibration parameters such as frequency, intensity, vibration duration, and number of repetitions. In this embodiment, the handle receives vibration control commands sent by the head-mounted display device through the first wireless communication module, and also sends acquired sensor data to the head-mounted display device through the same first wireless communication module. The first wireless communication module may be a wireless chip, and this wireless chip uses a low-latency communication protocol, specifically a 2.4G data communication protocol.
[0052] Figure 1 This is a schematic flowchart illustrating the first vibration control method provided in this application embodiment. The vibration control method applied to a handle provided in this embodiment can be executed by a vibration control device to control the vibration process of the motor in the handle. This vibration control device can consist of hardware and / or software and can be integrated into the handle.
[0053] like Figure 1 As shown, the vibration control method of this application includes the following steps:
[0054] S101 receives vibration control commands sent by the head-mounted display device.
[0055] The vibration control command may include at least one of the following vibration parameters: vibration frequency, vibration intensity, vibration duration, number of repetitions, and vibration mode. In this embodiment, the vibration mode refers to a combination of different vibration frequencies and intensities within a certain time period.
[0056] In other words, by including at least one of the above vibration parameters in the vibration control command, the controller can generate a corresponding vibration feedback force based on the vibration parameter, and then output different vibration feedback to the user based on the vibration feedback force, so as to increase the realism and immersion of the user when using the virtual reality device.
[0057] Before performing step S101, a pairing operation needs to be performed between the head-mounted display device and the controller in this application to establish a wireless communication connection. Specifically, establishing a wireless communication connection refers to establishing a wireless connection between the first wireless communication module in the controller and the second wireless communication module in the head-mounted display device. Then, based on the established wireless communication connection, the head-mounted display device can synchronously send vibration control commands to the left and right controllers, so that the controllers can control their own motors to output vibration feedback according to the vibration control commands.
[0058] In practice, after the head-mounted display device enters pairing mode based on a user-triggered pairing operation, it can send a pairing channel to the controller, enabling the head-mounted display device and the controller to pair based on this channel. The pairing channel refers to the communication channel between the head-mounted display device and the controller for pairing operations. This pairing channel can be a wireless communication channel obtained by the head-mounted display device through scanning, etc., and is not limited here.
[0059] Considering that the time systems of the head-mounted display and the controller may not be synchronized, pairing failures may occur during the pairing process. Therefore, this application can first unify the time of the controller and the head-mounted display before performing the pairing operation based on the synchronized time system.
[0060] Specifically, time unification processing for the controller and head-mounted display can include the following situations:
[0061] Scenario 1
[0062] The head-mounted display sends time synchronization information to the controller via a pairing channel, enabling the controller to perform time synchronization processing based on the time synchronization information.
[0063] Scenario 2
[0064] Time synchronization information is sent from either handle to the head-mounted display via a pairing channel, enabling the head-mounted display to perform time synchronization processing based on the time synchronization information.
[0065] In this embodiment, the left and right handles have the same duration.
[0066] The aforementioned time synchronization information is used to adjust the time of the controller and the head-mounted display device to the same value.
[0067] Furthermore, the time synchronization information may carry a synchronization timestamp. In this embodiment, if the time synchronization information is sent by the head-mounted display device, the synchronization timestamp is the timestamp of the head-mounted display device; if the time synchronization information is sent by any controller, the synchronization timestamp is the timestamp of the controller.
[0068] Considering that the head-mounted display device is mainly used to send control commands to the controller to control the controller to perform corresponding operations, and the controller is mainly used to receive control commands sent by the head-mounted display device to perform corresponding operations according to the control commands, that is, the head-mounted display device is equivalent to the master device, and the controller is equivalent to the slave device. Therefore, this application preferably uses a case-one correspondence method for time synchronization processing.
[0069] In practice, the controller receives time synchronization information from the head-mounted display device and parses this information to obtain a synchronization timestamp. Then, based on the obtained synchronization timestamp and the reception time of the time synchronization information, a time difference is calculated. Finally, the controller adds this time difference to its own timestamp to synchronize its time with the head-mounted display device's time.
[0070] After time synchronization is completed, the controllers and head-mounted display (HUD) can pair. Specifically, the HUD sends first pairing information to each controller via a pairing channel at preset time intervals. This first pairing information carries the HUD identifier. When a controller receives the first pairing information, it parses it to obtain the HUD identifier. Then, based on the HUD identifier and the controller identifier, it generates a controller address in the format "HUD identifier + controller identifier" and stores this address. The controller then carries the generated address in second pairing information and sends this second pairing information to the HUD via the pairing channel at preset time intervals, enabling the HUD to establish a wireless communication connection with the controller based on the controller address carried in the second pairing information.
[0071] The preset time interval can be determined based on the performance of the head-mounted display device, and no restrictions are imposed here.
[0072] The head-mounted display device identifier refers to information that can uniquely identify the head-mounted display device. Examples include a unique identifier for the head-mounted display device, or a unique identifier for the second wireless communication module within the head-mounted display device.
[0073] A controller identifier is information that can uniquely identify a controller. Examples include a unique identifier for the controller, or a unique identifier for the first wireless communication module within the controller.
[0074] Furthermore, once the handle and head-mounted display device are paired and a wireless communication connection is established, the handle can use the first wireless communication module to receive vibration control commands sent by the head-mounted display device based on the established wireless communication connection.
[0075] It should be noted that the 6DoF tracking of VR controllers has high requirements for data transmission frequency. Therefore, the entire wireless design in this application is based on high-frequency data transmission. The transmission frequency of the inertial sensor can reach more than 500Hz, and the broadcast signal of the head-mounted display device can be increased to 1000Hz. Therefore, the latency of the entire wireless data transmission can be controlled at about 1 millisecond (ms), thereby achieving the requirement of low-latency transmission.
[0076] The vibration control commands sent by the head-mounted display device can be obtained in the following ways:
[0077] Specifically, the head-mounted display device can retrieve sound effect data corresponding to the current scene information from the sound effect database through the sound effect interface, and then perform audio decoding processing on the sound effect data. Afterwards, one channel outputs the decoded audio through the audio interface so that the user can hear the audio, while another channel converts the decoded sound effect data to obtain sound-based vibration control commands.
[0078] The sound effects database stores sound effects data corresponding to each scene, and this sound effects data is pre-stored in the sound effects database by the developers during development. Furthermore, this sound effects database can be a local database of the head-mounted display device, or a database on a backend server that communicates with the head-mounted display device; this application does not impose specific limitations in this regard.
[0079] Alternatively, the head-mounted display device can directly acquire event-based vibration control commands based on vibration control commands sent by the user via a controller or gestures. Then, based on the established wireless communication connection, the vibration control commands are synchronously sent to the controller, so that the controller can use the vibration control commands received by the first wireless communication module to output corresponding vibration feedback to the user.
[0080] In this embodiment, the left and right handles are connected via a 2.4G data communication protocol to ensure that both handles can simultaneously receive vibration control commands sent by the head-mounted display device.
[0081] Furthermore, since vibration control commands have a smaller data volume compared to sound effect data, they can be completed in a single control package. Therefore, in this embodiment, sending vibration control commands to the controller via a head-mounted display device ensures that the controller can receive the control commands with low latency and respond quickly based on them.
[0082] S102, according to the vibration control command, determine the target vibration waveform from the preset vibration waveform.
[0083] The preset vibration waveform is generated based on sound effect data, user input data, and touch data from a sound effect database, and is sent to each controller via a head-mounted display device. For example, Figure 4 As shown, waveform 1 is a preset vibration waveform with a first vibration frequency and a first vibration intensity, and waveform 2 is a preset vibration waveform with a second vibration frequency and a second vibration intensity.
[0084] Considering that vibration control commands can be either sound-based or event-based, when the vibration control command is a sound-based command, the preset vibration waveform mainly consists of waveforms of different frequencies and intensities that work in conjunction with the motor. For a specific application, all sound effect files can be output as a preset waveform file. This preset waveform file can be updated to the main controller of the gamepad via the head-mounted display device when the application starts. Furthermore, the main controller of the gamepad can update the control waveform in the motor drive based on this preset waveform file, enabling the motor to respond quickly based on the control waveform.
[0085] When the vibration control command is event-based, a vibration waveform with a preset response frequency can be configured in the motor drive. This waveform does not need to encompass the entire motor vibration waveform; only fixed frequency points need to be selected within the low, medium, and high frequency ranges. Furthermore, the vibration frequency, duration, intensity, and repetition count of the waveform can be controlled via event-based vibration control commands to achieve event-based control of the motor.
[0086] Furthermore, considering compatibility across multiple applications, the preset vibration waveform in this embodiment can also be a control waveform covering the entire frequency range of low, mid, and high frequencies. Further, to reduce the number of preset vibration waveforms and the number of upper-level sound effect vibration control commands, this application can also set response waveforms at regular frequency intervals. These response waveforms set at regular frequency intervals can be waveforms with different vibration frequencies and intensities. The intervals can be set according to actual needs, such as 2Hz or 5Hz. For example, if the interval is 2Hz, then a waveform with a vibration frequency or intensity can be set every 2Hz within a preset vibration waveform.
[0087] Specifically, after the head-mounted display sends a preset vibration waveform to the controller, the controller stores the preset vibration waveform in the preset vibration waveform module of the main controller. When the controller is turned on, the main controller in the controller automatically updates all the preset vibration waveforms in the preset vibration waveform module to the random access memory (RAM) of the motor driver, also known as main memory. Then, when the controller receives a vibration control command from the head-mounted display, the controller can send the vibration control command to the motor driver through the communication interface, so that the motor driver can determine the corresponding target vibration waveform from all the preset vibration waveforms according to the vibration control command.
[0088] Considering that vibration control commands can carry vibration parameters such as vibration frequency, vibration intensity, vibration duration, number of repetitions, and vibration mode, the motor drive in the handle can parse the vibration control command after receiving it from the head-mounted display device to obtain the vibration parameters carried in the command. Then, based on the vibration parameters, the target vibration waveform is determined from a preset vibration waveform.
[0089] In this embodiment, determining the target vibration waveform from a preset vibration waveform based on vibration parameters may include at least one of the following:
[0090] If the vibration parameter is the vibration frequency, then the target vibration waveform is determined from the preset vibration waveform based on the vibration frequency;
[0091] If the vibration parameters are vibration frequency and vibration intensity, then the target vibration waveform is determined from the preset vibration waveform based on the vibration frequency and vibration intensity.
[0092] If the vibration parameters are vibration frequency, vibration intensity, and vibration duration, then the target vibration waveform is determined from the preset vibration waveform based on the vibration frequency, vibration intensity, and vibration duration.
[0093] If the vibration parameters are vibration frequency, vibration intensity, vibration duration, and number of repetitions, then the target vibration waveform is determined from the preset vibration waveforms based on these parameters.
[0094] If the vibration parameters are vibration frequency, vibration intensity, vibration duration, number of repetitions, and vibration mode, then the target vibration waveform is determined from the preset vibration waveforms based on the vibration frequency, vibration intensity, vibration duration, number of repetitions, and vibration mode.
[0095] It should be noted that, in addition to the above-mentioned methods for determining the target vibration waveform, other methods can also be used to determine the target vibration waveform from the preset vibration waveform based on vibration parameters. This application does not impose any specific restrictions on these methods.
[0096] In other words, this application can determine different target vibration waveforms from preset vibration waveforms by using vibration parameters carried in different vibration control commands, and then output different vibration feedback to the user based on the different target vibration waveforms, so that the user can feel different vibration feedback, thereby providing conditions for improving the user experience.
[0097] S103, control the motor vibration according to the target vibration waveform.
[0098] Given that current linear motors can only vibrate within a very small frequency range, such as 100 Hz, the vibration intensity decays rapidly once this range is exceeded. Furthermore, when a linear motor outputs vibration feedback to the user based on a fixed frequency, the user cannot experience different vibration feedback according to the actual application scenario. For example, when a user operates a recreational fishing app, using a linear motor cannot provide feedback on the speed of reeling in the line, resulting in a poor user experience.
[0099] However, wideband motors have a large frequency range, typically from tens of hertz to hundreds of hertz. Within this range, they can not only output vibration feedback of varying intensities but also control the output of vibration signals at appropriate frequency points based on the actual frequency of the sound effects in the application scenario, ensuring consistency between the sound output and vibration feedback. Therefore, in this embodiment, a wideband motor is preferred. The vibration curve of the wideband motor is shown below. Figure 5 As shown.
[0100] Specifically, after obtaining the target vibration waveform corresponding to the vibration control command, the motor drive in the controller can control the wideband motor to vibrate based on the target vibration waveform, so as to output vibration feedback to the user corresponding to the current scene information.
[0101] The handheld vibration control method provided in this application receives vibration control commands sent by a head-mounted display device, determines a target vibration waveform from a preset vibration waveform based on the vibration control commands, and then controls the motor to vibrate according to the target vibration waveform. Therefore, sending vibration control commands from the head-mounted display device to the handheld device avoids complex encoding and decoding operations on audio data and reduces data transmission volume. This achieves low-latency data transmission not only between the head-mounted display device and the handheld device but also between the left and right handheld devices, enabling synchronous vibration feedback output from both devices and improving the user's vibration feedback experience.
[0102] As described above, the embodiments of this application determine the target vibration waveform based on the vibration control command sent by the head-mounted display device, and control the motor vibration according to the target vibration waveform to output vibration feedback to the user corresponding to the vibration control command.
[0103] As an optional implementation of this application, considering that users may use new applications or update existing applications when using virtual reality products, the head-mounted display device in this application can also send a vibration waveform update command to the controller based on the sound effect data corresponding to the new application or the updated sound effect data corresponding to the updated application, so that the controller updates the preset vibration waveform according to the vibration waveform update command. The following describes... Figure 6 The vibration waveform update process of the vibration control method provided in the embodiments of this application will be described.
[0104] like Figure 6 As shown, the vibration control method includes the following steps:
[0105] S201, Receive vibration waveform update command sent by head-mounted display device, the vibration waveform update command includes new vibration waveform.
[0106] Considering that users may install new applications or update any existing applications when using virtual reality devices, resulting in updated audio data for the updated applications, this application aims to send vibration control commands to the controllers based on the new or updated applications, allowing the controllers to output vibration feedback to the user. When the head-mounted display detects a new application installed or an update to the audio data of any existing application, it acquires the audio data of either the new or updated application. Then, it generates a new vibration waveform based on either the new or updated audio data.
[0107] After generating a new vibration waveform, the head-mounted display device can send the new vibration waveform along with a vibration waveform update command to the controller. Once the controller receives the vibration waveform update command from the head-mounted display device, it can update the preset vibration waveform according to the command.
[0108] S202, Update the preset vibration waveform according to the new vibration waveform.
[0109] Specifically, after receiving a vibration waveform update command, the controller can parse the command to obtain the new vibration waveform. Then, based on the new vibration waveform, the preset vibration waveform is updated, thus providing a basis for the controller to control its own motor to output vibration feedback to the user corresponding to the vibration control command sent by the head-mounted display device.
[0110] It should be noted that the wireless communication connection established between the first wireless communication module of the handle and the second wireless communication module of the head-mounted display device in this application can support a data bandwidth of 2M. Therefore, the handle can complete the preset vibration waveform update operation in a short time according to the vibration waveform update command sent by the head-mounted display device.
[0111] The vibration control method provided in this application receives vibration control commands sent by a head-mounted display device, determines a target vibration waveform from a preset vibration waveform based on the vibration control commands, and then controls the motor to vibrate according to the target vibration waveform. Therefore, sending vibration control commands from the head-mounted display device to the controller avoids complex encoding and decoding operations on audio data and reduces data transmission volume. This achieves low-latency data transmission not only between the head-mounted display device and the controller but also between the left and right controllers, enabling synchronous vibration feedback output from both controllers and improving the user's vibration feedback experience. Furthermore, this application updates the preset vibration waveform according to vibration waveform update commands sent by the head-mounted display device, ensuring that the controllers consistently output vibration feedback corresponding to the vibration control commands, further meeting user needs.
[0112] The vibration control method of this application embodiment will be described below with reference to the accompanying drawings, taking a head-mounted display device as an example. Specifically, as shown in the accompanying drawings... Figure 7 In this application embodiment, the head-mounted display device may be, but is not limited to, virtual reality helmets and virtual reality glasses.
[0113] like Figure 8As shown, the head-mounted display device may include a second wireless communication module, an optical module, a SLAM (Simultaneous Localization and Mapping) image acquisition module, an inertial measurement module, a SLAM tracking processing module, a display screen, a controller image acquisition module, a controller inertial measurement module, a controller tracking processing module, an audio source data module, an audio decoding module, an audio output module, an audio conversion module, and an event-based vibration control command module. In this embodiment, the head-mounted display device can acquire image information of the surrounding environment and the controller through the image acquisition module, acquire sensor data through the inertial measurement module, and process the data through the tracking processing module to achieve 6-degree-of-freedom (DoF) tracking of the head-mounted display device and the controller. Furthermore, the head-mounted display device sends vibration control commands to the controller and receives sensor data sent by the controller, both through the second wireless communication module.
[0114] It should be noted that in this embodiment, the second wireless communication module can be a wireless chip, and the wireless chip uses a low-latency communication protocol, specifically a 2.4G data communication protocol.
[0115] Figure 7 This is a flowchart illustrating the third vibration control method provided in this application embodiment. The vibration control method for head-mounted display devices provided in this embodiment can be executed by a vibration control device to control the vibration process of the motor in the handle. This vibration control device can consist of hardware and / or software and can be integrated into the head-mounted display device.
[0116] like Figure 7 As shown, the vibration control method of this application includes the following steps:
[0117] S301, acquire sound effect data.
[0118] S302, determine the vibration control command based on the sound effect data.
[0119] In this embodiment, the sound effect data is preset by the developers during development, and the sound effect data is stored in the sound effect database for use in outputting sound effects corresponding to the current scene information to the user.
[0120] The vibration control commands can be categorized into sound effects and events.
[0121] Before executing S301, a pairing operation needs to be performed between the head-mounted display device and the controller in this application to establish a wireless communication connection. Specifically, establishing a wireless communication connection refers to establishing a wireless connection between the first wireless communication module in the controller and the second wireless communication module in the head-mounted display device. Then, based on the established wireless communication connection, the head-mounted display device can send vibration control commands to the controller, causing the controller to control its own motor to output vibration feedback according to the vibration control commands.
[0122] In practice, after the head-mounted display device enters pairing mode based on a user-triggered pairing operation, it can send a pairing channel to the controller, enabling the head-mounted display device and the controller to pair based on this channel. The pairing channel refers to the communication channel between the head-mounted display device and the controller for pairing operations. This pairing channel can be a wireless communication channel obtained by the head-mounted display device through scanning, etc., and is not limited here.
[0123] Considering that the time systems of the head-mounted display and the controller may not be synchronized, pairing failures may occur during the pairing process. Therefore, this application can first unify the time of the controller and the head-mounted display before performing the pairing operation based on the synchronized time system.
[0124] Specifically, time unification processing for the controller and head-mounted display can include the following situations:
[0125] Scenario 1
[0126] The head-mounted display sends time synchronization information to the controller via a pairing channel, enabling the controller to perform time synchronization processing based on the time synchronization information.
[0127] Scenario 2
[0128] Time synchronization information is sent from either handle to the head-mounted display via a pairing channel, enabling the head-mounted display to perform time synchronization processing based on the time synchronization information.
[0129] The aforementioned time synchronization information is used to adjust the time of the controller and the head-mounted display device to the same value.
[0130] Furthermore, the time synchronization information may carry a synchronization timestamp. In this embodiment, if the time synchronization information is sent by the head-mounted display device, the synchronization timestamp is the timestamp of the head-mounted display device; if the time synchronization information is sent by any controller, the synchronization timestamp is the timestamp of the controller.
[0131] Considering that the head-mounted display device is mainly used to send control commands to the controller to control the controller to perform corresponding operations, and the controller is mainly used to receive control commands sent by the head-mounted display device to perform corresponding operations according to the control commands, that is, the head-mounted display device is equivalent to the master device, and the controller is equivalent to the slave device. Therefore, this application preferably uses a case-one correspondence method for time synchronization processing.
[0132] In practice, the controller receives time synchronization information from the head-mounted display device and parses this information to obtain a synchronization timestamp. Then, based on the obtained synchronization timestamp and the reception time of the time synchronization information, a time difference is calculated. Finally, the controller adds this time difference to its own timestamp to make the controller's time the same as the head-mounted display device's time.
[0133] After time synchronization is completed, the controller and head-mounted display can pair. Specifically, the head-mounted display sends first pairing information to the controller via a pairing channel at preset time intervals. This first pairing information carries the head-mounted display's identifier. When the controller receives this first pairing information, it parses it to obtain the head-mounted display's identifier. Then, based on the head-mounted display's identifier and the controller's identifier, it generates a controller address in the format "head-mounted display identifier + controller identifier" and stores this address. The controller then carries this generated address in second pairing information and sends it to the head-mounted display via the pairing channel at preset time intervals, enabling the head-mounted display to establish a wireless communication connection with the controller based on the controller address carried in the second pairing information.
[0134] The preset time interval can be determined based on the performance of the head-mounted display device, and no restrictions are imposed here.
[0135] The head-mounted display device identifier refers to information that can uniquely identify the head-mounted display device. Examples include a unique identifier for the head-mounted display device, or a unique identifier for the second wireless communication module within the head-mounted display device.
[0136] A controller identifier is information that can uniquely identify a controller. Examples include a unique identifier for the controller, or a unique identifier for the first wireless communication module within the controller.
[0137] Once the controller and head-mounted display device are paired and a wireless communication connection is established, the head-mounted display device can use the second wireless communication module to interact with the controller based on this wireless communication connection.
[0138] Specifically, the head-mounted display device can retrieve sound effect data corresponding to the current scene information from the sound effect database through the sound effect interface, and then perform audio decoding processing on the sound effect data. Afterwards, one channel outputs the decoded audio through the audio interface so that the user can hear the audio, while another channel performs conversion processing on the decoded sound effect data to determine the vibration control command corresponding to the sound effect type.
[0139] The sound effects database stores sound effects data corresponding to each scene, and this sound effects data is pre-stored in the sound effects database by the developers during development. Furthermore, this sound effects database can be a local database of the head-mounted display device, or a database on a backend server that communicates with the head-mounted display device; this application does not impose specific limitations in this regard.
[0140] Considering that the vibration frequency corresponding to the sound effect data may exceed the maximum vibration frequency of the motor in the controller, in order to ensure that the motor in the controller can output vibration feedback corresponding to the sound effect data to the user, this embodiment of the application, when converting the acquired sound effect data into vibration control commands, can first determine whether the vibration frequency corresponding to the sound effect data is greater than the maximum vibration frequency of the motor in the controller. If it is determined that the vibration frequency corresponding to the sound effect data is less than or equal to the maximum vibration frequency of the motor in the controller, then using an existing conversion algorithm, based on the vibration frequency and vibration intensity at the target time in the sound effect data, and a preset vibration waveform, the sound effect data is converted into a sound effect-type vibration control command. If it is determined that the vibration frequency corresponding to the sound effect data is greater than the maximum vibration frequency of the motor in the controller, then using an existing conversion algorithm, based on the vibration frequency and vibration intensity at the target time in the sound effect data, the sound effect frequency, and a preset vibration waveform, the sound effect data is converted into a sound effect-type vibration control command.
[0141] Specifically, the vibration frequency and vibration intensity at the target time refer to the vibration frequency and vibration intensity parameters at a specific time in the sound effect data.
[0142] In another alternative implementation of this application, the vibration control command can also be an event-type vibration control command sent directly by the head-mounted display device based on the user's handheld device or gestures.
[0143] It should be noted that the vibration control command in this embodiment may include vibration parameters, and the specific vibration parameters may include at least one of the following: vibration frequency, vibration intensity, vibration duration, number of repetitions, and vibration mode.
[0144] S303, the vibration control command is sent to the handle to instruct the handle to determine the target vibration waveform from the preset vibration waveform according to the vibration control command, and to control the motor vibration according to the target vibration waveform.
[0145] After receiving the vibration control command, the head-mounted display device can use the second wireless communication module to send the vibration control command to the handle, so that the handle can determine the target vibration waveform from the preset vibration waveform according to the vibration control command, and control the motor to output vibration feedback according to the target vibration waveform.
[0146] The process of determining the target vibration waveform from the preset vibration waveform according to the vibration control command, and controlling the motor to output vibration feedback according to the target vibration waveform, can be found in the aforementioned embodiment of the vibration control method applied to the handle, which will not be elaborated on here.
[0147] The vibration control method provided in this application acquires sound effect data through a head-mounted display device, determines vibration control commands based on the acquired sound effect data, and then synchronously sends the vibration control commands to the controller. The controller then determines a target vibration waveform from a preset vibration waveform based on the vibration control commands and controls the motor vibration accordingly. Therefore, sending vibration control commands from the head-mounted display device to the controller avoids complex encoding and decoding operations on the audio data and reduces data transmission volume. This achieves low-latency data transmission not only between the head-mounted display device and the controller but also between the left and right controllers, enabling the left and right controllers to output vibration feedback synchronously, thereby improving the user's vibration feedback experience.
[0148] As described above, the head-mounted display device in this application determines a vibration control command based on the acquired sound effect data and sends the vibration control command to the handle, so that the handle determines the target vibration waveform based on the vibration control command and controls the motor vibration based on the target vibration waveform.
[0149] As an optional implementation of this application, considering that users may use new applications or update existing applications when using virtual reality products, the head-mounted display device of this application, upon detecting a new application or updating an existing application, can generate a new vibration waveform based on the new sound effect data corresponding to the new application or the updated sound effect data corresponding to the updated application. This new vibration waveform is then sent to the controller in a vibration waveform update command, causing the controller to update the preset vibration waveform. The following describes a related implementation. Figure 9 The vibration waveform update process of the vibration control method provided in the embodiments of this application will be described.
[0150] like Figure 9 As shown, the vibration control method includes the following steps:
[0151] S401, if new sound effect data is detected, or existing sound effect data is updated, a vibration waveform update instruction is generated based on the new sound effect data or the updated sound effect data, and the vibration waveform update instruction includes a new vibration waveform.
[0152] Considering that users may install new applications or update any existing applications when using virtual reality devices, resulting in updated audio data for the updated applications, this application's head-mounted display device, upon detecting a new application or an updated audio data for any existing application, acquires the audio data of either the new or updated application. It then generates a new vibration waveform based on either the new or updated audio data. Finally, it generates a vibration waveform update command based on the new vibration waveform, carrying the new vibration waveform within the command.
[0153] S402, the vibration waveform update command is sent to the handle so that the handle updates the preset vibration waveform according to the new vibration waveform included in the vibration waveform update command.
[0154] Specifically, the head-mounted display device can use a second wireless communication module to send a vibration waveform update command to the controller based on the established wireless communication connection. After receiving the vibration waveform update command, the controller updates the preset vibration waveform based on the new vibration waveform carried in the vibration waveform update command.
[0155] In this embodiment, the process of updating the preset vibration waveform based on the vibration waveform update command can be found in the aforementioned vibration control method embodiment applied to the controller, which will not be elaborated on here.
[0156] The vibration control method provided in this application acquires sound effect data through a head-mounted display device, determines vibration control commands based on the acquired sound effect data, and then synchronously sends the vibration control commands to the controller. The controller then determines a target vibration waveform from a preset vibration waveform based on the vibration control commands and controls the motor vibration accordingly. Therefore, sending vibration control commands from the head-mounted display device to the controller avoids complex encoding and decoding operations on the audio data and reduces data transmission volume. This achieves low-latency data transmission not only between the head-mounted display device and the controller but also between the left and right controllers, enabling them to output vibration feedback synchronously and improving the user's vibration feedback experience. Furthermore, the head-mounted display device also sends vibration waveform update commands to the controller, causing the controller to update the preset vibration waveform. This ensures that the controller can consistently output vibration feedback corresponding to the vibration control commands, further meeting user needs.
[0157] The following is in conjunction with the appendix Figure 10 This application describes a vibration control device configured in a handle according to an embodiment. Figure 10 This is a schematic block diagram of a vibration control device provided in an embodiment of this application.
[0158] like Figure 10 As shown, the vibration control device 500 includes: a command receiving module 510, a waveform determination module 520, and a control module 530.
[0159] The instruction receiving module 510 is used to receive vibration control instructions sent by the head-mounted display device.
[0160] The waveform determination module 520 is used to determine the target vibration waveform from the preset vibration waveform according to the vibration control command;
[0161] The control module 530 is used to control the motor vibration according to the target vibration waveform.
[0162] In one optional implementation of this application, the vibration control command includes vibration parameters;
[0163] Correspondingly, the waveform determination module 520 is specifically used for:
[0164] The target vibration waveform is determined from the preset vibration waveforms based on the vibration parameters.
[0165] In one optional implementation of this application, the vibration control command includes at least one of the following vibration parameters: vibration frequency, vibration intensity, vibration duration, number of repetitions, and vibration mode.
[0166] In one optional implementation of this application embodiment, the vibration control device 500 further includes: an update module;
[0167] The instruction receiving module is also used to receive a vibration waveform update instruction sent by the head-mounted display device, wherein the vibration waveform update instruction includes a new vibration waveform;
[0168] The update module is used to update the preset vibration waveform according to the new vibration waveform.
[0169] In one optional implementation of this application embodiment, the vibration control device 500 further includes: a first establishment module;
[0170] The first establishment module is used to establish a wireless communication connection between the handle and the head-mounted display device.
[0171] In one optional implementation of this application, the motor is a wideband motor.
[0172] It should be understood that the device embodiments and method embodiments can correspond to each other, and similar descriptions can be referred to the method embodiments. To avoid repetition, further details will not be provided here. Specifically, Figure 10 The device 500 shown can perform Figure 1 The corresponding method embodiments, and the foregoing and other operations and / or functions of each module in device 500 are respectively implemented to achieve Figure 1 For the sake of brevity, the corresponding processes in each method are not described in detail here.
[0173] The apparatus 500 of this application embodiment has been described above from the perspective of functional modules in conjunction with the accompanying drawings. It should be understood that this functional module can be implemented in hardware, in software instructions, or in a combination of hardware and software modules. Specifically, the steps of the method embodiments in this application can be completed by integrated logic circuits in the processor's hardware and / or by software instructions. The steps of the method disclosed in this application embodiment can be directly embodied as being executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. Optionally, the software module can be located in a mature storage medium in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps in the above method embodiments.
[0174] The following is a reference to the appendix. Figure 11 This application describes a vibration control device configured in a head-mounted display device according to an embodiment of the present application. Figure 11 This is a schematic block diagram of another vibration control device provided in the embodiments of this application.
[0175] like Figure 11 As shown, the vibration control device 600 includes: a data acquisition module 610, an instruction determination module 620, and an instruction sending module 630.
[0176] Among them, the data acquisition module 610 is used to acquire sound effect data;
[0177] The instruction determination module 620 is used to determine the vibration control instruction based on the sound effect data;
[0178] The instruction sending module 630 is used to send the vibration control instruction to the handle, so as to instruct the handle to determine the target vibration waveform from the preset vibration waveform according to the vibration control instruction, and control the motor vibration according to the target vibration waveform.
[0179] In one optional implementation of this application embodiment, the instruction determining module 620 is specifically used for:
[0180] Determine whether the vibration frequency corresponding to the sound effect data is greater than the maximum vibration frequency of the motor in the controller;
[0181] If not, the sound effect data is converted into vibration control commands based on the vibration frequency and intensity of the target time in the sound effect data, as well as the preset vibration waveform.
[0182] If so, the sound effect data is converted into vibration control commands based on the vibration frequency and intensity of the target time, the sound effect frequency, and the preset vibration waveform in the sound effect data.
[0183] In one optional implementation of this application embodiment, the vibration control device 600 further includes: an instruction generation module and an instruction sending module;
[0184] The instruction generation module is used to generate a vibration waveform update instruction based on the new sound effect data or the updated sound effect data if new sound effect data is detected or existing sound effect data is updated. The vibration waveform update instruction includes a new vibration waveform.
[0185] The instruction sending module is used to send the vibration waveform update instruction to the handle, so that the handle updates the preset vibration waveform according to the new vibration waveform included in the vibration waveform update instruction.
[0186] In one optional implementation of this application embodiment, the vibration control device 600 further includes: a second establishment module;
[0187] The second establishment module is used to establish a wireless communication connection between the handle and the head-mounted display device.
[0188] It should be understood that the device embodiments and method embodiments can correspond to each other, and similar descriptions can be referred to the method embodiments. To avoid repetition, further details will not be provided here. Specifically, Figure 11 The device 600 shown can perform Figure 7 The corresponding method embodiments, and the foregoing and other operations and / or functions of each module in device 600 are respectively for implementing Figure 7 For the sake of brevity, the corresponding processes in each method are not described in detail here.
[0189] The apparatus 600 of this application embodiment has been described above from the perspective of functional modules in conjunction with the accompanying drawings. It should be understood that this functional module can be implemented in hardware, in software instructions, or in a combination of hardware and software modules. Specifically, the steps of the method embodiments in this application can be completed by integrated logic circuits in the processor's hardware and / or by software instructions. The steps of the method disclosed in this application embodiment can be directly embodied as being executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. Optionally, the software module can reside in a mature storage medium in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, etc. This storage medium is located in memory, and the processor reads information from the memory and, in conjunction with its hardware, completes the steps in the above method embodiments.
[0190] Figure 12 This is a schematic block diagram of an electronic device provided in an embodiment of this application. In this embodiment, the electronic device includes a head-mounted display device and controllers. The head-mounted display device may be, but is not limited to, a virtual reality headset or virtual reality glasses. There are two controllers: a left controller and a right controller.
[0191] like Figure 12 As shown, the electronic device 700 may include:
[0192] The system includes a memory 710 and a processor 720. The memory 710 stores computer programs and transfers the program code to the processor 720. In other words, the processor 720 can retrieve and run the computer program from the memory 710 to implement the vibration control method in the embodiments of this application.
[0193] For example, the processor 720 can be used to execute the above-described vibration control method embodiment according to instructions in the computer program.
[0194] In some embodiments of this application, the processor 720 may include, but is not limited to:
[0195] General-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
[0196] In some embodiments of this application, the memory 710 includes, but is not limited to:
[0197] Volatile memory and / or non-volatile memory. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), and Direct Rambus RAM (DR RAM).
[0198] In some embodiments of this application, the computer program may be divided into one or more modules, which are stored in the memory 710 and executed by the processor 720 to perform the method provided in this application. The one or more modules may be a series of computer program instruction segments capable of performing a specific function, which describe the execution process of the computer program in the electronic device.
[0199] like Figure 12 As shown, the electronic device may also include:
[0200] Transceiver 730, which can be connected to processor 720 or memory 710.
[0201] The processor 720 can control the transceiver 730 to communicate with other devices; specifically, it can send information or data to other devices or receive information or data sent by other devices. The transceiver 730 may include a transmitter and a receiver. The transceiver 730 may further include antennas, and the number of antennas may be one or more.
[0202] It should be understood that the various components in the electronic device are connected through a bus system, which includes a data bus, a power bus, a control bus, and a status signal bus.
[0203] This application also provides a computer storage medium storing a computer program thereon, which, when executed by a computer, enables the computer to perform the method described in the above-described vibration control method embodiment. Alternatively, this application embodiment also provides a computer program product containing instructions that, when executed by a computer, cause the computer to perform the method described in the above-described vibration control method embodiment.
[0204] When implemented using software, it can be implemented entirely or partially as a computer program product. This computer program product includes one or more computer instructions. When these computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., digital video disc (DVD)), or a semiconductor medium (e.g., solid-state disk (SSD)).
[0205] Figure 13 This is a schematic block diagram of a vibration control system provided in an embodiment of this application. Figure 13As shown in the embodiment of this application, the vibration control system 800 includes the electronic device described in the above embodiment. The electronic device includes a controller 810 and a head-mounted display device 820. The head-mounted display device 820 may be, but is not limited to, a virtual reality helmet and virtual reality glasses. There are two controllers 810, a left controller and a right controller.
[0206] like Figure 14 As shown, the handle 810 in the vibration control system 800 includes at least a first wireless communication module 811 and a motor 812; the head-mounted display device 820 includes at least a second wireless communication module 821. The first wireless communication module 811 and the second wireless communication module 821 are preferably wireless chips, and the motor 812 is preferably a broadband motor.
[0207] In this embodiment, the handle 810 and the head-mounted display device 820 are wirelessly connected via a first wireless chip 811 and a second wireless chip 821. The first wireless chip 811 and the second wireless chip 822 can form a proprietary wireless communication system, as detailed below. Figure 14 .
[0208] It should be noted that in this embodiment, both the first wireless chip 811 and the second wireless chip 821 use the 2.4G data communication protocol for wireless communication. 2.4G data communication is vibration control between the physical layers of the wireless transmitter and receiver. There is no data retransmission during the entire vibration control process. Since the transmission speed of electromagnetic waves is much greater than the distance between the transmitter and receiver, the data propagation time delay in this embodiment is a constant value.
[0209] Therefore, based on this constant delay value, this application can synchronize the left and right handheld controller time systems to the time system of the second wireless chip in the head-mounted display device 820. In this way, the IMU sensor data of the handheld controller 810 can have unified timestamp information, and the head-mounted display device 820 can also precisely control the exposure time of the light-emitting diodes of the handheld controller 810 and the camera module through the time system, specifically as follows... Figure 15 As shown.
[0210] like Figure 16 As shown, when the handle 810 communicates wirelessly with the head-mounted display device 820 in this application, it can control both handles 810 to simultaneously receive vibration control commands sent by the head-mounted display device 820 within a certain time period, and control the two handles to send sensor data to the head-mounted display device 820 in different time periods. This allows the head-mounted display device 820 to simultaneously send vibration control commands to each handle 810, enabling both handles 810 to simultaneously control the broadband motor to output vibration feedback to the user according to the vibration control command, resulting in a shorter delay in handle vibration control.
[0211] The vibration control system provided in this application sends vibration control commands to the controller via a head-mounted display device, which avoids complex encoding and decoding operations on audio data and reduces data transmission volume. This not only achieves low-latency data transmission between the head-mounted display device and the controller, but also low-latency data transmission between the left and right controllers, enabling the left and right controllers to output vibration feedback synchronously, thereby improving the user's vibration feedback experience.
[0212] Those skilled in the art will recognize that the modules and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0213] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or modules may be electrical, mechanical, or other forms.
[0214] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. For example, the functional modules in the various embodiments of this application may be integrated into one processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.
[0215] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A vibration control method, characterized in that, Applied to a controller, the controller including a first wireless communication module, the method includes: Establish a wireless communication connection between the first wireless communication module in the handle and the second wireless communication module in the head-mounted display device; The device receives a vibration control command sent by the head-mounted display device, wherein the vibration control command is determined by the head-mounted display device based on acquired sound effect data, and the vibration control command includes vibration parameters, which include at least one of the following: vibration frequency, vibration intensity, vibration duration, number of repetitions, and vibration mode. Based on the vibration parameters, the target vibration waveform is determined from the preset vibration waveform; The motor vibration is controlled based on the target vibration waveform.
2. The method according to claim 1, characterized in that, Also includes: Receive a vibration waveform update command sent by a head-mounted display device, the vibration waveform update command including a new vibration waveform; The preset vibration waveform is updated based on the new vibration waveform.
3. A vibration control method, characterized in that, Applied to a head-mounted display device, the head-mounted display device including a second wireless communication module, the method includes: Establish a wireless communication connection between the first wireless communication module in the handle and the second wireless communication module in the head-mounted display device; Obtain sound effect data; The vibration control command is determined based on the sound effect data. The vibration control command includes vibration parameters, which include at least one of the following: vibration frequency, vibration intensity, vibration duration, number of repetitions, and vibration mode. The vibration control command is sent to the handle to instruct the handle to determine the target vibration waveform from the preset vibration waveform according to the vibration parameters, and to control the motor vibration according to the target vibration waveform.
4. The method according to claim 3, characterized in that, The vibration control command is determined based on the sound effect data, including: Determine whether the vibration frequency corresponding to the sound effect data is greater than the maximum vibration frequency of the motor in the controller; If not, the sound effect data is converted into vibration control commands based on the vibration frequency and intensity of the target time in the sound effect data, as well as the preset vibration waveform. If so, the sound effect data is converted into vibration control commands based on the vibration frequency and intensity of the target time, the sound effect frequency, and the preset vibration waveform in the sound effect data.
5. The method according to claim 3, characterized in that, Also includes: If new sound effect data is detected, or existing sound effect data is updated, a vibration waveform update instruction is generated based on the new sound effect data or the updated sound effect data. The vibration waveform update instruction includes the new vibration waveform. The vibration waveform update command is sent to the controller so that the controller updates the preset vibration waveform according to the new vibration waveform included in the vibration waveform update command.
6. A vibration control device, characterized in that, Configured on a controller, the controller includes a first wireless communication module, comprising: The first establishment module is used to establish a wireless communication connection between the first wireless communication module in the handle and the second wireless communication module in the head-mounted display device. The instruction receiving module is used to receive vibration control instructions sent by the head-mounted display device, wherein the vibration control instructions are determined by the head-mounted display device based on acquired sound effect data, and the vibration control instructions include vibration parameters, wherein the vibration parameters include at least one of the following: vibration frequency, vibration intensity, vibration duration, number of repetitions, and vibration mode. The waveform determination module is used to determine the target vibration waveform from the preset vibration waveforms based on the vibration parameters. The control module is used to control the motor vibration according to the target vibration waveform.
7. A vibration control device, characterized in that, Configured in a head-mounted display device, the head-mounted display device including a second wireless communication module, comprising: The second establishment module is used to establish a wireless communication connection between the first wireless communication module in the handle and the second wireless communication module in the head-mounted display device. The data acquisition module is used to acquire sound effect data; The instruction determination module is used to determine a vibration control instruction based on the sound effect data. The vibration control instruction includes vibration parameters, which include at least one of the following: vibration frequency, vibration intensity, vibration duration, number of repetitions, and vibration mode. The instruction sending module is used to send the vibration control instruction to the handle, so as to instruct the handle to determine the target vibration waveform from the preset vibration waveform according to the vibration parameters, and control the motor vibration according to the target vibration waveform.
8. An electronic device, characterized in that, include: A processor and a memory, the memory being used to store a computer program, the processor being used to call and run the computer program stored in the memory to perform the vibration control method according to any one of claims 1 to 5.
9. A computer-readable storage medium, characterized in that, Used to store a computer program that causes a computer to perform the vibration control method according to any one of claims 1 to 5.
10. A vibration control system, characterized in that, include: The electronic device of claim 8, wherein the electronic device comprises: a handle and a head-mounted display device; The handle includes a first wireless communication module and a motor; The head-mounted display device includes a second wireless communication module.
Citation Information
Patent Citations
Haptic spatialization system
CN104623897A
Virtual reality system and wireless realization method thereof
CN106200981A
Motor driving method and system, motor driving chip and gamepad
CN114344881A