Rendering data sharing method and device
By deploying end-side sharing modules in the end-side device, identifying and sharing shared rendering data sent by the cloud-side server, the problem of excessive bandwidth consumption of cloud-side servers is solved, and more efficient network transmission is achieved.
Patent Information
- Application Number
- CN202311639851.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-30
- Publication Date
- 2025-05-30
AI Technical Summary
During the collaborative rendering of end-cloud, the cloud-side server needs to send the same rendering data to multiple end-side devices, resulting in excessive bandwidth consumption of the cloud-side server.
By deploying the end-side sharing module in the end-side device, the module can identify the shared rendering data sent by the cloud-side server and share it with the terminal devices in the same sharing group, thereby reducing the need for the cloud-side server to send the same data to each device.
It reduces the bandwidth consumption of cloud-side servers during the cloud-coordinated rendering process and improves network transmission efficiency.
Smart Images

Figure CN120075218A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of computers, and in particular, to a method and device for sharing rendering data. Background Art
[0002] In recent years, with the rapid development of the mobile electronic consumption field, a large number of applications have migrated from the personal computer side to mobile devices. However, due to the limitations of power consumption and computing power of mobile devices, mobile devices need to consider the balance between load and effect when performing computing tasks. For example, the rendering task accounts for a relatively large proportion of the performance load of mobile devices. Mobile devices need to perform rendering tasks based on end-cloud collaborative rendering, so as to reduce the proportion of the performance load of mobile devices in performing rendering tasks.
[0003] End-cloud collaborative rendering is that the end-side device moves part of the computing power required for the rendering task to the cloud-side server for processing, uses the cloud-side server to calculate the intermediate data that requires a large amount of computing power to process during the rendering process, and then transmits the intermediate data to the end-side device through the network. The end-side device then superimposes and uses these intermediate data to render the final picture result. Since the cloud-side server currently needs to send the intermediate data required for the end-side device to perform the rendering task to different end-side devices respectively, when the number of end-side devices accessing the cloud-side server is large, it will cause a large bandwidth pressure on the cloud-side server, resulting in a large bandwidth consumption of the cloud-side server during the end-cloud collaborative rendering process. Summary of the Invention
[0004] The embodiments of the present application provide a method for sharing rendering data. The end-side sharing module can identify the shared rendering data in the rendering data sent by the cloud-side server, so that the end-side sharing module can transmit the shared rendering data to different end-side devices in the end-side network, thereby reducing the bandwidth consumption of the cloud-side server. The embodiments of the present application also provide a device for sharing rendering data corresponding to the method for sharing rendering data, a computing device, a computing device cluster, a computer-readable storage medium, and a computer program product.
[0005] In a first aspect, an embodiment of the present application provides a method for sharing rendering data. This method can be executed by a sharing module on the terminal side, or by components of the sharing module on the terminal side, such as a processor, a chip, or a chip system of the sharing module on the terminal side. It can also be implemented by a logic module or software that can implement all or part of the functions of the sharing module on the terminal side. The method provided in the first aspect includes: The sharing module on the terminal side receives the rendering data sent by the cloud server, and the rendering data is used for the terminal device to execute the rendering task. The sharing module on the terminal side identifies the shared rendering data according to the rendering data. The shared rendering data includes the rendering data that can be commonly used by different terminal devices to execute the rendering task. The commonly used rendering data refers to the rendering data that can be shared by different terminal devices to execute the rendering task. The sharing module on the terminal side sends the shared rendering data to the terminal devices in the terminal-side sharing network based on the sharing group information, and the sharing group information is used to indicate the sharing group in the terminal-side sharing network.
[0006] In the embodiment of the present application, the sharing module on the terminal side can identify the shared rendering data sent by the cloud server and send the shared rendering data to the terminal devices in the sharing group, so that the cloud server does not need to send the shared rendering data to each terminal device separately, thereby reducing the bandwidth consumption of the server on the cloud side during the cloud-terminal collaborative rendering process.
[0007] In a possible implementation, the sharing module on the terminal side identifies the rendering data as shared rendering data according to the sharing data identifier of the rendering data, and the sharing data identifier is used to indicate the sharing attribute of the rendering data.
[0008] In the embodiment of the present application, the sharing module on the terminal side can identify the shared rendering data based on the shared rendering data identifier in the rendering data, which improves the feasibility of the solution for the sharing module on the terminal side to identify the shared rendering data.
[0009] In a possible implementation, the shared rendering data identifier includes a flag bit of the rendering data packet, and this flag bit is used to indicate that the rendering data packet is a shared rendering data packet. Among them, when this flag bit is set to 1, this rendering data packet is a shared rendering data packet. When this flag bit is set to 0, this rendering data packet is a non-rendering data packet.
[0010] In the embodiment of the present application, the sharing module on the terminal side can identify the shared rendering data packet based on the identifier bit of the rendering data, which improves the accuracy of the sharing module on the terminal side to identify the shared rendering data packet.
[0011] In a possible implementation, the sharing module on the terminal side is deployed on the gateway device in the terminal-side sharing network. During the process of the sharing module on the terminal side sending the shared rendering data to the terminal devices in the terminal-side sharing network, the gateway device multicasts the shared rendering data to one or more terminal device groups in the terminal-side sharing network, and one or more terminal devices in the terminal-side sharing network belong to the same sharing group.
[0012] In the embodiment of the present application, the edge - side sharing module can be deployed in the gateway device of the edge - side network. When the edge - side sharing module is deployed in the gateway device of the edge - side network, the gateway device can send shared rendering data to the terminal devices in the sharing group in a multicast manner, thus saving the bandwidth resources of the edge - side network.
[0013] In a possible implementation, during the process that the edge - side sharing module in the gateway device receives the rendering data sent by the cloud - side server, the edge - side sharing module receives the shared rendering data slices sent by the cloud - side server, and the gateway device can cache the shared rendering data slices. Before the gateway device multicasts the shared rendering data to one or more terminal device groups in the edge - side sharing network based on the sharing group information, the edge - side sharing module merges the cached multiple shared rendering data slices to generate the shared rendering data.
[0014] In the embodiment of the present application, the edge - side sharing module deployed in the gateway device can cache the shared rendering data slices, merge the cached shared data slices to generate the shared rendering data, and multicast the shared rendering data to the terminal devices in the sharing group, thereby improving the transmission efficiency of the rendering data in the edge - side network.
[0015] In a possible implementation, during the process that the edge - side sharing module in the gateway device receives the rendering data sent by the cloud - side server, the edge - side sharing module of the gateway device receives the shared rendering data slices sent by the cloud - side server, and the edge - side sharing module of the gateway device can also directly send the shared rendering data slices to the terminal devices in a multicast manner, and the terminal devices merge the shared rendering data slices to generate the shared rendering data.
[0016] In the embodiment of the present application, after the edge - side sharing module deployed in the gateway device receives the shared rendering data slices, it can directly multicast the shared rendering data slices to the terminal devices in the sharing group, thereby improving the data - processing efficiency of the gateway device.
[0017] In a possible implementation, after the edge - side sharing module in the gateway device identifies the rendering data as shared rendering data according to the shared data identifier, before multicasting the shared rendering data, the edge - side sharing module also needs to determine the sharing group number to which the destination IP address belongs according to the destination IP address of the shared rendering data, and multicast the shared rendering data based on the sharing group number.
[0018] In the embodiment of the present application, the edge - side sharing module in the gateway device can determine the sharing group number to which the destination IP address belongs based on the destination IP address of the shared rendering data, and thus perform multicast based on the sharing group number, improving the feasibility of the solution.
[0019] In a possible implementation, during the process that the edge-side sharing module deployed on the terminal device sends shared rendering data to the terminal devices in the edge-side sharing network based on the shared group information, the terminal device sends the shared rendering data to other terminal devices in the edge-side sharing network based on the shared group information, and the terminal device and the other terminal devices belong to the same shared group.
[0020] In the embodiments of the present application, the edge-side sharing module can also be deployed in the terminal devices of the edge-side network. When the edge-side sharing module is deployed in the terminal devices of the edge-side network, the terminal device can send the shared rendering data to other terminal devices in the shared group, thereby reducing the bandwidth consumption of the cloud-side server.
[0021] In a possible implementation, during the process that the edge-side sharing module receives the rendering data sent by the cloud-side server, the terminal device receives the shared rendering data slices sent by the cloud-side server. The terminal device sends the shared rendering data slices to other terminal devices in the edge-side sharing network based on the shared group information, and the shared rendering data slices are used for other terminal devices to generate complete shared rendering data.
[0022] In the embodiments of the present application, the terminal device can receive the shared rendering data slices sent by the cloud-side server and send the shared rendering data slices to other terminal devices within the shared group, so that the terminal device can generate complete shared rendering data based on the shared rendering data slices, improving the feasibility of the solution.
[0023] In a possible implementation, the edge-side sharing module receives a shared group joining request sent by the terminal device. The shared group information joining request is used to request to join the shared group. The shared group joining request includes the IP address and port number of the terminal device. The edge-side sharing module maintains the shared group information in the edge-side sharing module according to the shared group joining request. For example, the edge-side sharing module adds the IP address of the terminal device to the shared group according to the shared group joining request sent by the terminal device.
[0024] In the embodiments of the present application, the edge-side sharing module can maintain the shared group information, so that the edge-side sharing module can send the shared rendering data to the terminal devices in the shared group, improving the feasibility of the solution.
[0025] In a possible implementation, in addition to maintaining the shared group information in the edge-side network, the edge-side sharing module can also synchronize the shared group information to the cloud-side server. The cloud-side server can perform slicing of the shared rendering data based on the shared group information synchronized by the edge-side sharing module.
[0026] In the embodiments of the present application, the edge-side sharing module can synchronize the shared rendering data to the cloud-side server, so that the cloud-side server can perform slicing of the shared rendering data based on the shared group information, improving the feasibility of the solution.
[0027] In a possible implementation manner, the shared group information includes one or more of the following: the IP address of the terminal device and the shared group number. Among them, the IP address of the terminal device refers to the IP address of the terminal device in the shared group for sharing rendering data, and the shared group number is used to distinguish different shared groups.
[0028] In the embodiments of the present application, the side-sharing module can maintain various shared group information and realize the sharing of rendering data in the side network based on this shared group information, thereby reducing the bandwidth consumption of the cloud-side server.
[0029] In a possible implementation manner, the side-sharing network includes one or more of the following: local area network, Bluetooth network, and wireless wifi network.
[0030] The method for sharing rendering data provided in the embodiments of the present application can be applied to a variety of different side networks, thereby expanding the applicable scope of the method for sharing rendering data.
[0031] In a possible implementation manner, the rendering data sent by the cloud-side server to the terminal device further includes special case rendering data. Among them, the special case rendering data is mainly view-related data, such as rendering data related to reflection and refraction effects. This part of the rendering data is related to the view of the terminal device and cannot be shared even in the same scene, and needs to be rendered and sent separately from the cloud-side server for each terminal device.
[0032] In the embodiments of the present application, the cloud-side server can also send special case rendering data to the terminal device, so that the terminal device can perform a rendering task based on the special case rendering data, thereby enhancing the richness of the method for sharing rendering data.
[0033] In the second aspect of the embodiments of the present application, a device for sharing rendering data is provided. The device includes a transceiver unit and a processing unit. Among them, the transceiver unit is used to receive the rendering data sent by the cloud-side server, and the rendering data is used for the terminal device to perform a rendering task. The processing unit is used to identify shared rendering data according to the rendering data. The shared rendering data includes rendering data that can be shared by different terminal devices when performing a rendering task. The transceiver unit is further used to send the shared rendering data to the terminal device in the side-sharing network based on the shared group information, and the shared group information is used to indicate the shared group in the side-sharing network.
[0034] In a possible implementation manner, the processing unit is further used to identify the rendering data as shared rendering data according to the shared data identifier of the rendering data, and the shared data identifier is used to indicate the shared attribute of the rendering data.
[0035] In a possible implementation, the device is deployed on a gateway device in the end-side shared network. The transceiver unit is specifically configured to multicast shared rendering data to one or more terminal devices in the end-side shared network based on the shared group information, and the one or more terminal devices in the end-side shared network belong to the same shared group.
[0036] In a possible implementation, the transceiver unit is specifically configured to receive the shared rendering data slices sent by the cloud-side server. The processing unit is further configured to generate the shared rendering data based on the multiple shared rendering data slices.
[0037] In a possible implementation, the device is deployed on a terminal device. The transceiver unit is specifically configured to send the shared rendering data to other terminal devices in the end-side shared network based on the shared group information, and the terminal device and the other terminal devices belong to the same shared group.
[0038] In a possible implementation, the transceiver unit is specifically configured to receive the shared rendering data slices sent by the cloud-side server, and send the shared rendering data slices to other terminal devices in the end-side shared network based on the shared group information. The shared rendering data slices are used for the other terminal devices to generate the complete shared rendering data.
[0039] In a possible implementation, the transceiver unit is further configured to receive the shared group join request sent by the terminal device, and the shared group information join request is used to request to join the shared group. The processing unit is further configured to maintain the shared group information in the device according to the shared group join request.
[0040] In a possible implementation, the shared group information includes one or more of the following: the terminal device IP address and the shared group number.
[0041] In a possible implementation, the end-side shared network includes one or more of the following: a local area network, a Bluetooth network, and a wireless Wi-Fi network.
[0042] In the third aspect of the embodiments of the present application, an electronic device is provided. The computing device includes a processor, and the processor is coupled to a memory. The processor is configured to store instructions, and when the instructions are executed by the processor, the electronic device is caused to execute the method described in the first aspect or any possible implementation manner of the first aspect.
[0043] In the fourth aspect of the embodiments of the present application, a computer-readable storage medium is provided, on which instructions are stored. When the instructions are executed, the computer is caused to execute the method described in the first aspect or any possible implementation manner of the first aspect.
[0044] In the fifth aspect of the embodiments of the present application, a computer program product is provided. The computer program product includes instructions, and when the instructions are executed, the computer is caused to implement the method described in the first aspect or any possible implementation manner of the first aspect.
[0045] It can be understood that the beneficial effects that can be achieved by any of the above-mentioned sharing devices, computing devices, computing device clusters, computer-readable media, or computer program products of rendering data can refer to the beneficial effects in the corresponding methods, which will not be elaborated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] Figure 1a FIG. is a schematic diagram of the system architecture of a terminal-cloud collaborative rendering system provided by an embodiment of the present application;
[0047] Figure 1b FIG. is a schematic diagram of the system architecture of another terminal-cloud collaborative rendering system provided by an embodiment of the present application;
[0048] Figure 2 FIG. is a schematic flowchart of a method for sharing rendering data provided by an embodiment of the present application;
[0049] Figure 3 FIG. is a schematic flowchart of another method for sharing rendering data provided by an embodiment of the present application;
[0050] Figure 4a FIG. is a schematic flowchart of another method for sharing rendering data provided by an embodiment of the present application;
[0051] Figure 4b FIG. is a schematic diagram of the message structure for sharing rendering data provided by an embodiment of the present application;
[0052] Figure 5 FIG. is a schematic diagram of the scenario of a method for sharing rendering data provided by an embodiment of the present application;
[0053] Figure 6 FIG. is a schematic diagram of the structure of a device for sharing rendering data provided by an embodiment of the present application;
[0054] Figure 7 FIG. is a schematic diagram of the structure of an electronic device provided by an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0055] Embodiments of the present application provide a method and a device for sharing rendering data, which are used to reduce the bandwidth consumption of the cloud-side server during the terminal-cloud collaborative rendering process.
[0056] In the description and claims of this application and the above-mentioned drawings, terms such as "first", "second", "third", "fourth", etc. (if any) are used to distinguish similar objects and do not necessarily describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances so that the embodiments described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device that includes a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0057] In the embodiments of this application, words such as "exemplary" or "for example" are used to give examples, illustrations or explanations. Any embodiment or design solution described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or having more advantages than other embodiments or design solutions. Rather, the use of words such as "exemplary" or "for example" is intended to present relevant concepts in a specific manner.
[0058] First, some of the terms involved in the embodiments of this application are introduced to facilitate those skilled in the art to understand the technical solutions.
[0059] Real-time ray tracing (RT) is a technique for rendering images. Real-time ray tracing calculates images by simulating the way light propagates in a scene, thereby achieving a realistic lighting effect. Real-time ray tracing can more accurately simulate the interaction between light and objects, including reflection, refraction, and shadows, etc.
[0060] Global illumination (GI) is a technique for simulating the indirect propagation of light in a scene. Global illumination takes into account the multiple reflections, refractions, and diffusions of light with objects, etc., thereby accurately simulating the lighting effect in the scene. Global illumination can produce more realistic shadows, light and shadow effects, and reflection effects, making the scene more realistic.
[0061] Dynamic diffuse global illumination (DDGI) is a rendering technique that combines dynamic diffuse reflection and global illumination. Dynamic diffuse reflection refers to the phenomenon that the surface of an object evenly scatters the incident light, while global illumination is used to simulate the indirect propagation of light in the scene. Dynamic diffuse global illumination technology is achieved by using pre-calculated lighting information and dynamic diffuse reflection models combined with real-time rendering technology. Dynamic diffuse global illumination can produce more realistic shadows, light and light reflection effects, and can be applied to applications with strong real-time interactivity.
[0062] In order to make the technical solution of the present application clearer and easier to understand, the system architecture of the present application is introduced below with reference to the accompanying drawings.
[0063] See also Figure 1a , Figure 1a A schematic diagram of the system architecture of a terminal-cloud collaborative rendering system provided for this application example. Figure 1a In the example shown, the end-cloud collaborative rendering system 10 includes a cloud-side server 101, a network layer 102, and an end-side network 103, wherein the network layer 102 includes a wide area network 1021 and a bearer network 1022, and the end-side network 103 includes a gateway device 1031 and a terminal device 1032. The specific functions of each part of the end-cloud collaborative rendering system 10 in the embodiment of the present application are described below.
[0064] The cloud-side server 101 is used to generate rendering data required by the terminal device 103 to perform rendering tasks, and send the rendering data to the end-side network 103 through the network layer 102. The cloud-side server 101 is also used to identify shared rendering data in the rendering data, so that the end-side network 103 can identify the shared rendering data, wherein the shared rendering data refers to rendering data that can be used by different terminal devices 103 to perform rendering tasks.
[0065] The cloud-side server 101 includes a feature rendering module 1011 and a slice control module 1012. The feature rendering module 1011 is used to generate and store rendering data of scene rendering tasks, which can be used as intermediate data for the terminal device 1032 to perform rendering, thereby reducing the computing load of the terminal device 1032. The rendering data generated by the feature rendering module 1011 includes probe data, reflection texture data, shadow coefficient data, etc.
[0066] The slicing control module 1012 for distribution is used to perform slicing processing on the rendering data and send the sliced rendering data to the edge network 103. For example, the slicing control module 1012 for distribution can slice the rendering data in the same scene into several parts, and each part is sent to the edge network 103 in the form of a data sub-stream. The slicing control module 1012 for distribution is also used to add a shared data identifier to the shared rendering data in the rendering data, so that the edge network 103 can identify the shared rendering data according to the shared data identifier.
[0067] The network layer 102 is used to transmit the rendering data between the cloud server 101 and the edge network 103. The network layer 102 includes a wide area network 1021 and a bearer network 1022. Among them, the wide area network 1021 is used to connect the cloud server 101 at a long distance and the bearer network 1022, and the bearer network 1022 is the infrastructure connecting the wide area network 1021 and the edge network 102, and the bearer network device is, for example, a base station.
[0068] The edge network 103 is the network physically close to the terminal device 1032. The edge network 103 includes a gateway device 1031 and a terminal device 1032. The gateway device 1031 is used to realize the connection and protocol conversion between the bearer network 1022 and the terminal device 1032, and the gateway device 1031 is, for example, a router.
[0069] In the edge network 103, an edge sharing module can be deployed in the network device 1023 or the terminal device 103. The edge sharing module can identify the shared rendering data and send the shared rendering data to multiple terminal devices 1032 in the edge sharing network, realizing the sharing of the rendering data in the edge network 103, thereby reducing the bandwidth consumption of the cloud server 101 for separately sending the rendering data to different terminal devices 1032.
[0070] The terminal device 1032 is used to receive the rendering data sent by the cloud server 101 and execute the rendering task. The terminal device 1032 also serves as a display device to present the rendering effect corresponding to the rendering task. When the edge sharing module is deployed on the terminal device 1032, the terminal device 1032 is also used to send the shared rendering data to other terminal devices in the sharing group.
[0071] It should be noted that in addition to the local area network, the edge network 103 can also be a wireless wifi network or a Bluetooth network, etc., and is not specifically limited.
[0072] Please refer to Figure 1b , Figure 1b which is a schematic diagram of the system architecture of another edge-cloud collaborative rendering system provided by the embodiment of the present application. In Figure 1bIn the example shown, the edge - side sharing module is deployed in different terminal devices 1032. The terminal devices 1032 share rendering data with other terminal devices in the sharing group through the edge - side network 103. Specifically, the slicing control module 1012 of the cloud - side server 101 first differentiates the special - case rendering data and the shared rendering data in the rendering data, and adds a shared - data identifier to the shared rendering data. Then, the cloud - side server 101 sends the special - case rendering data and the shared rendering data to the terminal devices 1032 through the network layer 102 according to different data sub - streams.
[0073] In Figure 1b the example shown, after the terminal device 1032 receives the rendering data sent by the cloud - side server 101, the edge - side sharing module of the terminal device 1032 identifies the shared rendering data based on the shared - data identifier. For the special - case rendering data, the terminal device 1032 receives the special - case rendering data and executes the rendering task based on the special - case rendering data. For the shared rendering data, the terminal device 1032 sends the shared rendering data to other terminal devices in the sharing group through the edge - side network 103.
[0074] It should be noted that while the terminal device 1032 sends the shared rendering data to other terminal devices in the sharing group through the edge - side network 103, the terminal device 1032 also receives the shared rendering data sent by other terminal devices through the edge - side network 103. After the terminal device 1032 obtains the shared rendering data and the special - case rendering data required for the rendering task, the edge - side device 1032 executes the characteristic rendering task based on the special - case rendering data and the shared rendering data, and outputs the final rendering result. For example, the terminal device 1032 outputs the screen with the attached characteristic rendering effect to the screen.
[0075] Based on Figure 1a the edge - cloud collaborative rendering system 10 shown, the present application also provides a method for sharing rendering data. The following introduces the method for sharing rendering data provided by the embodiments of the present application in combination with the embodiments.
[0076] Please refer to Figure 2 , Figure 2 which is a schematic flowchart of a method for sharing rendering data provided by an embodiment of the present application. In Figure 2 the example shown, the method includes the following steps:
[0077] 201. The edge - side sharing module receives the rendering data sent by the cloud - side server, and the rendering data is used for the terminal device to execute the rendering task.
[0078] The edge-side sharing module receives the rendering data sent by the cloud-side server 101, and the rendering data is used for the terminal device 1032 to execute the rendering task. Specifically, when the terminal device 1032 executes the rendering task, due to the computing power limitation of the terminal device 1032 in executing the rendering task, the terminal device 1032 needs to utilize the computing resources of the cloud-side server 101 to execute the rendering task.
[0079] Specifically, the terminal device 1032 sends a rendering data request to the cloud-side server 101. The rendering data request is used to request the rendering data required for the terminal device 1032 to execute the rendering task from the cloud-side server 101. The cloud-side server 101 generates the rendering data according to the rendering data request and sends the rendering data corresponding to the rendering task to the terminal device 1032.
[0080] Please continue to refer to Figure 1b , in Figure 1b In an example shown, the cloud-side server 101 receives the rendering data request sent by the terminal device 1032 and synchronizes the status information in the rendering data request. The status information is, for example, information such as the user perspective and operation instructions of the terminal device 1032 in the sharing group. After the cloud-side server 101 obtains the status information, it inputs the status confidence into the rendering module 1011 for feature rendering to obtain the rendering data, and sends the rendering data to the distribution slice control block 1012, which is sliced by the distribution slice control block 1012 and then sent to the edge-side network 103.
[0081] The rendering data sent by the cloud-side server 101 to the terminal device 1032 includes special-case rendering data and shared rendering data. Among them, the special-case rendering data is mainly perspective-related data, such as rendering data related to reflection and refraction effects. This part of the rendering data is related to the perspective of the terminal device 1032 and cannot be shared even in the same scene, and needs to be rendered and distributed separately from the cloud-side server 101 for each terminal device 1032.
[0082] The shared rendering data refers to the rendering data that can be shared by different terminal devices 1032 when executing the rendering task. The general rendering data refers to the rendering data that can be shared by different terminal devices when executing the rendering task. The shared rendering data includes rendering data that is independent of the perspective. For example, the shared rendering data can be dynamic diffuse global illumination data. These rendering data are mainly related to the lighting conditions in the scene, and the lighting conditions in the same scene are the same, so the rendering data used by different terminal devices 1032 in the same scene for this part is the same.
[0083] In a possible implementation, the cloud server 101 first divides the rendering data into special case rendering data and shared rendering data, and adds a shared data identifier to the shared rendering data, so that the end-side sharing module in the end-side network can identify the shared rendering data based on the data sharing identifier.
[0084] Specifically, during the process of the terminal device 1032 sending the rendering data, the cloud server 101 processes the rendering data obtained by the feature rendering module 1011, and divides it into special case rendering data and shared rendering data via the distribution slice control module 1012. Among them, the special case rendering data is sent to the terminal device 1032 that needs the special case data to perform the rendering task, and the shared rendering data is sent to all terminal devices 1032 in the shared group through the network.
[0085] 202. The end-side sharing module identifies the shared rendering data according to the rendering data. The shared rendering data includes the rendering data that can be shared by different terminal devices when performing the rendering task.
[0086] After receiving the rendering data, the end-side sharing module identifies the rendering data according to the shared data identifier of the rendering data. If there is a shared data identifier in the rendering data, it is identified as shared rendering data. The shared rendering data includes the rendering data that can be shared by different terminal devices when performing the rendering task. The shared data identifier is used to indicate the shared attribute of the rendering data.
[0087] It should be noted that the end-side sharing module in the embodiments of the present application can be deployed on the gateway device 1031 of the end-side network 103, or can be deployed on the terminal device 1032 of the end-side network 103. When the end-side sharing module can be deployed on the gateway device 1031 of the end-side network 103, the gateway device 1031 identifies the shared rendering data based on the shared data identifier. When the end-side sharing module can be deployed on the terminal device 1032 of the end-side network 103, the terminal device 1032 identifies the shared rendering data based on the shared data identifier.
[0088] Please refer to Figure 3 , Figure 3 This is a schematic diagram of a method for sharing rendering data with the end-side sharing module deployed on the gateway device provided by the embodiments of the present application. In Figure 3 In the example shown, the end-side sharing module is deployed in the gateway device of the end-side network. The cloud server sends the rendering data to the gateway device through the wide area network and the bearer network. The end-side sharing module deployed in the gateway device receives the rendering data and identifies the shared rendering data based on the shared data identifier.
[0089] For example, in Figure 3In step a of the example shown, during the process of the end - side sharing module in the gateway device identifying shared rendering data, if the rendering data contains a shared data identifier, then the rendering data is shared rendering data; if the rendering data does not contain a shared data identifier, then the rendering data is special - case rendering data.
[0090] Please refer to Figure 4a , Figure 4a which is a schematic diagram of a method for sharing rendering data in which an end - side sharing module provided by an embodiment of the present application is deployed in a terminal device. In Figure 4a the example shown, the end - side sharing module is deployed in the terminal device. After the cloud - side server sends rendering data to the terminal device through the wide - area network and the bearer network, the end - side sharing module deployed in the terminal device identifies the shared rendering data based on the shared data identifier.
[0091] For example, in Figure 4a step a of the example shown, after the terminal device receives the rendering energy data sent by the cloud - side server, the end - side sharing module of the terminal device identifies the shared rendering data based on the shared data identifier. If the rendering data contains a shared data identifier, then the rendering data is shared rendering data; if the rendering data does not contain a shared data identifier, then the rendering data is special - case rendering data.
[0092] In a possible implementation, the shared rendering data identifier is used to identify that the rendering data is shared rendering data. The shared rendering data identifier can be a flag bit in the header of the rendering data packet, and this flag bit can be set to 0 or 1. Among them, when this flag bit is set to 1, the rendering data packet is shared rendering data. When this flag bit is set to 0, the rendering data packet is non - rendering data, that is, special - case rendering data.
[0093] Please refer to Figure 4b , Figure 4b which is a schematic diagram of the packet format of shared rendering data provided by an embodiment of the present application. In Figure 4b the example shown, the rendering data packet sent by the cloud - side server 101 to the terminal device 103 includes a header part and a data part. Among them, the cloud service server 101 can add a shared rendering data identifier to the rendering data packet header. Specifically, the cloud service server 101 adds a shared rendering data identifier to the extended field of the IP header in the packet header.
[0094] In Figure 4b the example shown, the flag bit of the shared rendering data identifier occupies 1 bit. When this flag bit is set to 1, the end - side sharing module can identify the rendering data as shared rendering data based on this shared rendering data identifier. When this flag bit is set to 0, the end - side sharing module identifies the rendering data as special - case rendering data based on this shared rendering data identifier.
[0095] The end - side sharing module sends shared rendering data to the terminal devices in the end - side sharing network based on the sharing group information, where the sharing group information is used to indicate the sharing groups in the end - side sharing network.
[0096] After the end - side sharing module identifies the shared rendering data, the end - side sharing module sends the shared rendering data to the terminal device 1032 in the end - side network 103 based on the sharing group information, where the sharing group information is used to indicate the sharing groups in the end - side sharing network. Among them, the sharing group information includes one or more of the following: the IP address of the terminal device, the sharing group number, and the port of the terminal device.
[0097] In a possible implementation, the end - side sharing module is deployed in the gateway device 1031 of the end - side network 103, and the gateway device 1031 multicasts the shared rendering data to one or more terminal devices 1032 in the end - side sharing network, and one or more terminal devices 1031 in the end - side sharing network belong to the same sharing group.
[0098] Specifically, the gateway device 1031 replaces the destination IP address of the shared rendering data with the sharing group number, so as to multicast the shared rendering data to the terminal devices 1032 within the sharing group.
[0099] Please continue to refer to Figure 3 In Figure 3 In step b of the example shown, after the gateway device identifies the shared rendering data, the gateway device multicasts the shared rendering data to the terminal devices in the sharing group. The gateway device replaces the destination IP address of the shared rendering data with the sharing group number based on the sharing group information, so as to multicast the shared rendering data to multiple terminal devices within the sharing group.
[0100] In Figure 3 In the example shown, the gateway device receives the special - case rendering data sent by the cloud - side server, and the gateway device sends the special - case rendering data to the corresponding terminal device according to the destination IP address of the special - case rendering data.
[0101] In a possible implementation, the end - side sharing module deployed in the gateway device 1031 receives the shared rendering data slices sent by the cloud - side server 101. The gateway device 1031 generates the shared rendering data based on the shared rendering data slices, and the shared rendering data is the complete shared rendering data composed of multiple shared rendering data slices. The gateway device 1031 multicasts the shared rendering data to multiple terminal devices 1032 in the sharing group.
[0102] Please continue to refer to Figure 3 In Figure 3In the example shown, the shared rendering data received by the edge-side sharing module of the gateway device can be multiple shared rendering data slices. After the gateway device receives the multiple shared rendering data slices, it merges them based on the multiple shared rendering data slices to generate the shared rendering data, and then multicasts the synthesized shared rendering data to the terminal devices. The gateway device updates the destination IP address of the synthesized shared rendering data to the shared group number, so that the terminal devices in the shared group multicast the shared rendering data.
[0103] In a possible implementation, after the edge-side sharing module in the gateway device 1031 identifies the rendering data as shared rendering data according to the shared data identifier, before multicasting the shared rendering data, the edge-side sharing module also needs to determine which terminal device IP addresses in which shared group the shared rendering data belongs to according to the destination IP address of the shared rendering data, so as to determine the shared group number to be multicast.
[0104] In a possible implementation, after the terminal device 1032 receives the shared rendering data sent by the gateway device 1031, the terminal device 1032 identifies whether the shared rendering data is the required shared rendering data. If so, the terminal device 1032 caches the shared rendering data. If not, the terminal device 1032 rejects the received shared rendering data.
[0105] Please continue to refer to Figure 3 , in Figure 3 In the example shown, from step c to step d, after the terminal device receives the shared rendering data, the terminal device identifies the shared rendering data. If the terminal device does not need the shared rendering data, it does not receive the shared rendering data. If the shared rendering data is the data required for the terminal device to perform the rendering task, the terminal device caches the shared rendering data.
[0106] In a possible implementation, the edge-side sharing module is deployed in the terminal device 1032 of the edge-side network 103. The terminal device 1032 sends the shared rendering data to other terminal devices in the edge-side sharing network based on the shared group information. The terminal device 1032 and other terminal devices in the edge-side network 103 belong to the same shared group.
[0107] Please continue to refer to Figure 4a , in Figure 4a In the example shown, the edge-side sharing module of the terminal device sends the shared rendering data to other terminal devices in the shared group. It can be understood that since different terminal devices are all deployed with the edge-side sharing module, when the edge-side sharing module of the terminal device identifies the shared rendering data, the edge-side sharing module of the terminal device sends the shared rendering data to other terminal devices in the shared group based on the shared group information.
[0108] In a possible implementation, the end-side sharing module deployed on the terminal device 1032 receives the shared rendering data slices sent by the cloud-side server 101. The terminal device 1032 can send the shared rendering data slices to other terminal devices in the end-side sharing network based on the shared group information. The shared rendering data slices are used for other terminal devices to generate complete shared rendering data. The terminal device 1032 can also merge the shared data slices to generate the shared rendering data and send the shared rendering data to other terminal devices in the end-side sharing network according to the shared group information, which is not specifically limited.
[0109] Please continue to refer to Figure 4a , in Figure 4a In the example shown, after the end-side sharing module of the terminal device receives the shared rendering data slices, it sends the shared rendering data slices to other terminal devices in the shared group. For example, the shared group includes terminal device 1, terminal device 2, and terminal device 3. Among them, after terminal device 1 receives the shared rendering data slice 1, the end-side sharing module in terminal device 1 sends the shared rendering data slice 1 to terminal device 2 and terminal device 3 in the shared group. Similarly, after terminal device 2 receives the shared rendering data slice 2, the end-side sharing module in terminal device 2 sends the shared rendering data slice 2 to terminal device 1 and terminal device 3 in the shared group.
[0110] In a possible implementation, the end-side sharing module receives a shared group join request sent by the terminal device 1032. The shared group join request is used to request to join the shared group. The shared group join request includes the IP address and port number of the terminal device. The end-side sharing module creates a shared group in the end-side sharing module according to the shared group join request and maintains the shared group information. For example, the end-side sharing module adds the IP address of the terminal device to the shared group according to the shared group join request sent by the terminal device 1032.
[0111] It can be understood that in addition to maintaining the shared group information in the end-side network 103, the end-side sharing module can also synchronize the shared group information to the cloud-side server 101. The cloud-side server 101 can perform slicing of the shared rendering data based on the shared group information synchronized by the end-side sharing module.
[0112] In a possible implementation, in addition to including the terminal device IP address and the shared group number, the shared group information further includes: the port number of the terminal device, the scene number, and the rendering data number. Among them, the scene number is used to indicate the rendering scene of the terminal device, and the rendering data number distinguishes different rendering data streams.
[0113] Please refer to Figure 5 , Figure 5 This is an example diagram of the rendering scene to which the rendering data sharing method provided in the embodiments of the present application is applied. InFigure 5 In the illustrated example, the rendering scene of the terminal device is the rendering scene DDGI of dynamic diffuse global illumination. The shared rendering data takes probe data as an example. The probe data is stored in the form of a two-dimensional texture. When performing feature rendering calculations and usage, the two-dimensional texture is mapped into spherical probes to calculate the global illumination effect for the scene superposition. The probe data used by different terminal devices in the same scene is the same. Therefore, these probe data can be shared among multiple terminal devices.
[0114] In Figure 5 the illustrated example, Figures (a), (b), and (c) are the probe data received by three different terminal devices respectively. The three different terminal devices can share their respective probe data through the edge-side network to obtain complete probe data. For example, terminal devices 1 to 3 receive probe data 1 to 3 from the cloud-side server respectively. Terminal device 1 sends probe data 1 to terminal devices 2 and 3, and requests probe data 2 from terminal device 2 and probe data 3 from terminal device 3. In this way, terminal devices 1 to 3 all obtain the complete probe data shown in Figure (d), and continue to execute the rendering task with the complete probe data.
[0115] It can be seen from the above embodiments that the edge-side sharing module in the embodiments of the present application can identify the shared rendering data sent by the cloud-side server and send the shared rendering data to the terminal devices in the shared group, so that the cloud-side server does not need to send multiple copies of the same rendering data to different terminal devices, thereby reducing the bandwidth consumption of the cloud-side server in the edge-cloud collaborative rendering process.
[0116] Based on the above method embodiments, the embodiments of the present application further provide a sharing device for rendering data. The sharing device for rendering data provided by the embodiments of the present application will be specifically introduced below.
[0117] Please refer to Figure 6 , Figure 6 which is a schematic structural diagram of a sharing device for rendering data provided by the embodiments of the present application. In Figure 6 the illustrated example, the sharing device 600 for rendering data is used to implement each step executed by the edge-side sharing module in the above embodiments. The sharing device 600 for rendering data includes a transceiver unit 601 and a processing unit 602.
[0118] Among them, the transceiver unit 601 is used to receive the rendering data sent by the cloud server, and the rendering data is used for the terminal device to execute the rendering task. The processing unit 602 is used to identify the rendering data as shared rendering data according to the shared data identifier of the rendering data. The shared rendering data includes the rendering data that can be commonly used by different terminal devices to execute the rendering task, and the shared data identifier is used to indicate the shared attribute of the rendering data. The transceiver unit 601 is also used to send the shared rendering data to the terminal devices in the end-side sharing network based on the shared group information, and the shared group information is used to indicate the shared group in the end-side sharing network.
[0119] In a possible implementation manner, the device is deployed in a gateway device in the end-side sharing network. Specifically, the transceiver unit 601 is used to multicast the shared rendering data to one or more terminal device groups in the end-side sharing network based on the shared group information, and one or more terminal devices in the end-side sharing network belong to the same shared group.
[0120] In a possible implementation manner, the transceiver unit 601 is specifically used to receive the shared rendering data slices sent by the cloud server. The processing unit 602 is also used to generate the shared rendering data based on multiple shared rendering data slices.
[0121] In a possible implementation manner, the device is deployed in a terminal device. Specifically, the transceiver unit 601 is used to send the shared rendering data to other terminal devices in the end-side sharing network based on the shared group information, and the terminal device and the other terminal devices belong to the same shared group.
[0122] In a possible implementation manner, the transceiver unit 601 is specifically used to receive the shared rendering data slices sent by the cloud server, and send the shared rendering data slices to other terminal devices in the end-side sharing network based on the shared group information. The shared rendering data slices are used for other terminal devices to generate the complete shared rendering data.
[0123] In a possible implementation manner, the transceiver unit 601 is also used to receive the shared group joining request sent by the terminal device, and the shared group information joining request is used to request to join the shared group. The processing unit 602 is also used to maintain the shared group information in the device according to the shared group joining request.
[0124] In a possible implementation manner, the shared group information includes one or more of the following: the terminal device IP address and the shared group number.
[0125] In a possible implementation manner, the end-side sharing network includes one or more of the following: a local area network, a Bluetooth network, and a wireless wifi network.
[0126] It should be understood that the division of units or modules in the above device is only a division of logical functions. In actual implementation, they can be fully or partially integrated into a physical entity, or physically separated. And the units or modules in the device can all be implemented in the form of software called by processing elements, or all be implemented in the form of hardware, or some units or modules be implemented in the form of software called by processing elements and some units or modules be implemented in the form of hardware. For example, each unit or module can be a separately established processing element, or can be integrated in a certain chip of the device. In addition, it can also be stored in the memory in the form of a program and the function of the unit or module can be called and executed by a certain processing element of the device. In addition, these units or modules can be integrated together in whole or in part, or can be independently implemented. The processing element mentioned here can also be called a processor, which can be an integrated circuit with signal processing capabilities. In the implementation process, each step of the above method or each of the above units or modules can be implemented by the integrated logic circuit of the hardware in the processor element or in the form of software called by the processing element.
[0127] It should be noted that for the above method embodiments, for the sake of simple description, they are all expressed as a series of action combinations. However, those skilled in the art should know that this application is not limited by the described action sequence. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily essential to this application.
[0128] Other reasonable combinations of steps that those skilled in the art can think of based on the above description also fall within the protection scope of this application. Secondly, those skilled in the art should also be familiar that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily essential to this application.
[0129] Please refer to Figure 7 , Figure 7 which is a schematic structural diagram of an electronic device provided by an embodiment of this application. As Figure 7 shown, the electronic device 700 includes: a processor 701, a memory 702, a communication interface 703, and a bus 704. The processor 701, the memory 702, and the communication interface 703 are coupled through a bus (not marked in the figure). The memory 702 stores instructions. When the execution instructions in the memory 702 are executed, the electronic device 700 executes the method executed by the side-sharing module in the above method embodiment.
[0130] The electronic device 700 may be one or more integrated circuits configured to implement the above methods, such as: one or more application specific integrated circuits (ASICs), or one or more digital signal processors (DSPs), or one or more field programmable gate arrays (FPGAs), or a combination of at least two of these integrated circuit forms. For another example, when the units in the device can be implemented in the form of a processing element scheduler, the processing element may be a general-purpose processor, such as a central processing unit (CPU) or other processor that can call a program. For another example, these units may be integrated together and implemented in the form of a system-on-a-chip (SOC).
[0131] The processor 701 may be a central processing unit (CPU), or may also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The general-purpose processor may be a microprocessor or any conventional processor.
[0132] The memory 702 can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchlink DRAM (SLDRAM), and direct rambus RAM (DRRAM).
[0133] The executable program code is stored in the memory 702, and the processor 701 executes the executable program code to respectively implement the functions of the foregoing end-side sharing module, so as to implement the above-mentioned method for sharing rendering data. That is to say, the memory 702 stores instructions for executing the above-mentioned method for sharing rendering data.
[0134] The executable program code is stored in the memory 702, and the processor 701 executes the executable program code to respectively implement the functions of the foregoing transceiver unit 601 and processing unit 602, so as to implement the above-mentioned method for sharing rendering data. That is to say, the memory 702 stores instructions for executing the above-mentioned method for sharing rendering data.
[0135] The communication interface 703 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the electronic device 700 and other devices or a communication network.
[0136] In addition to including a data bus, the bus 704 may further include a power bus, a control bus, a status signal bus, and the like. The bus may be a peripheral component interconnect express (PCIe) bus, an extended industry standard architecture (EISA) bus, a unified bus (Ubus or UB), a compute express link (CXL), a cache coherent interconnect for accelerators (CCIX), or the like. The bus may be divided into an address bus, a data bus, a control bus, and the like.
[0137] In another embodiment of the present application, there is also provided a computer-readable storage medium storing computer-executable instructions. When the processor of the device executes the computer-executable instructions, the device executes the method performed by the end-side sharing module in the foregoing method embodiment.
[0138] In another embodiment of the present application, there is also provided a computer program product including computer-executable instructions stored in a computer-readable storage medium. When the processor of the device executes the computer-executable instructions, the device executes the method performed by the end-side sharing module in the foregoing method embodiment.
[0139] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, devices, and units described above can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated herein.
[0140] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division, and there may be other division methods in actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other may be through some interfaces, and the indirect couplings or communication connections of the devices or units may be in electrical, mechanical, or other forms.
[0141] The unit described as a separation component may or may not be physically separated. The component displayed as a unit may or may not be a physical unit, that is, it may be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0142] In addition, each functional unit in various embodiments of the present application may be integrated in a processing unit, may exist physically alone for each unit, or two or more units may be integrated in one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
[0143] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or all or part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to enable a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of the present application. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROM, read-only memory), random access memories (RAM, random access memory), magnetic disks, or optical discs that can store program codes.
Claims
1. A method for sharing rendering data, characterized in that, applied to the end - side sharing module, including: Identifying shared rendering data according to the rendering data, where the rendering data is used for the terminal device to execute a rendering task, and the shared rendering data includes rendering data that can be shared by different terminal devices when executing the rendering task; Sending the shared rendering data to the terminal devices in the end - side sharing network based on the shared group information, where the shared group information is used to indicate the shared group in the end - side sharing network.
2. The method according to claim 1, characterized in that, The identifying shared rendering data according to the rendering data includes: Identifying the rendering data as shared rendering data according to the shared data identifier of the rendering data, where the shared data identifier is used to indicate the shared attribute of the rendering data.
3. The method according to claim 1 or 2, characterized in that, The end - side sharing module is deployed in the gateway device in the end - side sharing network, and the sending the shared rendering data to the terminal devices in the end - side sharing network based on the shared group information includes: The gateway device multicasts the shared rendering data to one or more terminal device groups in the end - side sharing network based on the shared group information, and one or more terminal devices in the end - side sharing network belong to the same shared group.
4. The method according to claim 3, characterized in that, The method further includes: Receiving shared rendering data slices; Before the gateway device multicasts the shared rendering data to one or more terminal device groups in the end - side sharing network based on the shared group information, the method further includes: Generating the shared rendering data based on a plurality of the shared rendering data slices.
5. The method according to claim 1 or 2, characterized in that, The end - side sharing module is deployed in the terminal device, and the sending the shared rendering data to the terminal devices in the end - side sharing network based on the shared group information includes: The terminal device sends the shared rendering data to other terminal devices in the end - side sharing network based on the shared group information, and the terminal device and the other terminal devices belong to the same shared group.
6. The method according to claim 5, characterized in that, The method further includes: Receiving shared rendering data slices; The sending the shared rendering data by the terminal device to other terminal devices in the end - side sharing network based on the shared group information includes: The terminal device sends the shared rendering data slices to other terminal devices in the end - side sharing network based on the shared group information, and the shared rendering data slices are used for the other terminal devices to generate complete shared rendering data.
7. The method according to any one of claims 1 to 6, characterized in that, The method further includes: Receiving a shared group join request sent by the terminal device, where the shared group information join request is used to request to join the shared group; Maintaining the shared group information in the end - side sharing module according to the shared group join request.
8. The method according to any one of claims 1 to 7, characterized in that, The shared group information includes one or more of the following: terminal device IP address and shared group number.
9. The method according to any one of claims 1 to 8, wherein, the end - side shared network includes one or more of the following: local area network, Bluetooth network, and wireless Wi - Fi network.
10. A shared device for rendering data, wherein, it includes: a processing unit, configured to identify the rendering data as shared rendering data according to the rendering data, the rendering data is used for a terminal device to perform a rendering task, and the shared rendering data includes rendering data that can be commonly used by different terminal devices to perform the rendering task; a transceiver unit, configured to send the shared rendering data to a terminal device in the end - side shared network based on shared group information, and the shared group information is used to indicate a shared group in the end - side shared network.
11. The device according to claim 10, wherein, the processing unit is specifically configured to: identify the rendering data as shared rendering data according to the shared data identifier of the rendering data, and the shared data identifier is used to indicate the shared attribute of the rendering data.
12. The device according to claim 10 or 11, wherein, the device is deployed in a gateway device in the end - side shared network, and the transceiver unit is specifically configured to: multicast the shared rendering data to one or more terminal devices in the end - side shared network based on the shared group information, and one or more terminal devices in the end - side shared network belong to the same shared group.
13. The device according to claim 12, wherein, the transceiver unit is further configured to: receive a shared rendering data slice; the processing unit is further configured to: generate the shared rendering data based on multiple said shared rendering data slices.
14. The device according to claim 10 or 11, wherein, the device is deployed in the terminal device, and the transceiver unit is specifically configured to: send the shared rendering data to other terminal devices in the end - side shared network based on the shared group information, and the terminal device and the other terminal devices belong to the same shared group.
15. The device according to claim 14, wherein, the transceiver unit is further configured to: receive a shared rendering data slice; send the shared rendering data slice to other terminal devices in the end - side shared network based on the shared group information, and the shared rendering data slice is used for the other terminal devices to generate complete shared rendering data.
16. The device according to any one of claims 10 to 15, wherein, the transceiver unit is further configured to: receive a shared group join request sent by the terminal device, and the shared group information join request is used to request to join the shared group; the processing unit is further configured to maintain the shared group information in the device according to the shared group join request.
17. The device according to any one of claims 10 to 16, wherein, the shared group information includes one or more of the following: terminal device IP address and shared group number.
18. The device according to any one of claims 10 to 17, wherein, the end - side shared network includes one or more of the following: local area network, Bluetooth network, and wireless Wi - Fi network.
19. An electronic device, characterized in that, it includes a processor, the processor is coupled to a memory, and the processor is used to store instructions. When the instructions are executed by the processor, the electronic device is caused to execute the method according to any one of claims 1 to 9.
20. A computer-readable storage medium, having instructions stored thereon, characterized in that, when the instructions are executed, the computer is caused to execute the method according to any one of claims 1 to 9.
21. A computer program product, the computer program product includes instructions, characterized in that, when the instructions are executed, the computer is caused to implement the method according to any one of claims 1 to 9.
Citation Information
Patent Citations
Remote desktop system and image data sharing method
CN108306930A
Data processing method and system
CN114629897A
Method for sharing screens of multiple terminals in vehicle, vehicle-mounted terminal equipment and system
CN114885306A
Scene rendering method and device, storage medium and computer equipment
CN117095104A