Data processing method, apparatus, system, medium, and program product
Patent Information
- Application Number
- CN202210820802.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-12
- Publication Date
- 2026-10-23
- Estimated Expiration
- 2042-07-12
AI Technical Summary
然而,当马达震动时会对手柄运动传感器数据造成干扰,从而导致在VR或AR场景中用户看到的手柄模型发生抖动
[0047]当应用程序有震动需求时,可以向头戴式电子设备下发震动指令。头戴式电子设备可以将向和头戴式电子设备通讯连接的外设终端发送该震动指令,以控制外设终端的马达震动。通过获取外设终端的震动数据,即控制外设终端如何进行震动的数据,并获取外设终端的运动数据,即外设终端在震动时采集到的数据,可以根据震动数据,对运动数据进行处理,得到处理后的目标运动数据,根据处理后的目标运动数据,确定外设终端的位姿信息。例如,通过引入滤波机制,设置合适的滤波参数,以消除马达震动对运动数据的影响,避免VR或AR场景中外设终端的虚拟模型发生抖动,提升防抖效果。并且,该方法不会影响外设终端正常运动时头戴式电子设备中显示的虚拟模型的响应速度。
Smart Images

Figure CN117435065B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of head-mounted electronic device technology, and more particularly to a data processing method, apparatus, system, medium, and program product. Background Technology
[0002] Head-mounted VR (Virtual Reality) or AR (Augmented Reality) devices typically consist of a head-mounted display and a handheld controller connected to it. To enhance the user experience in VR or AR scenarios, the handheld controller is equipped with vibration motors that vibrate according to different scenes. However, when the motors vibrate, they can interfere with the motion sensor data of the controller, causing the controller model seen by the user in the VR or AR scene to shake. Summary of the Invention
[0003] To address the aforementioned technical problems, this application provides a data processing method, apparatus, system, medium, and program product.
[0004] According to a first aspect of this application, a data processing method is provided, applied to a head-mounted electronic device, comprising:
[0005] Send a vibration command to a peripheral terminal that is communicatively connected to the head-mounted electronic device, so that the peripheral terminal vibrates;
[0006] Obtain vibration data from the peripheral terminal;
[0007] Acquire motion data from the peripheral terminal;
[0008] Based on the vibration data, the motion data is processed to obtain processed target motion data. Based on the processed target motion data, the pose information of the peripheral terminal is determined.
[0009] Optionally, acquiring the vibration data of the peripheral terminal includes:
[0010] Obtain the vibration data of the peripheral terminal from the vibration command, or...
[0011] Obtain the vibration data returned by the peripheral terminal.
[0012] Optionally, the method further includes:
[0013] Based on the pose information of the peripheral terminal, a virtual model of the peripheral terminal is displayed.
[0014] Optionally, the motion data is processed based on the vibration data, including:
[0015] Based on the vibration parameters in the vibration data, filter parameters are set, and the motion data is filtered according to the filter parameters.
[0016] According to a second aspect of this application, a data processing method is provided, applied to a peripheral terminal, the method comprising:
[0017] In response to receiving a vibration command sent by a head-mounted electronic device that is communicatively connected to the peripheral terminal, the device controls the peripheral terminal to vibrate and acquires vibration data.
[0018] Acquire motion data from the peripheral terminal;
[0019] The vibration data and motion data are sent to the head-mounted electronic device so that the head-mounted electronic device processes the motion data based on the vibration data to obtain processed target motion data, and determines the pose information of the peripheral terminal based on the processed target motion data.
[0020] Optionally, sending the vibration data and the motion data to the head-mounted electronic device includes:
[0021] Time-align the vibration data and the motion data;
[0022] The time-aligned vibration data and motion data are packaged and sent to the head-mounted electronic device.
[0023] According to a third aspect of this application, a data processing apparatus is provided for use in a head-mounted electronic device, comprising:
[0024] A vibration command sending module is used to send a vibration command to a peripheral terminal that is communicatively connected to the head-mounted electronic device, so as to cause the peripheral terminal to vibrate.
[0025] Vibration data acquisition module, used to acquire vibration data of the peripheral terminal;
[0026] The motion data acquisition module is used to acquire motion data from the peripheral terminal.
[0027] The data processing module is used to process the motion data according to the vibration data to obtain processed target motion data, and to determine the pose information of the peripheral terminal according to the processed target motion data.
[0028] Optionally, the vibration data acquisition module is specifically used to acquire vibration data of the peripheral terminal from the vibration command, or to acquire the vibration data returned by the peripheral terminal.
[0029] Optionally, the data processing apparatus further includes:
[0030] The virtual model display module is used to display a virtual model of the peripheral terminal based on the pose information of the peripheral terminal.
[0031] Optionally, the data processing module is specifically used to set filtering parameters according to the vibration parameters in the vibration data, and to filter the motion data according to the filtering parameters to obtain processed target motion data, and to determine the pose information of the peripheral terminal according to the processed target motion data.
[0032] According to a fourth aspect of this application, a data processing apparatus is provided for use in a peripheral terminal, comprising:
[0033] The vibration data acquisition module is used to respond to a vibration command sent by a head-mounted electronic device that is communicatively connected to the peripheral terminal, control the peripheral terminal to vibrate, and acquire vibration data.
[0034] The motion data acquisition module is used to acquire motion data from the peripheral terminal.
[0035] The data transmission module is used to send the vibration data and the motion data to the head-mounted electronic device, so that the head-mounted electronic device processes the motion data according to the vibration data to obtain processed target motion data, and determines the pose information of the peripheral terminal according to the processed target motion data.
[0036] Optionally, the data sending module is specifically used to time-align the vibration data and the motion data, package the time-aligned vibration data and the motion data, and send them to the head-mounted electronic device.
[0037] According to a fifth aspect of this application, a data processing system is provided, comprising: a head-mounted electronic device and a peripheral terminal;
[0038] The head-mounted electronic device is used to send vibration commands to the peripheral terminal;
[0039] The peripheral terminal is used to control the vibration of the peripheral terminal in response to the vibration command;
[0040] The head-mounted electronic device is further configured to acquire vibration data and motion data of the peripheral terminal, process the motion data according to the vibration data to obtain processed target motion data, and determine the pose information of the peripheral terminal according to the processed target motion data.
[0041] Optionally, the head-mounted electronic device is specifically used to obtain vibration data from the peripheral terminal from the vibration command, or to obtain the vibration data returned by the peripheral terminal.
[0042] Optionally, the head-mounted electronic device is also used to display a virtual model of the peripheral terminal based on the pose information of the peripheral terminal.
[0043] Optionally, the head-mounted electronic device is specifically used to set filtering parameters based on the vibration parameters in the vibration data, and to filter the motion data according to the filtering parameters to obtain processed target motion data, and to determine the pose information of the peripheral terminal based on the processed target motion data.
[0044] According to a sixth aspect of this application, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the data processing method described in the first or second aspect.
[0045] According to a seventh aspect of this application, a computer program product is provided that, when the computer program product is run on a computer, causes the computer to perform the data processing method described in the first or second aspect.
[0046] The technical solution provided in this application has the following advantages compared with the prior art:
[0047] When an application requires vibration, it can send a vibration command to a head-mounted electronic device. The head-mounted electronic device can then send this vibration command to a peripheral terminal that is communicatively connected to it, controlling the peripheral terminal's motor vibration. By acquiring the peripheral terminal's vibration data (data controlling how the peripheral terminal vibrates) and its motion data (data collected during vibration), the motion data can be processed to obtain processed target motion data. Based on this processed target motion data, the peripheral terminal's pose information can be determined. For example, by introducing a filtering mechanism and setting appropriate filtering parameters, the influence of motor vibration on the motion data can be eliminated, preventing the virtual model of the peripheral terminal in VR or AR scenes from shaking and improving the anti-shake effect. Furthermore, this method does not affect the response speed of the virtual model displayed in the head-mounted electronic device when the peripheral terminal is moving normally. Attached Figure Description
[0048] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0049] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0050] Figure 1 A schematic diagram of a system architecture for an exemplary application environment that can be applied to the data processing method in the embodiments of this application is shown;
[0051] Figure 2 This is a flowchart of a data processing method in an embodiment of this application;
[0052] Figure 3 This is another flowchart of the data processing method in the embodiments of this application;
[0053] Figure 4 This is an interactive flowchart of a data processing method in an embodiment of this application;
[0054] Figure 5 This is a schematic diagram of the structure of a data processing device in an embodiment of this application;
[0055] Figure 6 This is a schematic diagram of the structure of a data processing device in an embodiment of this application;
[0056] Figure 7 This is a schematic diagram of the structure of a data processing system in an embodiment of this application. Detailed Implementation
[0057] To better understand the above-mentioned objectives, features, and advantages of this application, the solution of this application will be further described below. It should be noted that, unless otherwise specified, the embodiments and features described in these embodiments can be combined with each other.
[0058] Many specific details are set forth in the following description in order to provide a full understanding of this application, but this application may also be implemented in other ways different from those described herein; obviously, the embodiments in the specification are only some embodiments of this application, and not all embodiments.
[0059] Figure 1 A schematic diagram of a system architecture for an exemplary application environment that can be applied to the data processing method of the embodiments of this application is shown.
[0060] like Figure 1As shown, the system architecture 100 may include a head-mounted electronic device 101, a network 102, and a peripheral terminal 103. The network 102 serves as a medium for providing a communication link between the head-mounted electronic device 101 and the peripheral terminal 103. The network 102 may include various connection types, such as wired and wireless communication links. The wireless communication link may include BLE (Bluetooth Low Energy), Wi-Fi, 2.4G proprietary protocols, etc.
[0061] The data processing method of this embodiment can be executed by a head-mounted electronic device 101 and a peripheral terminal 103. After receiving a vibration command from an application, the head-mounted electronic device 101 sends the vibration command to the peripheral terminal 103. The vibration command includes vibration data, such as vibration state and vibration parameters. The peripheral terminal 103 may include an inertial measurement unit, which can collect data in real time to obtain motion data of the peripheral terminal 103. The head-mounted electronic device 101 can acquire vibration data and motion data, and process the motion data using the vibration data to eliminate the shaking of the virtual model of the peripheral terminal in VR or AR scenes.
[0062] See Figure 2 , Figure 2 This is a flowchart of a data processing method in an embodiment of this application, applied to a head-mounted electronic device, and may include the following steps:
[0063] Step S210: Send a vibration command to the peripheral terminal that is communicatively connected to the head-mounted electronic device to cause the peripheral terminal to vibrate.
[0064] Head-mounted electronic devices can be, for example, VR or AR devices. These devices can establish communication connections with peripheral terminals (such as controllers), allowing users to interact with virtual scenes within the device and enhance their user experience.
[0065] Head-mounted electronic devices contain applications (such as games), which may include vibration scenarios, such as vehicle collisions in games. To enhance the user experience, peripheral devices may include motors, allowing users to feel the vibration effect by controlling the motor's vibration. The application can send vibration commands to the head-mounted electronic device, which then forwards the commands to the peripheral device. Vibration commands may include vibration data, including vibration state and parameters. The vibration state includes whether vibration is present, and the vibration parameters may include vibration amplitude, vibration frequency, and vibration duration.
[0066] After receiving the vibration command, if the vibration status in the vibration data is vibration, the peripheral terminal can control the motor in the peripheral terminal to vibrate according to the vibration parameters in the vibration data. For example, it can vibrate according to the vibration amplitude and vibration frequency in the vibration parameters.
[0067] Step S220: Obtain vibration data from the peripheral terminal.
[0068] Vibration data of a peripheral device refers to the data that controls how the peripheral device vibrates, that is, the vibration data contained in the vibration command. In some embodiments, a head-mounted electronic device can directly obtain the vibration data of the peripheral device from the vibration command.
[0069] Step S230: Obtain motion data from the peripheral terminal.
[0070] The peripheral terminal may include an inertial measurement unit (IMU), which plays a crucial role in controller positioning. Whether it's a 3DOF (degrees of freedom) or 6DOF controller, the IMU can predict the controller's position in space based on motion data (such as acceleration data and gyroscope angular velocity data). After receiving a vibration command, the peripheral terminal can control its own vibration, acquire real-time motion data, and send the peripheral terminal's motion data to the head-mounted electronic device.
[0071] In some embodiments, the peripheral terminal can also obtain vibration data from the vibration command, package the vibration data and motion data, and send them to the head-mounted electronic device. That is, the head-mounted electronic device can also obtain the vibration data returned by the peripheral terminal. Thus, when the peripheral terminal and the head-mounted electronic device communicate wirelessly, even if the signal quality is poor, or if the head-mounted electronic device is under heavy load and unable to issue vibration commands in a timely manner, the peripheral terminal can package and send the vibration data received from the head-mounted electronic device and the real-time acquired motion data to the head-mounted electronic device, ensuring that the vibration data and motion data obtained by the head-mounted electronic device are synchronized in time.
[0072] Specifically, if the peripheral terminal does not receive the vibration command sent by the head-mounted electronic device, it will not package and send vibration and motion data to the head-mounted electronic device; that is, the head-mounted electronic device will not receive the vibration and motion data sent by the peripheral terminal. Therefore, after receiving the vibration command sent by the head-mounted electronic device, the peripheral terminal packages and sends the vibration and motion data to the head-mounted electronic device, ensuring the synchronization of the vibration and motion data. Furthermore, in step S240 below, when processing the motion data based on the vibration data, more accurate target motion data can be obtained, and the pose information of the peripheral terminal can be determined more accurately.
[0073] Step S240: Based on the vibration data, process the motion data to obtain the processed target motion data, and determine the pose information of the peripheral terminal based on the processed target motion data.
[0074] In some embodiments, filtering parameters can be set based on the vibration parameters in the vibration data, and the motion data can be filtered according to the filtering parameters to obtain processed target motion data. Target motion data can be, for example, acceleration data and gyroscope angular velocity data of a peripheral terminal. Based on the processed target motion data, the pose information of the peripheral terminal can be determined. A virtual model of the peripheral terminal can also be displayed based on the pose information of the peripheral terminal.
[0075] If the vibration data indicates vibration, the aforementioned filtering mechanism can filter out fluctuations in the motion data, ensuring consistency with the vibration of the peripheral terminal and thus preventing jitter in the virtual model of the peripheral terminal in VR or AR scenarios. It is understandable that synchronizing vibration and motion data improves the accuracy of filtering parameter settings and enhances the anti-shake effect.
[0076] For example, if a Butterworth filter is used to filter motion data, the order of the Butterworth filter can be calculated based on the vibration amplitude and frequency in the vibration data. The order of the Butterworth filter is the filtering parameter. The larger the vibration amplitude, the higher the order; the higher the vibration frequency, the lower the order.
[0077] If the vibration data indicates no vibration, the peripheral terminal can choose not to send vibration data to the head-mounted electronic device, but instead only send the real-time collected motion data. In this way, the head-mounted electronic device can directly track the position of the peripheral terminal based on the motion data.
[0078] The data processing method of this application embodiment allows a vibration command to be sent to a head-mounted electronic device when the application requires vibration. The head-mounted electronic device can then send this vibration command to a peripheral terminal. Upon receiving the vibration command, the peripheral terminal obtains vibration data from the command and controls its vibration. While the peripheral terminal vibrates, it can collect motion data and send the vibration data and the real-time collected motion data to the head-mounted electronic device. The head-mounted electronic device can process the motion data based on the vibration data to obtain processed target motion data. Based on this processed target motion data, the device's pose information can be determined. For example, by introducing a filtering mechanism and setting appropriate filtering parameters, the influence of motor vibration on the motion data can be eliminated, preventing the virtual model of the peripheral terminal in VR or AR scenes from shaking. Furthermore, this method does not affect the response speed of the virtual model of the peripheral terminal during normal controller movement. In addition, when the peripheral terminal communicates wirelessly with the head-mounted electronic device, even if the signal quality is poor, or if it is difficult to send vibration commands in time when the head-mounted electronic device is under heavy load, the peripheral terminal can ensure that the vibration data and motion data obtained by the head-mounted electronic device are synchronized in time by packaging the vibration data received from the head-mounted electronic device and the real-time motion data to the head-mounted electronic device. This improves the accuracy of the filter parameter settings and enhances the anti-shake effect.
[0079] See Figure 3 , Figure 3 This is another flowchart of a data processing method in the embodiments of this application, applied to a peripheral terminal, and may include the following steps:
[0080] In step S310, in response to receiving a vibration command sent by a head-mounted electronic device that is communicatively connected to a peripheral terminal, the peripheral terminal is controlled to vibrate, and vibration data is acquired.
[0081] Step S320: Obtain motion data from the peripheral terminal.
[0082] Step S330: Vibration data and motion data are sent to the head-mounted electronic device so that the head-mounted electronic device processes the motion data based on the vibration data to obtain the processed target motion data, and determines the pose information of the peripheral terminal based on the processed target motion data.
[0083] When the signal quality is poor, or when the load on the head-mounted electronic device is high, there is a time difference between the time when the peripheral terminal receives the vibration command and the time when the head-mounted electronic device receives the vibration command. If the head-mounted electronic device obtains the motion data collected in real time by the peripheral terminal, then the motion data and the vibration data locally of the head-mounted electronic device will be out of sync.
[0084] To ensure the synchronization of vibration and motion data, the peripheral terminal can send the vibration and motion data to the head-mounted electronic device in a package. Optionally, after acquiring the vibration and motion data, the peripheral terminal can time-align the vibration and motion data, package the time-aligned vibration and motion data, and send it to the head-mounted electronic device. This ensures the synchronization of the vibration and motion data acquired by the head-mounted electronic device, allowing it to obtain accurate target motion data when processing the motion data based on the vibration data. Furthermore, it can accurately determine the pose information of the peripheral terminal, thereby improving the image stabilization effect.
[0085] The data processing method of this application embodiment allows a vibration command to be sent to a head-mounted electronic device when an application requires vibration. After the head-mounted electronic device sends the vibration command to an external terminal, the external terminal can package the vibration data in the vibration command and the real-time acquired motion data and send them to the head-mounted electronic device. Thus, when the signal quality is poor, or when the head-mounted electronic device is under heavy load, if the external terminal cannot receive the vibration command sent by the head-mounted electronic device, it will not package and send the vibration data and motion data to the head-mounted electronic device. However, when the signal quality is good, the external terminal can receive the vibration command sent by the head-mounted electronic device, and the head-mounted electronic device can also receive the packaged vibration data and motion data sent by the external terminal, ensuring that the vibration data and motion data acquired by the head-mounted electronic device are synchronized in time. When processing motion data based on the vibration data, the head-mounted electronic device improves the accuracy of the filtering parameter settings, thereby enhancing the anti-shake effect.
[0086] See Figure 4 , Figure 4 This is an interactive flowchart of a data processing method in an embodiment of this application, which may include the following steps:
[0087] Step S410: In response to receiving a vibration command sent by the application, a vibration command is sent to a peripheral terminal that is communicatively connected to the head-mounted electronic device.
[0088] In step S420, the peripheral terminal obtains vibration data from the vibration command and acquires real-time motion data.
[0089] Step S430: Send vibration data and motion data to the head-mounted electronic device.
[0090] In step S440, the head-mounted electronic device processes the motion data based on the vibration data to obtain the processed target motion data, and determines the pose information of the peripheral terminal based on the processed target motion data.
[0091] The data processing method in this application embodiment ensures that the vibration data and motion data received from the head-mounted electronic device are synchronized in time by the peripheral terminal sending the vibration data and real-time motion data received from the head-mounted electronic device in a package to the head-mounted electronic device. This allows for accurate determination of the peripheral terminal's pose information when processing the motion data based on the vibration data, thereby improving the image stabilization effect.
[0092] Various embodiments in this specification (e.g., those described above) Figure 2 Example 1 Figure 4 All embodiments are described in a related manner. For the same or similar parts between the embodiments, please refer to each other. They will not be repeated here.
[0093] Corresponding to the above method embodiments, this application also provides a data processing device applied to a head-mounted electronic device, see [link to relevant documentation]. Figure 5 The data processing device 500 includes:
[0094] Vibration command sending module 510 is used to send vibration commands to peripheral terminals that are connected to the head-mounted electronic device, so as to cause the peripheral terminals to vibrate.
[0095] Vibration data acquisition module 520 is used to acquire vibration data from peripheral terminals;
[0096] The motion data acquisition module 530 is used to acquire motion data from peripheral terminals.
[0097] The data processing module 540 is used to process the motion data based on the vibration data to obtain the processed target motion data, and to determine the pose information of the peripheral terminal based on the processed target motion data.
[0098] Optionally, the vibration data acquisition module 520 is specifically used to acquire vibration data from the peripheral terminal from the vibration command, or to acquire vibration data returned by the peripheral terminal.
[0099] Optionally, the data processing device 500 also includes:
[0100] The virtual model display module is used to display a virtual model of the peripheral terminal based on the pose information of the peripheral terminal.
[0101] Optionally, the data processing module 540 is specifically used to set filtering parameters based on the vibration parameters in the vibration data, and to filter the motion data according to the filtering parameters to obtain the processed target motion data. Based on the processed target motion data, the position and pose information of the peripheral terminal is determined.
[0102] See Figure 6 , Figure 6This is a schematic diagram of a data processing device in an embodiment of this application, applied to a peripheral terminal. The data processing device 600 includes:
[0103] The vibration data acquisition module 610 is used to respond to a vibration command sent by a head-mounted electronic device that is connected to a peripheral terminal, control the vibration of the peripheral terminal, and acquire vibration data.
[0104] The motion data acquisition module 620 is used to acquire motion data from peripheral terminals.
[0105] The data transmission module 630 is used to send vibration data and motion data to the head-mounted electronic device, so that the head-mounted electronic device can process the motion data according to the vibration data, obtain the processed target motion data, and determine the pose information of the peripheral terminal according to the processed target motion data.
[0106] Optionally, the data transmission module 630 is specifically used to time-align the vibration data and motion data, package the time-aligned vibration data and motion data, and send them to the head-mounted electronic device.
[0107] The specific details of each module or unit in the above-mentioned device have been described in detail in the corresponding methods, so they will not be repeated here.
[0108] See Figure 7 , Figure 7 This is a schematic diagram of a data processing system in an embodiment of this application. The data processing system 700 includes: a head-mounted electronic device 710 and a peripheral terminal 720 that is communicatively connected to the head-mounted electronic device 710.
[0109] A head-mounted electronic device 710 is used to send vibration commands to a peripheral terminal 720;
[0110] Peripheral terminal 720 is used to control the vibration of peripheral terminal 720 in response to vibration commands;
[0111] The head-mounted electronic device 710 is also used to acquire vibration data and motion data of the peripheral terminal 720, process the motion data according to the vibration data to obtain processed target motion data, and determine the pose information of the peripheral terminal 720 according to the processed target motion data.
[0112] Optionally, the head-mounted electronic device 710 is specifically used to obtain vibration data from a peripheral terminal from a vibration command, or to obtain vibration data returned by the peripheral terminal.
[0113] Optionally, the head-mounted electronic device 710 is also used to display a virtual model of the peripheral terminal based on the pose information of the peripheral terminal.
[0114] Optionally, the head-mounted electronic device 710 is specifically used to set filtering parameters based on the vibration parameters in the vibration data, and to filter the motion data according to the filtering parameters to obtain the processed target motion data, and to determine the pose information of the peripheral terminal based on the processed target motion data.
[0115] The specific details of the head-mounted electronic device and peripheral terminal in the above data processing system have been described in detail in the corresponding methods, so they will not be repeated here.
[0116] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of this application, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0117] In this embodiment of the application, a computer-readable storage medium is also provided, on which a computer program is stored, and when the computer program is executed by a processor, it implements the above-described data processing method.
[0118] It should be noted that the computer-readable storage medium shown in this application can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory, read-only memory, erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this application, the computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable storage medium can be transmitted using any suitable medium, including but not limited to: wireless, wire, optical fiber, radio frequency, etc., or any suitable combination thereof.
[0119] In this embodiment of the application, a computer program product is also provided, which, when run on a computer, causes the computer to execute the above-described data processing method.
[0120] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0121] The above description is merely a specific embodiment of this application, enabling those skilled in the art to understand or implement this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments described herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A data processing method, characterized in that, Applied to head-mounted electronic devices, the method includes: A vibration command is sent to a peripheral terminal that is communicatively connected to the head-mounted electronic device to cause the peripheral terminal to vibrate, wherein the vibration command includes vibration data, and the vibration data includes vibration state and vibration parameters; Obtain vibration data from the peripheral terminal; Acquire motion data from the peripheral terminal; Based on the vibration data, the motion data is processed to obtain processed target motion data, and based on the processed target motion data, the pose information of the peripheral terminal is determined. Based on the vibration data, the motion data is processed, including: Based on the vibration parameters in the vibration data, filter parameters are set, and the motion data is filtered according to the filter parameters.
2. The method according to claim 1, characterized in that, The acquisition of vibration data from the peripheral terminal includes: Obtain the vibration data of the peripheral terminal from the vibration command, or... Obtain the vibration data returned by the peripheral terminal.
3. The method according to claim 1, characterized in that, The method further includes: Based on the pose information of the peripheral terminal, a virtual model of the peripheral terminal is displayed.
4. A data processing method, characterized in that, Applied to peripheral terminals, the method includes: In response to receiving a vibration command sent by a head-mounted electronic device that is communicatively connected to the peripheral terminal, the device controls the peripheral terminal to vibrate and acquires vibration data, wherein the vibration command includes vibration data, and the vibration data includes vibration state and vibration parameters. Acquire motion data from the peripheral terminal; The vibration data and motion data are sent to the head-mounted electronic device so that the head-mounted electronic device processes the motion data based on the vibration data to obtain processed target motion data, and determines the pose information of the peripheral terminal based on the processed target motion data; the head-mounted electronic device is used to set filtering parameters based on the vibration parameters in the vibration data, and to filter the motion data based on the filtering parameters.
5. The method according to claim 4, characterized in that, Sending the vibration data and the motion data to the head-mounted electronic device includes: Time-align the vibration data and the motion data; The time-aligned vibration data and motion data are packaged and sent to the head-mounted electronic device.
6. A data processing apparatus, characterized in that, Applications in head-mounted electronic devices, including: A vibration command sending module is used to send a vibration command to a peripheral terminal that is communicatively connected to the head-mounted electronic device, so as to cause the peripheral terminal to vibrate. The vibration command includes vibration data, and the vibration data includes vibration state and vibration parameters. Vibration data acquisition module, used to acquire vibration data of the peripheral terminal; The motion data acquisition module is used to acquire motion data from the peripheral terminal. The data processing module is used to process the motion data according to the vibration data to obtain the processed target motion data, and to determine the pose information of the peripheral terminal according to the processed target motion data. Based on the vibration data, the motion data is processed, including: Based on the vibration parameters in the vibration data, filter parameters are set, and the motion data is filtered according to the filter parameters.
7. A data processing apparatus, characterized in that, Applied to peripheral terminals, including: The vibration data acquisition module is used to respond to a vibration command sent by a head-mounted electronic device that is communicatively connected to the peripheral terminal, control the peripheral terminal to vibrate, and acquire vibration data, wherein the vibration command includes vibration data, and the vibration data includes vibration state and vibration parameters. The motion data acquisition module is used to acquire motion data from the peripheral terminal. The data transmission module is used to send the vibration data and the motion data to the head-mounted electronic device, so that the head-mounted electronic device processes the motion data according to the vibration data to obtain processed target motion data, and determines the pose information of the peripheral terminal according to the processed target motion data; the head-mounted electronic device is used to set filtering parameters according to the vibration parameters in the vibration data, and to filter the motion data according to the filtering parameters.
8. A data processing system, characterized in that, include: Head-mounted electronic devices and peripheral terminals; The head-mounted electronic device is used to send vibration commands to the peripheral terminal, wherein the vibration commands include vibration data, and the vibration data includes vibration state and vibration parameters; The peripheral terminal is used to control the vibration of the peripheral terminal in response to the vibration command; The head-mounted electronic device is also used to acquire vibration data and motion data of the peripheral terminal, process the motion data according to the vibration data to obtain processed target motion data, and determine the pose information of the peripheral terminal according to the processed target motion data. The head-mounted electronic device is further configured to set filtering parameters based on the vibration parameters in the vibration data, and to perform filtering processing on the motion data based on the filtering parameters.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the data processing method according to any one of claims 1-3, or performs the data processing method according to claim 4 or 5.
10. A computer program product, characterized in that, When the computer program product is run on a computer, it causes the computer to perform the data processing method according to any one of claims 1-3, or to perform the data processing method according to claim 4 or 5.
Citation Information
Patent Citations
Position filtering method and device for interactive handle and computer storage medium
CN109358745A
Method for determining calibration parameter and electronic device
WO2020259544A1