Three-dimensional model data transmission method, server, client and system

By identifying and distinguishing between the attribute and non-attribute features of a 3D model, and employing adaptive parameter simplification and quantization processing, the problem of rendering distortion during model transmission in existing technologies is solved, achieving efficient and accurate 3D model data transmission and display.

CN119766888BActive Publication Date: 2025-11-28PEKING UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411676700.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-21
Publication Date
2025-11-28
Estimated Expiration
2044-11-21

AI Technical Summary

Technical Problem

In existing technologies, the data transmission of 3D models based on a client-server architecture ignores the semantic features and design intent of the model during the compression process, resulting in distortion and deformation of the rendering results. It cannot be guaranteed that the compressed model still retains the important features of the original model.

Method used

By identifying the attribute features of the 3D model, the data corresponding to the attribute features are first simplified, and the data corresponding to the non-attribute features are second simplified. Simplified model data is generated by using adaptively adjusted simplification parameters and quantization.

Benefits of technology

While improving data transmission efficiency, the key features of the model are preserved, the rendering effect is enhanced, and the amount of data for non-critical features is reduced, thus achieving efficient transmission and display of the model.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119766888B_ABST
    Figure CN119766888B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a three-dimensional model data transmission method, server, client and system, the method comprising: receiving an operation request for a three-dimensional initial model sent by a client; in response to the operation request, performing operation processing on the three-dimensional initial model to obtain a first model; in a case where a number of vertices of the first model is greater than a vertex threshold, identifying attribute features of the first model; performing first simplification processing on first model data corresponding to the attribute features, and performing second simplification processing on second model data corresponding to non-attribute features of the first model to obtain a simplified first model; and sending the simplified first model to the client for the client to display the simplified first model.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present disclosure relate to the technical field of Internet, and more particularly, to a three-dimensional model data transmission method, server, client and system. BACKGROUND

[0002] With the development of the Internet, the client-server architecture is a common CAD system architecture, in which the client is connected to the server through the network, the client sends an operation request of a user, the server processes model data based on the operation request, and returns the processed model data to the client for display, so as to realize data transmission and interaction between the front and back ends.

[0003] In order to improve the real-time performance of data transmission based on the client-server architecture, in the related art, the model data is compressed before the server sends the model data to the client, so as to improve the transmission speed. However, the compression algorithm used in the related art only compresses the mesh from the geometric point of view, which ignores the semantic features and design intent of the model, and cannot guarantee that the compressed mesh still has the important features of the original model, thereby causing the rendering result to be distorted and deformed. SUMMARY

[0004] An object of embodiments of the present disclosure is to provide a new technical solution for three-dimensional model data transmission, which can improve the transmission efficiency of model data while ensuring that the simplified model still has important features of the original model, and improve the rendering effect of the model.

[0005] According to a first aspect of the present disclosure, a three-dimensional model data transmission method is provided, which comprises:

[0006] receiving an operation request of a three-dimensional initial model sent by a client;

[0007] responding to the operation request, processing the three-dimensional initial model to obtain a first model;

[0008] in a case where the number of vertices of the first model is greater than a vertex threshold, identifying attribute features of the first model;

[0009] performing first simplification processing on first model data corresponding to the attribute features, and performing second simplification processing on second model data corresponding to non-attribute features of the first model, to obtain a simplified first model;

[0010] sending the simplified first model to the client for the client to display the simplified first model.

[0011] Optionally, the identifying the attribute features of the first model comprises:

[0012] determine an attribute feature corresponding to the modeling operation information according to the modeling operation information of the three-dimensional initial model and a preset operation corresponding rule, wherein the modeling operation information is operation process information representing construction of the three-dimensional initial model, and the operation corresponding rule is a corresponding relationship between the modeling operation information and the attribute feature;

[0013] take the attribute feature corresponding to the modeling operation information as an attribute feature of the first model.

[0014] Optionally, the first model data corresponding to the attribute feature is subjected to first simplification processing, and second model data corresponding to a non-attribute feature of the first model is subjected to second simplification processing to obtain a simplified first model, including:

[0015] determine a first simplification parameter corresponding to the first simplification processing and a second simplification parameter corresponding to the second simplification processing according to a response time corresponding to a historical operation request, wherein the response time corresponding to the operation request is a time from receiving the operation request by the server to displaying, by the client, the simplified first model corresponding to the operation request returned by the server;

[0016] subject the first model data to the first simplification processing according to the first simplification parameter, and subject the second model data to the second simplification processing according to the second simplification parameter to obtain the simplified first model.

[0017] Optionally, the first simplification parameter includes a compression ratio, the compression ratio is a ratio of a vertex number of the simplified three-dimensional model to a vertex number of the three-dimensional model before simplification, and the first simplification parameter corresponding to the first simplification processing is determined according to the response time corresponding to the historical operation request, including:

[0018] determine a response time difference according to response times corresponding to the last two operation requests;

[0019] in a case where the response time difference is less than a preset time threshold, determine that the first simplification parameter is a first compression ratio;

[0020] in a case where the response time difference is greater than or equal to the preset time threshold, determine that the first simplification parameter is a second compression ratio; wherein the first compression ratio is greater than the second compression ratio.

[0021] Optionally, in a case where the modeling operation information of the three-dimensional initial model represents the attribute feature in an array arrangement, the first model data is subjected to the first simplification processing, including:

