Motion-sensing game method based on jumping action

By collecting acceleration data through motion-sensing devices and using clustering algorithms to determine jumping actions, the problem of insufficient hardware in motion-sensing game devices has been solved, achieving low-cost and high-precision motion-sensing control.

CN115970261BActive Publication Date: 2026-06-30SHENZHEN HULE TECHNOLOGY CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHENZHEN HULE TECHNOLOGY CO LTD
Filing Date
2022-12-19
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

Existing motion-sensing game devices only have a built-in gravity sensor, which cannot properly collect acceleration data, thus preventing players from playing motion-sensing games.

Method used

Raw acceleration data is collected by motion-sensing devices, and clustering algorithms are used to determine whether the player has completed the specified jump action, thus reducing hardware requirements.

Benefits of technology

It enables motion-sensing game control using only a gravity sensor, reducing hardware requirements and improving game response speed and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115970261B_ABST
    Figure CN115970261B_ABST
Patent Text Reader

Abstract

This invention discloses a method, apparatus, device, and computer-readable storage medium for motion-sensing games based on jumping motions. The method includes: after the motion-sensing game is started, acquiring raw acceleration data from a bound motion-sensing device; acquiring target acceleration data required for jumping motion recognition based on the raw acceleration data; determining whether the player has completed a specified jumping motion based on a preset clustering algorithm and the target acceleration data; and if so, executing a matching jumping command in the motion-sensing game. The motion-sensing game method of this application has advantages such as low hardware requirements and high precision for motion-sensing devices.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of high-fidelity wireless local area network testing technology, and in particular to a motion-sensing game method, apparatus, device, and computer-readable storage medium based on jumping motion. Background Technology

[0002] Currently, most motion-sensing games use acceleration and angular velocity data collected by IMU sensors to input game commands. However, some motion-sensing devices only have a built-in gravity sensor, which means they can only collect gravitational acceleration data, thus preventing players from using these devices to play motion-sensing games normally.

[0003] Therefore, there is an urgent need to provide a motion-sensing game method based on gravity sensors to realize motion-sensing command input, so as to reduce the hardware requirements of motion-sensing games. Summary of the Invention

[0004] This application provides a motion-sensing game method based on swinging motions, aiming to reduce the hardware requirements for motion-sensing games.

[0005] To achieve the above objectives, embodiments of this application provide a motion-sensing game method based on jumping motions, including:

[0006] After the motion-sensing game is launched, raw acceleration data is obtained from the bound motion-sensing device;

[0007] Based on the raw acceleration data, obtain the target acceleration data required for jump action recognition;

[0008] The system determines whether the player has completed the specified jump action based on a preset clustering algorithm and the target acceleration data.

[0009] If so, then execute the matching jump command in the motion-sensing game.

[0010] In one embodiment, obtaining the target acceleration data required for jump action recognition based on the raw acceleration data includes:

[0011] The target acceleration data is obtained from the raw acceleration data and associated with the specified jump action. The acceleration data associated with the specified jump action includes at least one of x-axis acceleration data, y-axis acceleration data, and z-axis acceleration data.

[0012] In one embodiment, determining whether the player has completed the specified jump action based on a preset clustering algorithm and the target acceleration data includes:

[0013] Generate a target vector based on the target acceleration data;

[0014] The target vector is determined to belong to a preset target cluster based on the preset clustering algorithm.

[0015] If so, the player is deemed to have completed the specified jump action.

[0016] In one embodiment, generating a target vector based on the target acceleration data includes:

[0017] Based on the timestamp information, the target acceleration data is converted into a vector that conforms to a preset clustering algorithm data format;

[0018] The vector that best represents the specified jump action is selected from the vectors and used as the target vector.

[0019] In one embodiment, the target acceleration data includes two of the following: x-axis acceleration data, y-axis acceleration data, and z-axis acceleration data;

[0020] Based on timestamp information, the target acceleration data is converted into a vector conforming to a preset clustering algorithm data format, including:

