Three-dimensional content multi-person collaboration method, device, system and equipment
By using the transmission method of rendering instructions in the three-dimensional interface, the problems of high rendering pressure, huge transmission pressure and high delay in traditional methods are solved, and efficient three-dimensional content sharing and collaborative experience are achieved.
Patent Information
- Application Number
- CN202310659511.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-05
- Publication Date
- 2025-05-06
- Estimated Expiration
- 2043-06-05
AI Technical Summary
In the three-dimensional interface, the traditional multi-person collaboration method cannot efficiently realize multi-person sharing and collaboration of three-dimensional content due to the large rendering pressure, huge transmission pressure and high delay.
By generating and sending rendering instructions by sharing provider devices, rather than directly transmitting rendered images, the sharing provider device renders based on rendering instructions and observation angle information, thereby reducing data transmission pressure and delay.
This method effectively reduces the data transmission pressure between the sharing provider and the demander, reduces transmission delay, and improves the multi-person sharing experience of three-dimensional content.
Smart Images

Figure CN117173304B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the fields of computer systems, computer graphics and human-computer interaction technology, and in particular to a method, device and system for multi-person collaboration of three-dimensional content. Background Art
[0002] In traditional two-dimensional interfaces, multi-person collaboration is mostly done by the sharing provider device transmitting the shared image to the sharing demander device. However, in a three-dimensional interface, if the multi-person collaboration method of the two-dimensional interface is used, the sharing provider transmits the rendered three-dimensional image to the sharing demander, which will cause the following problems: First, due to the sharing of three-dimensional content, different images need to be rendered according to the different observation angles of the demanders. For each additional demander, the provider needs to render once more, which puts a lot of pressure on rendering. Secondly, in order for the demander to see the binocular stereo effect, each frame of the image needs binocular content. Transmitting three-dimensional images will cause huge transmission pressure, and the decoding pressure of the sharing demander will also increase accordingly. Finally, since the images of each demander need to be received by the provider from the user's perspective and rendered and then transmitted accordingly, and the encoding and decoding must be completed on the provider and demander ends respectively, the overall delay of the demander end user seeing the image will also increase accordingly.
[0003] Currently, applications on shared provider devices use command transmission to synchronize data between multiple users and share content and images. However, application transmission instructions are customized data based on their own specific logic. Each user needs to install the corresponding application on the local device, and the application will render and interact locally, and is limited to the application.
[0004] There is an urgent need for a method for multi-person collaboration on three-dimensional content, so as to solve the problem that due to the high pressure of transmission and rendering of three-dimensional images and high image delay, three-dimensional content cannot be efficiently shared and collaborated by multiple people due to hardware limitations. Summary of the invention
[0005] In order to solve the problems existing in the prior art, the embodiments of this article provide a method, device, system and equipment for multi-person collaboration of three-dimensional content. The sharing provider device is responsible for processing rendering events according to application logic, wherein the rendering event can be triggered by the sharing provider itself according to the application logic, or the sharing provider receives the operation information of the sharing provider user, or it can be triggered by the operation information of the sharing demander user. Then, the rendering instruction of the shared rendering object is generated according to the rendering event, and then the rendering instruction is sent to the sharing demander device, and the sharing demander device renders the shared rendering object according to the rendering instruction and the observation angle information of the sharing demander user. In this method, the rendering instruction is universal, and the sharing demander device does not need to perform any application logic processing to be shared, and can simultaneously support multiple applications of the sharing provider or access multiple sharing providers. In the multi-person collaborative system, the transmission of rendering instructions replaces the transmission of shared images, which reduces the data transmission pressure between the sharing provider device and the sharing demander device, reduces the transmission delay, and improves the multi-person sharing experience of three-dimensional content.
[0006] In order to solve the above technical problems, the specific technical solutions of this article are as follows:
[0007] On the one hand, an embodiment of the present invention provides a 3D content multi-person collaboration method, which is applied to a multi-person collaboration system that supports a device for displaying 3D content, and is executed by a sharing provider device in the multi-person collaboration system, and the method includes:
[0008] Generate, according to the application logic, a rendering instruction of the shared rendering object, wherein the rendering instruction is used to guide the generation of a rendering image of the shared rendering object;
[0009] The rendering instruction is sent to the sharing demand-side device in the multi-person collaborative system, so that the sharing demand-side device renders the shared rendering object according to the received rendering instruction to obtain a rendering picture.
[0010] On the other hand, an embodiment of the present invention further provides a 3D content multi-person collaboration method, which is applied to a multi-person collaboration system supporting a device for displaying 3D content, and is executed by a sharing demand-side device in the multi-person collaboration system. The method includes:
[0011] Receiving a rendering instruction of a shared rendering object sent by a sharing provider device, wherein the rendering instruction is generated by the sharing provider device according to application logic, and the rendering instruction is used to guide generation of a rendering image of the shared rendering object;
[0012] Obtain observation angle information of users who share needs;
[0013] The shared rendering object is rendered according to the viewing angle information of the user with sharing requirements and each of the rendering instructions to obtain a rendering picture including the shared rendering object.
[0014] On the other hand, an embodiment of the present invention further provides a 3D content multi-person collaboration device, the device comprising:
[0015] A rendering instruction generating unit, configured to generate a rendering instruction for the shared rendering object according to an application logic, wherein the rendering instruction is used to guide the generation of a rendering image of the shared rendering object;
[0016] The rendering instruction sharing unit is used to send the rendering instruction to the sharing demand-side device in the multi-person collaborative system, so that the sharing demand-side device renders the shared rendering object according to the received rendering instruction to obtain a rendering picture.
[0017] On the other hand, an embodiment of the present invention further provides a 3D content multi-person collaboration device, the device comprising:
[0018] A rendering instruction receiving unit, configured to receive a rendering instruction of a shared rendering object sent by a sharing provider device, wherein the rendering instruction is generated by the sharing provider device according to application logic, and the rendering instruction is used to guide generation of a rendering image of the shared rendering object;
[0019] An observation angle information acquisition unit, used to acquire the observation angle information of the sharing demand user according to the sharing demand party device;
[0020] The rendering unit is used to render the shared rendering object according to the observation angle information of the sharing-required user and each rendering instruction to obtain a rendering picture including the shared rendering object.
[0021] On the other hand, an embodiment of the present invention further provides a three-dimensional content multi-person collaboration system, including a sharing provider device and a sharing demander device;
[0022] The sharing provider device executes the method executed by the above-mentioned sharing provider device when rendering;
[0023] When rendering, the shared demand-side device executes the method executed by the shared demand-side device.
[0024] On the other hand, the embodiments of the present invention further provide a computer device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned method when executing the computer program.
[0025] Finally, an embodiment of the present invention further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and the computer program implements the above-mentioned method when executed by a processor.
[0026] Using the embodiments of the present invention, when a sharing provider device and a sharing demander device share three-dimensional content, the sharing provider device first generates a rendering instruction for the rendering object according to the application logic, and then the sharing provider device sends the rendering instruction to the sharing demander device. Compared with the traditional method of synchronously rendering images by the sharing provider device and the sharing demander device, the size of the rendering instruction sent by the sharing provider device of the present invention is much smaller than the rendered image, so it can effectively reduce the data transmission pressure between the sharing provider device and the sharing demander device, and reduce the transmission delay. Finally, the sharing demander device renders the shared rendering object according to the received rendering instruction to obtain a rendering picture. The present invention can simultaneously support scenarios of multi-person sharing across devices, realizes the transmission of shared rendering pictures instead of rendering instructions, reduces the data transmission pressure between the sharing provider device and the sharing demander device, reduces the transmission delay, and improves the multi-person sharing experience of three-dimensional content. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] In order to more clearly illustrate the technical solutions in the embodiments of this article or the prior art, the drawings required for use in the embodiments or the prior art descriptions are briefly introduced below. Obviously, the drawings described below are only some embodiments of this article. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0028] Figure 1 The figure is a schematic diagram of an implementation architecture of a three-dimensional content multi-person collaboration system in the embodiment of this article;
[0029] Figure 2 , Figure 3 It is a flowchart of a method for multi-person collaboration of three-dimensional content in the embodiment of this article;
[0030] Figure 4 It shows the steps of generating rendering instructions for a shared rendering object according to application logic in the embodiment of this article;
[0031] Figure 5 It shows the steps of rendering the shared rendering objects of multiple applications of the sharing provider device in the embodiment of this article;
[0032] Figure 6 It shows the steps of rendering the shared rendering objects of multiple applications of the sharing provider device according to the rendering instruction and the observation angle information of the sharing demand user in the embodiment of this article;
[0033] Figure 7 The data flow diagram of adjusting the shared rendering object process in the embodiment of this article is shown;
[0034] Figure 8The diagram shows the steps of interaction between a sharing provider device and a sharing demander device according to an embodiment of the present invention;
[0035] Fig. 9 , Fig.10 The figure is a schematic diagram of the structure of a three-dimensional content multi-person collaboration device in the embodiment of this article;
[0036] Fig.11 The figure shows a schematic diagram of the structure of the computer device in the embodiment of this article;
[0037] Fig.12 It is a schematic diagram showing that A, B and C use their own devices to play chess through the interactive authority control method in the embodiment of this article.
[0038]
Description of the accompanying drawings
[0039] 101. Shared provider equipment;
[0040] 1011. Interaction processing module;
[0041] 1012. Rendering processing module;
[0042] 1013. A first rendering execution module;
[0043] 1014. A first display device;
[0044] 102. Sharing of demand-side equipment;
[0045] 1021. Interactive sending module;
[0046] 1022. A second rendering execution module;
[0047] 1023. A second display device;
[0048] 901, rendering event receiving unit;
[0049] 902, rendering instruction generating unit;
[0050] 903, rendering instruction sharing unit;
[0051] 1001, rendering instruction receiving unit;
[0052] 1002. Observation angle information acquisition unit;
[0053] 1003, rendering unit;
[0054] 1102. Computer equipment;
[0055] 1104. Processing equipment;
[0056] 1106. Storage resources;
[0057] 1108, driving mechanism;
[0058] 1110, input / output module;
[0059] 1112. Input device;
[0060] 1114. Output device;
[0061] 1116. Presentation equipment;
[0062] 1118. Graphical user interface;
[0063] 1120, network interface;
[0064] 1122. Communication link;
[0065] 1124. Communication bus. DETAILED DESCRIPTION
[0066] The following will be combined with the drawings in the embodiments of this article to clearly and completely describe the technical solutions in the embodiments of this article. Obviously, the described embodiments are only part of the embodiments of this article, not all of the embodiments. Based on the embodiments of this article, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this article.
[0067] It should be noted that the terms "first", "second", etc. in the specification and claims of this article and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of this article described here can be implemented in an order other than those illustrated or described here. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, device, product or equipment that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or equipment.
[0068] It should be noted that the steps shown in the flowcharts of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and that, although a logical order is shown in the flowcharts, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0069] like Figure 1The figure shows a schematic diagram of the implementation architecture of a three-dimensional content multi-person collaborative system according to an embodiment of the present invention, which is applied to a multi-person collaborative system that supports displaying three-dimensional content devices. The multi-person collaborative system includes one or more devices that support displaying three-dimensional content (i.e., the sharing demander device 102) of the sharing demander and at least one sharing provider device 101. The device that supports displaying three-dimensional content can be a 3D or 4D XR device, a projection device, etc. The sharing provider device 101 may include a display device that displays three-dimensional content (such as the first display device 1014), or may not include a display device for three-dimensional content (such as the sharing provider device 101 is a server). The sharing provider device needs to include a rendering processing module 1012. The rendering processing module 1012 receives the rendering event generated by the application logic and converts it into a rendering instruction. The sharing provider device 101 sends the rendering instruction to the sharing demander device 102. If the user of the sharing provider device 101 needs to observe the rendered screen, the sharing provider device 101 may include: a first rendering execution module 1013 and a first display device 1014. The rendering processing module 1012 sends a rendering instruction to the first rendering execution module 1013. The first rendering execution module 1013 renders the shared rendering object according to the received rendering instruction and the observation angle information of the sharing provider user, obtains a rendered screen including the shared rendering object, and displays the rendered screen to the sharing provider user through the first display device 1014.
[0070] The sharing provider device 101 may also include an interaction processing module 1011. The interaction processing module 1011 receives a user interaction event from the sharing provider or sharing demander, triggers a rendering event according to the application logic, and sends it to the rendering processing module 1012. The rendering event may not be triggered by an interaction event, such as a time change event, a specific network message event, etc., which can be triggered by the application logic.
[0071] The sharing demand side device 102 needs to include a second rendering execution module 1022. The rendering processing module 1012 of the sharing provider device 101 can send the rendering instruction from the network card of the sharing provider device 101, and send the rendering instruction to the sharing demand side device 102 through the network communication method. The network card of the sharing demand side device 102 receives the rendering instruction and sends the rendering instruction to the second rendering execution module 1022 of the sharing demand side device. The second rendering execution module 1022 renders the shared rendering object according to the received rendering instruction to obtain a rendering screen including the shared rendering object. Of course, the second rendering execution module 1022 can also render the shared rendering object according to the received rendering instruction and the observation angle information of the sharing demand user, and display the rendering screen to the sharing demand user through the second display device 1023.
[0072] The shared demander device 102 may include an interaction sending module 1021. The interaction sending module 1021 receives the user's operation information and converts it into an interaction event, which is sent by the network card of the shared demander device 102, and sends the interaction event to the shared provider device 101 through a network communication method. The network card of the shared provider device 101 receives the interaction event and sends the interaction event to the interaction processing module 1011 of the shared provider device.
[0073] The device of the sharing provider can contain one or more shared applications, each of which can have its own interaction processing module and rendering processing module or share one interaction processing module and one rendering processing module. The device of the sharing demander can accept rendering instructions of multiple applications on multiple sharing provider devices.
[0074] The sharing user and the sharing demand user can interact on their respective devices. The sharing user can set the interaction authority of the sharing demand device through the sharing provider device 101, and send the interaction authority to the sharing demand device 102. The sharing demand device 102 sets the operation authority of the sharing demand user on the rendering screen according to the interaction authority. If the operation is allowed, the sharing demand device 102 generates an interaction event with the operation information of the sharing demand user, and sends the interaction event to the sharing provider device 101. The interaction processing module 1011 of the sharing provider device 101 processes the application logic, generates a rendering instruction of the interaction event, and sends the rendering instruction to the interaction sending module 1021 of the sharing demand device 102 for rendering.
[0075] In the embodiment of the present invention, data can be transmitted between the sharing provider device 101 and the sharing demander device 102 through other data transmission methods, which are not limited in the embodiment of the present invention.
[0076] Figure 1 What is shown is only one scenario provided by the present disclosure. In practice, other scenarios may also be included, and the present invention is not limited thereto.
[0077] In the prior art, each shared device renders its own rendering object to obtain a rendered image, and then sends the rendered image to the device system for synthesis. If it needs to be shared with users with sharing needs, it needs to be re-rendered on the shared user device according to the viewing angle of each user with sharing needs. Due to the high-resolution requirements of XR, the resolution of the rendered image is high, and the storage space occupied by the rendered image is large, which makes the transmission of high-resolution rendered images subject to huge transmission pressure and increases transmission delay. At the same time, the shared device faces huge rendering pressure.
[0078] In order to solve the problems existing in the prior art, the embodiment of this article provides a method for multi-person collaboration of three-dimensional content. First, the sharing provider device is responsible for processing the application logic and generating a rendering instruction for a shared rendering object; then, the rendering instruction is sent to the sharing demander device; finally, the shared rendering object is rendered according to the rendering instruction. The sharing provider device includes multiple applications, which respectively generate rendering instructions for multiple shared rendering objects and send them to the sharing demander device.
[0079] Figure 2 The flowchart of a method for multi-person collaboration of three-dimensional content in an embodiment of this invention is shown. This figure describes the process of sharing three-dimensional content between a sharing provider device and a sharing demander device, but it may include more or fewer operation steps based on conventional or non-creative labor. The order of steps listed in the embodiment is only one way of executing the steps among many orders, and does not represent the only order of execution. When the product is actually executed, it can be executed in the order or in parallel according to the method shown in the embodiment or the accompanying drawings. Specifically, Figure 2 As shown, the method may be performed by a sharing provider device, and may include:
[0080] Step 201: Generate a rendering instruction of a shared rendering object according to application logic, wherein the rendering instruction is used to guide generation of a rendering image of the shared rendering object;
[0081] Step 202: Send the rendering instruction to the shared demand-side device in the multi-person collaborative system.
[0082] The sharing demander device renders the shared rendering object according to the received rendering instruction to obtain a rendering picture.
[0083] For step 201, if Figure 4 As shown, generating a rendering instruction for a shared rendering object according to the application logic further includes:
[0084] Step 401: parsing the triggered rendering event, and obtaining metadata of the shared rendering object, wherein the metadata of the shared rendering object includes description information and attribute information of the shared rendering object;
[0085] Step 402: performing call conversion on the metadata of the shared rendering object suitable for the sharing demander device to generate rendering instructions for the shared rendering object.
[0086] The rendering event in the present invention can be the operation information of the sharing user, or it can be the content generated by the sharing provider device itself. For example, the sharing user operates the handheld handle to customize the rendering object, and the sharing provider device detects the operation of the sharing user, and then generates a rendering event according to the operation information of the sharing user. The metadata of the shared rendering object includes the description information and attribute information of the shared rendering object. The description information of the shared rendering object includes picture or video content, text content, model geometry information, material, texture, etc. The attribute information of the shared rendering object includes position, rotation, scaling, transparency, animation, whether interaction is supported, the ownership information of the device or application to which it belongs, and whether it is displayed, etc.
[0087] Among them, the rendering events triggered by the analysis further include:
[0088] Parse the triggered rendering events and create the 3D content that needs to be rendered. The 3D content can be generated directly or parsed by reading files; the 3D content can be described by traditional 3D model methods such as geometry and materials, read from 3D model file formats such as fbx and obj, or described by other methods such as NeRF. The 3D content file can also be in other custom file formats. The sharing provider device parses the rendering event and converts it into metadata of the shared rendering object, that is, the model geometry information, text content, material and other description information of the shared rendering object, as well as attribute information such as position, rotation, and scale.
[0089] For example, the shared rendering object required is a "puppy". The "puppy" has its own animation effect A. When the user clicks or touches the "puppy", another animation effect B will be triggered. At this time, animation effect B is the rendering event.
[0090] The sharing provider device receives the rendering event, creates the three-dimensional content of the animation effect B that needs to be rendered, and parses the animation effect B into metadata, including the model geometry information, material and other descriptive information of the "puppy", as well as the position, rotation, scale and other attribute information of the "puppy".
[0091] The metadata of the shared rendering object is converted into a call suitable for the shared demand side device to generate a rendering instruction for the shared rendering object, further comprising:
[0092] Perform time serialization processing on the metadata of the shared rendering object to obtain the frame metadata of the shared rendering object;
[0093] Based on the rendering logic of the shared demand-side device, a control instruction corresponding to the frame metadata of the shared rendering object is generated.
[0094] The rendering instruction at this time includes both the frame metadata of the shared rendering object and the control instruction corresponding to the frame metadata. Both the frame metadata and the control instruction are transmitted to the shared demand side device, and the shared demand side device performs rendering to obtain a rendered image.
[0095] The sharing demander device renders the shared rendering object according to the received rendering instruction, specifically including:
[0096] The sharing demand side device renders the shared rendering object according to the received rendering instruction and the viewing angle information of the sharing demand user.
[0097] Alternatively, the rendering image of the user with sharing demand may be displayed to the user with sharing demand through the second display device 1023 of the sharing demand party device.
[0098] Correspondingly, the embodiment of the present invention further provides a 3D content multi-person collaboration method, which is executed by a sharing demand-side device, such as Figure 3 As shown, the method may include:
[0099] Step 301: receiving a rendering instruction of a shared rendering object sent by a sharing provider device;
[0100] The rendering instruction is generated by the sharing provider device according to the application logic, and the rendering instruction is used to guide the generation of the rendering image of the shared rendering object;
[0101] Step 302: Obtaining observation angle information of the user sharing the need;
[0102] Step 303: Render the shared rendering object according to the viewing angle information of the sharing-required user and the rendering instructions to obtain a rendering picture including the shared rendering object.
[0103] By the method of the embodiment of the present invention, when the sharing provider device and the sharing demander device share three-dimensional content, the sharing provider device first generates a rendering instruction for the shared rendering object according to the application logic, and then sends the rendering instruction to the sharing demander device. Compared with the traditional method of synchronously rendering images by the sharing provider device and the sharing demander device, the size of the rendering instruction sent by the sharing provider device of the present invention is much smaller than the rendered image, and has universality, so it can effectively reduce the data transmission pressure between the sharing provider device and the sharing demander device, reduce the transmission delay, and can be applied to various scenarios. Finally, the sharing demander device renders the shared rendering object according to the received rendering instruction to obtain a rendering picture. Of course, the sharing demander device can also render the shared rendering object according to the received rendering instruction and the observation angle information of the sharing demand user to obtain a rendering picture. The present invention can simultaneously support the scene of multi-person sharing across devices, realize the transmission of the shared picture instead of the rendering instruction, reduce the data transmission pressure between the sharing provider device and the sharing demander device, reduce the transmission delay, and improve the multi-person sharing experience of three-dimensional content.
[0104] In an embodiment of the present invention, a rendering instruction is not an image obtained by rendering a shared rendering object, but is used to guide the generation of a rendering image of a shared rendering object. A rendering instruction is any instruction that can control the hardware to render a picture. For example, in the above content, a rendering instruction may include two parts, one part is any content that can be converted into a hardware instruction, and the other part is a hardware instruction. The hardware instruction controls the hardware to render the picture, and the type of the hardware instruction may be a GPU instruction, such as a GPUAPI of OpenGL / Vulkan / DirectX, etc. The present invention does not limit the specific form of the rendering instruction.
[0105] In the embodiments of this article, the shared rendering objects of multiple applications can also be shared, and the respective rendering instructions are sent to the sharing demand party device, and the sharing demand party device renders the multiple shared rendering objects according to the received multiple rendering instructions and the observation angle information of the sharing demand user. In the traditional method, each sharing provider device has a corresponding canvas range, that is, the sharing provider device can only render images within the specified canvas range, that is, the part of the shared rendering object within the specified canvas range can be rendered, and the part outside the canvas range will not be rendered. Therefore, the interactive effect between multiple shared rendering objects cannot be achieved, the flexibility of expression and interaction of the XR system is low, and the user experience is relatively simple.
[0106] Compared with the traditional method of applying image rendering, the present invention removes the limitation that the shared rendering object can only be rendered within the canvas range of the sharing provider device by transmitting rendering instructions. Specifically, according to an embodiment of the present invention, Figure 5 As shown, the sharing demand side device renders multiple shared rendering objects of the sharing provider device according to the received multiple rendering instructions and the viewing angle information of the sharing demand user, further comprising:
[0107] Step 501: Obtain a canvas range of a device that supports displaying three-dimensional content;
[0108] Step 502: Render multiple shared rendering objects within the canvas range according to the received multiple rendering instructions and the viewing angle information of the sharing-required user.
[0109] In the embodiment of this article, the canvas range of the device supporting the display of three-dimensional content represents the range of the entire display interface. The device on the sharing demand side can obtain the range of the entire display interface by calling the system hardware interface, and then renders the rendering instruction at the position of the rendering object specified by the sharing demand user in the entire display interface. Through the method of the present invention, because the user can arbitrarily specify the position of the rendering object in the display interface, it is possible to achieve interaction between multiple rendering objects, enriching the user experience.
[0110] In the prior art, the sharing provider device renders the shared rendering object. When the sharing demander device synthesizes the rendered images sent by all sharing provider devices, it is necessary to calculate the occlusion relationship of the rendered images according to the position of the rendered images and the observation angle of the sharing demand user, and delete the occluded parts of each image. The 2D multi-task system can know the occlusion situation because the perspective is fixed and the pictures are all complete rectangular areas. The perspective of 3D multi-task will change every frame, and there will be slight differences even if it does not move. In addition, the picture content of 3D applications is irregular and may have transparent areas, so the occlusion situation is more complicated. It is more expensive to calculate such information and transmit it to the application every frame, and the performance loss may be greater than rendering without considering occlusion. Therefore, the sharing provider device can only render the entire object, and for the part that the sharing demander device needs to delete during synthesis, the sharing provider device performs redundant rendering, resulting in a waste of computing resources of the sharing provider device.
[0111] The sharing provider device of the present invention no longer renders the shared rendering object, but sends the rendering instruction to the sharing demander device, and the sharing demander device renders the received multiple rendering instructions. Because the sharing demander device obtains the metadata of the shared rendering object, the sharing demander device can first calculate the occlusion relationship of the shared rendering object according to the metadata, and then only render the metadata without occlusion. Specifically, according to an embodiment of the present invention, Figure 6 As shown, rendering a plurality of shared rendering objects according to the rendering instruction and the viewing angle information of the sharing demand user further includes:
[0112] Step 601: Calculate the occlusion relationship between metadata according to the viewing angle information of the sharing user and multiple rendering instructions;
[0113] Step 602: Render the metadata without occlusion to obtain a rendered image.
[0114] In the embodiment of the present invention, the step of calculating the occlusion relationship is a basic operation of graphics rendering, based on depth detection, and its process has been encapsulated in a common API such as OpenGL and completed at the GPU driver layer. In the embodiment of the present invention, the method of transmitting metadata can provide the GPU with enough 3D scene information for culling.
[0115] It can be understood that through Figure 6 In the method shown, the shared demand-side device first calculates the occlusion relationship of the metadata and then renders the metadata without occlusion, thereby reducing the amount of rendering calculations and saving computing resources.
[0116] In the prior art, because the shared demand-side device is only responsible for synthesizing the received rendered images and has no metadata of the shared rendering object, if the shape, color, position, etc. of the shared rendering object changes, the shared provider device needs to render the changed shared rendering object again, and send the re-rendered image to the shared demand-side device for synthesis. If the shared rendering object is constantly moving and changing, the shared provider device needs to render the shared rendering object at each moment, generate a rendered image for each frame, and then send the rendered image for each frame to the shared demand-side device in sequence. This method causes an excessive amount of data transmitted between the shared provider device and the shared demand-side device, and a significant transmission delay.
[0117] To solve the above problem, according to an embodiment of the present invention, the metadata of the shared rendering object further includes incremental information, and the rendering event includes an object initialization event and an object adjustment event;
[0118] like Figure 7 As shown, the method also includes:
[0119] Step 701: the sharing provider device processes the object initialization event using application logic to generate an initial rendering instruction for the shared rendering object;
[0120] Step 702: the sharing provider device sends an initial rendering instruction to the sharing demander device;
[0121] Step 703: the sharing demander device renders the shared rendering object of the sharing provider device according to the received initial rendering instruction;
[0122] Step 704: the sharing provider device processes the object adjustment event by application logic, and generates an incremental rendering instruction for the shared rendering object;
[0123] Step 705: the sharing provider device sends the incremental rendering instruction to the sharing demander device;
[0124] Step 706: The sharing demander device renders the shared rendering object according to the received incremental rendering instruction.
[0125] It should be noted that, according to actual user needs or scenario needs, the sharing provider device renders the rendering instructions and displays the rendered image to the sharing user. The sharing user can also operate the shared rendering object through the rendering image. The operation information is processed by the application logic of the sharing provider device, and the sharing provider device generates rendering instructions based on the operation information of the sharing user and sends them to the sharing demander device, thereby realizing the synchronous display of the sharing demander device and the sharing provider device.
[0126] In some other embodiments of the present invention, the sharing demander user and the sharing provider user may interact with the shared rendering object on their respective devices through their respective devices. Specifically, Figure 8 As shown, the sharing provider device may also perform the following steps:
[0127] Step 801: receiving an interaction event sent by a sharing demand-side device, wherein the interaction event is generated by the sharing demand-side device according to operation information of a sharing demand user;
[0128] Step 802: Execute application logic processing according to the interaction event to generate a rendering instruction for the interaction event;
[0129] Step 803: Send the rendering instruction generated by the interaction event to the sharing demand-side device.
[0130] So that the sharing demander device can render according to the rendering instructions of the interaction event, and the rendering instructions of the interaction event can also be rendered in the sharing provider device.
[0131] Of course, the sharing demander device renders according to the rendering instruction of the interaction event and the observation angle information of the sharing demander user, and the sharing provider device renders according to the rendering instruction of the interaction event and the observation angle information of the sharing provider user.
[0132] The interactive event may be directed to a shared rendering object that has an interactive function or a shared interactive object that only has an interactive function. According to the shared rendering object or shared interactive object to which the interactive event is directed, the interactive event is sent to the sharing provider device for application logic processing.
[0133] Specifically, if the interaction event is for a shared rendering object that has an interactive function, the interaction event sent by the shared demander device needs to be adapted to the shared rendering object, and the following steps are performed:
[0134] Receiving a rendering instruction of a shared rendering object sent by a sharing provider device, wherein the rendering instruction is generated by the sharing provider device according to application logic, and the rendering instruction is used to guide generation of a rendering image of the shared rendering object;
[0135] Generate interactive events based on the operation information of users with sharing needs;
[0136] Determine a corresponding transmission path based on metadata of a shared rendering object targeted by the interaction event;
[0137] Based on the metadata of the shared rendering object, the interactive event is converted appropriately, and the converted interactive event is sent to the shared provider device along the corresponding transmission path, so that the shared provider device executes the application logic according to the interactive event, generates rendering instructions for the shared rendering object, and sends the rendering instructions to the shared demander device; the interactive event is converted appropriately for the shared rendering object to be more suitable for transmission and reduce the interactive delay.
[0138] The sharing provider device renders the shared rendering object according to the rendering instruction, and the sharing demander device renders the shared rendering object according to the rendering instruction and the observation angle information of the sharing demand user.
[0139] In the embodiment of the present invention, it can be understood that the application logic of the operation information of the shared demand user on the shared rendering object is not executed on the shared demand party device, but on the shared provider device, and then the shared provider device generates rendering instructions according to the interactive event for sharing. The corresponding application logic processing is no longer required on the shared demand party device, and all application logic is processed on the shared provider device. In this way, when the number of shared demand party devices needs to be expanded, the shared demand party device only needs to receive the rendering instruction and render, and no application logic processing is required, which greatly improves the convenience of expansion.
[0140] In some other embodiments of the present invention, the sharing provider user can also control the interaction permissions of the sharing request user. Specifically, the sharing provider device can send the interaction permissions of the shared rendering object to the sharing request device, so that the sharing request device can generate interaction events according to the operation information of the sharing request user when the interaction permissions are allowed.
[0141] It can be understood that the above interactive permission control method can meet more scenario requirements. For example, in a multi-person collaborative scenario, two or more people use different devices to complete the same task in the same virtual or real environment.
[0142] For example, Fig.12 The figure shows a schematic diagram of A, B and C using their respective devices to play chess through the interactive permission control method in the embodiment of this article. A and B use device A and device B to play chess respectively, and user C uses device C as a spectator to watch A and B play chess. Devices A, B and C constitute a multi-person collaborative system. The process of multi-person collaboration is as follows:
[0143] Step 1: Devices A, B, and C are all installed with rendering processing modules for rendering images, and only device A performs application logic processing of chess.
[0144] Step 2: On device A, run the chess game, receive the rendering event of device A, process the rendering event according to the application logic, and generate the corresponding rendering instructions for each frame (incremental). The rendering processing module of device A completes the rendering of the picture and can be displayed on the screen of device A.
[0145] Step 3: A turns on the sharing mode and shares the rendering instructions generated by the chess to B's device B and C's device C.
[0146] Step 4: After receiving the rendering instruction of the chess from device A, devices B and C perform local rendering on their respective devices. Of course, the local rendering can be based on the observation angle information of each user. In this way, A, B, and C can all see the content of the chess at the same time, and it conforms to the observation angle of their respective devices. A, B, and C can freely move their observation angles to observe the content of the chess, observe the chessboard from different angles, etc. This process will not trigger any data transmission. After the observation angle changes, the corresponding device can render again according to the changed observation angle information.
[0147] Step 5: A can set interaction permissions for B but not for C, so that A and B can play chess while C can only watch. (In other scenarios, you can also enable interaction permissions for multiple people at the same time, so that multiple people can operate together. This scenario is used as an example here)
[0148] Step 6: B's operation on the chessboard is converted into a corresponding interactive event, which is transmitted to device A through device B. The shared provider device completes the application logic processing of the interactive event and then returns the rendering instruction of the interactive event corresponding to the operation result. The rendering instruction can be sent to device A and device B, and the chess pieces are rendered respectively.
[0149] Step 7: Repeat the above steps to achieve the effect of A and B playing chess and C watching the game, which is the same as the experience of three people playing chess and watching the game in a real scene. It restores the experience of multi-person collaboration very well and greatly saves the cost of rendering and transmission. In addition, since devices B and C do not need chess application logic processing, the shared experience is more flexible and rich, and the hard disk space occupied by the device is relatively small.
[0150] Based on the multi-tasking characteristics of the multi-tasking system, the above scenario can also be extended to the situation of simultaneously sharing and operating multiple shared rendering objects.
[0151] In an embodiment of the present invention, both object initialization events and object adjustment events are issued by the sharing user. The sharing user first processes the object initialization event with application logic on the sharing provider device to generate an initial rendering instruction. The sharing demander device renders the shared rendering object initialized by the sharing user. Then the sharing user and the sharing demander user can interact with the rendered object through input devices such as handheld handles, that is, issuing a rendered object adjustment event through input devices such as handheld handles, which can adjust the shape, color, size, etc. of the object and / or adjust the position of the object. The sharing provider device processes the object adjustment event with application logic to generate an incremental rendering instruction. The sharing demander device renders according to the incremental rendering instruction to achieve interaction between the user and the shared rendering object.
[0152] For example:
[0153] The sharing provides that user 1 turns on the device, initializes the color, size, etc. of the shared rendering object "little dinosaur" and sets the position of the "little dinosaur" on the display screen (object initialization event);
[0154] The sharing provides that user 1 turns on the device, initializes the size of the shared rendering object "coconut tree" and sets the position of the "coconut tree" on the display screen (object initialization event);
[0155] After the sharing provider device obtains and parses the object initialization event, it obtains the color, size, etc. specified by the user to generate the metadata of the "little dinosaur", and the location specified by the sharing provider user 1 to generate the metadata of the "little dinosaur". Then, the sharing provider device converts the metadata of the "little dinosaur" to be applicable to the call of the sharing demander device, generates the initial rendering instruction containing the "little dinosaur" and sends it to the sharing demander device;
[0156] After the sharing provider device obtains and parses the object initialization event, it obtains the size specified by the user and generates the metadata of the "coconut tree", and generates the metadata of the "coconut tree" at the location specified by the sharing provider 1. Then, the sharing provider device converts the metadata of the "coconut tree" into a call suitable for the sharing demander device, generates an initial rendering instruction containing the "coconut tree" and sends it to the sharing demander device;
[0157] The shared demand-side device renders “little dinosaur” and “coconut tree” according to the initial rendering instruction containing “little dinosaur” and the initial rendering instruction containing “coconut tree”;
[0158] Sharing demand user 2 wants the "little dinosaur" to walk under the "coconut tree", and adjusts the posture of the "little dinosaur" on his own rendering screen;
[0159] The sharing demand side device generates an interaction event according to the operation information adjusted by the sharing demand user 2, and sends the interaction event to the sharing provider side device;
[0160] After the sharing provider device obtains the interaction event of "Little Dinosaur", it executes the application logic processing, extracts the distance adjusted by the sharing demand user 2, generates the posture increment information of "Little Dinosaur" according to the distance adjusted by the sharing demand user 2, generates the rendering instruction of "Little Dinosaur", and sends it to the sharing demand party device;
[0161] The shared demand-side device recalculates the occlusion relationship between the "little dinosaur" and the "coconut tree" according to the rendering instructions of the "little dinosaur", and re-renders the "little dinosaur" and the "coconut tree".
[0162] Through the method of the present invention, after the shared rendering object moves and changes, the sharing provider device only needs to send the rendering instruction of the shared rendering object to the sharing demander device, thereby reducing the pressure of data transmission.
[0163] In some other embodiments of the present invention, after the sharing user initializes the shared rendering object, there may be no need to adjust the object for a period of time. The object only needs to be stationary or move regularly on the display screen according to the logic set by the sharing provider device. In this case, in order to further reduce the amount of data transmission between the sharing provider device and the sharing demander device, the metadata of the shared rendering object also includes a motion model of the shared rendering object. Figure 7 As shown, the method also includes:
[0164] Step 707: the sharing provider device processes the motion model with application logic, generates a model rendering instruction for the shared rendering object, and sends the model rendering instruction to the sharing demander device;
[0165] Step 708: The sharing demander device renders the shared rendering object according to the received model rendering instruction.
[0166] In the embodiments of this invention, the motion model can specify the motion law of the shared rendering object. After the shared provider device sends the model rendering instruction to the shared demander device, it no longer needs to continue to send other rendering instructions to the shared demander device. The shared demander device calculates the metadata increment and position increment of the shared rendering object in real time according to the model rendering instruction, and dynamically renders the shared rendering object in real time, thereby reducing the amount of data transmission between the shared provider device and the shared demander device.
[0167] Based on the same inventive concept, the embodiment of the present invention also provides a 3D content multi-person collaboration device, such as Fig. 9 As shown, including,
[0168] A rendering instruction generating unit 902, configured to generate a rendering instruction for a shared rendering object according to an application logic, wherein the rendering instruction is used to guide the generation of a rendering image of the shared rendering object;
[0169] The rendering instruction sharing unit 903 is used to send the rendering instruction to the sharing demand side device in the multi-person collaborative system, so that the sharing demand side device renders the shared rendering object according to the received rendering instruction to obtain a rendering picture;
[0170] In addition, the device may further include a rendering event receiving unit 901, which is used to receive a rendering event.
[0171] Correspondingly, the embodiment of the present invention further provides a 3D content multi-person collaboration device, such as Fig.10 As shown, including,
[0172] The rendering instruction receiving unit 1001 is used to receive a rendering instruction of a shared rendering object sent by a sharing provider device, where the rendering instruction is generated by the sharing provider device according to application logic, and the rendering instruction is used to guide the generation of a rendering image of the shared rendering object;
[0173] The observation angle information acquisition unit 1002 is used to acquire the observation angle information of the sharing demand user according to the sharing demand party device;
[0174] The rendering unit 1003 is used to render the shared rendering object according to the viewing angle information of the sharing demand user and each rendering instruction to obtain a rendering picture including the shared rendering object.
[0175] Furthermore, an embodiment of the present invention also provides a three-dimensional content multi-person collaboration system, including a sharing provider device and a sharing demander device;
[0176] When rendering, the sharing provider device executes the method executed by the above-mentioned sharing provider device;
[0177] When the shared demand-side device performs rendering, it executes the method executed by the shared demand-side device.
[0178] The beneficial effects obtained by the above-mentioned device and system are consistent with the beneficial effects obtained by the above-mentioned method, and are not described in detail in the embodiments of this specification.
[0179] like Fig.11 The structure diagram of the computer device of the embodiment of the present invention is shown. The apparatus in the present invention can be the computer device in the embodiment, and executes the method of the present invention described above. The computer device 1102 may include one or more processing devices 1104, such as one or more central processing units (CPUs), and each processing unit may implement one or more hardware threads. The computer device 1102 may also include any storage resource 1106, which is used to store any kind of information such as code, settings, data, etc. Non-limitingly, for example, the storage resource 1106 may include any one or more combinations of the following: any type of RAM, any type of ROM, flash memory device, hard disk, optical disk, etc. More generally, any storage resource can use any technology to store information. Further, any storage resource can provide volatile or non-volatile retention of information. Further, any storage resource can represent a fixed or removable component of the computer device 1102. In one case, when the processing device 1104 executes an associated instruction stored in any storage resource or a combination of storage resources, the computer device 1102 can perform any operation of the associated instruction. The computer device 1102 also includes one or more drive mechanisms 1108 for interacting with any storage resources, such as a hard disk drive mechanism, an optical disk drive mechanism, and the like.
[0180] The computer device 1102 may also include an input / output module 1110 (I / O) for receiving various inputs (via input devices 1112) and for providing various outputs (via output devices 1114). A specific output mechanism may include a presentation device 1116 and an associated graphical user interface (GUI) 1118. In other embodiments, the input / output module 1110 (I / O), input device 1112, and output device 1114 may not be included, and the computer device 1102 may be used as a computer device in a network. The computer device 1102 may also include one or more network interfaces 1120 for exchanging data with other devices via one or more communication links 1122. One or more communication buses 1124 couple the components described above together.
[0181] The communication link 1122 may be implemented in any manner, for example, through a local area network, a wide area network (e.g., the Internet), a point-to-point connection, etc., or any combination thereof. The communication link 1122 may include any combination of hardwired links, wireless links, routers, gateway functions, name servers, etc. governed by any protocol or combination of protocols.
[0182] The embodiments of the present invention further provide a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the above method is implemented.
[0183] The embodiments of the present invention also provide a computer-readable instruction, wherein when a processor executes the instruction, the program therein causes the processor to execute the above method.
[0184] It should be understood that in the various embodiments of this document, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this document.
[0185] It should also be understood that in the embodiments of this document, the term "and / or" is only a description of the association relationship of the associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this document generally indicates that the associated objects before and after are in an "or" relationship.
[0186] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this article.
[0187] 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 aforementioned method embodiments and will not be repeated here.
[0188] In the several embodiments provided herein, 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 only schematic, for example, the division of the units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, or can be electrical, mechanical or other forms of connection.
[0189] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the embodiments of this article.
[0190] In addition, each functional unit in each embodiment of this invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above integrated unit may be implemented in the form of hardware or in the form of software functional unit.
[0191] 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 this article is essentially or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of this article. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program codes.
[0192] Specific embodiments are used in this article to illustrate the principles and implementation methods of this article. The description of the above embodiments is only used to help understand the methods and core ideas of this article. At the same time, for general technicians in this field, according to the ideas of this article, there will be changes in the specific implementation methods and application scopes. In summary, the content of this specification should not be understood as a limitation on this article.
Claims
1. A three-dimensional content multi-person collaboration method, characterized in that: The method is applied to a multi-person collaborative system supporting a device for displaying three-dimensional content and is executed by a sharing provider device in the multi-person collaborative system, and includes: Generate rendering instructions for shared rendering objects based on application logic; Generating, according to the application logic, a rendering instruction of a shared rendering object includes: parsing a triggered rendering event, acquiring metadata of the shared rendering object, wherein the metadata of the shared rendering object includes description information and attribute information of the shared rendering object; generating a rendering instruction of the shared rendering object, wherein the rendering instruction is used to guide generation of a rendering image of the shared rendering object; The rendering instruction is sent to the sharing demand side device in the multi-person collaborative system, so that the sharing demand side device renders the shared rendering object according to the received rendering instruction, obtains a rendering picture, and displays the rendering picture to the sharing demand user.
2. The method according to claim 1, characterized in that The rendering instructions for generating a shared rendering object also include: The metadata of the shared rendering object is converted to be applicable to the shared demand-side device.
3. The method according to claim 2, characterized in that The triggered rendering events include: triggered by operation information of the sharing provider user and / or the sharing request user; The sharing demander device renders the shared rendering object according to the received rendering instruction, specifically including: The sharing demand side device renders the shared rendering object according to the received rendering instruction and the observation angle information of the sharing demand user.
4. The method according to claim 2, characterized in that: The metadata of the shared rendering object further includes incremental information, and the rendering event includes an object initialization event and an object adjustment event; The method further comprises: Processing the object initialization event by the application logic to generate an initial rendering instruction for the shared rendering object, and sending the initial rendering instruction to the sharing demand-side device, so that the sharing demand-side device renders the shared rendering object according to the received initial rendering instruction; The object adjustment event is processed by the application logic to generate an incremental rendering instruction for the shared rendering object, and the incremental rendering instruction is sent to the shared demand-side device so that the shared demand-side device renders the shared rendering object according to the received incremental rendering instruction.
5. The method according to claim 2, characterized in that: The metadata of the shared rendering object further includes a motion model of the shared rendering object; The method further comprises: The motion model of the shared rendering object is processed by the application logic to generate a model rendering instruction of the shared rendering object, and the model rendering instruction is sent to the sharing demand-side device so that the sharing demand-side device renders the shared rendering object according to the model rendering instruction.
6. The method according to claim 1, characterized in that The method further comprises: Execute the processing of the application logic according to the interaction event to generate a rendering instruction of the interaction event, wherein the interaction event is triggered by the operation information of the sharing demand user and is sent by the sharing demand party device; The rendering instruction generated by the interaction event is sent to the shared demand-side device, so that the shared demand-side device performs rendering.
7. The method according to claim 6, characterized in that Before receiving the interaction event sent by the shared demand-side device, the method further includes: The interaction authority is sent to the sharing demand party device, so that the sharing demand party device generates the interaction event according to the operation information of the sharing demand user when the interaction authority is allowed.
8. A three-dimensional content multi-person collaboration method, characterized in that: Applied in a multi-person collaborative system supporting a device for displaying three-dimensional content, the method is executed by a shared demand-side device in the multi-person collaborative system, and includes: Receiving a rendering instruction of a shared rendering object sent by a sharing provider device, wherein the rendering instruction is generated by the sharing provider device according to application logic, the sharing provider device parses a triggered rendering event, creates three-dimensional content to be rendered, parses the rendering event and converts it into metadata of the rendering object, and generates the rendering instruction, wherein the step of generating the rendering instruction of the shared rendering object by the sharing provider device includes: parsing the triggered rendering event and acquiring metadata of the shared rendering object, wherein the metadata of the shared rendering object includes description information and attribute information of the shared rendering object; generating the rendering instruction of the shared rendering object, wherein the rendering instruction is used to guide the generation of a rendered image of the shared rendering object; Obtain observation angle information of users who share needs; The shared rendering object is rendered according to the viewing angle information of the user with sharing requirements and each of the rendering instructions to obtain a rendering picture including the shared rendering object, and the rendering picture is displayed to the user with sharing requirements.
9. The method according to claim 8, characterized in that Generating the rendering instruction of the shared rendering object also includes: the sharing provider device performs call conversion on the metadata of the shared rendering object suitable for the sharing demander device.
10. The method according to claim 9, characterized in that The metadata of the shared rendering object further includes incremental information, the rendering event includes an object initialization event and an object adjustment event, the initial rendering instruction is generated by the sharing provider device performing the application logic processing on the object initialization event, and the incremental rendering instruction is generated by the sharing provider device performing the application logic processing on the object adjustment event; The method further comprises: Rendering the shared rendering object according to the received initial rendering instruction and the observation angle information of the user with sharing requirements; The shared rendering object is rendered according to the received incremental rendering instruction and the viewing angle information of the user with sharing requirements.
11. The method according to claim 9, characterized in that The metadata of the shared rendering object further includes a motion model of the shared rendering object, and the model rendering instruction is generated by the sharing provider device performing the application logic processing on the motion model of the shared rendering object; The method further comprises: The shared rendering object is rendered according to the received model rendering instruction and the observation angle information of the sharing demand user.
12. The method according to claim 8, characterized in that The method further comprises: Generate an interaction event according to the operation information of the user with sharing demand; The interaction event is sent to the sharing provider device, so that the sharing provider device executes application logic according to the interaction event.
13. The method according to claim 12, characterized in that Sending the interaction event to the sharing provider device further includes: Determine a corresponding transmission path based on metadata of a shared rendering object targeted by the interaction event; Based on the metadata of the shared rendering object, the interactive event is converted appropriately, and the interactive event after the conversion is sent along the corresponding transmission path.
14. The method according to claim 12, characterized in that Before generating an interaction event according to the operation information of the user requiring sharing, the method further includes: receiving the interaction permission sent by the sharing provider device; When the interaction permission is allowed, the interaction event is generated according to the operation information of the user requiring sharing.
15. A 3D content multi-person collaboration device, characterized in that: The device comprises: A rendering instruction generating unit is used to parse the triggered rendering event, create three-dimensional content to be rendered, parse the rendering event and convert it into metadata of the rendering object, and generate a rendering instruction for the shared rendering object. According to the application logic, generating the rendering instruction for the shared rendering object includes: parsing the triggered rendering event, obtaining metadata of the shared rendering object, wherein the metadata of the shared rendering object includes description information and attribute information of the shared rendering object; generating a rendering instruction for the shared rendering object, wherein the rendering instruction is used to guide the generation of a rendered image of the shared rendering object; The rendering instruction sharing unit is used to send the rendering instruction to the sharing demand party device in the multi-person collaborative system, so that the sharing demand party device renders the shared rendering object according to the received rendering instruction, obtains the rendering picture, and displays the rendering picture to the sharing demand user.
16. A 3D content multi-person collaboration device, characterized in that: The device comprises: A rendering instruction receiving unit is used to receive a rendering instruction of a shared rendering object sent by a sharing provider device, wherein the rendering instruction is generated by the sharing provider device according to application logic, the sharing provider device parses a triggered rendering event, creates three-dimensional content to be rendered, parses the rendering event and converts it into metadata of the rendering object to generate the rendering instruction, and the step of the sharing provider device generating the rendering instruction of the shared rendering object includes: parsing the triggered rendering event, obtaining metadata of the shared rendering object, wherein the metadata of the shared rendering object includes description information and attribute information of the shared rendering object; and generating the rendering instruction of the shared rendering object, wherein the rendering instruction is used to guide the generation of a rendered image of the shared rendering object; An observation angle information acquisition unit, used to acquire the observation angle information of the sharing demand user according to the sharing demand party device; The rendering unit is used to render the shared rendering object according to the viewing angle information of the sharing user and each rendering instruction, obtain a rendering picture including the shared rendering object, and display the rendering picture to the sharing user.
17. A 3D content multi-person collaborative system, comprising a sharing provider device and a sharing demander device; The sharing provider device executes the method according to any one of claims 1 to 7 when rendering; The shared demand-side device executes the method described in any one of claims 8-14 when rendering.
18. A computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the method according to any one of claims 1 to 14 is implemented.
19. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 14 is implemented.
Citation Information
Patent Citations
Dynamic hybrid rendering
US20190155585A1
Dynamic objects in virtual reality environments
WO2018178229A1
Cited By
Multi-person collaboration method for three-dimensional content, and device
EP4723044A1