[0022] The feature model data corresponding to any attribute feature in the array arrangement is subjected to first simplification processing to obtain simplified feature data;

[0023] The simplified feature data is extended to each arrangement position of the array according to the array arrangement mode of the attribute feature.

[0024] Optionally, the sending of the simplified first model to the client comprises:

[0025] The first simplified model is subjected to fixed-point quantization processing to obtain a quantized first model.

[0026] The quantized first model is generated in the form of a message through an index method.

[0027] The message is compressed and sent to the client.

[0028] Optionally, the first simplification processing is a compression algorithm based on a quadratic error metric to simplify the first model data.

[0029] According to a second aspect of the present disclosure, a three-dimensional model data transmission method is also provided, comprising:

[0030] Sending a user's operation request on a three-dimensional initial model to a server; wherein the server is configured to respond to the operation request to process the three-dimensional initial model to obtain a first model, identify attribute features of the first model in the case that the number of vertices of the first model is greater than a vertex threshold, perform first simplification processing on first model data of the first model, and perform second simplification processing on second model data of the first model to obtain a simplified first model;

[0031] Receiving the simplified first model returned by the server and displaying the simplified first model.

[0032] According to a third aspect of the present disclosure, a server is also provided, comprising a memory and a processor, the memory being configured to store a computer program, the computer program being configured to control the processor to operate to perform the method of the first aspect.

[0033] According to a fourth aspect of the present disclosure, a client is also provided, comprising a memory and a processor, the memory being configured to store a computer program, the computer program being configured to control the processor to operate to perform the method of the second aspect.

[0034] According to a fourth aspect of the present disclosure, a modeling system is also provided, comprising the client of the fourth aspect and the server of the third aspect.

[0035] According to a fifth aspect of this disclosure, a computer-readable storage medium is also provided, on which a computer program is stored, which, when executed by a processor, implements the method described according to a first or second aspect of this disclosure.

[0036] A beneficial effect of this embodiment is that by receiving an operation request for a 3D initial model sent by a client, and responding to the operation request, the 3D initial model is processed to obtain a first model. If the number of vertices in the first model exceeds a vertex threshold, the attribute features of the first model are identified. A first simplification process is performed on the first model data corresponding to the attribute features, and a second simplification process is performed on the second model data corresponding to the non-attribute features of the first model, resulting in a simplified first model. The simplified first model is then sent to the client for display. By identifying the attribute features of the first model, performing a first simplification process on the model data of the attribute feature portion, and performing a second simplification process on the model data of the non-attribute feature portion, the key features of the first model can be preserved, improving the rendering effect of the model. Simultaneously, the amount of data in the non-attribute feature portion can be significantly reduced, improving transmission efficiency.

[0037] Other features and advantages of the embodiments of this disclosure will become clear from the following detailed description of exemplary embodiments with reference to the accompanying drawings. Attached Figure Description

[0038] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the present disclosure and, together with their description, serve to explain the principles of the embodiments of the present disclosure.

[0039] Figure 1 This is a hardware configuration block diagram of a modeling system that can be used to implement the embodiments of this disclosure;

[0040] Figure 2 This is a flowchart illustrating a three-dimensional model data transmission method according to one embodiment;

[0041] Figure 3 This is a flowchart illustrating a three-dimensional model data transmission method according to another embodiment;

[0042] Figure 4 This is a schematic diagram of the structure of a server according to one embodiment;

[0043] Figure 5 This is a schematic diagram of the client's structure according to another embodiment;

[0044] Figure 6 This is a schematic diagram of the structure of a modeling system according to one embodiment. DETAILED DESCRIPTION

[0045] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. Note that the relative arrangement, numerical expressions, and numerical values of components and steps set forth in these embodiments are not limiting to the scope of the present invention unless otherwise specifically stated.

[0046] The following description of at least one exemplary embodiment is merely exemplary in nature and is in no way intended to limit the scope of the application, its application, or uses.

[0047] Techniques, methods, and devices known to those of ordinary skill in the relevant art can not be discussed in detail herein, but should be considered part of the specification.

[0048] In all of the examples shown and discussed herein, any specific values should be interpreted as merely illustrative and not as a limitation. Thus, other examples of the exemplary embodiments can have different values.

[0049] Note that like reference numerals and letters indicate like items in the accompanying drawings, and once an item is defined in one drawing, it need not be discussed further in subsequent drawings.

[0050] With the development of the Internet, modeling systems gradually evolved into networked systems that support multi-user, distributed work. For example, the client-server architecture of CAD systems, in which the client is responsible for providing the user interface and interaction functions, and the server is responsible for processing model data and calculations. The client connects to the server through the network, the client sends requests and receives model data returned by the server, thereby realizing data transmission and interaction between the client and the server. With the improvement and development of network infrastructure, the real-time performance and mobility of cross-platform data transmission have been improved. With the popularity of distributed architecture, the transmission of model data has begun to consider concurrency and asynchrony, thereby ensuring the stability of multi-user systems and the consistency of data.

[0051] In the related art, in order to improve the real-time performance of model data transmission in a client-server-based modeling system, the server often compresses the model data by using a traditional mesh compression algorithm, and then transmits the compressed model data to the client for display. These traditional mesh compression algorithms can be, for example, edge collapse algorithm, voxel fitting method, etc. However, the traditional mesh compression algorithm only compresses the mesh from a geometric point of view, and ignores the semantic features and design intent of the model, so it cannot guarantee that the compressed mesh still maintains the important features of the original model, and may cause distortion and deformation of the rendering result. Moreover, in the process of designing some assemblies through the modeling system, due to the lack of maintenance of key features by the traditional mesh compression algorithm, the function of the workpiece may also be lost.