[0021] Acceleration data from two axes with the same timestamp information are merged into a single vector.

[0022] In one embodiment, determining whether the target vector belongs to a preset target cluster based on the preset clustering algorithm includes:

[0023] The distance between the target vector and the centroid of the preset target cluster is calculated according to the preset clustering algorithm;

[0024] If the distance is not greater than the set fault tolerance distance, then the target vector is determined to belong to the preset target cluster.

[0025] In one embodiment, the preset clustering algorithm is the k-means clustering algorithm.

[0026] To achieve the above objectives, embodiments of this application also propose a motion-sensing game device based on jumping motions, comprising:

[0027] The acquisition module is used to acquire raw acceleration data from the bound motion sensing device;

[0028] The filtering module is used to obtain the target acceleration data required for jump action recognition based on the raw acceleration data;

[0029] The judgment module is used to determine whether the player has completed the specified jump action based on the preset clustering algorithm and the target acceleration data;

[0030] The execution module is used to execute the matching jump command in the motion-sensing game after determining that the player has completed the specified jump action.

[0031] To achieve the above objectives, this application also proposes a motion-sensing game device based on jumping motion, including a memory, a processor, and a motion-sensing game program based on jumping motion stored in the memory and executable on the processor. When the processor executes the motion-sensing game program based on jumping motion, it implements the motion-sensing game method based on jumping motion as described in any of the above claims.

[0032] To achieve the above objectives, embodiments of this application also propose a computer-readable storage medium storing a motion-sensing game program based on jumping motions. When the motion-sensing game program based on jumping motions is executed by a processor, it implements the motion-sensing game method based on jumping motions as described in any of the preceding claims.

[0033] The motion-sensing game method based on jumping motions in this application obtains the target acceleration data required for jumping motion recognition from the raw acceleration data collected by the motion-sensing device. Then, based on this target acceleration data and a preset clustering algorithm, it determines whether the player has completed the specified jumping motion. Thus, motion control in motion-sensing games can be achieved using only acceleration data detected by a gravity sensor, thereby reducing the hardware requirements of the motion-sensing device. Furthermore, because a clustering algorithm is used to determine whether the player has completed the specified jumping motion, the response speed of the terminal can be improved while maintaining a certain level of accuracy, thereby enhancing the player's gaming experience. Therefore, compared to traditional motion-sensing game methods that use gyroscope data, the motion-sensing game method in this application has the advantages of low hardware requirements and high accuracy. Attached Figure Description

[0034] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the structures shown in these drawings without creative effort.

[0035] Figure 1 This is a modular structure diagram of an embodiment of the motion-sensing game device based on jumping motion according to the present invention;

[0036] Figure 2 This is a flowchart illustrating an embodiment of the motion-sensing game method based on jumping motion according to the present invention;

[0037] Figure 3 This is a block diagram of a module structure of an embodiment of the motion-sensing game device based on jumping motion of the present invention.

[0038] The realization of the objective, functional features and advantages of the present invention will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation

[0039] It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.

[0040] To better understand the above technical solutions, exemplary embodiments of this disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of this disclosure to those skilled in the art.

[0041] It should be noted that any reference signs placed between parentheses in the claims should not be construed as limiting the claims. The word "comprising" does not exclude the presence of components or steps not listed in the claims. The quantifier "a" or "an" preceding a component does not exclude the presence of a plurality of such components. The invention can be implemented by means of hardware comprising several different components and by means of a suitably programmed computer. In a unit claim enumerating several means, several of these means may be embodied by the same item of hardware. The use of "first," "second," and "third," etc., does not indicate any order and can be interpreted as names.

[0042] like Figure 1 As shown, Figure 1 This is a schematic diagram of the hardware operating environment server 1 (also called a motion-sensing game device based on jumping action) involved in the embodiment of the present invention.

