Management message transmission method, control device and computer readable storage medium
By dividing areas in the virtual reality field and adjusting the message transmission frequency, the performance problems caused by the head-mounted display are solved due to receiving a large amount of player posture data, and the operation efficiency of virtual reality applications is improved.
Patent Information
- Application Number
- CN202411455975.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-06-27
- Filing Date
- 2024-10-18
- Publication Date
- 2025-07-18
AI Technical Summary
In multiplayer virtual reality applications, head-mounted displays have performance problems due to receiving large amounts of player posture data, especially when there are many players.
By dividing the virtual field into multiple predetermined areas, using the message transmission frequency strategy of the area group, the control device determines the relative position and adjusts the message transmission frequency to transmit only the necessary player posture data.
Reduces the processing burden on the head-mounted display, improves performance, and ensures smooth character movement animation and visual rendering.
Smart Images

Figure CN120343072A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a mechanism for managing signal transmission, and in particular to a method for managing message transmission, a control device, and a computer-readable storage medium. Background Art
[0002] In the context of a multi-player application (such as a virtual reality (VR) application), players gather in a shared (virtual) environment, which requires continuous synchronization of the positions and actions of these players. The head-mounted display (HMD) of each player must receive and process the pose data of others to ensure a seamless experience.
[0003] However, when there are too many players in the same (virtual) environment, the HMD of each player may suffer performance problems due to excessive pose data from the HMDs of other players. Summary of the Invention
[0004] In view of this, embodiments of the present invention provide a method for managing message transmission, a control device, and a computer-readable storage medium, which can be used to solve the above technical problems.
[0005] An embodiment of the present invention provides a method for managing message transmission applied to a control device. The method includes: determining, by the control device, a first area where a first client device is located among a plurality of predetermined areas; determining, by the control device, a first relative position between the first area and a second area among the plurality of predetermined areas; determining, by the control device, a first message transmission frequency associated with the second area based on the first relative position; and in response to determining that a second client device is located in the second area, providing, by the control device, at least a first part of a plurality of first messages of the first client device located in the first area to the second client device based on the first message transmission frequency.
[0006] An embodiment of the present invention provides a control device, including a storage circuit and a processor. The storage circuit stores program code. The processor is coupled to the storage circuit and accesses the program code to execute: determining a first area where a first client device is located among a plurality of predetermined areas; determining a first relative position between the first area and a second area among the plurality of predetermined areas; determining a first message transmission frequency associated with the second area based on the first relative position; and in response to determining that a second client device is located in the second area, providing at least a first part of a plurality of first messages of the first client device located in the first area to the second client device based on the first message transmission frequency.
[0007] An embodiment of the present invention provides a non - transitory computer - readable storage medium. The computer - readable storage medium records an executable computer program, and the executable computer program is loaded by a control device to execute steps: determining a first area where a first client device is located among a plurality of predetermined areas; determining a first relative position between the first area and a second area among the plurality of predetermined areas; determining a first message transmission frequency associated with the second area according to the first relative position; and in response to determining that a second client device is located in the second area, providing at least a first part of a plurality of first messages of the first client device located in the first area to the second client device based on the first message transmission frequency. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The accompanying drawings are included to provide a further understanding of the present invention, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the present invention and, together with the description, are used to explain the principles of the present invention.
[0009] Figure 1 FIG. is a schematic diagram of a control device and a plurality of client devices illustrated according to an embodiment of the present invention.
[0010] Figure 2 FIG. is a top - view of a field illustrated according to an embodiment of the present invention.
[0011] Figure 3 FIG. is a flowchart of a management message transmission method illustrated according to an embodiment of the present invention.
[0012] Figure 4 is according to Figure 2 FIG. illustrating a schematic diagram of an application scenario.
[0013] Figure 5 FIG. is a schematic diagram of providing a first message illustrated according to an embodiment of the present invention.
[0014] Figure 6A is according to Figure 4 FIG. illustrating a schematic diagram of an application context.
[0015] Figure 6B is according to Figure 6A FIG. illustrating a schematic diagram of an application context.
[0016] Figure 7 FIG. is a schematic diagram of determining valid / invalid areas illustrated according to an embodiment of the present invention. DETAILED DESCRIPTION
[0017] Reference will now be made in detail to exemplary embodiments of the present invention. Examples of the exemplary embodiments are illustrated in the accompanying drawings. Whenever possible, the same reference numerals are used in the drawings and the description to refer to the same or like parts.
[0018] See Figure 1 ,Figure 1 It is a schematic diagram of a control device and multiple client devices illustrated according to an embodiment of the present invention.
[0019] In Figure 1 it, the control device 100 and / or the client devices C1-CM (M is a positive integer) can be any intelligent device / computer device. In this embodiment, the control device 100 includes a storage circuit 102 and a processor 104. The storage circuit 102 is a combination of one or more static or mobile random access memories (RAMs), read-only memories (ROMs), flash memories, hard disks, or any other similar devices, which record multiple modules and / or program codes executable by the processor 104.
[0020] The processor 104 can be coupled to the storage circuit 102. The processor 104 can be, for example, a general-purpose processor, a special-purpose processor, a conventional processor, a digital signal processor (DSP), multiple microprocessors, one or more microprocessors associated with a DSP core, a controller, a microcontroller, application-specific integrated circuits (ASICs), field programmable gate array (FPGA) circuits, any other type of integrated circuit (IC), a state machine, etc.
[0021] In some embodiments, the control device 100 can be one or more servers that manage the data exchange of the client devices C1-CM. In embodiments where the functions of the control device 100 are implemented using multiple servers, these servers can form a distributed system, but the present invention is not limited thereto.
[0022] In one embodiment, the client devices C1-CM can exchange data through the control device 100. For example, the client device C1 can transmit some data to the control device 100, and the control device 100 can forward at least part of the data to at least one of the client devices C2-CM, but the present invention is not limited thereto.
[0023] In some embodiments, the control device 100 can perform the above data forwarding following some predetermined policies. In these cases, when the control device 100 receives, for example, some data (such as attitude data) from one of the client devices C1-CM, the control device 100 can selectively transmit one or more received data to other devices among the client devices C1-CM.
[0024] In one embodiment, users of client devices C1-CM can experience the same virtual world of the AR service in the same field. The client devices C1-CM can be host devices (such as HMDs) that provide corresponding visual content for their users, but the present invention is not limited thereto.
[0025] In various embodiments, the AR service can be, for example, an augmented reality (AR) service, a virtual reality (VR) service, a mixed reality (MR) service, and / or an extended reality (XR) service, etc.
[0026] For ease of understanding, the AR service considered in the following discussion will be assumed to be a VR service, but the present invention is not limited thereto. In this case, each client device C1-CM (such as an HMD) can provide corresponding visual content for the corresponding user, so that the users of the client devices C1-CM can experience the same VR world in the same field.
[0027] See Figure 2 , Figure 2 is a top view of the field illustrated according to an embodiment of the present invention. In Figure 2 , the field 20 can be a place where the client devices C1-CM experience the same virtual world of the AR service.
[0028] In an embodiment of the present invention, the field 20 can be divided into a plurality of predetermined regions. In various embodiments, the shape, size, dimensions, position, range, width, length, and / or height of each of the plurality of predetermined regions can be determined according to the needs of the designer, but the present invention is not limited thereto.
[0029] In Figure 2 , the field 20 can be illustratively divided into predetermined regions 201-225, where the predetermined regions 201-225 can be arranged in a 5X5 grid, but the present invention is not limited thereto.
[0030] In this embodiment, each client device C1-CM can move within the field 20 along with the corresponding user, and each client device C1-CM can, for example, use an inside-out and / or outside-in tracking mechanism to track its own pose, but the present invention is not limited thereto.
[0031] In this embodiment, each client device C1-CM can provide the relevant tracking results as corresponding pose data to the control device 100, and the control device 100 can determine the predetermined region where each client device C1-CM is currently located based on this.
[0032] In this embodiment, since users in the same field 20 are experiencing the same virtual world, a user of one of the client devices C1 - CM may see other users (avatars) of the client devices C1 - CM in the corresponding visual content.
[0033] For example, if the user of client device C1 faces the user of client device C2, the user (avatar) of client device C2 may be displayed in the visual content shown by client device C1 to its user, but the present invention is not limited thereto.
[0034] In some embodiments, in order to appropriately provide visual content, each client device C1 - CM may need information related to other client devices C1 - CM. For example, client device C1 may need the pose data (e.g., orientation and / or position) of client device C2 to accurately render the avatar corresponding to client device C2 in the visual content displayed by client device C1.
[0035] However, when there are numerous client devices C1 - CM, each client device C1 - CM may receive a large amount of unnecessary information (e.g., the pose data of other client devices C1 - CM), thus affecting the performance of client devices C1 - CM.
[0036] Therefore, an embodiment of the present invention provides a method for managing message transmission, which can be applied to the control device 100 to solve the above problems.
[0037] In an embodiment of the present invention, the processor 104 can access the modules and / or program codes stored in the storage circuit 102 to implement the method for managing message transmission provided in the present invention, which will be further discussed below.
[0038] See Figure 3 , Figure 3 is a flowchart of the method for managing message transmission illustrated according to an embodiment of the present invention. The method of this embodiment can be executed by the Figure 1 control device 100 in, and the details of each step will be described below with reference to the Figure 1 components shown. In addition, for ease of understanding the concept of the present invention, Figure 3 will be used as an example, where Figure 4 is Figure 4 is a schematic diagram of an application scenario illustrated according to Figure 2 .
[0039] First, in step S310, the processor 104 determines the first area where the first client device is located among the multiple predetermined areas 201 - 225.
[0040] For ease of understanding, in the following discussion, it will be assumed that the client device C1 currently located in the predetermined area 207 is the first client device under consideration, but the present invention is not limited thereto. In this case, the processor 104 may determine in step S310 that the predetermined area 207 is the first area under consideration, but the present invention is not limited thereto.
[0041] In this case, the processor 104 may divide the plurality of predetermined areas 201-225 into a plurality of area groups according to the relative positions between the first area (e.g., the predetermined area 207) and each of the predetermined areas.
[0042] In one embodiment, when 2≤i≤N (where N is the number of area groups and i is an index), the predetermined areas of the i-th area group among the plurality of area groups at least partially surround the predetermined areas of the (i-1)-th area group among the plurality of area groups, where N is the number of the plurality of area groups. In one embodiment, when i is 1, the i-th area group includes the first area.
[0043] In Figure 4 the scenario of, the processor 104 may divide the plurality of predetermined areas 201-225 into area groups G1-G4. Specifically, the area group G1 (e.g., the 1st area group among the area groups G1-G4) may include the predetermined area 207 (e.g., Figure 4 the first area considered in). The area group G2 (e.g., the 2nd area group among the area groups G1-G4) may include the predetermined areas 201, 202, 203, 208, 213, 212, 211, 206, which are the predetermined areas (partially) surrounding the predetermined area 207 in the area group G1.
[0044] The area group G3 (e.g., the 3rd area group among the area groups G1-G4) may include the predetermined areas 216-219, 214, 209, 204, which are the predetermined areas (partially) surrounding the predetermined areas in the area group G2. The area group G4 (e.g., the 4th area group among the area groups G1-G4) may include the predetermined areas 221-225, 220, 215, 210, 205, which are the predetermined areas (partially) surrounding the predetermined areas in the area group G3, but the present invention is not limited thereto.
[0045] From another perspective, the distance between the first area and each of the predetermined areas in the (i-1)-th area group is less than the distance between the first area and each of the predetermined areas in the i-th area group, but the present invention is not limited thereto.
[0046] For example, the distance between the first region (e.g., the predetermined region 207) and each predetermined region in the region group G2 (e.g., the second region group) is less than the distance between the first region and each predetermined region in the region group G3 (e.g., the third region group). As another example, the distance between the first region (e.g., the predetermined region 207) and each predetermined region in the region group G3 (e.g., the third region group) is less than the distance between the first region and each predetermined region in the region group G4 (e.g., the fourth region group).
[0047] In other embodiments, the predetermined regions forming each region group may be determined based on other methods. For example, the predetermined regions in the same row / column / diagonal may be determined to belong to the same region group, but the present invention is not limited thereto.
[0048] In one embodiment, the processor 104 may assign a message transmission frequency to each of the region groups G1 - G4.
[0049] In one embodiment, the message transmission frequency corresponding to each region group may be non - positively correlated with the distance between the considered first region and the region groups G1 - G4. For example, the message transmission frequency corresponding to the region group G2 may not be higher than the message transmission frequency corresponding to the region group G1, the message transmission frequency corresponding to the region group G3 may not be higher than the message transmission frequency corresponding to the region group G2, and the message transmission frequency corresponding to the region group G4 may not be higher than the message transmission frequency corresponding to the region group G3, but the present invention is not limited thereto.
[0050] In one embodiment, the message transmission frequency corresponding to each region group may be determined based on a transmission frequency vector including multiple frequency elements, where the multiple frequency elements may be monotonically decreasing.
[0051] In this embodiment, the processor 104 may determine the i - th element among the multiple frequency elements of the transmission frequency vector as the message transmission frequency of the i - th region group among the region groups G1 - G4.
[0052] In various embodiments, the frequency elements in the transmission frequency vector may be determined to be any value according to the requirements of the designer. For the sake of understanding, Figure 4 the transmission frequency vector in may be assumed to be [1, 1, 1 / 2, 1 / 4], but the present invention is not limited thereto. In other embodiments, the content and / or length of the transmission frequency vector may be adjusted according to the needs of the designer, but the present invention is not limited thereto.
[0053] In this case, the processor 104 may determine the first element (e.g., 1) of the multiple frequency elements of the transmission frequency vector as the message transmission frequency of the regional group G1 (e.g., the first regional group). In addition, the processor 104 may determine the second element (e.g., 1) of the multiple frequency elements of the transmission frequency vector as the message transmission frequency of the regional group G2 (e.g., the second regional group). Similarly, the processor 104 may determine the third element (e.g., 1 / 2) of the multiple frequency elements of the transmission frequency vector as the message transmission frequency of the regional group G3 (e.g., the third regional group), and determine the fourth element (e.g., 1 / 4) of the multiple frequency elements of the transmission frequency vector as the message transmission frequency of the regional group G4 (e.g., the fourth regional group). The message transmission frequency corresponding to each regional group can be exemplarily shown in Figure 4 but the present invention is not limited thereto.
[0054] In some embodiments, the length of the transmission frequency vector may not be less than the number of regional groups, so that each regional group has a corresponding message transmission frequency in the transmission frequency vector. In embodiments where the length of the transmission frequency vector is greater than the number of regional groups, some frequency elements in the transmission frequency vector may be assigned to any regional group (e.g., Figure 6B situation).
[0055] In some embodiments, the length of the transmission frequency vector may be less than the number of regional groups. In this case, the message transmission frequency of the regional group without a corresponding vector element will be assigned as the last element of the transmission frequency vector, but the present invention is not limited thereto.
[0056] In step S320 , the processor 104 determines a first relative position between the first area and a second area among the plurality of predetermined areas 201 - 225 .
[0057] In this embodiment, the second area may be any one of the plurality of predetermined areas 201-225, including the predetermined area assumed to be the first area. That is, in the embodiment where the predetermined area 207 is assumed to be the first area under consideration (e.g., Figure 4 In the scenario), the second area may be any one of a plurality of predetermined areas 201-225, including the predetermined area 207, but the present invention is not limited thereto.
[0058] In step S330 , the processor 104 determines a first message transmission frequency associated with the second area according to the first relative position.
[0059] In one embodiment, the first message transmission frequency may be non - positively correlated with the distance between the first region and the second region. That is, the first message transmission frequency may monotonically decrease as the distance between the first region and the second region increases, but the present invention is not limited thereto.
[0060] In one embodiment, when it is determined that the second region belongs to one of the multiple region groups G1 - G4, the processor 104 may determine the message transmission frequency corresponding to the one of the region groups G1 - G4 as the first message transmission frequency associated with the second region.
[0061] For example, when the second region is the predetermined region 207 belonging to the region group G1, the processor 104 may determine the message transmission frequency corresponding to the region group G1 (e.g., 1) as the first message transmission frequency associated with the second region.
[0062] When the second region is, for example, the predetermined region 211 belonging to the region group G2, the processor 104 may determine the message transmission frequency corresponding to the region group G2 (e.g., 1) as the first message transmission frequency associated with the second region.
[0063] When the second region is, for example, the predetermined region 216 belonging to the region group G3, the processor 104 may determine the message transmission frequency corresponding to the region group G3 (e.g., 1 / 2) as the first message transmission frequency associated with the second region.
[0064] When the second region is, for example, the predetermined region 221 belonging to the region group G4, the processor 104 may determine the message transmission frequency corresponding to the region group G4 (e.g., 1 / 4) as the first message transmission frequency associated with the second region.
[0065] In an embodiment of the present invention, the control device 100 may receive a plurality of first messages from the first client device (e.g., the client device C1), where the plurality of first messages may be the attitude data of the first client device detected at different time points, but the present invention is not limited thereto.
[0066] In step S340, in response to determining that the second client device is located in the second region, the processor 104 provides at least a first portion of the plurality of first messages of the first client device located in the first region to the second client device based on the first message transmission frequency.
[0067] In an embodiment of the present invention, the second client device may be another client device other than the first client device among the client devices C1 - CM. In an embodiment where the client device C1 is assumed to be the first client device, the second client device may be one of the client devices C2 - CM, but the present invention is not limited thereto.
[0068] In one embodiment, when it is determined that the first message transmission frequency is 1 / K (K is a positive integer), the processor 104 may transmit a first message every K first messages.
[0069] For ease of understanding the above concepts, it will be described by taking Figure 5 as an example, but the present invention is not limited thereto.
[0070] See Figure 5 , Figure 5 is a schematic diagram showing the provision of the first message according to an embodiment of the present invention.
[0071] In Figure 5 , the first messages 501-512 may be received by the control device 100 from a first client device (for example, the client device C1), and the control device 100 may selectively provide (for example, forward / transmit) at least some of the first messages 501-512 to a second client device located in the second region according to the first message transmission frequency corresponding to the second region. Relevant details will be discussed using the following examples.
[0072] In Example 1, if the second region where the second client device is located is, for example, a predetermined region 207 belonging to the region group G1, the processor 104 may determine that the first message transmission frequency is 1 (i.e., K is 1) in the context of Figure 4 .
[0073] In this case, the processor 104 may transmit each of the first messages 501-512 to the second client device. That is, when the first client device is located in the first region (for example, the predetermined region 207), the processor 104 will forward all the first messages 501-512 to the second client device located in the predetermined region 207 belonging to the region group G1.
[0074] In Example 2, if the second region where the second client device is located is, for example, a predetermined region belonging to the region group G2, the processor 104 may determine that the first message transmission frequency is 1 (i.e., K is 1) in the context of Figure 4 .
[0075] In this case, the processor 104 may also transmit each of the first messages 501-512 to the second client device. That is, when the first client device is located in the first region (for example, the predetermined region 207), the processor 104 will forward all the first messages 501-512 to the second client device located in the predetermined region belonging to the region group G2.
[0076] In Example 3, if the second region where the second client device is located is, for example, a predetermined region belonging to the region group G3, the processor 104 may be inFigure 4 In the scenario of, the first message transmission frequency is determined to be 1 / 2 (i.e., K is 2).
[0077] In this case, the processor 104 may transmit one first message to the second client device for every two first messages 501 - 512. That is, when the first client device is located in the first area (e.g., the predetermined area 207), the processor 104 may transmit the first messages 501, 503, 505, 507, 509, 511 (or the first messages 502, 504, 506, 508, 510, 512) to the second client device located in a predetermined area belonging to the area group G3.
[0078] In Example 4, if the second area where the second client device is located is, for example, a predetermined area belonging to the area group G4, the processor 104 may Figure 4 In the scenario of, the first message transmission frequency is determined to be 1 / 4 (i.e., K is 4).
[0079] In this case, the processor 104 may transmit one first message to the second client device for every four first messages 501 - 512. That is, when the first client device is located in the first area (e.g., the predetermined area 207), the processor 104 may transmit the first messages 501, 505, 509 to the second client device located in a predetermined area belonging to the area group G4, but the present invention is not limited thereto.
[0080] In an embodiment of the present invention, the above mechanism can be used to determine which of the first messages 501 - 512 should be forwarded to other client devices.
[0081] For example, in one embodiment, the processor 104 may determine the second relative position between the first area (e.g., the predetermined area 207) and the third area among the plurality of predetermined areas 201 - 225, and determine the second message transmission frequency related to the third area according to the second relative position.
[0082] How to determine the second message transmission frequency can refer to the discussion of determining the first message transmission frequency, which will not be elaborated here.
[0083] In this embodiment, in response to determining that the third client device is located in the third area, the processor 104 may provide at least a second part of the plurality of first messages 501 - 512 of the first client device located in the first area to the third client device according to the second message transmission frequency.
[0084] For example, if the third area where the third client device is located is a predetermined area belonging to the area group G3 in the scenario of Example 1, the processor 104 may Figure 4 In the scenario of, the second message transmission frequency is determined to be 1 / 2.
[0085] In this case, in addition to transmitting all the first messages to the second client device, the processor 104 may transmit one first message out of every two first messages 501 - 512 to the third client device. That is, when the first client device is located in the first area (e.g., the predetermined area 207), the processor 104 may transmit the first messages 501, 503, 505, 507, 509, 511 (or the first messages 502, 504, 506, 508, 510, 512) to the third client device located in the predetermined area belonging to the area group G3.
[0086] As another example, if the third area where the third client device is located is the predetermined area belonging to the area group G4 in the scenario of Example 3, the processor 104 may determine the second message transmission frequency as 1 / 4 in Figure 4 the scenario.
[0087] In this case, in addition to transmitting one first message out of every two first messages 501 - 512 to the second client device, the processor 104 may transmit one first message out of every four first messages 501 - 512 to the third client device. That is, when the first client device is located in the first area (e.g., the predetermined area 207), the processor 104 may transmit the first messages 501, 505, 509 to the third client device located in the predetermined area belonging to the area group G4.
[0088] Therefore, the farther the second client device is from the first client device (e.g., the client device C1), the lower the frequency at which the processor 104 transmits the first messages of the first client device to the second client device, which reduces the burden on the second client device to process messages from the first client device (and other client devices). Therefore, the performance of the second client device can be improved. Similarly, the performance of the third client device can also be improved.
[0089] In an embodiment where the first message includes the attitude data of the first client device and the second client device only receives some of the first messages 501 - 512 (e.g., Example 3 or Example 4), the second client device may execute a dead reckoning algorithm to compensate for the lost position information to achieve smoother character movement animation, but the present invention is not limited thereto.
[0090] In addition, although the above embodiments are discussed under the assumption that the first client device (e.g., the client device C1) is located in the predetermined area 207 (i.e., the first area considered is the predetermined area 207), the mechanisms described above also apply to the case where the first client device (e.g., the client device C1) moves to another predetermined area.
[0091] SeeFigure 6A , Figure 6A is a schematic diagram of an application scenario illustrated according to Figure 4 . In this embodiment, it is assumed that the first area where the first client device (e.g., client device C1) is located is (or becomes) the predetermined area 208.
[0092] In this case, the predetermined area and the corresponding message transmission frequency of each of the area groups G1 - G4 will be adaptively adjusted as Figure 6A shown.
[0093] Refer to Figure 6B , Figure 6B is a schematic diagram of an application scenario illustrated according to Figure 6A . In this embodiment, it is assumed that the first area where the first client device (e.g., client device C1) is located is (or becomes) the predetermined area 213. In this embodiment, since the number of area groups G1 - G3 is 3, which is less than the length of the considered transmission frequency vector (e.g., 4), the fourth frequency element (e.g., 1 / 4) in the transmission frequency vector may not be used to assign to any area group, but the present invention is not limited thereto.
[0094] In this case, the predetermined area and the corresponding message transmission frequency of each of the area groups G1 - G4 will be adaptively adjusted as Figure 6B shown.
[0095] In one embodiment, before providing at least a first portion of a plurality of first messages of a first client device located in a first area to a second client device based on a first message transmission frequency, the processor 104 may modify the first message transmission frequency based on at least one of the load status of the second client device and the visible range of the second client device in the virtual world.
[0096] In a first embodiment, the processor 104 may modify the first message transmission frequency based on the load status of the second client device.
[0097] In one embodiment, the processor 104 may determine whether the load status of the second client device indicates that the message reception load of this second client device is higher than a load threshold.
[0098] In various embodiments, the load threshold may be any value sufficient to be interpreted as a heavy load, but the present invention is not limited thereto.
[0099] In one embodiment, when it is determined that the load status of the second client device indicates that the message reception load of the second client device is higher than the load threshold, this means that the second client device may not be able to receive too many messages further, otherwise its performance may be reduced. In this case, the processor 104 may reduce the first message transmission frequency, so that the control device 100 can further reduce the first messages forwarded to the second client device, but the present invention is not limited thereto. In this case, the performance of the second client device can be better guaranteed.
[0100] On the other hand, when it is determined that the load status of the second client device indicates that the message reception load of the second client device is not higher than the load threshold, this means that the second client device may be in a light or medium load state. In this case, the processor 104 may only maintain the first message transmission frequency, but the present invention is not limited thereto.
[0101] In the first embodiment, the processor 104 may determine the load status of the second client device through the following mechanism.
[0102] For example, the processor 104 may obtain a first quantity of messages transmitted to the second client device in each of a plurality of first time periods (e.g., several consecutive time periods), and obtain a second quantity of messages processed by the second client device in each of the plurality of first time periods.
[0103] Then, the processor 104 may obtain a plurality of first differences corresponding to the plurality of first time periods, where the m-th first difference among the plurality of first differences is obtained by subtracting the second quantity corresponding to the m-th first time period among the plurality of first time periods from the first quantity corresponding to the m-th first time period, where m is an index.
[0104] In one embodiment, the processor 104 may determine whether the plurality of first differences are higher than a threshold. If so, this means that the second client device has been unable to fully process the received messages in several consecutive time periods. In this case, the processor 104 may determine that the load status of the second client device indicates that the message reception load of the second client device is higher than the load threshold, and accordingly reduce the first message transmission frequency.
[0105] On the other hand, when it is determined that not all of the plurality of first differences are higher than the threshold, this means that the second client device may still be able to process the received messages. In this case, the processor 104 may determine that the load status of the second client device indicates that the message reception load of the second client device is not higher than the load threshold, and accordingly maintain the first message transmission frequency, but the present invention is not limited thereto.
[0106] In the first embodiment, after reducing the first message transmission frequency, the processor 104 may further obtain a third quantity of messages transmitted to the second client device within each of a plurality of second time periods (e.g., several consecutive time periods after the first time period), and obtain a fourth quantity of messages processed by the second client device within each of the plurality of second time periods.
[0107] Next, the processor 104 may obtain a plurality of second differences respectively corresponding to the plurality of second time periods, where the nth second difference among the plurality of second differences is obtained by subtracting the fourth quantity corresponding to the nth second time period from the third quantity corresponding to the nth second time period among the plurality of second time periods, where n is an index.
[0108] In one embodiment, the processor 104 may determine whether the plurality of second differences are not higher than a threshold. If so, this means that the second client device has been able to fully process the received messages within several consecutive time periods. In this case, the processor 104 may restore the first message transmission frequency. For example, the processor 104 may restore the reduced first message transmission frequency to the first message transmission frequency determined in step S330, but the present invention is not limited thereto.
[0109] On the other hand, when it is determined that not all of the plurality of second differences are higher than the threshold, this means that the second client device may still be busy, so the processor 104 may not restore the reduced first message transmission frequency, but the present invention is not limited thereto.
[0110] In the second embodiment, the processor 104 may modify the first message transmission frequency according to the visible range of the second client device in the virtual / real world. For ease of understanding, Figure 7 will be used as an example, but the present invention is not limited thereto.
[0111] Refer to Figure 7 , Figure 7 which is a schematic diagram of determining the valid / invalid area illustrated according to an embodiment of the present invention.
[0112] In Figure 7 it is assumed that the second client device is the client device C2, and the field 70 where the second client device is located is divided into predetermined areas arranged in a 13X13 grid, but the present invention is not limited thereto.
[0113] In addition, it is assumed that the second client device has a visible range 71 in the virtual world, where the visible range 71 may be displayed as a trapezoid having four vertices 711-714, for example, but the present invention is not limited thereto.
[0114] That is to say, the client device located in the predetermined area within the visual range 71 will be seen by the user of the client device C2 in the visual content provided by the client device C2. From another perspective, the visual range 71 can be understood as corresponding to the field of view (FOV) of the front camera of the client device C2, but the present invention is not limited thereto.
[0115] In Figure 7 it, the trapezoid corresponding to the visual range 71 may have four sides, where the two sides with arrows may correspond to the field of view of the client device C2, and the two sides without arrows may respectively correspond to the maximum and minimum visual distances of the client device C2, but the present invention is not limited thereto.
[0116] In this case, the processor 104 can determine a plurality of valid areas and a plurality of invalid areas among a plurality of predetermined areas according to the visual range 71 of the second client device in the virtual world.
[0117] In one embodiment, the valid area may be a predetermined area that jointly forms a range 72 that is not less than and covers the visual range 71.
[0118] In Figure 7 it, the processor 104 can determine the range 72 according to the vertices 711-714. Specifically, the processor 104 can find the minimum x coordinate, the maximum x coordinate, the minimum y coordinate, and the maximum y coordinate among the vertices 711-714, and determine the range 72a therefrom, where the range 72a may be a rectangular range that covers all the predetermined areas where the vertices 711-714 are located, but the present invention is not limited thereto.
[0119] After determining the range 72a, the processor 104 can further expand the range 72 outward, for example, expand a predetermined area to determine the range 72. In this case, the predetermined areas within the range 72 can be regarded as valid areas, and the predetermined areas outside the range 72 can be regarded as invalid areas, but the present invention is not limited thereto.
[0120] Next, the processor 104 can determine whether the first area where the first client device is located belongs to the invalid area. If so, this means that the first client device in the first area is less likely to be detected by the second client device (such as the client device C2), so the pose data of the first client device may be unnecessary for the second client device. In this case, the processor 104 can further reduce the first message transmission frequency, so that the control device 100 can transmit the first message of the first client device to the second client device at a lower frequency.
[0121] In one embodiment, the processor 104 can reduce the first message transmission frequency to zero, so that the control device 100 is in Figure 7In a certain scenario, no first messages are transmitted to the second client device, but the present invention is not limited to this.
[0122] On the other hand, if it is determined that the first area belongs to the valid area, this means that the first client device may be detected by the second client device. In this case, the processor 104 may maintain the first message transmission frequency, so that the control device 100 can transmit at least part of the first messages to the second client device for the second client device to render the visual content provided to the corresponding user, but the present invention is not limited to this.
[0123] In one embodiment, the first and second embodiments may be combined into a third embodiment to modify the first message transmission frequency. For relevant details, reference may be made to the above discussion and will not be elaborated here.
[0124] The present invention further provides a computer-readable storage medium for executing the management message transmission method. The computer-readable storage medium consists of a plurality of program instructions embodied therein (for example, setting program instructions and deployment program instructions). These program instructions can be loaded into and executed by the control device 100 to execute the above management message transmission method and the functions of the control device 100.
[0125] In summary, the embodiments of the present invention provide a solution for determining the first message transmission frequency of the second area according to the first relative position between the first area and the second area when the first client device is located in the first area, and managing the message transmission to the second client device accordingly. Therefore, the farther the second client device is from the first client device, the lower the frequency at which the control device will transmit the first messages of the first client device to the second client device, which reduces the burden on the second client device to process messages from the first client device (and other client devices). Therefore, the performance of the second client device can be improved.
[0126] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit them. Although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements on some or all of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for managing message transmission, applied to a control device, characterized in that, Including: Determining, by the control device, a first area where the first client device is located among a plurality of predetermined areas; Determining, by the control device, a first relative position between the first area and a second area among the plurality of predetermined areas; Determining, by the control device, a first message transmission frequency associated with the second area based on the first relative position; And In response to determining that the second client device is located in the second area, providing, by the control device, at least a first part of a plurality of first messages of the first client device located in the first area to the second client device based on the first message transmission frequency.
2. The method according to claim 1, further comprising: Dividing the plurality of predetermined areas into a plurality of area groups according to the relative positions between the first area and each of the areas; And Assigning a message transmission frequency to each of the area groups.
3. The method according to claim 2, wherein determining the first message transmission frequency associated with the second area based on the first relative position includes: In response to determining that the second area belongs to one of the plurality of area groups, determining the message transmission frequency corresponding to the one of the plurality of area groups as the first message transmission frequency associated with the second area.
4. The method according to claim 2, wherein: When 2 ≤ i ≤ N, the predetermined areas within the i-th area group among the plurality of area groups at least partially surround the predetermined areas within the (i - 1)-th area group among the plurality of area groups, where N is the number of the plurality of area groups; And When i is 1, the i-th area group includes the first area.
5. The method according to claim 2, wherein assigning the message transmission frequency to each of the area groups includes: Determining the i-th element among a plurality of frequency elements of a transmission frequency vector as the message transmission frequency of the i-th area group among the plurality of area groups, wherein the plurality of frequency elements are monotonically decreasing.
6. The method according to claim 1, further comprising: Receiving the plurality of first messages from the first client device.
7. The method according to claim 1, wherein providing at least the first part of the plurality of first messages of the first client device located in the first area to the second client device based on the first message transmission frequency includes: In response to determining that the first message transmission frequency is 1 / K, transmitting one of the plurality of first messages every K of the plurality of first messages.
8. The method according to claim 1, further comprising: Determining, by the control device, a second relative position between the first area and a third area among the plurality of predetermined areas; Determining, by the control device, a second message transmission frequency associated with the third area based on the second relative position; And In response to determining that a third client device is located in the third area, providing at least a second part of the plurality of first messages from the first client device located in the first area to the third client device based on the second message transmission frequency.
9. The method according to claim 1, wherein before providing at least the first portion of the plurality of first messages of the first client device located in the first region to the second client device based on the first message transmission frequency, the method further comprises: modifying the first message transmission frequency based on the load status of the second client device.
10. The method according to claim 9, wherein modifying the first message transmission frequency based on the load status of the second client device comprises: reducing the first message transmission frequency in response to determining that the load status of the second client device indicates that the message reception load of the second client device is higher than a load threshold; and maintaining the first message transmission frequency in response to determining that the load status of the second client device indicates that the message reception load of the second client device is not higher than the load threshold.
11. The method according to claim 10, further comprising: obtaining a first quantity of messages transmitted to the second client device during each of a plurality of first time periods; obtaining a second quantity of messages processed by the second client device during each of the plurality of first time periods; obtaining a plurality of first differences respectively corresponding to the plurality of first time periods, wherein the m-th first difference among the plurality of first differences is obtained by subtracting the second quantity corresponding to the m-th first time period among the plurality of first time periods from the first quantity corresponding to the m-th first time period, where m is an index; and in response to determining that the plurality of first differences are higher than a threshold, determining that the load status of the second client device indicates that the message reception load of the second client device is higher than the load threshold, and reducing the first message transmission frequency accordingly.
12. The method according to claim 11, wherein after reducing the first message transmission frequency, the method further comprises: obtaining a third quantity of messages transmitted to the second client device during each of a plurality of second time periods; obtaining a fourth quantity of messages processed by the second client device during each of the plurality of second time periods; obtaining a plurality of second differences respectively corresponding to the plurality of second time periods, wherein the n-th second difference among the plurality of second differences is obtained by subtracting the fourth quantity corresponding to the n-th second time period among the plurality of second time periods from the third quantity corresponding to the n-th second time period, where n is an index; and in response to determining that the plurality of second differences are not higher than the threshold, restoring the first message transmission frequency.
13. The method according to claim 1, wherein before providing at least the first portion of the plurality of first messages of the first client device located in the first region to the second client device based on the first message transmission frequency, the method further comprises: modifying the first message transmission frequency based on the visible range of the second client device.
14. The method according to claim 13, wherein modifying the first message transmission frequency based on the visible range of the second client device includes: Based on the visible range of the second client device, determining a plurality of valid regions and a plurality of invalid regions among the plurality of predetermined regions; In response to determining that the first predetermined region belongs to the plurality of invalid regions, reducing the first message transmission frequency.
15. The method according to claim 14, wherein reducing the first message transmission frequency includes reducing the first message transmission frequency to zero.
16. The method according to claim 14, further comprising: In response to determining that the first predetermined region belongs to the plurality of valid regions, maintaining the first message transmission frequency.
17. A control device, characterized in that, Comprising: A storage circuit for storing program code; And A processor coupled to the storage circuit and accessing the program code to perform: Determining a first region where a first client device is located among a plurality of predetermined regions; Determining a first relative position between the first region and a second region among the plurality of predetermined regions; Determining a first message transmission frequency associated with the second region based on the first relative position; And In response to determining that a second client device is located in the second region, providing at least a first portion of a plurality of first messages of the first client device located in the first region to the second client device based on the first message transmission frequency.
18. The control device according to claim 17, wherein the processor performs: Dividing the plurality of predetermined regions into a plurality of region groups according to the relative positions between the first region and each of the regions; Assigning a message transmission frequency to each of the region groups; and In response to determining that the second region belongs to one of the plurality of region groups, determining the message transmission frequency corresponding to the one of the plurality of region groups as the first message transmission frequency associated with the second region.
19. The control device according to claim 17, wherein before providing at least the first portion of the plurality of first messages of the first client device located in the first region to the second client device based on the first message transmission frequency, the processor further performs: Modifying the first message transmission frequency based on at least one of the load state of the second client device and the visible range of the first client device in the virtual world.
20. A computer-readable storage medium that records an executable computer program, characterized in that, The executable computer program is loaded by the control device to perform the steps of: Determining a first region where a first client device is located among a plurality of predetermined regions; Determining a first relative position between the first region and a second region among the plurality of predetermined regions; Determining a first message transmission frequency associated with the second region based on the first relative position; And In response to determining that a second client device is located in the second region, providing at least a first portion of a plurality of first messages of the first client device located in the first region to the second client device based on the first message transmission frequency.