[0052] <Hardware configuration>

[0053] Figure 1 is a schematic diagram of the modeling system that can be used to implement the embodiments of the present disclosure. The system can be applied to the application scenario of constructing a three-dimensional model as a whole. As shown in Figure 1 , the system can include a server 1000 and a client 2000.

[0054] The server 1000 and the client 2000 can be connected through a network communication to realize information interaction.

[0055] The client 2000 can receive a user's operation request for a three-dimensional initial model. The client can be a locally installed software application.

[0056] The client 2000 is in communication connection with the server 1000, and the server 1000 can perform operation processing on the three-dimensional initial model according to the operation request for the three-dimensional initial model sent by the client 2000, and return a first model to the client 2000, so that the client 2000 displays the first model, thereby realizing the user's operation on the three-dimensional initial model.

[0057] The server 1000 is a service point for providing processing, database, communication facilities. The server 1000 can be an integrated server, a distributed server across multiple computers, a computer data center, a cloud server, or a server cluster deployed in the cloud, etc. The order management and distribution management of the same platform can be responsible by the same device in the server cluster, or can be responsible by different devices in the server cluster, which is not limited here.

[0058] In some embodiments, as shown in Figure 1 , the server 1000 can include a processor 1100, a memory 1200, an interface device 1300, and a communication device 1400.

[0059] The processor 1100 is configured to execute a computer program, which can be written in an instruction set of an architecture such as x86, Arm, RISC, MIPS, SSE, or the like. The memory 1200 includes, for example, a ROM (Read Only Memory), a RAM (Random Access Memory), a nonvolatile memory such as a hard disk, or the like. The interface device 1300 includes, for example, various bus interfaces such as a serial bus interface (including a USB interface), a parallel bus interface, or the like. The communication device 1400 is capable of wired or wireless communication, for example; the communication device 1400 can include, for example, any module for WLAN, GPRS, 3G / 4G / 5G remote communication.

[0060] In some embodiments, the memory 1200 of the server 1000 is configured to store a computer program for controlling the processor 1100 to operate to implement the three-dimensional model data transmission method according to the embodiments of the present disclosure. The skilled person can design the instructions according to the disclosed solutions. How the instructions control the processor to operate is known in the art, and thus will not be described in detail here.

[0061] The client 2000 can be, for example, a mobile phone, a tablet computer, a notebook computer, a desktop computer, or other portable devices, or the like.

[0062] In some embodiments, as shown in Figure 1 The client 2000 can include, for example, a processor 2100, a memory 2200, an interface device 2300, a communication device 2400, a display device 2500, an input device 2600, a loudspeaker 2700, a microphone 2800, and the like.

[0063] The processor 2100 is configured to execute a computer program, which can be written in an instruction set of an architecture such as x86, Arm, RISC, MIPS, SSE, etc. The memory 2200 includes, for example, a ROM (Read-Only Memory), a RAM (Random Access Memory), a nonvolatile memory such as a hard disk, etc. The interface device 2300 includes, for example, a USB interface, a headphone interface, etc. The communication device 2400 is capable of wired or wireless communication, for example, and can include at least one short-range communication module, such as any module for short-range wireless communication based on a Hilink protocol, a WiFi (IEEE 802.11 protocol), a Mesh, a Bluetooth, a ZigBee, a Thread, a Z-Wave, an NFC, a UWB, a LiFi, etc., and can also include a long-range communication module, such as any module for WLAN, GPRS, 2G / 3G / 4G / 5G long-range communication. The display device 2500 is, for example, a liquid crystal display, a touch display, etc. The input device 2600 can include, for example, a touch screen, a keyboard, etc. The speaker 2700 is configured to output an audio signal. The microphone 2800 is configured to acquire an audio signal.

[0064] In some embodiments, the memory 2200 of the client 2000 is configured to store a computer program for controlling the processor 2100 to operate to perform the three-dimensional model data transmission method according to the embodiments of the present disclosure.

[0065] It should be understood that, although Figure 1 Only one server 1000 and one client 2000 are shown, but this does not mean that the number of each is limited, and the system can include multiple servers, multiple clients, etc.

[0066] <Method Embodiments>

[0067] Figure 2 is a flowchart of a three-dimensional model data transmission method according to an embodiment. The three-dimensional model data transmission method of the embodiments of the present disclosure can be applied to any modeling scenario, for example, a modeling scenario of a ship, a modeling scenario of a vehicle, etc., and those skilled in the art should understand that the three-dimensional model data transmission method of the embodiments of the present disclosure can be applied to any field related to modeling, and the present disclosure does not limit the specific modeling scenario. The method can be implemented by, for example, Figure 1 the server 1000 as described above.

[0068] As shown in Figure 2 the three-dimensional model data transmission method of the embodiments can include the following steps S210-S260:

[0069] Step S210: receiving an operation request for a three-dimensional initial model sent by a client.

[0070] In this embodiment, the three-dimensional initial model is displayed by the client. The three-dimensional initial model can be a three-dimensional model created by the modeling system as shown in the figure, a three-dimensional model provided by other modeling systems, or a three-dimensional model being created, which is not limited here. Figure 1