[0043] The server in this embodiment of the invention includes devices with display functions such as "Internet of Things devices", smart air conditioners, smart lights, smart power supplies with network connectivity, AR / VR devices with network connectivity, smart speakers, autonomous vehicles, PCs, smartphones, tablets, e-book readers, and portable computers.

[0044] like Figure 1 As shown, the server 1 includes: a memory 11, a processor 12, and a network interface 13.

[0045] The memory 11 includes at least one type of readable storage medium, such as flash memory, hard disk, multimedia card, card-type memory (e.g., SD or DX memory), magnetic memory, magnetic disk, optical disk, etc. In some embodiments, the memory 11 can be an internal storage unit of the server 1, such as the hard disk of the server 1. In other embodiments, the memory 11 can also be an external storage device of the server 1, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the server 1.

[0046] Furthermore, the memory 11 may include both internal storage units of the server 1 and external storage devices. The memory 11 can be used not only to store application software and various types of data installed on the server 1, such as the code of the motion-sensing game program 10 based on jumping motion, but also to temporarily store data that has been output or will be output.

[0047] In some embodiments, processor 12 may be a central processing unit (CPU), controller, microcontroller, microprocessor or other data processing chip, used to run program code stored in memory 11 or process data, such as executing motion-sensing game program 10 based on jumping motion.

[0048] The network interface 13 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface), which is typically used to establish communication connections between the server 1 and other electronic devices.

[0049] The network can be the Internet, a cloud network, a Wi-Fi network, a Personal Area Network (PAN), a Local Area Network (LAN), and / or a Metropolitan Area Network (MAN). Various devices in the network environment can be configured to connect to the communication network according to various wired and wireless communication protocols. Examples of such wired and wireless communication protocols may include, but are not limited to, at least one of the following: Transmission Control Protocol and Internet Protocol (TCP / IP), User Datagram Protocol (UDP), Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), ZigBee, EDGE, IEEE 802.11, Li-Fi, 802.16, IEEE 802.11s, IEEE 802.11g, multi-hop communication, wireless access points (APs), device-to-device communication, cellular communication protocols, and / or Bluetooth communication protocols, or combinations thereof.

[0050] Optionally, the server may also include a user interface, which may include a display, an input unit such as a keyboard, and optionally, a standard wired interface or a wireless interface. Optionally, in some embodiments, the display may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, or an OLED (Organic Light-Emitting Diode) touchscreen, etc. The display may also be referred to as a screen or display unit, used to display information processed in server 1 and to display a visual user interface.

[0051] Figure 1 Only a server 1 with components 11-13 and a motion-sensing game program 10 based on jumping motion is shown. Those skilled in the art will understand that... Figure 1 The structure shown does not constitute a limitation on server 1 and may include fewer or more components than shown, or combine certain components, or have different component arrangements.

[0052] In this embodiment, the processor 12 can be used to call the motion-sensing game program based on jumping motion stored in the memory 11 and perform the following operations:

[0053] After the motion-sensing game is launched, raw acceleration data is obtained from the bound motion-sensing device;

[0054] Based on the raw acceleration data, obtain the target acceleration data required for jump action recognition;

[0055] The system determines whether the player has completed the specified jump action based on a preset clustering algorithm and the target acceleration data.

[0056] If so, then execute the matching jump command in the motion-sensing game.

[0057] In one embodiment, the processor 12 can be used to invoke a motion-sensing game program based on jumping motion stored in the memory 11 and perform the following operations:

[0058] The target acceleration data is obtained from the raw acceleration data and associated with the specified jump action. The acceleration data associated with the specified jump action includes at least one of x-axis acceleration data, y-axis acceleration data, and z-axis acceleration data.

[0059] In one embodiment, the processor 12 can be used to invoke a motion-sensing game program based on jumping motion stored in the memory 11 and perform the following operations:

[0060] Generate a target vector based on the target acceleration data;

[0061] The target vector is determined to belong to a preset target cluster based on the preset clustering algorithm.

[0062] If so, the player is deemed to have completed the specified jump action.

