A swing action processing method, system, device and storage medium
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-05-15
- Publication Date
- 2026-08-04
AI Technical Summary
以高尔夫挥杆训练为例,由于现有挥杆视频采集链路与击球数据采集链路相互独立,缺乏统一的时间基准,导致视频回放与击球数据在时间轴上难以精确对齐,从而影响对击球瞬间及其前后关键动作的分析准确性
Smart Images

Figure CN122510962A_ABST
Abstract
Description
Technical Field
[0001] This specification relates to the field of motion capture and analysis technology, and in particular to a method, system, device and storage medium for processing golf swing motion. Background Technology
[0002] Analysis and feedback of the golf swing are crucial for improving athletes' skills. Taking golf swing training as an example, the existing video acquisition chain and the impact data acquisition chain are independent, lacking a unified time reference. This makes it difficult to accurately align video playback and impact data on the timeline, thus affecting the accuracy of analysis of key movements at the moment of impact and before and after. Furthermore, existing swing training applications focus heavily on "video playback," lacking the ability to visualize and render information such as club trajectory, club angle changes, and impact point, making it difficult to provide meaningful training feedback.
[0003] Therefore, it is necessary to provide a method and system for processing the swing motion to improve the accuracy of replay analysis and further provide athletes with instructive training feedback. Summary of the Invention
[0004] One embodiment of this specification provides a method for processing a golf swing action. The method includes: receiving a processed time-series video transmitted based on a target transmission method; generating a visualization rendering result based on the processed time-series video; wherein the processed time-series video is a swing time-series video embedded with frame timestamps; the frame timestamps are determined based on a timestamp reference base, and the timestamp reference base is determined based on the time of impact, the position information of the club, and / or the position information of the ball being hit.
[0005] One embodiment of this specification also provides a swing action processing system, including: a sensor analysis module configured to: measure the position information of the club and / or the position information of the ball being hit and the time of impact via a ball-hitting sensor module; capture a swing timing video via a camera module; generate a timestamp reference base based on the time of impact, the position information of the club and / or the position information of the ball being hit; determine a frame timestamp based on the timestamp reference base; and embed the frame timestamp into the swing timing video to obtain a processed timing video; a dynamic communication module configured to: transmit the processed timing video received from the sensor analysis module to a terminal analysis module; and the terminal analysis module configured to: receive the processed timing video; and generate a visualization rendering result based on the processed timing video.
[0006] One embodiment of this specification also provides a swing motion processing device, including a processor, the processor being used to execute the aforementioned swing motion processing method.
[0007] One embodiment of this specification also provides a computer-readable storage medium that stores computer instructions. When a computer reads the computer instructions in the storage medium, the computer executes the aforementioned swing action processing method. Attached Figure Description
[0008] This specification will be further described by way of exemplary embodiments, which will be described in detail with reference to the accompanying drawings. These embodiments are not limiting; in these embodiments, the same reference numerals denote the same structures, wherein:
[0009] Figure 1 This is a schematic diagram illustrating an application scenario of a swing motion processing system according to some embodiments of this specification; Figure 2 This is an exemplary block diagram of a swing motion processing system according to some embodiments of this specification; Figure 3 This is an exemplary schematic diagram of a method for processing a swing action according to some embodiments of this specification; Figure 4 This is an exemplary schematic diagram illustrating the determination of a target transmission method according to some embodiments of this specification; Figure 5 This is an exemplary flowchart illustrating the generation of a playback sequence according to some embodiments of this specification. Detailed Implementation
[0010] To more clearly illustrate the technical solutions of the embodiments in this specification, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are merely some examples or embodiments of this specification. For those skilled in the art, these drawings can be applied to other similar scenarios without creative effort. Unless obvious from the context or otherwise specified, the same reference numerals in the drawings represent the same structures or operations.
[0011] It should be understood that the terms “system,” “device,” “unit,” and / or “module” used herein are one way to distinguish different components, elements, parts, sections, or assemblies at different levels. However, if other terms can achieve the same purpose, they may be replaced by other expressions.
[0012] As indicated in this specification and claims, unless the context clearly indicates otherwise, the words "a," "an," "an," and / or "the" do not specifically refer to the singular and may also include the plural. Generally speaking, the terms "comprising" and "including" only indicate the inclusion of expressly identified steps and elements, which do not constitute an exclusive list, and the method or apparatus may also include other steps or elements.
[0013] Flowcharts are used in this specification to illustrate the operations performed by the system according to embodiments of this specification. It should be understood that the preceding or following operations are not necessarily performed in exact order. Instead, the steps can be processed in reverse order or simultaneously. Furthermore, other operations can be added to these processes, or one or more steps can be removed from them.
[0014] Figure 1 This is a schematic diagram illustrating an application scenario of a swing motion processing system according to some embodiments of this specification.
[0015] The swing motion processing system provided in the embodiments of this specification can be applied to professional training, commercial stadiums, live broadcasts of events, and other scenarios involving any ball sport (e.g., golf, baseball, softball, hockey, etc.) that involves swing motion.
[0016] like Figure 1 As shown, the application scenario 100 of the swing motion processing system includes motion processing equipment 110, network 120, processor 130 and storage device 140.
[0017] A swing motion processing system refers to a system used to process the swing motion. This system is a multi-scenario application system suitable for training with clubs such as golf that require swing maneuvers. It can be widely deployed in professional training venues, private practice environments, live event commentary, equipment R&D and testing, and sports science research. It can meet multiple needs such as coaching instruction, independent practice, remote guidance, real-time broadcasting, and data analysis, and possesses excellent environmental adaptability and equipment compatibility.
[0018] For more information on the swing action processing system, please refer to [link / reference]. Figure 2 The corresponding description.
[0019] Motion processing equipment refers to the equipment used to process the golf swing. For example... Figure 1 The motion processing equipment 110 may include a cue stick 111, a ball 112, a sensor 113, and a clock circuit 114.
[0020] A golf club is a device used to strike a ball. For example, golf clubs can include woods, irons, putters, short clubs, bats, rackets, etc.
[0021] A ball refers to the object that is struck by a club. For example, a ball can include a golf ball, baseball, softball, hockey, etc.
[0022] A sensor is a device used to acquire sensing data. It can include inertial measurement units (IMUs) (e.g., accelerometers and gyroscopes), shock sensors, vibration sensors, Doppler radar sensors, photoelectric sensors, infrared beam sensors, etc., and is used to collect the pose information of the cue stick and the ball (also known as the ball being hit).
[0023] The sensor can be deployed on the side of the club, the side of the ball, or on other motion processing equipment (e.g., a video capture device). In some embodiments, the sensor may also include an image sensor (e.g., a camera, webcam, etc.) for capturing swing timing video. For related descriptions of club pose information, ball-hitting pose information, and swing timing video, please refer to this specification. Figure 3 Related descriptions.
[0024] Clock circuits can include local clocks, RTCs (Real-Time Clocks), etc., to provide a time reference or real-time time information (or system time). For example, they can attach local timestamps to data collected by sensors.
[0025] Network 120 may include any suitable network capable of facilitating the exchange of information and / or data. In some embodiments, at least one component of application scenario 100 (e.g., sensor 113, clock circuit 114, processor 130, and storage device 140, etc.) may exchange information and / or data with at least one other component in application scenario 100 or an external component via network 120.
[0026] In some embodiments, network 120 can be any one or more of wired or wireless networks. For example, network 120 may include cable networks, fiber optic networks, telecommunications networks, cable connections, or any combination thereof. Network connections between components may employ one or more of the above methods. In some embodiments, the network may be a point-to-point, shared, centralized, or other topologies, or a combination of multiple topologies. In some embodiments, network 120 may include, but is not limited to, at least two of Wi-Fi Direct, Home Wi-Fi, or BLE (Bluetooth Low Energy).
[0027] Processor 130 can process data and / or information obtained from other devices and / or system components. Processor 130 can execute program instructions based on this data and / or information to perform one or more functions described in this application. For example, the processor can generate a timestamp reference based on the time of impact, the cue's pose information, and / or the pose information of the ball being hit. As another example, the processor can determine frame timestamps based on the timestamp reference. As yet another example, the processor can generate a visualization rendering result based on processed time-series video. Processor 130 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), a microprocessor, or any combination thereof.
[0028] In some embodiments, the processor 130 may include one or more sub-processing devices (e.g., a single-core processing device or a multi-core multi-chip processing device). In some embodiments, the multiple sub-processing devices of the processor 130 may be integrated on different devices (e.g., different user terminals). User terminals may include, but are not limited to, mobile phones, computers, etc.
[0029] Storage device 140 may store data, instructions, and / or any other information related to the processing system for the golf swing action. In some embodiments, storage device may store data and / or information acquired from motion processing equipment 110 and processor 130, such as club pose information, ball-hitting pose information, impact time point, swing timing video, processed timing video, visualization rendering results, etc.
[0030] In some embodiments, storage device 140 may include one or more storage units, each of which may be a separate device or part of another device. In some embodiments, the storage device may be implemented on a cloud platform. In some embodiments, storage device 140 may be part of sensor 113, clock circuit 114, etc.
[0031] In some embodiments, the multiple storage units of storage device 140 may be integrated on different devices (e.g., different user terminals).
[0032] The above description is illustrative and does not limit the scope of this specification. Many alternatives, modifications, and variations will be apparent to those skilled in the art. The features, structures, methods, and other characteristics of the exemplary embodiments described herein can be combined in various ways to obtain other and / or alternative exemplary embodiments. For example, the configuration and / or functionality of the swing motion processing system may be varied or modified depending on the specific implementation scenario. However, these variations and modifications do not depart from the scope of this disclosure.
[0033] Figure 2This is an exemplary block diagram of a swing motion processing system according to some embodiments of this specification.
[0034] like Figure 2 As shown, the swing motion processing system 200 may include a sensor analysis module 210, a dynamic communication module 220, and a terminal analysis module 230. In some embodiments, multiple modules of the swing motion processing system 200 may run on the processor 130.
[0035] A sensor analysis module refers to a module used to acquire and / or process data and / or information collected by sensors. For example, a sensor analysis module might be used to acquire the pose information of the golf club, the pose information of the ball being struck, and a swing timing video, and generate a timestamp reference for time alignment. In some embodiments, the sensor analysis module can be implemented by software on a host computer that processes the data and / or information collected by sensors, and / or by independent hardware circuitry. In some embodiments, such as... Figure 2 As shown, the sensing analysis module 210 includes a ball-hitting sensing module 211 and a camera module 212.
[0036] The ball-hitting sensing module 211 refers to a module used to acquire data and / or information related to ball hitting. For example, the ball-hitting sensing module may be a sensing unit used to acquire ball-hitting related measurements and determine the timing of the impact. In some embodiments, the ball-hitting sensing module may include an IMU (e.g., an accelerometer and a gyroscope), an impact sensor, a vibration sensor, a Doppler radar sensor, a photoelectric sensor, an infrared beam sensor, an MCU (Microcontroller Unit), a local clock, an RTC, etc.
[0037] Shot-related measurements refer to measurement parameters that are related to a shot. For example, shot-related measurements include club position information (e.g., club velocity), ball position information (e.g., ball velocity), and the timing of the shot.
[0038] The impact sensing module can be deployed on the side of the club, the side of an external detection device (e.g., an external camera), and / or the side of the ball. In some embodiments, the impact sensing module is configured to measure the pose information of the club and / or the pose information of the ball being hit, as well as the time of impact.
[0039] A camera module refers to a module used for capturing video. For example, a camera module can be an imaging unit and its control / encoding components for capturing timing video of a golf swing. A camera module may include an image sensor, image acquisition circuitry, and a lens module. As an example, a camera module can be an external camera, a mobile phone camera, or a standalone camera module. A camera module can output a continuous sequence of video frames. Frame timestamps can be written into or associated with this video frame sequence.
[0040] In some embodiments, the camera module is configured to capture timing video of the golf swing.
[0041] The sensor analysis module is also configured to: generate a timestamp reference base based on the time of impact, the pose information of the club and / or the pose information of the ball being hit; determine the frame timestamp based on the timestamp reference base; and embed the frame timestamp into the swing timing video to obtain the processed timing video.
[0042] A dynamic communication module refers to a module used to transmit information and / or data. For example, a dynamic communication module can be a communication module used to transmit data output from a sensor analysis module to a terminal analysis module under different wireless communication links. A dynamic communication module can support at least two wireless protocols and select / switch them as needed; its transmission targets include swing timing video embedded with frame timestamps.
[0043] In some embodiments, the dynamic communication module may include a Wi-Fi or BLE communication chip / module, and a link management / switching control unit. The link management / switching control unit may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), a microprocessor, or any combination thereof.
[0044] The dynamic communication module 220 is configured to transmit processed time-series video received from the sensor analysis module to the terminal analysis module.
[0045] In some embodiments, the dynamic communication module 220 is further configured to perform transmission using at least two protocol links based on multi-protocol wireless communication, wherein the at least two protocol links include at least two of Wi-Fi Direct links, Home Wi-Fi links, and BLE links.
[0046] In some embodiments, the dynamic communication module is further configured to: determine the target link for transmission based on the link state, wherein the target link is a combination link that automatically selects or switches between at least two protocol links.
[0047] A terminal analysis module refers to a module used to process data and / or information related to a user terminal. For example, a terminal analysis module can be an analysis and processing module running on a user terminal (such as a mobile phone, tablet, or computing device), and can be implemented by the user terminal's software. As an example, a terminal analysis module may include the user terminal's processor or application program, and a visualization rendering engine / UI (User Interface) module.
[0048] The terminal analysis module 230 is configured to: receive processed time-series video; and generate a visualization rendering result based on the processed time-series video.
[0049] In some embodiments, the visualization rendering result includes a sequence of playback images. In some embodiments, the terminal analysis module is further configured to: generate general annotation data based on the swing timing video, club pose information and / or ball-hitting pose information, wherein the general annotation data includes at least one of the impact point identifier, clubhead path line and swing plane line; and generate a sequence of playback images based on the general annotation data and the swing timing video.
[0050] For more information on the above modules, please refer to [link / reference]. Figures 3-5 And related explanations.
[0051] It should be understood that Figure 2 The system and its modules shown can be implemented in various ways. It should be noted that the above description of the swing motion processing system and its modules is for convenience only and should not limit this specification to the scope of the illustrated embodiments. It is understood that those skilled in the art, after understanding the principles of this system, may arbitrarily combine the various modules or construct subsystems connected to other modules without departing from these principles. For example, Figure 2 The sensor analysis module 210, dynamic communication module 220, and terminal analysis module 230 in the example can be different modules in a system, or a single module can implement the functions of two or more of the above modules. For example, the modules can share a storage module, or each module can have its own storage module. Such variations are all within the scope of protection of this specification.
[0052] Figure 3 This is an exemplary schematic diagram illustrating a method for processing golf swing actions according to some embodiments of this specification. In some embodiments, the method for processing golf swing actions may be executed based on a swing action processing system or processor.
[0053] In some embodiments, such as Figure 3 As shown, the method for processing the swing action may include: receiving a processed temporal video 341 transmitted based on a target transmission method; generating a visualization rendering result 351 based on the processed temporal video 341; wherein, the processed temporal video 341 is a swing temporal video 331 embedded with a frame timestamp 332; the frame timestamp 332 is determined based on a timestamp reference 321, and the timestamp reference 321 is determined based on the impact time point 311, the club pose information 312 and / or the ball pose information 313.
[0054] The target transmission method refers to the communication method used to transmit data between devices. For example, the target transmission method may include wireless LAN transmission, Bluetooth transmission, or wired transmission. In some embodiments, the dynamic communication module may transmit the processed time-series video received from the sensor analysis module to the terminal analysis module based on the target transmission method.
[0055] In some embodiments, the target transmission method may be determined based on a preset method or by obtaining user input.
[0056] For more information on target transmission methods, please refer to [link / reference]. Figure 4 And related explanations.
[0057] Post-processed time-series video refers to time-series video that has been processed to add or modify information, based on a swing time-series video. For example, post-processed time-series video can be a swing time-series video with embedded frame timestamps.
[0058] A frame timestamp is an identifier that represents moment information. By embedding frame timestamps into a swing time-series video, it's possible to associate video frames in the processed time-series video with the video frames in the swing time-series video. For example, a frame timestamp can be the time information that marks the corresponding moment of each frame in the swing time-series video under a timestamp reference.
[0059] A timestamp reference is a reference time point or reference time system used to unify or associate different timestamps. A timestamp reference can be determined based on at least one of the following: the time of impact, the club's pose information, and the pose information of the ball being hit. For example, a timestamp reference can define the time of impact as the origin of the time axis (i.e., time 0), and verify it based on at least one of the following: the time of impact, the club's pose information, and the pose information of the ball being hit. The frame timestamp of a video frame is represented as a relative time relative to the origin of that time axis.
[0060] The point of impact refers to the moment when the club makes contact with the ball. For example, the point of impact can be a precise time value recorded when the club collides with the ball.
[0061] Club pose information refers to data used to describe the club's position and / or attitude in space. For example, club pose information may include the clubhead position trajectory, shaft direction vector, clubface orientation angle, club speed or angular velocity during the swing, etc.
[0062] The pose information of the hit ball refers to the data used to describe the position and / or attitude of the hit ball in space. For example, the pose information of the hit ball may include the ball's position coordinates, the direction of its initial velocity after leaving the ground, the ball's speed or spin, etc.
[0063] In some embodiments, the sensing analysis module can measure and acquire the time of impact, the position information of the club, and / or the position information of the ball being hit through the ball-hitting sensing module.
[0064] In some embodiments, the sensing analysis module can generate a timestamp reference base based on the time of impact; and correct the timestamp reference base based on the time of impact, the position information of the club and / or the position information of the ball being hit.
[0065] For example, starting from the beginning of the swing timing video, the sensor analysis module measures the impact time t0 as 1000ms using the ball-hitting sensor module. A 50ms window is taken before and after t0, i.e., a window from 950ms to 1050ms in the swing timing video. The club speed and / or ball speed are measured, and within the 50ms window, the ball speed takeoff moment tball and the club speed abrupt change moment tclub are identified; in response to |t0 tball | and / or |t0 If tclub | is less than or equal to the preset time threshold, then the time of the shot t0 is used as the timestamp reference.
[0066] Response to |t0 tball | and / or |t0 If tclub| is greater than the preset time threshold, the following corrections will be performed:
[0067] When |t0 tball | less than |t0 When tclub|, the hitting time is corrected to the ball's initial bounce moment tball, and when |t0 tball | greater than |t0 When |tclub|, the impact time is corrected to the moment of club speed change tclub, when |t0 tball| equals|t0 When tclub|, the hitting time is corrected to the midpoint between the moment of club speed change tclub and the moment of ball speed takeoff tball, and the corrected hitting time is used as the timestamp reference, i.e., the origin of the time axis.
[0068] The moment when the ball speed takes off refers to the moment when the ball speed changes from near zero to a significantly non-zero value. Near zero means the difference between the ball speed and zero is less than a first speed threshold (e.g., 0.5 m / s); significantly non-zero means the ball speed is greater than a second speed threshold (e.g., 2 m / s). The first and second speed thresholds can be preset manually based on historical experience.
[0069] A sudden change in club speed refers to a moment near the time of impact when the ball speed reaches a peak or its slope changes abruptly. A peak refers to the club speed reaching a local maximum value where the change in club speed between adjacent sampling moments changes from positive to negative. A sudden change in slope refers to the rate of change of club speed between adjacent sampling moments exceeding a preset rate of change threshold, which can be manually set based on historical experience.
[0070] In some embodiments, the sensing analysis module can determine the frame timestamps of each video frame in the swing timing video based on a timestamp reference, with the time of impact as the origin. For example, the frame timestamp corresponding to the time of impact can be marked as 0ms, the frame timestamp corresponding to 1 second before the impact event can be marked as -1000ms, and the frame timestamp corresponding to 0.5 seconds after the impact event can be marked as +500ms.
[0071] A swing timing video refers to a sequence of video frames that covers the entire swing motion. For example, a swing timing video can be a recording of the complete swing from the start of the backswing to the end of the downswing, or it can be a video clip that only includes the moment of impact and a preset time period (e.g., 5 seconds) before and after it. In some embodiments, the terminal analysis module can directly obtain the swing timing video from a storage device.
[0072] A swing timing video with embedded frame timestamps refers to a processed timing video obtained by embedding frame timestamps into a swing timing video. For example, a swing timing video contains frames 1 to 60, with the impact time corresponding to frame 30. Frame timestamps relative to the impact time are embedded in frames 1 to 60 respectively: frame 24 (200ms before impact) embeds... A 200ms timestamp is used, a 0ms timestamp is embedded in the 30th frame (the moment of impact), and a +200ms timestamp is embedded in the 36th frame (200ms after impact), forming a swing timing video with embedded frame timestamps.
[0073] In some embodiments, the terminal analysis module may receive processed time-series video from the dynamic communication module.
[0074] Visualization rendering results refer to the visual overlay information and / or graphical analysis results generated based on the processed time-series video. For example, visualization rendering results may include annotation information and schematic animations overlaid on the processed time-series video. Annotation information may include impact point markers, clubhead path lines, swing plane lines, keyframes, and event types. Schematic animations may include animations of the clubhead moving along its trajectory.
[0075] In some embodiments, the terminal analysis module can generate a schematic animation based on the pose information of the golf club. For example, the terminal analysis module can extract the three-dimensional position coordinates of the clubhead in multiple consecutive frames of a processed time-series video, connect them in the order of frame timestamps to form a trajectory point set, and generate a schematic animation by using a spline interpolation algorithm to show the movement of the clubhead along the trajectory point set.
[0076] For more information on impact point markers, clubhead path lines, swing plane lines, keyframes, and event types, please refer to [link / reference]. Figure 5 And related explanations.
[0077] In some embodiments, the terminal analysis module can generate visualization rendering results based on the processed time-series video in various ways. For example, the terminal analysis module can overlay annotation information on the processed time-series video to generate visualization rendering results.
[0078] For more information on generating visual rendering results, please refer to [link / reference]. Figure 5 And related content.
[0079] The swing motion processing method provided in some embodiments of this specification timestamps each frame of the swing timing video by using the time of impact as a unified timestamp reference, and then transmits the processed timing video to the terminal analysis module for visualization rendering. This achieves a precise correspondence between the moment of impact and the playback of the processed timing video, reduces the asynchrony caused by latency in different links, and improves the accuracy of playback analysis and the understandability of training feedback.
[0080] Since a single wireless communication method (e.g., using only BLE or Home Wi-Fi protocols) often cannot simultaneously meet the requirements of high bandwidth, low latency, and high reliability, thus affecting the stability of the swing motion processing system, it is necessary to determine the target transmission method to ensure the stability of the swing motion processing system.
[0081] Figure 4 This is an exemplary schematic diagram illustrating the determination of a target transmission method according to some embodiments of this specification.
[0082] In some embodiments, the target transmission method is based on multi-protocol wireless communication and is executed using at least two protocol links. For example... Figure 4 As shown, at least two protocol links include at least two of Wi-Fi Direct link 411-1, Home Wi-Fi link 411-2, and BLE (Bluetooth Low Energy) link 411-3.
[0083] For details regarding the target transmission method, please refer to this instruction manual. Figure 3 Related descriptions.
[0084] Multiprotocol wireless communication refers to a communication method that uses at least two different wireless communication protocols to perform data transmission.
[0085] A protocol link is a communication link established based on a communication protocol. Each protocol link can have different characteristics, such as bandwidth, power consumption, latency, and connection range. For example, protocol links can include Wi-Fi Direct links, HomeWi-Fi links, or BLE links.
[0086] A Wi-Fi Direct link is a communication link established based on the Wi-Fi Direct protocol. For example, a Wi-Fi Direct link is a point-to-point Wi-Fi connection established directly between two or more devices without a wireless router. This Wi-Fi Direct link features high transmission speeds and low latency.
[0087] A home Wi-Fi link is a Wi-Fi communication link established by connecting to a wireless access point (AP) (e.g., a wireless router). For example, a home Wi-Fi link is a Wi-Fi connection established by devices connecting to a wireless router in a home or office. This home Wi-Fi link can utilize existing home or office network infrastructure, facilitating interconnection and internet access between devices.
[0088] A BLE link refers to a communication link established based on the Bluetooth Low Energy protocol. For example, a BLE link is a wireless connection established between devices based on Bluetooth Low Energy technology. BLE links have advantages such as extremely low power consumption and fast connection establishment speed, and can be used to transmit small amounts of data (such as the time of impact or the position of the club) to reduce power consumption.
[0089] In some embodiments, the process of using at least two protocol links to perform transmission can be configured according to the specific application scenario and the data types to be transmitted.
[0090] For example, in a screen mirroring application scenario, the target transmission method can include Wi-Fi Direct links and BLE links. Wi-Fi Direct links, characterized by high bandwidth, are used to transmit real-time video and audio streams to ensure smooth and clear visuals. Meanwhile, BLE links, characterized by low latency and high reliability, are used to transmit critical signaling such as screen touch coordinates and play / pause control commands. In this way, even if the Wi-Fi network fluctuates, the user's control operations can be responded to instantly, ensuring real-time interaction.
[0091] In other embodiments, the target transmission method may include a Home Wi-Fi link and a BLE link. For example, when a device needs to communicate with a cloud server while simultaneously synchronizing its state with another nearby device, the Home Wi-Fi link handles data interaction with the cloud server, such as downloading files or updating firmware. The BLE link, on the other hand, maintains a heartbeat connection between the two devices to synchronize device states in real time or transmit small amounts of collaborative operation data, ensuring state consistency between the two devices.
[0092] In some embodiments, the combined use of protocol links can be implemented in various ways. For example, a Wi-Fi Direct link and a Home Wi-Fi link can be combined, where the Wi-Fi Direct link is used for high-speed video transmission between devices, while the Home Wi-Fi link maintains connectivity to the Internet. Alternatively, data streams can be dynamically allocated between different protocol links based on factors such as network quality, device power consumption, and data priority, or another link can be used as a backup link to the primary link, automatically switching in case of a primary link failure, thereby improving transmission robustness.
[0093] In some embodiments, the combined use of protocol links can also be achieved in other ways. For example, when practicing outdoors, if the Home Wi-Fi link is unavailable, a Wi-Fi Direct link can be used to transmit video, and a cellular network (e.g., 4G, 5G) link can be used to transmit reference time information.
[0094] In some embodiments, such as Figure 4 As shown, the target transmission mode 410 includes a target link 411. The target link 411 is determined based on the link state 420. The target link 411 is a combination link that automatically selects or switches between at least two protocol links.
[0095] The target link refers to the protocol link used to perform the transmission task. For example, the target link can be a single protocol link or a combination of at least two protocol links. The transmission task refers to the data and / or information processed during the golf swing. For example, a transmission task may include transmitting swing timing video, reference timing information, etc.
[0096] Link state refers to information used to characterize the link state and / or performance of a protocol. For example, link state may include at least one of bandwidth, signal quality (such as RSSI (Received Signal Strength Indicator), signal-to-noise ratio), latency, and packet loss rate.
[0097] In some embodiments, link status can be obtained through scanning and / or real-time monitoring.
[0098] A combined link is a transmission link composed of at least two different protocol links. For example, a combined link can be a combination of a Home Wi-Fi link and a BLE link. Another example is a combination of a Wi-Fi Direct link, a Home Wi-Fi link, and a BLE link.
[0099] In some embodiments, the target link can be determined based on link status. For example, if currently available protocol links include a Home Wi-Fi link and a Wi-Fi Direct link, and the RSSI of the Home Wi-Fi link is greater than the minimum RSSI required for a preset video bitrate threshold and significantly better than the RSSI of the Wi-Fi Direct link (e.g., the difference in RSSI between the Home Wi-Fi link and the Wi-Fi Direct link is greater than a preset percentage of the Home Wi-Fi link's RSSI), the processor can select the Home Wi-Fi link as the target link to transmit video. The preset video bitrate threshold and preset percentage are manually preset. The minimum RSSI required for the preset video bitrate threshold can be determined based on a statistically learned RSSI threshold self-learning method.
[0100] For example, if severe latency jitter is detected on the Wi-Fi Direct link, but the bandwidth of the Wi-Fi Direct link is still sufficient to transmit video, the processor can combine the Wi-Fi Direct link and the BLE link as the target link. In this case, the Wi-Fi Direct link continues to transmit video, while the BLE link transmits time information.
[0101] In some embodiments, the target link can also be determined based on dynamic monitoring of real-time link status. For example, initially, a single Home Wi-Fi link is used to transmit all data. When the throughput of the Home Wi-Fi link is detected to be higher than a preset minimum throughput threshold, or the RSSI of the Home Wi-Fi link is detected to be lower than a preset RSSI threshold, the processor can determine that the Home Wi-Fi link status has deteriorated and automatically switch to a combined link of the Home Wi-Fi link and the BLE link. Under this combined link, video continues to be transmitted via Home Wi-Fi, while time information is switched to the more stable BLE link for transmission to ensure the continuity of time information. The preset minimum throughput threshold and the preset RSSI threshold are preset manually.
[0102] In some embodiments, the target link can also be determined based on other methods, such as the nature of the transmission task. For example, when the transmission task includes transmitting high-bandwidth data such as swing timing video, the processor can use a Wi-Fi Direct link or a Home Wi-Fi link as the target link. As another example, when the transmission task only includes transmitting small amounts of data (e.g., reference time information), the processor can use a BLE link as the target link.
[0103] In some embodiments, the target transmission method includes: transmitting a swing timing video with embedded frame timestamps via a Wi-Fi Direct link or a Home Wi-Fi link; transmitting reference time information corresponding to a timestamp reference reference via a BLE link; determining frame timestamp realignment parameters based on the reference time information in response to a transmission interruption or jitter of the Wi-Fi Direct link or Home Wi-Fi link meeting a preset condition; and realigning the frame timestamps of the resumed swing timing video based on the realignment parameters after the Wi-Fi Direct link or Home Wi-Fi link is restored.
[0104] For information regarding frame timestamps, swing timing video, and timestamp references, please refer to this manual. Figure 3 Related descriptions.
[0105] Wi-Fi Direct links or Home Wi-Fi links have high bandwidth characteristics, and can meet the large data transmission requirements of swing timing video by transmitting swing timing video with embedded frame timestamps.
[0106] Reference time information refers to the time information corresponding to a timestamp reference base, used to characterize the point of impact within the video timeline or device time system of the swing sequence video. For example, reference time information can be one or more data packets containing the system time representing the point of impact.
[0107] In some embodiments, the reference time information can be determined based on the system time corresponding to the shot time, the video frame identifier corresponding to the shot time, and the offset of the shot time relative to the start time of the video. For example, after detecting the shot time, the processor can record the system time corresponding to the shot time and use the sum of the system time corresponding to the shot time and the offset of the shot time relative to the start time of the video as the reference time information (i.e., the time at the video frame identifier corresponding to the shot time). As an example, when the offset of the shot time relative to the start time of the video is zero, the reference time information is the system time corresponding to the shot time.
[0108] The system time corresponding to the point of impact can be obtained from the clock circuit.
[0109] The video frame identifier corresponding to the impact time point refers to the identification information of the video frame in the swing time-series video that corresponds to the impact time point. It is used to characterize the corresponding position of the impact event in the swing time-series video frame sequence. For example, the video frame identifier corresponding to the impact time point can be a frame sequence number, frame index, frame number, or other information that can uniquely indicate the frame position of the impact event in the swing time-series video. After detecting the impact time point, the processor can determine the video frame that matches the impact time point based on the correspondence between the impact time point and the acquisition time of each video frame in the swing time-series video, and use the frame sequence number, frame index, or frame number of that video frame as the video frame identifier corresponding to the impact time point.
[0110] The offset of the impact time point relative to the start time of the video refers to the time interval between the video frame identifier corresponding to the impact time point and the start time of the swing sequence video. It is used to characterize the temporal position of the impact event on the timeline of the swing sequence video. The processor can use the time difference between the acquisition time of the video frame corresponding to the impact time point and the start time of the swing sequence video as the offset of the impact time point relative to the start time of the video. For example, subtracting the start time of the swing sequence video from the acquisition time of the video frame corresponding to the impact time point yields the offset of the impact time point relative to the start time of the video. As an example, when the video frame identifier corresponding to the impact time point is at the start time of the swing sequence video, this offset is zero.
[0111] In some embodiments, the reference time information may also be determined in other ways, such as by obtaining user input or by a weighted summation of historical values.
[0112] Although BLE links have lower bandwidth, they offer stable connections, strong anti-interference capabilities, and low power consumption. Transmitting reference time information via BLE links ensures that even if high-bandwidth Wi-Fi Direct or Home Wi-Fi links experience interruptions or jitter, the receiving end (such as the user's mobile phone) will not lose the most critical reference time information.
[0113] Transmission interruption refers to the phenomenon where data stops or is completely lost in the transmission link. For example, transmission interruption can manifest as a disconnection of the Wi-Fi signal, causing the swing timing video to be unable to reach the receiving end for a period of time.
[0114] Jitter refers to the irregular or unstable changes in the delay time of data packets during transmission. For example, jitter can manifest as inconsistent intervals between video data frames arriving at the receiving end (or the difference in intervals exceeding a preset difference threshold), causing stuttering or frame skipping during video playback.
[0115] Preset conditions refer to pre-defined logical conditions used for status judgment. For example, preset conditions could be that the duration of a transmission interruption exceeds a preset time threshold, or that the transmission jitter level is greater than a preset jitter threshold. The preset time threshold and preset jitter threshold can be manually preset. The jitter level can be expressed as the difference between the interval between adjacent video data frames arriving at the receiver and the theoretical interval. The theoretical interval can be calculated based on the video frame rate.
[0116] Realignment parameters are parameters used to correct or adjust frame timestamps. For example, a realignment parameter can be a time difference value that represents the amount of time that needs to be corrected between the frame timestamps of the recovered swing timing video and a reference time base.
[0117] In some embodiments, the processor can calculate the realignment parameter based on reference time information and the timestamp of the first video frame received after transmission resumes following a protocol link interruption. For example, if the transmission of the swing timing video is interrupted, and the Wi-Fi Direct or Home Wi-Fi link is restored, the timestamp of the first video frame received by the receiver is `T_video_resumed`. Simultaneously, the receiver continuously receives reference time information transmitted via the BLE link and records the reference time information corresponding to the shot time as `T_ref_ble`. In this case, the realignment parameter `ΔT` can be calculated using the following formula: `ΔT = T_video_resumed - T_ref_ble`.
[0118] As an example, if the ball-hitting event occurs at `T=100ms` (provided by the BLE link), and the timestamp of the first frame of video recovered after a Wi-Fi Direct link or Home Wi-Fi link interruption is `T=400ms`, then the realignment parameter would be `300ms`.
[0119] In some embodiments, the processor may also determine the realignment parameters based on other algorithms. For example, a predictive model such as a Kalman filter may be used.
[0120] Frame timestamp realignment refers to the process of correcting or synchronizing frame timestamps in a swing timing video based on realignment parameters.
[0121] In some embodiments, the processor can realign the frame timestamps of the recovered swing timing video based on realignment parameters. For example, after the Wi-Fi Direct link or Home Wi-Fi link is restored, the timestamp `T_original` of each received frame of video is corrected using the formula `T_corrected=T_original-ΔT` to obtain the corrected timestamp `T_corrected`. Then, using the corrected timestamp, the recovered swing timing video is inserted into the timeline, ensuring that the recovered swing timing video maintains the correct temporal relationship with the impact time on the timeline, guaranteeing the continuity of the timestamp of each frame with the impact time.
[0122] In some embodiments, the processor may also perform frame timestamp realignment in other ways, such as inserting blank frames or performing time stretching / compression.
[0123] Some embodiments in this specification employ a dual-link mechanism, transmitting swing timing video via Wi-Fi Direct or Home Wi-Fi links and transmitting reference time information via BLE links. This mechanism resolves the issue of misalignment between video timestamps and the impact event caused by unstable Wi-Fi (Wi-Fi Direct or Home Wi-Fi links) transmission. When Wi-Fi is interrupted or jittered, the frame timestamps of the recovered video frames are realigned using reference time information transmitted via a stable BLE link. This ensures the accuracy of the impact time and the continuity of video playback, improving the reliability and accuracy of swing analysis data.
[0124] Some embodiments in this specification can maintain the availability of at least two protocol links by automatically selecting or switching between Wi-Fi Direct links, Home Wi-Fi links, and BLE links based on link status, reducing the probability of network disconnection and transmission lag, and further improving the continuity and reliability of video and critical data (e.g., time information) transmission.
[0125] Some embodiments in this specification, by using at least two protocol links in collaboration among Wi-Fi Direct links, Home Wi-Fi links, and BLE links for transmission, can allocate the optimal protocol link according to the needs of different data. In complex wireless environments, this can effectively balance transmission bandwidth and connection reliability, significantly reduce the risk of data transmission stuttering and disconnection, and thus improve the overall stability and real-time performance of transmission.
[0126] In some embodiments, after the terminal analysis module successfully receives the processed time-series video via the aforementioned target transmission method, it needs to process and analyze the processed time-series video to generate intuitive and analytically valuable visualization rendering results. These visualization rendering results may include a sequence of playback frames. The following will combine... Figure 5 The specific process for generating the playback sequence is explained in detail.
[0127] Figure 5 This is an exemplary flowchart illustrating the generation of a playback sequence according to some embodiments of this specification.
[0128] In some embodiments, generating a visual rendering result based on the processed time-series video may include process 500. For example... Figure 5 As shown, process 500 includes the following steps. In some embodiments, process 500 may be executed by a terminal analysis module or a processor.
[0129] A playback sequence refers to a series of images that contain general annotation data and are arranged in chronological order. For example, a playback sequence could be a swing video with the clubhead path superimposed.
[0130] Step 510: Generate general annotation data 511 based on the processed temporal video 341, the cue pose information 312 and / or the ball pose information 313.
[0131] For more information regarding the processed timing video 341, the cue pose information 312, and / or the shot pose information 313, please refer to [link to relevant documentation]. Figure 3 And related content.
[0132] General annotation data refers to data used to mark key nodes, trajectories, or planes during motion in processed time-series video. For example, general annotation data may include impact point markers, clubhead path lines, and swing plane lines.
[0133] A strike point marker is a visual marker used in processed time-series video to indicate the exact point of contact between the club and the ball. For example, a strike point marker could be a bright circle displayed on the video frame corresponding to the moment the shot was taken, at the point of contact between the club and the ball.
[0134] A clubhead path is a visual line used in post-processed time-series video to show the trajectory of the clubhead during its movement. For example, a clubhead path can be an arc drawn in post-processed time-series video footage following the movement of the clubhead.
[0135] A swing plane line is a visual marker used in post-processed time-series video to represent the primary plane in which the golf swing occurs. For example, a swing plane line can be one or more lines representing the plane of the swing trajectory in post-processed time-series video.
[0136] In some embodiments, the terminal analysis module can identify the club and the ball on the video frame corresponding to the time of impact based on the club's pose information and / or the ball's pose information, mark the position where the club and the ball make contact, and generate a point of impact marker.
[0137] In some embodiments, the terminal analysis module can extract a series of coordinate points of the clubhead in three-dimensional space by analyzing the club pose information of each frame in the processed time-series video. These coordinate points are then connected in chronological order to form a spatial trajectory. Finally, this trajectory is projected onto the processed time-series video to generate the clubhead path line.
[0138] In some embodiments, the terminal analysis module can calculate the plane that best represents the swing trajectory based on a series of coordinate points in three-dimensional space contained in the generated clubhead path line, using plane fitting algorithms such as principal component analysis or random sampling consistency. Then, this plane is visualized in the video frame as specific lines or semi-transparent patches, thus generating the swing plane line.
[0139] Step 520: Based on the general annotation data 511 and the processed time-series video, generate the playback scene sequence 521.
[0140] In some embodiments, the terminal analysis module can generate a playback sequence in various ways based on the general annotation data 511 and the processed time-series video. For example, the terminal analysis module can add general annotation data (such as the impact point marker, clubhead path line, and swing plane line) to each frame of the processed time-series video based on the general annotation data to generate a playback sequence.
[0141] In some embodiments, generating a playback sequence based on general annotation data and processed temporal video may further include: determining the event window length and keyframe density based on cue type information; determining the video segment of interest from the processed temporal video based on the event window length; determining at least one keyframe from the video segment of interest based on the keyframe density; and generating a playback sequence based on general annotation data, the video segment of interest, and at least one keyframe.
[0142] Club category information refers to information used to distinguish different types of swing equipment. For example, club category information can indicate whether the currently used equipment is a putter, a driver, or a short-hit club. Taking golf as an example, club category information can indicate whether the currently used club is a putter, iron, wood, or short club.
[0143] A putter is a type of club used to put the ball into the hole.
[0144] Iron clubs are a type of golf club with an iron head, used for medium-distance shots.
[0145] A wood is a type of club used for long drives or fairway shots.
[0146] Short clubs are clubs used for short shots near the green.
[0147] In some embodiments, the terminal analysis module can obtain club category information through user input or by automatically recognizing built-in markings on the swing equipment.
[0148] The event window length refers to the time span set for analyzing a specific action. For example, the event window length can be set to the range of 5 seconds before and 5 seconds after the point of impact.
[0149] A keyframe is a representative single frame selected from a video sequence. For example, a keyframe could be a single frame representing the top of the backswing, the moment of impact, and the follow-through.
[0150] Keyframe density refers to the number or density of keyframes selected within a preset unit of time. For example, the keyframe density can be set to select 10 keyframes per second.
[0151] In some embodiments, the terminal analysis module can determine the event window length and keyframe density based on cue category information in various ways. For example, the terminal analysis module can set the event window length and keyframe density corresponding to different cue category information based on user input or historical experience.
[0152] As an example only, the terminal analysis module can take the time of impact as the origin. When the club type information is a putter, the corresponding event window length is ±300ms, and the keyframe density is 3~15 frames / second; when the club type information is an iron or wood, the corresponding event window length is the window length covering the entire swing action, and the keyframe density is 15~40 frames / second; when the club type information is a short club, the corresponding event window length is ±500ms, and the keyframe density is 40~120 frames / second.
[0153] In some embodiments, determining the event window length and keyframe density based on club type information may further include: identifying event types based on the ball-hitting data acquired by the ball-hitting sensing module, wherein the ball-hitting data includes club pose information and / or the pose information of the ball being hit, and the event types include at least one of valid hit, swing, brush, tap, and low-speed roll; and determining the event window length and keyframe density based on the club type information and the event types.
[0154] Shot data refers to the set of physical parameters related to a shot. For example, shot data may include the position of the club and / or the position of the ball being shot during the shot event.
[0155] Event type is the classification result of the interaction between the club and the ball. For example, in golf, event type can include at least one of the following: valid shot, miss, brush, tap, slow roll, and multiple touches.
[0156] A valid shot is an event in which the club makes effective contact with the ball and causes the ball to move as intended. A miss is an event in which a swing occurs but the club does not make contact with the ball. A graze or touch is an event in which the club makes non-ideal, weak, or unstable contact with the ball. A low roll is an event in which the ball does not leave the ground after impact and merely rolls on the ground at a low speed. Multiple touches are detected within the event window as multiple contact moments or multiple abrupt changes in the ball's velocity.
[0157] In some embodiments, the terminal analysis module can determine the club speed and ball speed based on the shot data and identify the event type. For example, when the shot data shows that the club speed is greater than a first preset threshold, the ball speed is greater than a first preset threshold, and the ball's displacement distance after being hit is greater than a first distance threshold, the event type is identified as a valid shot; when the shot data shows that the club speed is greater than the first preset threshold, but the ball speed is 0, and the ball's displacement distance after being hit is 0, the event type is identified as a miss; when the shot data shows that the club speed is higher than the first preset threshold, and the ball speed is greater than 0 and less than a second preset threshold, the event type is identified as a brush or touch; when the shot data shows that the club speed is less than the first preset threshold, and the ball speed is greater than the second preset threshold and less than the first preset threshold, the event type is identified as a slow roll; when the shot data shows that the ball speed changes abruptly at least twice within a preset time window, the event type is identified as multiple touches.
[0158] The second ball speed preset threshold is lower than the first ball speed preset threshold. The first ball speed preset threshold, the second ball speed preset threshold, the first stick speed preset threshold, the first distance threshold, and the preset time window can be set manually based on historical experience. A sudden change in ball speed refers to the change in ball speed between adjacent sampling times exceeding the preset speed change threshold.
[0159] In some embodiments, the terminal analysis module can adjust the event window length and keyframe density based on club type information and event type. For example, when the event type is multiple touches, the event window length is increased; when the event type is a valid shot, the keyframe density before and after the shot time is increased; when the event type is a miss, the event window length is shortened, etc.
[0160] In some embodiments of this specification, by combining club type information and event type, an appropriate event window length and keyframe density are determined, thereby accurately capturing swing details related to training, ensuring that key movements are accurately labeled and analyzed during playback, and improving training effectiveness and the accuracy of movement improvement.
[0161] A video segment of interest (VPI) is a video clip extracted from processed time-series video that contains the swing. For example, a VPI could be a video clip that covers the entire process of the backswing, downswing, impact, and follow-through.
[0162] In some embodiments, the terminal analysis module can determine the video segment of interest by extracting a video segment corresponding to the event window length from the processed time-series video based on the event window length. For example, if the frame timestamp of the moment of hitting the ball is T, and the determined event window length is from 2 seconds before the ball is hit to 1 second after the ball is hit, then the video segment of interest is determined as the video segment within the time range of [T-2, T+1] extracted from the processed time-series video.
[0163] In some embodiments, the terminal analysis module can determine at least one keyframe by sampling from the video segment of interest at fixed intervals based on the keyframe density. For example, if the keyframe density is set to 10 frames per second, the terminal analysis module can sample within the video segment of interest at fixed time intervals of 0.1 seconds and select the corresponding video frames as keyframes.
[0164] In some embodiments, the terminal analysis module can also adaptively sample and determine at least one keyframe from the video segment of interest based on keyframe density. For example, the terminal analysis module can dynamically adjust the sampling density of the keyframes according to changes in club speed. For instance, the keyframe density is increased during the downswing and impact moments when clubhead speed is high, and decreased during the top of the backswing when speed is slower, thereby capturing motion details more efficiently.
[0165] In some embodiments, the terminal analysis module can generate a playback sequence in various ways based on general annotation data, video segments of interest, and at least one keyframe. For example, the terminal analysis module can extract at least one keyframe from the video segment of interest based on the event window length and keyframe density determined by club type information; sort the keyframes by frame timestamp; and overlay general annotation data onto the corresponding keyframes to generate a playback sequence containing the impact point identifier, clubhead path line, and swing plane line.
[0166] In some embodiments of this specification, by determining the event window length and keyframe density based on club type information, and extracting key video segments and keyframes of interest from swing sequence videos, motion details related to the training objective can be accurately extracted. Combining this with general labeled data to generate a playback sequence ensures that the playback content is intuitive and accurate, helping users analyze and improve their swing more efficiently.
[0167] In some embodiments, generating a playback sequence based on general annotation data and processed temporal video may further include: determining the event window length and keyframe density based on club category information; determining at least one keyframe from the video segment of interest based on the keyframe density; determining the video segment of interest from the processed temporal video based on the event window length; generating difference annotation data based on club category information, including: in response to the club category information being a putter, the difference annotation data includes roll trend analysis and impact point stability; in response to the club category information being an iron or wood, the difference annotation data includes swing plane stability and angle change trend; in response to the club category information being a short club, the difference annotation data includes small motion stability and high-density keyframes before and after impact; and generating a playback sequence based on the difference annotation data, general annotation data, video segment of interest, and at least one keyframe.
[0168] For more information on determining the event window length and keyframe density based on cue type information, determining at least one keyframe from the video segment of interest based on keyframe density, and determining the video segment of interest from the processed time-series video based on the event window length, please refer to the above and related content.
[0169] Differential annotation data refers to labeled data used for differential analysis or to highlight specific features for a specific category or condition. In some embodiments, differential annotation data may include roll trend analysis, impact point stability, swing plane stability, angle change trends, small motion stability, and high-density keyframes before and after impact.
[0170] Rolling trend analysis refers to the data and visual representation used to analyze the rolling trajectory and direction changes of the ball after it is hit.
[0171] In some embodiments, in response to the club type information being a putter, the terminal analysis module can extract the ball's position change information and / or velocity change information across multiple consecutive video frames based on the ball's trajectory after impact. This determines the ball's rolling direction, rolling offset degree, and rolling stability as representations of rolling trend analysis, thereby generating differential annotation data containing the rolling trend analysis. Here, the rolling offset degree refers to the lateral deviation of the ball relative to the target direction during rolling, and the rolling stability degree refers to the consistency of the ball's velocity decay during rolling.
[0172] Impact point stability refers to the data and its visual representation used to assess the consistency of the contact point between the club and the ball during multiple shots.
[0173] In some embodiments, in response to the club type information being a putter, the terminal analysis module can determine the dispersion or offset of the impact point based on the contact area, contact position, and / or keyframe information near the contact moment between the club and the ball at the instant of impact. This determination serves as a characterization of the impact point's stability, thereby generating differential annotation data containing impact point stability. The dispersion of the impact point refers to the degree of spatial dispersion of the club-ball contact points during multiple shots. The offset of the impact point refers to the amount of deviation of the actual impact point from a reference impact point (such as the center of the clubface) during a single shot.
[0174] Swing plane stability refers to the data and its visual representation used to assess the consistency of the plane in which the swing trajectory lies during the swing.
[0175] In some embodiments, in response to club type information of iron or wood, the terminal analysis module can determine the degree of deviation of the swing trajectory relative to the target swing plane based on the clubhead trajectory point set and / or shaft direction change information during the backswing and downswing phases. This deviation serves as a characterization of swing plane stability, thereby generating differential annotation data containing swing plane stability. The degree of deviation from the target swing plane refers to the spatial distance difference between the actual swing trajectory and the fitted target swing plane.
[0176] Angle change trend refers to the data and its visual representation used to analyze the changes in the angle of an object (such as a pole face) over time during motion.
[0177] In some embodiments, in response to club type information of iron or wood, the terminal analysis module can determine the change process of the clubface angle over time based on the clubface orientation information at key moments before and after the shot, as a representation of the angle change trend, and then generate differential annotation data containing the angle change trend. Clubface orientation information refers to parameters used to describe the directional attitude of the clubface in space.
[0178] Small motion stability refers to the data and its visual representation used to assess the consistency of minor movements or postures that accompany the main movement.
[0179] In some embodiments, in response to the club type information being a short club, the terminal analysis module can extract small-amplitude movement features of the hand, shaft, and / or clubhead based on the minute changes in club pose within a local time window before and after the shot, determine whether there are abnormal fluctuations in the small movements, and use this as a representation of the stability of the small movements, thereby generating differential annotation data containing the stability of the small movements.
[0180] High-density keyframes before and after impact refer to selecting and marking high-frequency and closely spaced keyframes before and after impact in order to accurately capture the details and changes in the swing.
[0181] In some embodiments, in response to the club type information being a short club, the terminal analysis module can increase the keyframe extraction density within a first preset time window before and after the shot, based on the shot time, and extract video frames based on the modified extraction density, thereby generating differential annotation data containing high-density keyframes before and after the shot. The first preset time window can be manually preset based on historical experience.
[0182] In some embodiments, the terminal analysis module can determine the club type based on club category information and directly generate corresponding difference annotation data.
[0183] For example, for putters, the overlaid differential annotation data includes roll trend analysis and impact point stability annotation; for irons or woods, the overlaid differential annotation data includes swing plane stability and angle change trend annotation; for short players, the overlaid differential annotation data includes small motion stability annotation and high-density keyframes before and after impact.
[0184] In some embodiments, the terminal analysis module may determine the annotation information corresponding to at least one key frame of the video segment of interest based on general annotation data; generate at least one annotated screen corresponding to at least one key frame based on each key frame and the corresponding annotation information; and arrange the at least one annotated screen according to the time order of at least one key frame in the video segment of interest to generate a playback screen sequence.
[0185] In some embodiments of this specification, by combining analytical differential annotation data, general annotation data, video segments of interest, and keyframes, a more accurate sequence of replay footage can be generated. Customized analytical annotations (such as roll trends and swing plane stability) are provided for different club types, thereby offering users more detailed motion analysis and improvement suggestions, which helps improve the accuracy and effectiveness of training.
[0186] In some embodiments of this specification, by combining swing timing video with club and ball position information, general annotation data, such as impact point markers, clubhead path lines, and swing plane lines, can be generated, clearly demonstrating key swing movements and the moment of impact. By combining this annotation data with the video, a playback sequence is generated, providing intuitive and targeted training feedback to help users better understand the swing process and improve the efficiency of motion correction.
[0187] It should be noted that the above description of process 500 is for illustrative purposes only and does not limit the scope of this specification. Those skilled in the art can make various modifications and changes to process 500 under the guidance of this specification. However, these modifications and changes remain within the scope of this specification.
[0188] The basic concepts have been described above. Obviously, for those skilled in the art, the detailed disclosure above is merely illustrative and does not constitute a limitation of this specification. Although not explicitly stated herein, those skilled in the art may make various modifications, improvements, and corrections to this specification. Such modifications, improvements, and corrections are suggested in this specification and therefore remain within the spirit and scope of the exemplary embodiments described herein.
Claims
1. A method for processing golf swing motion, characterized in that, The method includes: receiving processed time-series video transmitted based on a target transmission mode; generating a visualization rendering result based on the processed time-series video; wherein the processed time-series video is a swing time-series video embedded with frame timestamps; the frame timestamps are determined based on a timestamp reference base, and the timestamp reference base is determined based on the time of impact, the position information of the club and / or the position information of the ball being hit.
2. The method according to claim 1, characterized in that, The target transmission method is based on multi-protocol wireless communication and is executed using at least two protocol links, wherein the at least two protocol links include at least two of Wi-Fi Direct links, HomeWi-Fi links, and BLE links.
3. The method according to claim 2, characterized in that, The target transmission method includes the target link: The target link is determined based on the link status, wherein the target link is a combination link that automatically selects or switches between the at least two protocol links.
4. The method according to claim 1, characterized in that, The visualization rendering results include a sequence of playback images; The process of generating a visualization rendering result based on the processed time-series video includes: Based on the processed time-series video, the club's pose information, and / or the ball's pose information, general annotation data is generated, wherein the general annotation data includes at least one of the following: impact point marker, clubhead path line, and swing plane line; and The playback sequence is generated based on the general annotation data and the processed time-series video.
5. A swing motion processing system, characterized in that, include: The sensor analysis module is configured as follows: The ball-striking sensor module measures the position information of the club and / or the position information of the ball being struck, as well as the timing of the strike. The camera module captures video of the golf swing sequence. Based on the striking time, the cue pose information, and / or the ball pose information, a timestamp reference base is generated; The frame timestamp is determined based on the timestamp reference benchmark; as well as The frame timestamps are embedded in the swing timing video to obtain the processed timing video. The dynamic communication module is configured as follows: Transmit the processed time-series video received from the sensor analysis module to the terminal analysis module; and The terminal analysis module is configured as follows: Receive the processed time-series video; as well as Based on the processed time-series video, a visual rendering result is generated.
6. The system according to claim 5, characterized in that, The dynamic communication module is further configured to: Based on multi-protocol wireless communication, the transmission is performed using at least two protocol links, wherein the at least two protocol links include at least two of Wi-Fi Direct links, Home Wi-Fi links, and BLE links.
7. The system according to claim 6, characterized in that, The dynamic communication module is further configured to: Based on the link status, a target link for the transmission is determined, wherein the target link is a combination link that automatically selects or switches at least two protocol links.
8. The system according to claim 5, characterized in that, The visualization rendering results include a sequence of playback images; The terminal analysis module is further configured as follows: Based on the swing timing video, the club's pose information, and / or the ball's pose information, general annotation data is generated, wherein the general annotation data includes at least one of the following: impact point identifier, clubhead path line, and swing plane line; and The playback sequence is generated based on the general annotation data and the swing timing video.
9. A swing motion processing apparatus, comprising a processor, the processor being configured to perform the swing motion processing method according to any one of claims 1 to 4.
10. A computer-readable storage medium storing computer instructions, wherein when a computer reads the computer instructions in the storage medium, the computer executes the swing action processing method as described in any one of claims 1 to 4.