[0071] The three-dimensional initial model can be a three-dimensional model in a vehicle modeling scene, such as the shell, body, seat, and dashboard of a vehicle, a three-dimensional model in a ship modeling scene, such as a cabin, bridge, and hull, or a three-dimensional model in other modeling scenes. Those skilled in the art should understand that the specific type of the three-dimensional initial model is not limited here.

[0072] If the user wants to operate the three-dimensional initial model, such as stretching and enlarging, the corresponding input can be performed. The client determines the operation request corresponding to the user input based on the user input and sends the operation request to the server.

[0073] Step S220, in response to the operation request, performing operation processing on the three-dimensional initial model to obtain a first model.

[0074] In this embodiment, the server performs operation processing on the three-dimensional initial model according to the received operation request to obtain a first model.

[0075] Since the data amount of the first model obtained by performing operation processing on the three-dimensional initial model can be large, the server can need a long transmission time when transmitting the first model to the client for display, which is difficult to ensure the real-time response of the operation. Therefore, according to the number of vertices of the first model, steps S230-S250 are selected to be executed to improve the transmission efficiency.

[0076] The number of vertices is used to determine whether the first model needs to be compressed (simplified). When the number of vertices is less than or equal to a vertex threshold, it means that the data amount of the first model is small, and the first model can be directly sent to the client for display.

[0077] Step S230, in the case where the number of vertices of the first model data is greater than the vertex threshold, identifying the attribute features of the first model.

[0078] In this embodiment, when the number of vertices is greater than the vertex threshold, it means that the data amount of the first model is large, and directly transmitting the first model to the client needs to spend a long transmission time, at which time compression (simplification) processing is needed.

[0079] The vertex threshold can be a critical value of the number of vertices set by the designer according to the network performance of the modeling system.​

[0080] In one example, the vertex threshold can be 4096.

[0081] The attribute features of the first model can at least include semantic features and functional features. The semantic features can be features in the three-dimensional model that have specific meanings or purposes, such as "door", "window", etc., which are usually related to the use or function of the three-dimensional model. The functional features can be features in the three-dimensional model that have specific functions or effects, such as "support", "connection", etc., which are usually related to the engineering or physical properties of the three-dimensional model.

[0082] In some examples, the attribute features of the first model can also include geometric features and topological features, etc. The geometric features can be vertices, edges, faces, and bodies of the three-dimensional model. The topological features can be the connection relationships between the vertices, edges, and faces of the three-dimensional model, etc.

[0083] Since the three-dimensional initial model can be a three-dimensional model created by the modeling system as shown in Figure 1 , it can also be a three-dimensional model provided by other modeling systems. For these two cases, different ways of identifying attribute features can be adopted.

[0084] In the case where the three-dimensional initial model is a three-dimensional model created by the modeling system as shown in Figure 1 , the identification of the attribute features of the first model in step S230 includes steps S2301 and S2302.

[0085] In step S2301, the attribute features corresponding to the modeling operation information are determined according to the modeling operation information of the three-dimensional initial model and the preset operation corresponding rules.

[0086] In this embodiment, in the case where the three-dimensional initial model is created by the modeling system as shown in Figure 1 , the modeling operation information of the three-dimensional initial model can be obtained. The modeling operation information is the operation process information representing the construction of the three-dimensional initial model, i.e., the record of all operation steps performed by the user in the process of creating the three-dimensional model. These operations can include creating geometric bodies, modifying shapes, applying transformations (such as translation, rotation, scaling), adding or modifying features, etc.

[0087] In some examples, the modeling operation information of the three-dimensional initial model can be presented in the form of a feature tree.

[0088] In this example, the feature tree is a data structure used to organize and manage the construction process of the three-dimensional initial model. In the feature tree, each node represents an operation or feature, and the connections between nodes represent the order and dependency of operations.

[0089] According to the embodiment of the present application, the modeling operation information is organized in the form of a tree diagram, so that the user can better control and manage the modeling process, and improve the design efficiency and quality.

[0090] The operation corresponding rule reflects the corresponding relationship between the modeling operation information and the attribute feature.

[0091] In some examples, the operation corresponding rule can be that an "arc" corresponds to a sketch element, and a "hole" corresponds to modeling operation information of "stretching operation + difference operation + geometrically penetrating".

[0092] In step S2302, the attribute feature corresponding to the modeling operation information is taken as the attribute feature of the first model.

[0093] In the embodiment, the first model is obtained by performing one operation on the three-dimensional initial model, and the difference between the two is not large, so the attribute feature of the three-dimensional initial model can be directly taken as the attribute feature of the first model.

[0094] In the case where the three-dimensional initial model is a three-dimensional model provided by another modeling system, due to the communication barrier between different modeling systems, the modeling operation information of the three-dimensional initial model cannot be obtained, or due to the difference in operation corresponding rules of different modeling systems, although the modeling operation information of the three-dimensional initial model can be obtained, the correct attribute feature cannot be inversely calculated according to the modeling operation information. At this time, local shape matching or machine learning, deep learning and other methods can be used to identify the attribute feature of the three-dimensional initial model.

[0095] In the embodiment, the first model includes attribute features and non-attribute features. After identifying the attribute features of the first model, the first model data corresponding to the attribute features can be determined, and then the first model data is deleted from the first model. At this time, the remaining model data of the first model is the second model data corresponding to the non-attribute features. That is, the first model includes first model data corresponding to the attribute features and second model data corresponding to the non-attribute features. By identifying the attribute features of the first model, the first model data and the second model data can be distinguished, thereby facilitating subsequent model simplification processing.