[0063] In one embodiment, the processor 12 can be used to invoke a motion-sensing game program based on jumping motion stored in the memory 11 and perform the following operations:

[0064] Based on the timestamp information, the target acceleration data is converted into a vector that conforms to a preset clustering algorithm data format;

[0065] The vector that best represents the specified jump action is selected from the vectors and used as the target vector.

[0066] In one embodiment, the processor 12 can be used to invoke a motion-sensing game program based on jumping motion stored in the memory 11 and perform the following operations:

[0067] Acceleration data from two axes with the same timestamp information are merged into a single vector.

[0068] In one embodiment, the processor 12 can be used to invoke a motion-sensing game program based on jumping motion stored in the memory 11 and perform the following operations:

[0069] The distance between the target vector and the centroid of the preset target cluster is calculated according to the preset clustering algorithm;

[0070] If the distance is not greater than the set fault tolerance distance, then the target vector is determined to belong to the preset target cluster.

[0071] In one embodiment, the processor 12 can be used to invoke a motion-sensing game program based on jumping motion stored in the memory 11 and perform the following operations:

[0072] The preset clustering algorithm is the k-means clustering algorithm.

[0073] Based on the hardware architecture of the aforementioned motion-sensing game device based on jumping motion, an embodiment of the motion-sensing game method based on jumping motion of the present invention is proposed. The motion-sensing game method based on jumping motion of the present invention aims to reduce the hardware requirements for motion-sensing games.

[0074] Reference Figure 2 , Figure 2 This is an embodiment of the motion-sensing game method based on jumping motion of the present invention, which includes the following steps:

[0075] S10. After the motion-sensing game starts, obtain raw acceleration data from the bound motion-sensing device.

[0076] This particular motion-sensing game is related to climbing, requiring players to use motion-sensing devices to perform climbing movements to play. Through this game, players can control their character to climb up and down using motion-sensing movements. This allows players to experience the fun of climbing-type motion-sensing games more realistically.

[0077] It's worth noting that this motion-sensing game can be a local application, or it can be an HTML5-based app or web application. Specifically, the motion-sensing game runs on a terminal, which can be a desktop computer, laptop, game console, portable game console, smartphone, tablet, smartwatch, smart TV, etc.

[0078] Motion-sensing devices are devices that can detect a player's motion data. Typically, motion-sensing devices are configured to include a six-axis IMU sensor, which includes a three-axis accelerometer and a three-axis gyroscope. The six-axis IMU sensor detects the player's motion posture by detecting changes in the player's three-axis acceleration and three-axis angular velocity.

[0079] In the technical solution of this application, the raw acceleration data obtained by the terminal from the motion-sensing device is triaxial acceleration data directly collected by the accelerometer (also known as a gravity sensor). This triaxial acceleration data includes x-axis acceleration data, y-axis acceleration data, and z-axis acceleration data. The x-axis is the horizontal acceleration axis, the z-axis is the vertical acceleration axis, and the y-axis is the forward / backward acceleration axis. Thus, even if the motion-sensing device only has a gravity sensor, it can still input climbing commands through motion sensing.

[0080] Alternatively, the motion-sensing device can be configured as a wearable device, and its form may include, but is not limited to, the following: wristband, watch, game controller, smartphone, etc.

[0081] Specifically, before playing the game, the motion-sensing device needs to establish a communication connection with the terminal (i.e., be connected to the terminal). This connection can be wired or wireless. For example, when the motion-sensing device establishes a wired connection with the terminal, it can be based on at least one of the following protocols: USB 2.0, USB 3.0, Thunderbolt 3, and Thunderbolt 4. When the motion-sensing device establishes a wireless connection with the terminal, it can be based on at least one of the following protocols: Bluetooth, WiFi, infrared, 2.4G, and NFC.

[0082] S20. Obtain the target acceleration data required for jump action recognition based on the original acceleration data.

