Tracking method, multi-device system and non-transitory computer readable storage medium
Patent Information
- Application Number
- TW114128344
- Authority / Receiving Office
- TW · TW
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2024-10-03
- Filing Date
- 2025-07-25
- Publication Date
- 2026-10-11
- Estimated Expiration
- 2045-07-24
AI Technical Summary
Existing immersive systems face limitations in tracking slave devices outside the master device's field of view and require continuous data exchange for consistent localization, leading to blind spots and inefficiencies.
A multi-device system employs a host device and peripheral device interaction where the host generates initial attitude data, the peripheral device receives a host map to generate its own attitude data, and transmits it to stop the host from generating further data, utilizing both interaction-based and feature extraction-based tracking technologies.
This approach allows accurate tracking without blind spots and reduces data transmission requirements, ensuring efficient and precise localization of peripheral devices relative to the host device.
Smart Images

Figure TWG2TB001915591_001 
Figure TWG2TB001915591_002 
Figure TWG2TB001915591_003
Abstract
Description
[Technical Field]
[0001] This disclosure relates to a method and system, and in particular to a tracking method and a multi-device system. [Previous Technology]
[0002] In the field of immersive systems implemented by multiple devices, some related technologies allow a master device among multiple devices to track other devices (i.e., slave devices) through optical tracking technology that can provide accurate tracking results. However, these related technologies require that the slave devices must be located within the field of view of the master device, and not within the master device's blind spot (or visual blind area). Some related technologies allow slave devices to perform self-tracking through synchronous positioning and mapping technology, but require the master device to continuously exchange data with each slave device to ensure that the data of each slave device is consistent with the master device's system. Therefore, it is necessary to propose a new method for the master device to track slave devices. [Summary of the Invention]
[0003] One aspect of this disclosure is a tracking method. This tracking method is applicable to a multi-device system in a physical environment. The multi-device system includes a host device and a peripheral device. The tracking method includes: generating first attitude data of the peripheral device based on an interaction between the host device and the peripheral device via the host device; receiving a host map of the physical environment established by the host device via the peripheral device; generating second attitude data of the peripheral device based on the host map via the peripheral device; and transmitting the second attitude data via the peripheral device to stop the host device from generating the first attitude data.
[0004] Another embodiment of this disclosure is a multi-device system. This multi-device system can operate in a physical environment and includes a host device and a peripheral device. The host device is used to create a host map of the physical environment. The peripheral device is used to receive the host map. The host device is used to generate first attitude data for the peripheral device based on an interaction between the host device and the peripheral device. The peripheral device is used to generate second attitude data for the peripheral device based on the host map, and to transmit the second attitude data so that the host device stops generating the first attitude data.
[0005] Another embodiment of this disclosure is a non-transitory computer-readable storage medium having a computer program for executing a tracking method, wherein the tracking method is applicable to a multi-device system in a physical environment, the multi-device system including a host device and a peripheral device, and the tracking method includes: generating a first attitude data of the peripheral device by the host device based on an interaction between the host device and the peripheral device; receiving a host map of the physical environment established by the host device by the peripheral device; generating a second attitude data of the peripheral device based on the host map by the peripheral device; and transmitting the second attitude data by the peripheral device to stop the host device from generating the first attitude data.
[0006] In summary, the host device uses interactive tracking technology to generate first pose data until the peripheral devices begin using feature extraction-based localization technology to generate second pose data. In this way, the peripheral devices are no longer restricted to being within the host device's field of view, and the host device can track the peripheral devices without being limited by its blind spots. Therefore, the multi-device system disclosed herein has advantages such as accurate tracking and zero blind spots.
Implementation Method
[0008] The following is a detailed description of the embodiments in conjunction with the accompanying drawings. However, the specific embodiments described are only used to explain this case and are not intended to limit this case. The description of the structural operation is not intended to limit the order of its execution. Any structure that is recombined from the components and produces a device with equivalent function is within the scope of this disclosure.
[0009] The term “coupled” or “connected” as used herein can refer to two or more components making direct physical or electrical contact with each other, or making indirect physical or electrical contact with each other, or to two or more components operating or moving with each other.
[0010] Please refer to Figure 1, which is a schematic diagram of a multi-device system 100 according to some embodiments of the present disclosure. In some embodiments, the multi-device system 100 can be operated by a user U1 in a physical environment (e.g., a gaming venue, workplace, residence, etc.) and can provide the user U1 with an immersive experience.
[0011] In some embodiments, as shown in Figure 1, the multi-device system 100 includes a host device 11 and at least one peripheral device 13. In some practical applications, the host device 11 may be implemented by a wearable display device (e.g., a head-mounted device) of an immersive system, while the peripheral device 13 may be implemented by a controller device (e.g., a handheld controller, a wearable controller, etc.) of an immersive system.
[0012] In some embodiments, the host device 11 is used to locate itself and peripheral devices 13 in a physical environment, and to provide visual feedback to the user U1 based on the location of the host device 11 and peripheral devices 13. Accordingly, as shown in Figure 1, the host device 11 includes a processor 110, a camera 112, and a display panel 114. The processor 110 is electrically and / or communicatively coupled to the camera 112 and the display panel 114.
[0013] In the above embodiment of the host device 11, the camera 112 is used to capture multiple host-based images in the physical environment. It should be understood that these host-based images may include at least one of multiple images of the entire or part of the physical environment, multiple images of the peripheral device 13, and multiple images of the user U1. The processor 110 is used to calculate the position and / or orientation of the host device 11 based on the host-based images captured by the camera 112 using some feature extraction-based positioning technology (e.g., simultaneous localization and mapping technology). The processor 110 is used to calculate the position and / or orientation of the peripheral device 13 using some interaction-based tracking technology (e.g., optical tracking technology). Furthermore, the processor 110 is used to generate at least one visual content based on the position and / or orientation of the host device 11 and the peripheral device 13. The display panel 114 is used to display at least one visual content generated by the processor 110, thereby providing the user U1 with an immersive content CI (i.e., visual feedback).
[0014] In some embodiments, the host device 11 may obstruct the user U1's direct visibility of the physical environment. In this case, the immersive content CI may be a virtual reality (VR) environment or a mixed reality (MR) environment. Specifically, a virtual reality environment may include at least one virtual reality object that cannot be directly seen by the user U1 in the physical environment. A mixed reality environment simulates a physical environment and enables at least one virtual reality object to interact with the simulated physical environment. However, this disclosure is not limited to this. For example, the immersive content CI may be a simulated physical environment that does not contain virtual reality objects, also known as a pass-through view.
[0015] In some embodiments, the host device 11 does not obstruct the user U1's direct visibility of the physical environment. In this case, the immersive content CI may be an augmented reality (AR) environment. Specifically, the augmented reality environment uses at least one virtual reality object to enhance the physical environment that the user U1 directly sees.
[0016] In some embodiments, the peripheral device 13 is used to locate itself in a physical environment and to interact with the host device 11, so that the host device 11 can locate the peripheral device 13. Accordingly, as shown in Figure 1, the peripheral device 13 includes a processor 130, a camera 132, a motion sensor 134, and at least one trackable object 136. The processor 130 is electrically and / or communicatively coupled to the camera 132, the motion sensor 134, and the trackable object 136. Specifically, the trackable object 136 is disposed on the outer surface of the peripheral device 13 so that the user U1 can directly see it or the camera 112 of the host device 11 can directly capture it. Furthermore, following the above embodiments where the immersive content CI is a virtual reality environment, a mixed reality environment, or an augmented reality environment, the user U1 can use the peripheral device 13 to control at least one virtual reality object in the immersive content CI.
[0017] In the above embodiment of the peripheral device 13, the camera 132 is used to capture multiple peripheral-based images in the physical environment. It should be understood that these peripheral-based images may include at least one of multiple images of the entire or part of the physical environment, multiple images of the host device 11, and multiple images of the user U1. The motion sensor 134 is used to sense the movement of the peripheral device 13 to generate motion data M1. The processor 130 is used to use some feature extraction-based positioning techniques (e.g., simultaneous localization and mapping techniques) to calculate the position and / or orientation of the peripheral device 13 based on the peripheral-based images captured by the camera 132. The processor 130 is used to use some mathematical operations to calculate the position and / or orientation of the peripheral device 13 based on the motion data M1 generated by the motion sensor 134. Furthermore, the processor 130 is used to actuate the trackable object 136 so that the peripheral device 13 can interact with the host device 11. For example, when the trackable object 136 is activated, the processor 110 of the host device 11 can identify the image of the trackable object 136 set on the peripheral device 13 from the host-based image captured by the camera 112 of the host device 11.
[0018] In the above embodiments, processor 110 and processor 130 may each be implemented by a central processing unit (CPU), graphics processing unit (GPU), application-specific integrated circuit (ASIC), microprocessor, system-on-a-chip (SoC), or other suitable processing unit. Display panel 114 may be implemented by an active-matrix organic light-emitting diode (AMOLED) display, organic light-emitting diode (OLED) display, or other suitable display. Motion sensor 134 may be implemented by an inertial measurement unit (IMU) including an accelerometer, gyroscope, and / or magnetometer, or other suitable sensor. Trackable object 136 may be implemented by an infrared light-emitting diode (LED) or other suitable object. Furthermore, the host device 11 and the peripheral device 13 may each include storage (e.g., volatile memory, non-volatile memory, etc.) and a communicator (e.g., Wi-Fi module, Bluetooth Low Energy (BLE) module, Bluetooth module, etc.) to store signals, data, and / or information, and to communicate with each other or other devices (e.g., to transmit signals, data, and / or information). In some embodiments, the traceable object 136 may be the physical shape of all or part of the peripheral device 13. That is, the physical shape of the peripheral device 13 may be pre-stored in the storage of the host device 11, thereby enabling the host device 11 to identify the peripheral device 13 (i.e., the traceable object 136).
[0019] As can be seen from the description of the above embodiments, both the host device 11 and the peripheral device 13 are capable of locating the peripheral device 13 in a physical environment. It should be understood that when using interactive tracking technology to generate the position and / or orientation of the peripheral device 13, the peripheral device 13 needs to be located near the host device 11. It is worth noting that in some embodiments, the host device 11 can obtain the position and / or orientation of the peripheral device 13 generated by the peripheral device 13 using feature extraction-based positioning technology, so the peripheral device 13 no longer needs to be located near the host device 11.
[0020] In some embodiments, the multi-device system 100 is used to perform a tracking method 200 to track the peripheral device 13. Please refer to Figure 2, which is a flowchart illustrating the tracking method 200 according to some embodiments of the present disclosure. In some embodiments, as shown in Figure 2, the tracking method 200 includes multiple operations S201-S204. However, the present disclosure is not limited thereto.
[0021] In operation S201, the host device 11 generates a first attitude data POS1 for the peripheral device 13 based on the interaction between the host device 11 and the peripheral device 13, which will be described in detail in the following paragraphs with reference to Figure 3. Figure 3 is a flowchart illustrating operation S201 according to some embodiments of the present disclosure. In some embodiments, as shown in Figure 3, operation S201 includes multiple sub-operations S301 to S302.
[0022] In sub-operation S301, as shown in Figure 1, the host device 11 generates image data IMG1 of at least one trackable object 136 disposed on the peripheral device 13. In some embodiments, the trackable object 136 disposed on the peripheral device 13 is actuated. For example, an infrared emitting diode used to realize the trackable object 136 is controlled to emit infrared light. Then, the host device 11 uses a camera 112 to capture the aforementioned host-based image containing the trackable object 136 as image data IMG1.
[0023] In sub-operation S302, the host device 11 calculates interaction-based pose data based on the image data IMG1 to generate first pose data POS1. In some embodiments, as shown in Figure 1, the processor 110 receives the image data IMG1 provided by the camera 112. The processor 110 may perform, for example, triangulation on the image data IMG1 to calculate the position and / or orientation of the trackable object 136 in the physical environment as interaction-based pose data. It should be understood that the interaction-based pose data can be used to represent the position and / or orientation of the peripheral device 13 in the physical environment. In some embodiments, the processor 110 directly uses the interaction-based pose data as the first pose data POS1.
[0024] In some practical applications, the sampling frequency of camera 112 (e.g., 30Hz) is too low to meet some resolution requirements of immersive systems. In contrast, the sampling frequency of motion sensor 134 (e.g., at least 100Hz) is high enough to meet the resolution requirements of immersive systems. Accordingly, in some further embodiments of sub-operation S302, at each interval of multiple image captures performed by camera 112, processor 110 performs some mathematical operations on motion data M1 generated by motion sensor 134 to calculate the position and / or orientation of peripheral device 13 in the physical environment as first pose data POS1. It should be understood that host device 11 can receive motion data M1 of peripheral device 13 before sub-operation S302 is executed. In short, host device 11 can generate first pose data POS1 based on motion data M1 and at least one of interaction-based pose data to meet the resolution requirements of immersive systems.
[0025] In operation S202, the peripheral device 13 receives a host map HM of the physical environment established by the host device 11. In some embodiments, the processor 110 of the host device 11 uses host-based images captured by the aforementioned camera 112 to establish the host map HM. Specifically, using a feature extraction-based positioning technique, the processor 110 selects at least one image from the host-based images as at least one keyframe, extracts multiple feature points from the at least one keyframe, and uses these feature points as map points to generate the host map HM. Further, each time a keyframe is selected, the processor 110 can update the host map HM of the physical environment. For example, the processor 110 can add at least one new map point to the host map HM, or it can adjust the descriptor of at least one existing map point in the host map HM.
[0026] In operation S203, the peripheral device 13 generates a second attitude data POS2 based on the host map HM, which will be described in detail in the following paragraphs with reference to Figure 4. Figure 4 is a flowchart illustrating operation S203 according to some embodiments of the present disclosure. In some embodiments, as shown in Figure 4, operation S203 includes multiple sub-operations S401 to S402.
[0027] In sub-operation S401, as shown in Figure 1, the peripheral device 13 generates an image data IMG2 of the physical environment. In some embodiments, the peripheral device 13 uses a camera 132 to capture the aforementioned peripheral-based image as image data IMG2.
[0028] In sub-operation S402, the peripheral device 13 calculates image-based pose data based on image data IMG2 and host map HM to generate second pose data POS2. In some embodiments, as shown in Figure 1, the processor 130 receives image data IMG2 provided by the camera 132 and host map HM transmitted by the host device 11, and uses feature extraction-based positioning technology to calculate image-based pose data. Specifically, using feature extraction-based positioning technology, the processor 130 can select at least one image from image data IMG2 as at least one keyframe, extract multiple feature points from the at least one keyframe, and match these feature points with multiple map points in the host map HM to determine the position and / or orientation of the peripheral device 13 in the host map HM as image-based pose data. In some embodiments, the processor 130 directly uses the image-based pose data as the second pose data POS2.
[0029] In some practical applications, because the host map HM is established by the host device 11 rather than the peripheral device 13, the processor 130 of the peripheral device 13 may need a significant amount of time to match multiple feature points extracted from at least one keyframe with multiple map points in the host map HM. Accordingly, in some further embodiments of sub-operation S402, the processor 130 of the peripheral device 13 uses first pose data POS1 (e.g., interaction-based pose data) to select at least a portion of the host map HM for matching with multiple feature points extracted from at least one keyframe. In this way, the processor 130 can accelerate the determination of the position and / or orientation of the peripheral device 13 in the host map HM. It should be understood that the peripheral device 13 may receive the first pose data POS1 generated by the host device 11 before the execution of sub-operation S402. As can be seen from the above description, the peripheral device 13 can generate image-based pose data based on the first pose data POS1, image data IMG2, and the host map HM.
[0030] As described in sub-operation S302 above, the sampling frequency of motion sensor 134 (e.g., at least 100Hz) is sufficiently high compared to the sampling frequency of camera 132 (e.g., 30Hz) to meet the resolution requirements of the immersive system. Accordingly, in some further embodiments of sub-operation S402, at each interval of multiple image captures performed by camera 132, processor 130 performs some mathematical operations on motion data M1 generated by motion sensor 134 to calculate the position and / or orientation of peripheral device 13 in the physical environment as second pose data POS2. In short, peripheral device 13 can generate second pose data POS2 based on at least one of motion data M1 and image-based pose data to meet the resolution requirements of the immersive system.
[0031] Referring again to Figure 2, in operation S204, the peripheral device 13 transmits second pose data POS2 to stop the host device 11 from generating first pose data POS1. In some embodiments of operation S204, the host device 11 stops calculating interaction-based pose data based on image data IMG1 upon receiving the second pose data POS2. Alternatively, the host device 11 uses calculations performed by the processor 130 of the peripheral device 13 to obtain the position and / or orientation of the peripheral device 13 in the physical environment (i.e., obtain the second pose data POS2). With this configuration, the peripheral device 13 does not need to be located near the host device 11 throughout the operation of the multi-device system 100.
[0032] In some further embodiments of operation S204, following the embodiment where the host device 11 uses motion data M1 to generate first posture data POS1, when the host device 11 receives second posture data POS2 generated by the peripheral device 13, the host device 11 stops generating first posture data POS1 based on motion data M1. In these further embodiments, when the peripheral device 13 generates second posture data POS2, it stops transmitting motion data M1 to the host device 11, and the processor 110 of the host device 11 stops using motion data M1 to generate first posture data POS1.
[0033] It should be understood that, over time, deviations may occur between the second attitude data POS2 and the position and / or orientation of the peripheral device 13 from the perspective of the host device 11. After all, the second attitude data POS2 is generated by the peripheral device 13, not the host device 11. Accordingly, in some embodiments, the host device 11 is used to correct the second attitude data POS2, which will be described in detail below with reference to Figures 5 and 6. Figure 5 is a block diagram of the host device 11 according to some embodiments of this disclosure. Figure 6 is a flowchart of a tracking method 200 according to some embodiments of this disclosure.
[0034] In some embodiments, the tracking method 200 of this disclosure may further include multiple operations S601-S603. As shown in Figure 6, operation S601 may be executed after the host device 11 receives the second attitude data POS2. In operation S601, as shown in Figure 5, the host device 11 corrects the second attitude data POS2 according to an extrinsic parameter transformation data TE to generate a third attitude data POS3 for the peripheral device 13. In some embodiments, the processor 110 uses the extrinsic parameter transformation data TE to convert the second attitude data POS2 into the third attitude data POS3. That is, the third attitude data POS3 is mathematically equal to the second attitude data POS2 multiplied by the extrinsic parameter transformation data TE.
[0035] In the above embodiments, the extrinsic parameter transformation data TE is stored in the host device 11 and can be set by the processor 110 based on the second attitude data POS2 and the interaction-based attitude data before the execution of operation S601. Specifically, the second attitude data POS2 and the interaction-based attitude data used to set the extrinsic parameter transformation data TE may have the same or similar timestamps. For example, the time difference between the timestamp of the second attitude data POS2 and the timestamp of the interaction-based attitude data may be less than a time threshold (e.g., 0.03 seconds). In some embodiments, the extrinsic parameter transformation data TE is used to transform the second attitude data POS2 into interaction-based attitude data, that is, the second attitude data POS2 multiplied by the extrinsic parameter transformation data TE is mathematically equal to the interaction-based attitude data. Accordingly, the extrinsic parameter transformation data TE can be obtained by dividing the interaction-based attitude data by the second attitude data POS2.
[0036] In some embodiments, when the host device 11 receives the second pose data POS2, the processor 110 determines whether interaction between the host device 11 and the peripheral device 13 is possible (for example, determining whether the camera 112 can capture an image of the trackable object 136). If interaction between the host device 11 and the peripheral device 13 is possible and the host device 11 calculates pose data based on the interaction, operation S602 is executed. Furthermore, if interaction between the host device 11 and the peripheral device 13 is not possible, the tracking method 200 will end after operation S601.
[0037] In operation S602, the host device 11 obtains a pose difference between the second pose data POS2 and the interaction-based pose data, and compares the pose difference with a threshold.
[0038] As described in Figure 1 above, the host posture data (i.e., the position and / or orientation of the host device 11) can be generated by the processor 110 of the host device 11. Further, the processor 110 can use the relationship between the host posture data of the host device 11 and the second posture data POS2 of the peripheral device 13 to generate a first image (not shown) of the peripheral device 13, or to project the first image onto the immersive content CI. Similarly, the processor 110 can use another relationship between the host posture data of the host device 11 and the interaction-based posture data of the peripheral device 13 to generate a second image (not shown) of the peripheral device 13, or to project the second image onto the immersive content CI. In short, the processor 110 can generate the first image and the second image based on the second posture data POS2 and the interaction-based posture data, respectively.
[0039] It is worth noting that regardless of whether the display panel 114 displays the first image or the second image, the user U1 who is watching the immersive content CI can visually perceive the peripheral device 13. However, if, over time, the position and / or orientation of the second posture data POS2 and the peripheral device 13 deviate from the viewpoint of the host device 11, the first image generated based on the second posture data POS2 and displayed by the display panel 114 may cause the user U1 to visually misperceive the peripheral device 13.
[0040] In some embodiments of operation S602, the processor 110 of the host device 11 calculates a one-pixel offset from the second image to the first image as a pose difference. For example, the pixel offset may be defined by the distance between a center coordinate of the second image and a center coordinate of the first image. In some embodiments, a threshold is preset, for example, 5 pixels. As shown in Figure 6, when the processor 110 determines that the pose difference is greater than the threshold, operation S603 will be executed.
[0041] In operation S603, the host device 11 updates the extrinsic transformation data TE to make the third pose data POS3 the same as the interaction-based pose data. In some embodiments, when the pose difference is greater than a threshold (i.e., when the second pose data POS2 and the interaction-based pose data are significantly different), the processor 110 of the host device 11 divides the interaction-based pose data by the second pose data POS2 to calculate a new extrinsic transformation data TE, and stores this new extrinsic transformation data TE to replace the previously stored extrinsic transformation data TE in the host device 11. With this configuration, if the third pose data POS3 is generated by transforming the second pose data POS2 using the new extrinsic transformation data TE, then the third pose data POS3 will be substantially equal to the interaction-based pose data.
[0042] In some embodiments, as shown in Figure 6, when the extrinsic parameter transformation data TE previously stored in the host device 11 is updated, operation S601 can be executed again. Accordingly, the processor 110 of the host device 11 can also update the third attitude data POS3 of the peripheral device 13 based on the new extrinsic parameter transformation data TE.
[0043] In some further embodiments, if the processor 110 determines in operation S602 that the attitude difference is not greater than a threshold, the tracking method 200 will end after operation S602. That is, the extrinsic parameter transformation data TE previously stored in the host device 11 is not updated.
[0044] In the embodiments of Figures 5 and 6, the interaction-based attitude data represents the position and / or orientation of the peripheral device 13 from the perspective of the host device 11, and the attitude difference between the second attitude data POS2 and the interaction-based attitude data represents the deviation between the interaction-based attitude data and the second attitude data POS2. As can be seen from the above description, the extrinsic parameter transformation data TE can be used to eliminate the deviation between the interaction-based attitude data and the second attitude data POS2.
[0045] As can be seen from the above embodiments of this disclosure, the multi-device system 100 implements a posture switching strategy to track the peripheral device 13, thereby simultaneously possessing the benefits achievable using interactive tracking technology and feature extraction-based localization technology. For example, the host device 11 uses interactive tracking technology to generate first posture data POS1 until the peripheral device 13 begins using feature extraction-based localization technology to generate second posture data POS2. In this way, the peripheral device 13 is no longer restricted to being within the field of view of the host device 11, and the host device 11 can also track the peripheral device 13 without being limited by its blind spots.
[0046] Furthermore, when the second attitude data POS2 generated by the peripheral device 13 using feature extraction-based positioning technology deviates over time, the host device 11 uses interactive tracking technology to correct the second attitude data POS2 because interactive tracking technology can provide accurate tracking results. Moreover, with this configuration, the host device 11 can ensure that the position and / or orientation provided by the peripheral device 13 is consistent with the spatial coordinate system of the host device 11, without continuously transmitting data to the peripheral device 13. In summary, the multi-device system 100 has advantages such as accurate tracking, zero blind spots, and high data transmission efficiency.
[0047] The methods disclosed herein can exist in the form of program code. The program code can be contained in physical media, such as floppy disks, optical discs, hard disks, or any other transient or non-transitory computer-readable storage media, wherein when the program code is loaded and executed by a computer, the computer becomes an apparatus for implementing the methods. The program code can also be transmitted via some transmission medium, such as wires or cables, via optical fibers, or via any other transmission method, wherein when the program code is received, loaded, and executed by a computer, the computer becomes an apparatus for implementing the methods. When implemented on a general-purpose processor, the program code, in conjunction with the processor, provides a unique device that operates similarly to an application-specific logic circuit.
[0048] Although the present disclosure has been disclosed above with reference to embodiments, it is not intended to limit the present disclosure. Those skilled in the art can make various modifications and refinements without departing from the spirit and scope of the present disclosure. Therefore, the scope of protection of the present disclosure shall be determined by the appended claims. [Simplified Explanation of the Diagram]
[0007] Figure 1 is a schematic diagram of a multi-device system according to some embodiments of the present disclosure. Figure 2 is a flowchart of a tracking method according to some embodiments of the present disclosure. Figure 3 is a flowchart of an operation of the tracking method according to some embodiments of the present disclosure. Figure 4 is a flowchart of an operation of the tracking method according to some embodiments of the present disclosure. Figure 5 is a block diagram of a host device of a multi-device system according to some embodiments of the present disclosure. Figure 6 is a flowchart of a tracking method according to some embodiments of the present disclosure. [Biomaterial Storage]
[0050] Domestic storage information (please note in order of storage institution, date, and number): None. International storage information (please note in order of storage country, institution, date, and number): None.
Claims
1. A tracking method applicable to a multi-device system in a physical environment, wherein the multi-device system includes a host device and a peripheral device, and the tracking method includes: generating first attitude data of the peripheral device based on an interaction between the host device and the peripheral device via the host device; receiving a host map of the physical environment established by the host device via the peripheral device; generating second attitude data of the peripheral device based on the host map via the peripheral device; and transmitting the second attitude data via the peripheral device to cause the host device to stop generating the first attitude data.
2. The tracking method as described in claim 1, wherein generating the second pose data based on the host map comprises: generating an image of the physical environment using the peripheral device; and calculating image-based pose data using the peripheral device based on the image data and the host map to generate the second pose data.
3. The tracking method as described in claim 2 further includes: receiving the first attitude data via the peripheral device, wherein the image-based attitude data is calculated based on the first attitude data, the image data, and the host map.
4. The tracking method as described in claim 2, further comprising: generating motion data corresponding to a movement of the peripheral device by means of the peripheral device, wherein the second posture data is generated based on at least one of the motion data and the image-based posture data.
5. The tracking method as described in claim 1, wherein generating the first pose data based on the interaction between the host device and the peripheral device comprises: generating image data of at least one trackable object disposed on the peripheral device by means of the host device; and calculating interaction-based pose data by means of the host device based on the image data to generate the first pose data.
6. The tracking method as described in claim 5, further comprising: receiving motion data corresponding to a movement of the peripheral device via the host device, wherein the first posture data is generated based on at least one of the motion data and the interaction-based posture data.
7. The tracking method as described in claim 6 further includes: stopping the transmission of motion data when the second attitude data is generated by the peripheral device.
8. The tracking method as described in claim 1, further comprising: using the host device to correct the second attitude data based on an extrinsic parameter transformation data to generate a third attitude data for the peripheral device.
9. The tracking method as described in claim 8, further comprising: when the host device calculates an interaction-based posture data, obtaining a posture difference between the second posture data and the interaction-based posture data by the host device, comparing the posture difference with a threshold, wherein the interaction-based posture data is calculated based on image data of at least one trackable object disposed on the peripheral device; and when the posture difference is greater than the threshold, updating the extrinsic parameter transformation data by the host device so that the third posture data is the same as the interaction-based posture data.
10. The tracking method as described in claim 9, wherein obtaining the pose difference between the second pose data and the interaction-based pose data comprises: generating a first image and a second image respectively based on the second pose data and the interaction-based pose data by means of the host device; and calculating a one-pixel offset from the second image to the first image as the pose difference by means of the host device.
11. A multi-device system operable in a physical environment, comprising: a host device for establishing a host map of the physical environment; and a peripheral device for receiving the host map, wherein the host device is configured to generate first attitude data of the peripheral device based on an interaction between the host device and the peripheral device, and wherein the peripheral device is configured to generate second attitude data of the peripheral device based on the host map, and to transmit the second attitude data to cause the host device to stop generating the first attitude data.
12. A non-transitory computer-readable storage medium having a computer program for executing a tracking method, wherein the tracking method is applicable to a multi-device system in a physical environment, the multi-device system including a host device and a peripheral device, and the tracking method comprising: generating first attitude data of the peripheral device by the host device based on an interaction between the host device and the peripheral device; receiving, by the peripheral device, a host map of the physical environment established by the host device; generating second attitude data of the peripheral device based on the host map by the peripheral device; and transmitting the second attitude data by the peripheral device to cause the host device to stop generating the first attitude data.
Citation Information
Patent Citations
Display correction method and device of head-mounted display device and storage medium
CN112015269A
Virtual reality system and method
TW201839458A
Tracking system and calibration method
TW202421243A
Tracking using controller cameras
US10838515B1
Tracking system, tracking method and non-transitory computer-readable storage medium
US20230041519A1