[0096] In step S240, the first model data corresponding to the attribute features is subjected to first simplification processing, and the second model data corresponding to the non-attribute features of the first model is subjected to second simplification processing, to obtain a simplified first model.

[0097] In the embodiment, the first model data of the attribute feature part and the second model data of the non-attribute feature part are respectively subjected to different simplification processing when the first model is simplified, and the simplified first model is obtained. The first simplification processing can be simplification processing that can retain the shape of the attribute feature part. The second simplification processing can be any simplification processing that can compress model data.

[0098] In some embodiments, the first simplification processing is simplification processing of the first model data by a compression algorithm based on a quadratic error metric.

[0099] In the embodiment, the simplification processing of the compression algorithm based on the quadratic error metric is effective simplification processing of the model data by evaluating the error between the simplified model and the model before simplification, in particular the error of the quadratic term. The purpose of the simplification processing is to reduce the complexity of the model while maintaining the visual quality of the model, and to ensure that the simplified model is consistent with the original model in key features.

[0100] The compression algorithm based on the quadratic error metric can also be referred to as a Quadric Error Metrics (QEM) algorithm. The QEM algorithm is a mesh simplification algorithm based on error metrics, which selects the best simplification scheme by calculating the error metric of the vertex merging operation. The QEM algorithm can reduce the number of vertices of the model while maintaining the shape and details of the model, thereby achieving efficient simplification and optimization of the mesh.

[0101] In some examples, the QEM algorithm can be integrated in a face reduction modifier. When the server performs the first simplification processing, the face reduction modifier can be called through the communication interface to simplify the model data.

[0102] The face reduction modifier includes a plurality of simplification parameters, and the correspondence between the simplification parameters and the parameter meanings is shown in Table 1.

[0103]

[0104] When the QEM algorithm is used, the above simplification parameters can be adjusted according to requirements, so as to perform different simplification operations to meet the simplification requirements.

[0105] In some embodiments, the second simplification processing is simplification processing of the model data by an edge collapse algorithm or a voxel fitting algorithm.

[0106] In this embodiment, the edge collapse decimation is a mesh-based simplification technique that reduces the number of polygons by merging adjacent vertices in the mesh. The voxel-based simplification is a voxel (three-dimensional pixel)-based simplification technique that simplifies the model by converting the model into a voxel representation and then operating on the voxels. If fast simplification is required and the accuracy requirement is not particularly high, the edge collapse decimation can be used for simplification. If the model detail requirement is not high but the model complexity needs to be greatly reduced, the voxel-based simplification can be used for simplification. In addition, the computation of the voxel-based simplification is greater than that of the edge collapse decimation. When the load of the system is large, the edge collapse decimation with less computation can be used for simplification.

[0107] In some examples, the simplification of the model data based on the edge collapse decimation or the voxel-based simplification can cause the model to become less smooth, and the Laplacian smoothing can be used to improve the model quality.

[0108] Those skilled in the art should understand that the Laplacian smoothing is a conventional technique in the art, which is not described here.

[0109] In step S250, the simplified first model is sent to the client for the client to display the simplified first model.

[0110] According to the embodiments of the present application, by receiving the operation request for the three-dimensional initial model sent by the client, the three-dimensional initial model is processed in response to the operation request, the first model is obtained, in the case that the number of vertices of the first model is greater than the vertex threshold, the attribute feature of the first model is identified, the first simplification processing is performed on the first model data corresponding to the attribute feature, and the second simplification processing is performed on the second model data corresponding to the non-attribute feature of the first model, the simplified first model is obtained, and the simplified first model is sent to the client for the client to display the simplified first model. By identifying the attribute feature of the first model, performing the first simplification processing on the model data of the attribute feature part, and performing the second simplification processing on the model data of the non-attribute feature part, the key features of the first model can be retained, the rendering effect of the model can be improved, and the data amount of the non-attribute feature part can be greatly reduced, and the transmission efficiency can be improved.

[0111] In the existing mesh compression algorithm, the configuration of the simplified parameter depends on predefinition or user designation. The pre-defined parameter cannot be changed after being set, and it cannot be applied to differentiated network environment. The user-designated parameter requires the user to have certain experience and understanding. The above two kinds of simplified parameter configurations cannot be self-adaptively adjusted according to the network environment, and have the problem of requiring higher experience and understanding of the user. On this basis, the embodiment of the present application further provides a method for self-adaptively adjusting the simplified parameter, that is, the first simplified processing of the first model data corresponding to the attribute feature and the second simplified processing of the second model data corresponding to the non-attribute feature of the first model in step S240, to obtain the simplified first model, comprising steps S2411-S2412.

[0112] In step S2411, the first simplified parameter corresponding to the first simplified processing and the second simplified parameter corresponding to the second simplified processing are determined according to the response time corresponding to the historical operation request.

[0113] In the embodiment, the server can determine the load variation of the system according to the response time corresponding to the historical operation request, and further determine the corresponding first simplified parameter and second simplified parameter.

[0114] The response time corresponding to the operation request is the time from receiving the operation request from the server to the client displaying the simplified first model corresponding to the operation request returned by the server.