[0083] Optionally, obtaining target acceleration data required for jump action recognition based on the original acceleration data includes: obtaining acceleration data associated with a specified jump action from the original acceleration data as the target acceleration data, wherein the acceleration data associated with the specified jump action includes at least one of x-axis acceleration data, y-axis acceleration data, and z-axis acceleration data.

[0084] Specifically, the raw acceleration data obtained from the motion sensing device includes x-axis acceleration data, y-axis acceleration data, and z-axis acceleration data. Here, the x-axis is the horizontal acceleration axis, the y-axis is the forward and backward acceleration axis, and the z-axis is the vertical acceleration axis.

[0085] Furthermore, after the motion-sensing device receives the raw acceleration data, the terminal filters out relevant acceleration data from the raw acceleration data based on the jumping action required by the current game content. The jumping action required by the current game content is the designated jumping action. Depending on the game design, the jumping action required by the player may differ in different game content. Therefore, when filtering target acceleration data, it is necessary to first determine the jumping action required by the player, and then filter out the required target acceleration data from the raw acceleration data based on that jumping action.

[0086] For example, for a standing upward jump, only the acceleration data along the z-axis is needed to determine whether the player has completed the upward jump. However, for a forward jump, in addition to the acceleration data along the z-axis, the acceleration data along the y-axis is also needed to more accurately determine whether the player has completed the forward jump.

[0087] Furthermore, it is worth noting that in order to obtain the required target acceleration data, the raw acceleration data can be filtered or processed to improve the quality of the acceleration data.

[0088] S30. Determine whether the player has completed the specified jump action based on the preset clustering algorithm and the target acceleration data.

[0089] Clustering algorithms are machine learning algorithms that divide samples in a dataset into several categories, where samples in each category share similar attributes or characteristics. Clustering algorithms are commonly used to classify large amounts of data to better understand its underlying structure and facilitate further data analysis and mining. There are many different variations of clustering algorithms, including distance-based clustering (such as k-means clustering), density-based clustering (such as density-based clustering (DBSCAN)), and hierarchical clustering (such as hierarchical clustering).

[0090] Specifically, clustering algorithms can be used to classify player acceleration data into different categories, each representing a specific jumping action (e.g., jump, crouch, jump-rotation, etc.). Then, the acceleration data within each category can be further analyzed, such as calculating the time integral of acceleration, to obtain information like velocity and displacement. Finally, based on the given jumping action requirements, the player's data can be compared to determine if the player has completed the specified jump. For example, if the player's velocity and displacement meet the requirements of the jumping action, then the player can be considered to have completed the jump.

[0091] Understandably, using clustering algorithms to determine whether a player has completed the indicated jump action can improve the terminal's response speed while maintaining a certain level of accuracy, thereby enhancing the player's gaming experience.

[0092] S40. If so, execute the matching jump command in the motion-sensing game.

[0093] Specifically, once the player has completed a specified jump, the corresponding jump command can be executed. This can be achieved by adding corresponding logic to the game code. For example, if there is a controllable character in the game, that character can perform a jump when the player completes the jump. Of course, other aspects of the game can also be controlled by executing the corresponding jump command, such as changing scenes or starting a new game level.

[0094] It is understood that the motion-sensing game method based on jumping action in this application obtains the target acceleration data required for jumping action recognition from the raw acceleration data collected by the motion-sensing device, and then determines whether the player has completed the specified jumping action based on the target acceleration data and a preset clustering algorithm. Thus, motion control in motion-sensing games can be achieved using only acceleration data detected by a gravity sensor, thereby reducing the hardware requirements of motion-sensing devices. Furthermore, because a clustering algorithm is used to determine whether the player has completed the specified jumping action, the response speed of the terminal can be improved while maintaining a certain level of accuracy, thereby enhancing the player's gaming experience. Therefore, compared to traditional motion-sensing game methods that use gyroscope data, the motion-sensing game method in this application has the advantages of low hardware requirements for motion-sensing devices and high accuracy.

[0095] In some embodiments, the clustering algorithm used in the technical solution of this application is the k-means clustering algorithm.

[0096] Understandably, the k-means clustering algorithm is simple to implement, has a fast convergence speed, and good performance.

[0097] In some embodiments, determining whether a player has completed a specified jump action based on a preset clustering algorithm and the target acceleration data includes:

[0098] S21. Generate a target vector based on the target acceleration data.

[0099] Specifically, the target acceleration data can be organized into a one-dimensional array, and then the average value of each element in the array can be calculated to obtain the average acceleration. Next, the difference between each element in the array and the average acceleration can be calculated to obtain the relative value of the target acceleration. Finally, the obtained relative values ​​can be integrated into a vector to generate the target vector. For example, assuming the target acceleration data is [2,3,4,5,6], the average acceleration is (2+3+4+5+6) / 5=4, the relative value is [-2,-1,0,1,2], and the target vector is [-2,-1,0,1,2].

[0100] S22. Determine whether the target vector belongs to the preset target cluster according to the preset clustering algorithm.

[0101] S23. If yes, then the player is deemed to have completed the specified jump action.

[0102] Specifically, if a clustering algorithm and target clusters are pre-defined, the clustering algorithm can be used to classify the target vector and determine whether the vector belongs to the pre-defined target cluster. For example, a pre-defined clustering algorithm (e.g., k-means) can be used to cluster the data and divide it into several clusters (e.g., k clusters). Then, the distance between the target vector and each cluster can be calculated using a pre-defined distance metric (e.g., Euclidean distance). Finally, the distance between the target vector and each cluster can be compared, and the target vector can be assigned to the nearest cluster. If the target vector is assigned to a pre-defined target cluster, it can be considered that the vector belongs to that cluster. At this point, it can be determined that the player has completed the specified jump action; otherwise, it is considered that the player has not completed the specified jump action.

[0103] Using the above scheme, clustering algorithms can be used to determine whether a player has completed a specified jump action.

[0104] In some embodiments, generating a target vector based on the target acceleration data includes:

[0105] S110. Based on the timestamp information, the target acceleration data is converted into a vector that conforms to the data format of a preset clustering algorithm.

[0106] Specifically, after obtaining the target acceleration data, the timestamp information of the target acceleration can be used as a basis.

[0107] The target acceleration data and timestamp information need to be integrated into a two-dimensional array, with each row representing the acceleration and timestamp information at a given time point. For example, assuming the target acceleration data is z-axis acceleration data [2,3,4,5,6] and the timestamp information is [1,2,3,4,5], they can be integrated into a two-dimensional array:

[0108]

[0109]

[0110] Then, the two-dimensional array is converted into a vector that conforms to the data format of the preset clustering algorithm. For example, if the preset clustering algorithm is k-means, each row of the two-dimensional array can be converted into a vector containing two elements, namely acceleration and timestamp information. For example, the two-dimensional array above can be converted into the following vector ([timestamp, z-axis acceleration]): [1,2], [2,3], [3,4], [4,5], [5,6].

[0111] In this way, a vector of data conforming to the preset clustering algorithm can be obtained.

[0112] S120. Select the vector that best represents the specified jump action from the vectors as the target vector.

[0113] Generally, when a player jumps, the acceleration data detected by the motion-sensing device will exhibit a specific pattern of change, such as initially increasing and then decreasing. For example, when a player jumps in place, the absolute value of the z-axis acceleration will increase from 0 and then decrease back to 0. Based on this pattern, the terminal can select the vector from the vector set that best matches the current jump action as the target vector. For instance, in a jump in place, the vector with the largest acceleration value along the z-axis can be selected as the target vector.

[0114] The above approach reduces the amount of data required for terminal computation and improves the data quality of the target vector, enabling the terminal to determine more quickly and accurately whether the player has completed the specified jump action.

[0115] In some embodiments, the target acceleration data includes two of the following: x-axis acceleration data, y-axis acceleration data, and z-axis acceleration data.