[0115] For each network connection between a client and a server, the server will monitor the quality of the connection and characterize it through the response time. When the server receives an operation request and is ready to start the operation, the time stamp at this moment is recorded. When the client completely receives the simplified first model corresponding to the operation request returned by the server (i.e., the server returns the simplified first model after step S220 and step S250) and successfully displays it, the client will send the time stamp of completely receiving the simplified first model to the server. The server estimates the response time corresponding to the operation request through the difference between the above two time stamps, and adjusts the first simplified parameter and the second simplified parameter based on this.

[0116] In some examples, the first simplified processing is a simplified processing of the first model data by a compression algorithm based on quadratic error measurement, the second simplified processing is a simplified processing of the second model data by an edge folding algorithm, and the first simplified parameter and the second simplified parameter are both compression ratios. If the response time corresponding to the historical operation request always shows an increasing trend, it means that the load is always increasing, and the compression ratio can be increased. If the response time corresponding to the historical operation request always shows a decreasing trend, it means that the load is always decreasing, and the compression ratio can be decreased.

[0117] In some examples, the first simplification processing is a compression algorithm based on a quadratic error metric, the second simplification processing is a voxel fitting method, and the first simplification parameter is a compression ratio and the second simplification parameter is a voxel size. In this case, if the response time corresponding to the historical operation requests has been increasing, it indicates that the load is increasing, and the voxel size can be increased. If the response time corresponding to the historical operation requests has been decreasing, it indicates that the load is decreasing, and the voxel size can be decreased.

[0118] In step S2412, the first model data is subjected to first simplification processing according to the first simplification parameter, and the second model data is subjected to second simplification processing according to the second simplification parameter, to obtain a simplified first model.

[0119] In some examples, the first simplification parameter includes a compression ratio, and the compression ratio is a ratio of a number of vertices of the simplified three-dimensional model to a number of vertices of the three-dimensional model before simplification. The greater the compression ratio, the smaller the model precision, and the smaller the compression ratio, the greater the model precision.

[0120] In this embodiment, the compression ratio can be a range value or a fixed value, which is not limited here.

[0121] In these examples, determining the first simplification parameter corresponding to the first simplification processing according to the response time corresponding to the historical operation requests in step S2411 includes steps S2411.1-S2411.3.

[0122] In step S2411.1, a response time difference is determined according to the response times corresponding to the last two operation requests.

[0123] In step S2411.2, the first simplification parameter is determined as a first compression ratio in a case where the response time difference is less than a preset time threshold.

[0124] In step S2411.3, the first simplification parameter is determined as a second compression ratio in a case where the response time difference is greater than or equal to the preset time threshold, and the first compression ratio is greater than the second compression ratio.

[0125] For example, the preset time threshold is 200 ms. In the case that the operation request received by the server in step S210 is the third operation request, if the first response time corresponding to the first operation request is 500 ms, and the second response time corresponding to the second operation request is 300 ms, the response time difference between the first response time 500 ms and the second response time 300 ms is equal to 200 ms, which is equal to the preset time threshold, indicating that the load is reduced, and the model precision can be increased, that is, the first simplification parameter is determined as the second compression ratio. If the first response time corresponding to the first operation request is 300 ms, and the second response time corresponding to the second operation request is 500 ms, the difference -200 ms is less than the preset time threshold 200 ms, indicating that the load is increased, and the model precision can be reduced, that is, the first simplification parameter is determined as the first compression ratio.

[0126] According to the embodiments of the present application, by determining the first simplification parameter corresponding to the first simplification processing and the second simplification parameter corresponding to the second simplification processing according to the response time corresponding to the historical operation request, the adaptive adjustment of the simplification parameter can be realized, the problem that the simplification parameter in the existing grid compression algorithm cannot be adaptively adjusted according to the network environment and the requirement of high experience and understanding of the user can be avoided, and the adaptive control of the model precision is improved.

[0127] In some embodiments, in the case that the modeling operation information of the three-dimensional initial model represents the attribute features in an array arrangement, the first simplification processing of the first model data in step S240 includes steps S2401 and S2402.

[0128] In step S2401, the feature model data corresponding to any attribute feature arranged in an array is subjected to the first simplification processing, and simplified feature data is obtained.

[0129] In the embodiments, in the case that the modeling operation information of the three-dimensional initial model represents the attribute features in an array arrangement, the first model data in the first model obtained by the operation processing of the three-dimensional initial model also includes feature model data corresponding to a plurality of attribute features arranged in an array, that is, the first model data includes feature model data corresponding to a plurality of attribute features arranged in an array.

[0130] The array arrangement can be a rotational array arrangement or a translational array arrangement.

[0131] In one example, the three-dimensional initial model can be a gear, and the modeling process can be: first generating a cylinder; then generating a "tooth" of the gear by stretching, using the rotational array tool to make the "tooth" evenly distributed on the side of the cylinder; then generating a hole through the axis of the cylinder; and finally rounding the intersection of the hole and the bottom surface of the cylinder. In this case, through the modeling operation information of the three-dimensional initial model and the preset operation corresponding rule, it can be identified that the "tooth" of the gear is the attribute feature of the gear, and the modeling operation information represents that the "tooth" is evenly distributed on the side of the cylinder in a rotational array. In this case, when any one of the "tooth" is subjected to the first simplification processing, the simplified feature data of the "tooth" can be obtained.

[0132] In step S2402, the simplified feature data is extended to each arrangement position of the array according to the array arrangement mode of the attribute feature.

[0133] Continuing the above example, the "tooth" feature simplification data is extended to each arrangement position of the rotational array according to the rotational array arrangement mode of the "tooth" in the modeling operation information.

[0134] According to the embodiments of the present application, in the case where the modeling operation information of the three-dimensional initial model represents that the attribute feature is arranged in an array, the feature model data corresponding to any attribute feature arranged in an array is subjected to the first simplification processing, and the simplified feature data is obtained. The simplified feature data is extended to each arrangement position of the array according to the array arrangement mode of the attribute feature. The calculation amount of the first simplification processing can be reduced, and the data transmission efficiency can be further improved.

[0135] In some embodiments, the step S250 of sending the simplified first model to the client includes steps S2501-S2503.

[0136] In step S2501, the simplified first model is subjected to fixed-point quantization processing to obtain a quantized first model.

[0137] In this embodiment, fixed-point quantization can be converting a floating-point number (which usually occupies more storage space) into a fixed-point number (which occupies less storage space). The quantization process can reduce the accuracy of data, but can significantly reduce the data amount.

[0138] In step S2502, the message of the quantized first model is generated by indexing.

[0139] In this embodiment, the message is an index of the quantized first model. That is, the message transmitted from the server to the client is an index of the quantized first model, which is faster than directly transmitting the first model. After receiving the message, the client can load the quantized first model using this index.

[0140] Step S2503: Compress the message and send it to the client.

[0141] In this embodiment, gzip technology is used to compress the message before data transmission, thereby reducing the message size.

[0142] According to an embodiment of this application, a quantized first model is obtained by performing fixed-point quantization on the simplified first model, and a message of the quantized first model is generated using an indexing method; the message is then compressed and sent to the client. This reduces the amount of data during transmission, allows for faster data transmission, reduces transmission time, and lowers the demand for network bandwidth.

[0143] like Figure 3 The diagram shows a flowchart of a three-dimensional model data transmission method according to another embodiment, which can be executed by a client 2000. The method includes steps S310 and S320.

[0144] Step S310: Send a user's operation request for the 3D initial model to the server.

[0145] In this embodiment, the server is used to process the three-dimensional initial model in response to the operation request to obtain a first model. When the number of vertices in the first model is greater than the vertex threshold, the server identifies the attribute features of the first model, performs a first simplification process on the first model data corresponding to the attribute features, and performs a second simplification process on the second model data corresponding to the non-attribute features of the first model to obtain a simplified first model.

[0146] In this embodiment, the server's processing of the operation request is detailed in steps S210 to S250, and will not be repeated here.

[0147] Step S320: Receive the simplified first model returned by the server and display the simplified first model.

[0148] According to the embodiment of the present application, the client sends a user's operation request on the three-dimensional initial model to the server, receives the simplified first model returned by the server, and displays the simplified first model. Compared with directly displaying the first model, displaying the simplified first model can reduce the loading and displaying time of the client, while ensuring that the key features of the first model are not lost and improving the rendering effect.

[0149] <Medium embodiment>

[0150] In the embodiments of the present disclosure, a computer readable storage medium is also provided, which stores a computer program readable and executable by a computer, and the computer program is used to execute the method according to any of the above method embodiments when being read and executed by the computer.

[0151] <Device embodiment>

[0152] Figure 4 FIG. 4 is a structural schematic diagram of a server according to an embodiment.

[0153] As shown in Figure 4 , the server 400 includes a memory 402 and a processor 401, the memory 402 is used to store a computer program, and the computer program is used to control the processor 401 to perform operations to execute the method performed by the server according to any of the above method embodiments.

[0154] Figure 5 FIG. 5 is a structural schematic diagram of a client according to an embodiment.

[0155] As shown in Figure 5 , the client 500 includes a memory 502 and a processor 501, the memory 502 is used to store a computer program, and the computer program is used to control the processor 501 to perform operations to execute the method performed by the client according to any of the above method embodiments.

[0156] <System embodiment>

[0157] Figure 6 FIG. 6 is a structural schematic diagram of a modeling system 600 according to an embodiment.

[0158] As shown in Figure 6 , the modeling system 600 includes a client 601 and a server 602.

[0159] In some embodiments, the client 601 can be a client as shown in Figure 1 , or a client as shown in Figure 5 .

[0160] In some embodiments, the server 602 can be a server as shown inFigure 1 the server as shown, or as Figure 4 the server as shown.

[0161] The present application can be a system, a method, and / or a computer program product. The computer program product can include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present application.

[0162] The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium can be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium include the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or punched tape, a

[0163] The computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network can comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.

[0164] Computer readable program instructions for carrying out operations of the present application can be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate array (FPGA), or programmable logic array (PLA) can execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present application.