[0116] At this point, the target acceleration data is converted into a vector conforming to a preset clustering algorithm based on the timestamp information, including:

[0117] Acceleration data from two axes with the same timestamp information are merged into a single vector.

[0118] Here, the acceleration data for the two axes refers to two of the x-axis acceleration data, y-axis acceleration data, and z-axis acceleration data. In practical applications, the desired two axes of acceleration data can be selected from the three axes based on the current jump action type or a preset.

[0119] Specifically, merging acceleration data from two axes with identical timestamps into a single vector requires first arranging the data in timestamp order. Once the data is arranged, the acceleration data from the two axes with identical timestamps can be merged into a single vector sequentially. Each vector will then contain acceleration data from both axes, and these vectors will be arranged in timestamp order. For example, suppose we have the following acceleration data for two axes with identical timestamps:

[0120] Timestamp x-axis acceleration y-axis acceleration 1 5 2 2 6 3 3 7 4 4 8 5

[0121] We can arrange these data in timestamp order and combine the acceleration data of each axis into a vector to obtain the following results ([timestamp, x-axis acceleration, y-axis acceleration]): [1,5,2], [2,6,3], [3,7,4], [4,8,5].

[0122] In this case, each vector contains acceleration data for both axes with the same timestamp information.

[0123] It is understandable that merging acceleration data from two axes with the same timestamp into a single vector can improve data quality, reduce the impact of erroneous data on the judgment result, and thus help improve the accuracy of jump action determination. Of course, the design of this application is not limited to this; in other embodiments, acceleration data from only one axis can be used to obtain the required target vector.

[0124] In some embodiments, determining whether the target vector belongs to a preset target cluster based on the preset clustering algorithm includes:

[0125] S210. Calculate the distance between the target vector and the centroid of the preset target cluster according to the preset clustering algorithm.

[0126] For example, we employ the K-means clustering algorithm and use Euclidean distance as the metric. In this case, we can calculate the Euclidean distance between the target vector and the centroid of a predefined target cluster to determine their similarity.

[0127] Specifically, suppose we have predefined a target cluster with centroid c, and we want to calculate the distance between a target vector v and this centroid. First, we need to convert v and c into vectors of the same dimension (in the above embodiment, the target vector we obtain is the vector with the same dimension as the centroid). Then, we can calculate the Euclidean distance between them, as follows:

[0128] distance(v,c)=\sqrt{\sum_{i=1}^{n}(v_i-c_i)^2}

[0129] Where n is the dimension of the vector, and v_i and c_i represent the values ​​of v and c in the i-th dimension, respectively. By calculating the Euclidean distance, we can determine the distance between the target vector and the centroid of the preset target cluster.

[0130] S220. If the distance is not greater than the set fault tolerance distance, then the target vector is determined to belong to the preset target cluster.

[0131] Here, the tolerance distance is a predefined threshold used to measure the similarity between two vectors. In machine learning, the tolerance distance is commonly used in clustering algorithms to group vectors into similar clusters.

[0132] Specifically, after calculating the distance between the target vector and the centroid of the preset target cluster, we can determine whether the target vector belongs to the preset target cluster by comparing this distance with the set fault tolerance distance. If the distance between the target vector and the centroid of the preset target cluster is not greater than the set fault tolerance distance, then the target vector can be determined to belong to the preset target cluster.

[0133] For example, suppose we have calculated the distance d between the target vector v and the centroid c of a predefined target cluster, and we have set a tolerance distance t. If d ≤ t, then the target vector v belongs to the predefined target cluster. For example, if d = 5 and t = 10, then v belongs to the predefined target cluster.

[0134] It's understandable that by setting an appropriate tolerance distance, we can adjust the accuracy of judging jump movements to adapt to motion-sensing games of varying difficulty or design requirements. Furthermore, adjusting the tolerance distance can also improve the terminal's accuracy in judging jump movements.