[0165] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0166] These computer readable program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions can also be stored in a computer readable storage medium that can include random access memory (RAM), read only memory (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or nonvolatile memory, or a suitable combination of the different types of computer readable storage media. The computer readable program instructions can also be downloaded to a computer, other programmable data processing apparatus, or other device from a computer readable storage medium or to an external computer or external storage device via a data signal that can be transmitted for example via a wired medium or a wireless medium such as the Internet or Wireless Application Protocol (WAP) signaling.

[0167] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer, other programmable data processing apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.

[0168] The flow diagrams and the block diagrams in the drawings are meant as possible implementations of a system, method, or computer program product according to the application. It should be noted that each block of the flow diagrams and / or block diagrams and combinations thereof can be implemented by hardware that performs the specified functions or acts, or combinations of hardware and computer program product(s). For instance, the functions can be performed by one or more operatively activated processors (e.g., CPUs, ASICs, FPGAs, etc.). Each block can also represent a portion of a computer program product that includes one or more computer program instructions (e.g., a logical expression) that embody some or all of the described functionality, or a portion thereof. The computer program instructions can be written in any of various languages, scripting languages, or programming languages, including C, C++, Java, Visual Basic, etc. The computer program instructions can be compiled or interpreted as desired. Each block can also represent a logical expression, a logical expression, or a portion thereof.

[0169] The embodiments of the application described above are intended to be exemplary only. The scope of the application should be determined not with reference to the above description, but should be given sole reference to the appended claims.

Claims

1. A three-dimensional model data transmission method characterized by, The method comprises: receiving an operation request on a three-dimensional initial model sent by a client; performing operation processing on the three-dimensional initial model to obtain a first model in response to the operation request; in a case where a number of vertices of the first model is greater than a vertex threshold, identifying attribute features of the first model; performing first simplification processing on first model data corresponding to the attribute features and second simplification processing on second model data corresponding to non-attribute features of the first model to obtain a simplified first model; sending the simplified first model to the client for displaying the simplified first model by the client; the first simplification processing and the second simplification processing comprise: determining a first simplification parameter corresponding to the first simplification processing and a second simplification parameter corresponding to the second simplification processing according to response times corresponding to historical operation requests; wherein the response time corresponding to the operation request is a time from receiving the operation request by a server to displaying, by the client, the simplified first model corresponding to the operation request returned by the server; performing the first simplification processing on the first model data according to the first simplification parameter and performing the second simplification processing on the second model data according to the second simplification parameter to obtain the simplified first model.

2. The method of claim 1, wherein, the identification of the attribute features of the first model comprises: determining attribute features corresponding to modeling operation information of the three-dimensional initial model according to the modeling operation information and a preset operation corresponding rule; wherein the modeling operation information is operation process information representing construction of the three-dimensional initial model, and the operation corresponding rule reflects a corresponding relationship between the modeling operation information and the attribute features; the attribute features corresponding to the modeling operation information are taken as the attribute features of the first model.

3. The method of claim 1, wherein, the first simplification parameter comprises a compression ratio, the compression ratio being a ratio of a number of vertices of a simplified three-dimensional model to a number of vertices of a three-dimensional model before simplification, and the determination of the first simplification parameter corresponding to the first simplification processing according to the response times corresponding to the historical operation requests comprises: determining a response time difference according to response times corresponding to the last two operation requests; in a case where the response time difference is less than a preset time threshold, determining the first simplification parameter as a first compression ratio; in a case where the response time difference is greater than or equal to the preset time threshold, determining the first simplification parameter as a second compression ratio; wherein the first compression ratio is greater than the second compression ratio.

4. The method of claim 1, wherein, in a case where the modeling operation information of the three-dimensional initial model represents attribute features arranged in an array, the first simplification processing on the first model data comprises: performing first simplification processing on feature model data corresponding to any attribute feature arranged in an array to obtain simplified feature data; extending the simplified feature data to each arrangement position of the array according to an array arrangement mode of the attribute features.

5. The method of claim 1, wherein, The sending of the simplified first model to the client comprises: Point quantization processing is performed on the simplified first model to obtain a quantized first model. The quantized first model is generated in an index manner to obtain a message of the quantized first model. The message is compressed and sent to the client.

6. The method according to any one of claims 1 to 5, characterized in that, The first simplification processing is a simplification processing of the first model data based on a quadratic error metric compression algorithm.

7. A three-dimensional model data transmission method characterized by comprising: Comprise: sending a user's operation request on a three-dimensional initial model to a server; wherein the server is configured to perform operation processing on the three-dimensional initial model to obtain a first model, identify attribute features of the first model in a case where a number of vertices of the first model is greater than a vertex threshold, perform first simplification processing on first model data corresponding to the attribute features, and perform second simplification processing on second model data corresponding to non-attribute features of the first model to obtain a simplified first model; receiving the simplified first model returned by the server and displaying the simplified first model; The first simplification processing on the first model data corresponding to the attribute features and the second simplification processing on the second model data corresponding to the non-attribute features of the first model to obtain the simplified first model comprise: determining a first simplification parameter corresponding to the first simplification processing and a second simplification parameter corresponding to the second simplification processing according to response times corresponding to historical operation requests; wherein the response time corresponding to the operation request is a time from receiving the operation request by the server to displaying, by the client, the simplified first model corresponding to the operation request returned by the server; performing first simplification processing on the first model data according to the first simplification parameter, and performing second simplification processing on the second model data according to the second simplification parameter to obtain the simplified first model.

8. A server comprising a memory and a processor, the memory being configured to store a computer program, the computer program being configured to control the processor to perform operations to execute the method according to any one of claims 1 to 6.

9. A client, characterized in that, The memory is configured to store a computer program, the computer program being configured to control the processor to perform operations to execute the method according to claim 7.

10. A modeling system, characterized by, The client according to claim 9 and the server according to claim 8 are comprised.

Citation Information

Patent Citations

  • Mass model loading method based on model data high compression

    CN110570518A

  • Three-dimensional model display method and apparatus, and electronic device and storage medium

    WO2024103756A1