[0135] In addition, refer to Figure 3 The present invention also proposes a motion-sensing game device based on jumping motion, the motion-sensing game device based on jumping motion comprising:

[0136] The acquisition module 110 is used to acquire raw acceleration data from the bound motion sensing device;

[0137] The filtering module 120 is used to obtain the target acceleration data required for jump action recognition based on the original acceleration data;

[0138] The judgment module 130 is used to determine whether the player has completed the specified jump action based on the preset clustering algorithm and the target acceleration data;

[0139] The execution module 140 is used to execute a matching jump command in the motion-sensing game after determining that the player has completed a specified jump action.

[0140] The steps for implementing each functional module of the motion-sensing game device based on jumping motion can be referred to in the various embodiments of the motion-sensing game method based on jumping motion of the present invention, and will not be repeated here.

[0141] Furthermore, this invention also proposes a computer-readable storage medium, which can be any one or any combination of several of the following: hard disk, multimedia card, SD card, flash memory card, SMC, read-only memory (ROM), erasable programmable read-only memory (EPROM), portable compact disc read-only memory (CD-ROM), USB memory, etc. The computer-readable storage medium includes a motion-sensing game program 10 based on jumping motions. The specific implementation of the computer-readable storage medium of this invention is largely the same as the specific implementation of the motion-sensing game method based on jumping motions and the server 1 described above, and will not be repeated here.

[0142] Those skilled in the art will understand that embodiments of the present invention can be provided as methods, systems, or computer program products. Therefore, the present invention can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0143] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0144] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0145] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0146] Although preferred embodiments of the invention have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including both the preferred embodiments and all changes and modifications falling within the scope of the invention.

[0147] Obviously, those skilled in the art can make various modifications and variations to this invention without departing from its spirit and scope. Therefore, if these modifications and variations fall within the scope of the claims of this invention and their equivalents, this invention also intends to include these modifications and variations.

Claims

1. A motion game method based on a jump action, characterized by, include: After the motion-sensing game is launched, raw acceleration data is obtained from the bound motion-sensing device; Based on the raw acceleration data, target acceleration data required for jump action recognition is obtained, wherein the target acceleration data includes two of the x-axis acceleration data, y-axis acceleration data, and z-axis acceleration data; Determining whether the player has completed the specified jump action based on a preset clustering algorithm and the target acceleration data includes: Acceleration data from two axes with the same timestamp information are merged into a vector that conforms to a preset clustering algorithm. The vector that best represents the specified jump action is selected from the vectors and used as the target vector. The distance between the target vector and the centroid of the preset target cluster is calculated according to the preset clustering algorithm; If the distance is not greater than the set fault tolerance distance, the target vector is determined to belong to the preset target cluster, and the player is determined to have completed the specified jump action; If so, then execute the matching jump command in the motion-sensing game.

2. The somatic game method based on the jumping action according to claim 1, wherein, The preset clustering algorithm is the k-means clustering algorithm.

3. A motion-based game apparatus based on a jumping action, characterized by For implementing the motion-sensing game method as described in claim 1 or 2, the motion-sensing game device includes: The acquisition module is used to acquire raw acceleration data from the bound motion sensing device; The filtering module is used to obtain the target acceleration data required for jump action recognition based on the raw acceleration data; The judgment module is used to determine whether the player has completed the specified jump action based on the preset clustering algorithm and the target acceleration data; The execution module is used to execute the matching jump command in the motion-sensing game after determining that the player has completed the specified jump action.

4. A motion-based game device based on a jumping action, characterized by The device includes a memory, a processor, and a motion-sensing game program based on jumping motions stored in the memory and executable on the processor. When the processor executes the motion-sensing game program based on jumping motions, it implements the motion-sensing game method based on jumping motions as described in any one of claims 1-2.

5. A computer readable storage medium, characterized in that, The computer-readable storage medium stores a motion-sensing game program based on jumping motions, which, when executed by a processor, implements the motion-sensing game method based on jumping motions as described in any one of claims 1-2.