Method, device and computer-readable storage medium for transmitting and receiving three-dimensional data
By rastering the three-dimensional data model into a two-dimensional image and using compression methods, the problem of low three-dimensional data transmission efficiency is solved, and the data transmission volume and transmission efficiency are reduced.
Patent Information
- Application Number
- CN202010654202.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-07-08
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2040-07-08
AI Technical Summary
Large-scale three-dimensional data consumes a lot of bandwidth when transmitted in the network, and the prior art has bottlenecks in transmission efficiency.
The data transmission amount is reduced by rastering the three-dimensional data model in a conformal mapping into a two-dimensional image, and the compression method of the two-dimensional image is used.
It effectively reduces the amount of data transmission, improves the transmission efficiency, and improves the rendering speed when rendering on the client side.
Smart Images

Figure CN113240788B_ABST
Abstract
Description
Background Art
[0002] Transmitting large-scale geometric data (e.g., 3D data) over the network consumes a lot of bandwidth. Currently, there are two main types of solutions: one is to render on the server side and transmit the result to the client; the other is to transmit the data to the client and have the client render it. Both solutions have their own advantages and disadvantages, and also have their own bottlenecks.
[0003] For example, in the second solution, since the amount of geometric data is usually large, it is hoped to reduce the amount of data transmission and improve the transmission efficiency. Summary of the invention
[0004] In view of this, various aspects of the embodiments of the present disclosure provide a transmission and reception scheme for three-dimensional data. According to the embodiments of the present disclosure, large-scale three-dimensional data can be rasterized into two-dimensional images, so that compression methods that can be generally applied to two-dimensional images can be used during transmission, thereby effectively reducing the amount of data transmitted and improving transmission efficiency.
[0005] In a first aspect, the present disclosure provides a method for transmitting three-dimensional data implemented by a computing device. The method comprises: rasterizing a three-dimensional data model to be transmitted into one or more two-dimensional images by conformal mapping, wherein the three-dimensional data model is used to represent a three-dimensional object; compressing the two-dimensional image; and transmitting the compressed two-dimensional image to another device.
[0006] In some embodiments, rasterizing a three-dimensional data model to be transmitted into one or more two-dimensional images through conformal mapping includes: dividing the three-dimensional data model into a number of topological quadrilateral blocks; conformally mapping each quadrilateral block onto a standard rectangle; and representing each standard rectangle using a two-dimensional image.
[0007] In some embodiments, each topological quadrilateral block is a manifold with only one boundary.
[0008] In some embodiments, conformally mapping each quadrilateral block onto a standard rectangle includes mapping the quadrilateral block onto the standard rectangle using a surface Ricci flow method.
[0009] In some embodiments, mapping a quadrilateral block onto a standard rectangle using a surface Ricci flow method includes: setting a target curvature based on the standard rectangle; constructing and optimizing discrete entropy energy to obtain a target straightness metric; and embedding the topological quadrilateral block into the standard rectangle equidistantly.
[0010] In some embodiments, the two-dimensional image includes at least one of the following attribute information: color and texture of the three-dimensional data model.
[0011] In some embodiments, rasterizing a three-dimensional data model to be transmitted into one or more two-dimensional images through conformal mapping includes: obtaining a polygonal mesh representing the surface geometry of a three-dimensional object from the three-dimensional data model; cutting the polygonal mesh along a set of cutting paths to form a new mesh with a disk topology; parameterizing the new mesh to a rectangular domain of the two-dimensional image; and sampling the geometry of the polygonal mesh on the rectangular domain of the two-dimensional image.
[0012] In some embodiments, the polygonal mesh is a two-dimensional manifold mesh.
[0013] In some embodiments, the cutting path set is determined based on extremum positions in the polygonal mesh so that the cutting paths in the cutting path set pass through as many extremum positions in the polygonal mesh as possible.
[0014] In some embodiments, parameterizing the new mesh to a rectangular domain of a two-dimensional image includes parameterizing the boundary so that each cutting node on a cutting line is mapped to a grid point on the rectangular boundary and cutting path pairs are assigned the same length on the rectangular boundary.
[0015] In some embodiments, the method further comprises sampling surface properties of the polygonal mesh over a rectangular domain of the two-dimensional image to form a surface property map, wherein the surface properties comprise at least one of: color, texture, and normal.
[0016] In a second aspect, the present disclosure provides a method for receiving three-dimensional data implemented by a computing device. The method includes: receiving one or more compressed two-dimensional images representing a three-dimensional data model, wherein the three-dimensional data model is used to represent a three-dimensional object; decompressing the compressed two-dimensional image; and rendering the three-dimensional object using the decompressed image.
[0017] In some embodiments, rendering the three-dimensional object using the decompressed image includes: recovering data of the three-dimensional data model using the decompressed image; associating attribute information of the image with the three-dimensional data model; and rendering using the three-dimensional data model.
[0018] In some embodiments, using the decompressed image to perform data recovery on the three-dimensional data model includes: mapping each two-dimensional image to a topological quadrilateral block; and combining the topological quadrilateral blocks to generate the three-dimensional data model.
[0019] In some embodiments, mapping each two-dimensional image to a topological quadrilateral block includes: mapping the two-dimensional image to the topological quadrilateral block using a surface Ricci flow method, wherein the color information of each pixel of the two-dimensional image corresponds to the geometric structure coordinate information of the topological quadrilateral block.
[0020] In a third aspect, the present disclosure provides a computing device, comprising a processor and a memory, wherein the memory stores computer program code, and when the computer program code is executed, the processor executes the method as described in any embodiment of the first aspect of the present disclosure or executes the method as described in any embodiment of the second aspect of the present disclosure.
[0021] In a fourth aspect, the present disclosure provides a computer-readable storage medium storing computer-readable instructions, which, when executed by one or more processors, implement the method described in any embodiment of the first aspect of the present disclosure, or implement the method described in any embodiment of the second aspect of the present disclosure.
[0022] Through the transmission and reception method, computing device and computer-readable storage medium of three-dimensional data provided above, the scheme of the present disclosure optimizes the data format, for example, rasterizing the three-dimensional data into a two-dimensional image, so that the compression encoding method commonly used for two-dimensional images can be used during transmission, thereby reducing the amount of data transmission, thereby improving the transmission efficiency. In some embodiments, by transmitting the three-dimensional data to the client for rendering, the work of the server is relatively simple, a large amount of request information can be processed at the same time, and immediate response feedback can be provided. Furthermore, in some embodiments, by separating data types, such as color and texture information in the three-dimensional data, the purpose of reducing the amount of data transmission can be further achieved. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] By reading the detailed description below with reference to the accompanying drawings, the above and other purposes, features and advantages of the exemplary embodiments of the present disclosure will become readily understood. In the accompanying drawings, several embodiments of the present disclosure are shown in an exemplary and non-limiting manner, and the same or corresponding reference numerals represent the same or corresponding parts, wherein:
[0024] Figure 1 An exemplary system in which the scheme of transmitting and / or receiving three-dimensional data according to an embodiment of the present disclosure may be implemented is shown;
[0025] Figure 2 An example flow chart of a three-dimensional data transmission method implemented by a computing device according to an embodiment of the present disclosure is shown;
[0026] Figure 3 An example flow chart of a rasterization method according to an embodiment of the present disclosure is shown;
[0027] Figure 4 An example flowchart of a rasterization method according to another embodiment of the present disclosure is shown; and
[0028] Figure 5 An example flowchart of a method for receiving three-dimensional data implemented by a computing device according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0029] The following will be combined with the drawings in the embodiments of the present disclosure to clearly and completely describe the technical solutions in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, rather than all of the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present disclosure.
[0030] It should be understood that the terms "first", "second", "third", "fourth", etc. in the claims, specifications and drawings of the present disclosure are used to distinguish different objects rather than to describe a specific order. The terms "include" and "comprise" used in the specifications and claims of the present disclosure indicate the presence of the described features, wholes, steps, operations, elements and / or components, but do not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components and / or their collections.
[0031] It should also be understood that the terms used in this disclosure are only for the purpose of describing specific embodiments and are not intended to limit the present disclosure. As used in this disclosure and claims, the singular forms of "a", "an", and "the" are intended to include the plural forms unless the context clearly indicates otherwise. It should also be further understood that the term "and / or" used in this disclosure and claims refers to any combination of one or more of the associated listed items and all possible combinations, including these combinations.
[0032] As used in this specification and claims, the term "if" may be interpreted as "when" or "upon" or "in response to determining" or "in response to detecting," depending on the context. Similarly, the phrase "if it is determined" or "if [described condition or event] is detected" may be interpreted as meaning "upon determination" or "in response to determining" or "upon detection of [described condition or event]" or "in response to detecting [described condition or event]," depending on the context.
[0033] The specific embodiments of the present disclosure are described in detail below with reference to the accompanying drawings.
[0034] Figure 1An exemplary system 100 is shown in which schemes for transmitting and / or receiving three-dimensional data according to embodiments of the present disclosure may be implemented.
[0035] like Figure 1 As shown, the system 100 includes a server 110 and a client 120. The server 110 can be any computing device for providing three-dimensional data, for example, including but not limited to a geographic information server, a three-dimensional game server, a multimedia information server, etc. The client 120 can be any computing device that needs to present a three-dimensional object, for example, including but not limited to a tablet computer, a smart terminal, a PC device, an Internet of Things terminal, a mobile terminal, a mobile phone, a navigator, a visual terminal, etc.
[0036] As mentioned above, depending on whether the rendering occurs on the client or the server, there can be client-based rendering and server-based rendering. In the embodiments of the present disclosure, it is mainly applied to the client-based rendering scenario. Therefore, the following description is mainly for this scenario.
[0037] In a client-based rendering scenario, the client 120 may send a simple request message to the server 110. In response to the request of the client 120, the server 110 sends 3D data, for example, information describing a 3D object and / or scene, to the client 120. After receiving the 3D data, the client 120 may use the 3D data for rendering. 3D rendering can generally be divided into two types: real-time rendering (for example, applications such as 3D games) and offline rendering (for example, applications such as animated films).
[0038] The three-dimensional data represents a three-dimensional data model of a three-dimensional object and / or scene. Generally, the three-dimensional data model can be modeled based on the surface and / or body of the object. Based on body modeling, not only the surface features of the object can be given, but also the internal features of the object can be given. Face-based modeling only gives the surface features of the object. Body-based modeling and face-based modeling are collectively referred to as geometric model modeling. Since three-dimensional data needs to express richer information, the data volume of three-dimensional data is usually large. Large-scale geometric data needs to consume a lot of bandwidth when transmitted in the network between the server 110 and the client 120, so it is expected to be improved.
[0039] Figure 2 An example flow chart of a method 200 for transmitting three-dimensional data implemented by a computing device according to an embodiment of the present disclosure is shown. In this embodiment, the computing device may be, for example, Figure 1 Server 110 is shown.
[0040] like Figure 2As shown, the method 200 starts at step S210, rasterizing the 3D data model to be transmitted into one or more 2D images through conformal mapping, wherein the 3D data model represents a 3D object. It should be understood that the 3D data model described here represents a digital representation of a 3D object, and the 3D data model can be read, analyzed, and processed by a computer, and the desired results can be obtained based on the analysis and processing results.
[0041] Compared with three-dimensional data, there are many mature technologies for processing two-dimensional images (both hardware and software). Therefore, rasterizing three-dimensional data into two-dimensional images can facilitate subsequent processing, such as compression and transmission.
[0042] On the other hand, the two-dimensional image also needs to be restored to three-dimensional data for other processing, such as rendering, so the information of the original three-dimensional data needs to be retained as much as possible. In the embodiment of the present disclosure, conformal mapping is used to rasterize the three-dimensional data into one or more two-dimensional images. The rasterization method of the conformal mapping method of the embodiment of the present disclosure will be described in detail later.
[0043] In some embodiments, the two-dimensional images may be one or more image frames. In other embodiments, the two-dimensional images may be a video stream.
[0044] Next, in step S220, the converted two-dimensional image is compressed. Since the three-dimensional data has been converted into a two-dimensional image in step S210, for example, it can be a frame of image or a video stream composed of multiple image frames, the existing compression method in the industry can be used to compress the two-dimensional image in step S220. For example, industry standard algorithms, such as image compression, video stream compression and other technologies, can be used to compress the two-dimensional image to reduce the amount of data to be transmitted. Still image compression standards include, for example, the JPEG standard of the Still Image Experts Group, which mainly includes DCT, vector quantization, Huffman coding, wavelet-based compression algorithms, etc. Video stream compression standards include, for example, the MPEG standard for moving image compression, the H.261 standard for video communication coding, etc., which mainly include inter-frame compression coding with motion compensation, DCT, entropy coding and other technologies. Those skilled in the art will appreciate that the embodiments of the present disclosure are not limited in this regard.
[0045] Finally, in step S230, the compressed two-dimensional image is transmitted to other devices. In this example, the other devices may be, for example, Figure 1 The client 120 shown. Depending on the communication connection between the computing device and other devices, the compressed two-dimensional image can be transmitted through a corresponding transmission channel. For example, the communication connection can be a wired connection and / or a wireless connection, and the embodiments of the present disclosure are not limited in this regard.
[0046] As can be seen from the above description, since the three-dimensional data model representing the three-dimensional object (object and / or scene) is rasterized into a two-dimensional image and compressed using the existing compression technology for the two-dimensional image, the amount of data during transmission can be greatly reduced, thereby improving the transmission efficiency. In the client-based rendering scenario, the improvement in transmission efficiency can also correspondingly increase the rendering speed at the client.
[0047] Figure 3 FIG. 3 shows an example flow chart of a rasterization method 300 according to an embodiment of the present disclosure. A person skilled in the art will appreciate that Figure 3 The method 300 can be Figure 2 The step S210 is executed to rasterize the three-dimensional data model into a two-dimensional image. In the rasterization method 300, the surface Ricci Flow method is used to perform conformal mapping.
[0048] like Figure 3 As shown, in step S310, the three-dimensional data model is divided into a plurality of topological quadrilateral blocks.
[0049] As mentioned above, the three-dimensional data model can be modeled based on the surface and / or body of the object, that is, the geometric model. The surface geometry of the three-dimensional object can be modeled using irregular polygonal meshes, such as triangle meshes or quadrilateral meshes, etc. In this embodiment, the three-dimensional data model is modeled based on topological quadrilateral blocks. Further, in some embodiments, these topological quadrilateral blocks are manifolds with only one boundary.
[0050] A 3D data model can be divided in a variety of ways, such as dividing the 3D data model into a number of independent triangulated meshes (topological quadrilaterals) based on business logic, each independent mesh being a manifold with only one boundary. Those skilled in the art will appreciate that other ways can also be used to divide the topological quadrilateral blocks, and the present disclosure is not limited in this respect.
[0051] Next, in step S320, each topological quadrilateral block is conformally mapped onto a standard rectangle. In this step, a discrete surface Ricci Flow method can be used to implement conformal mapping of the topological quadrilateral block onto the standard rectangle.
[0052] The information of each surface usually contains topological information and geometric information. Topological information is determined by the genus and boundary of the surface. Geometric information refers to the measurement defined on the surface. As mentioned earlier, in the field of computer graphics, triangular meshes are usually used to represent discrete surface models in three-dimensional data models, where the connection relationship between the edges of the triangles represents the topological structure of the network model, and the length of each edge represents the discrete measurement of the mesh. The mapping process of the surface can also be called a deformation process, which is actually a process of constantly changing the measurement of the surface itself.
[0053] The basic idea of the Ricci Flow method is to continuously conformally change the surface metric, starting from the initial metric and its induced Ricci curvature, until the final metric can derive a predetermined target curvature.
[0054] In one embodiment of the present disclosure, each topological quadrilateral block is conformally mapped onto a standard rectangle by using the Ricci Flow method. That is, the conformal mapping function from the topological quadrilateral block to the standard rectangle can be calculated by using the Ricci Flow method.
[0055] Specifically, since the target curvature is determined by the standard rectangle, the target curvature of all internal points can be set to 0, the target curvature of the four corner points can be set to π / 2, and the target curvature of other boundary points can be set to 0. Then, the discrete entropy energy can be constructed and optimized to obtain the target flatness metric. Finally, the discrete surface (that is, the topological quadrilateral block here) can be tiled (equidistantly embedded) into the constant curvature space (that is, the standard rectangle here) step by step.
[0056] Finally, in step S330, each standard rectangle is represented by a two-dimensional image.
[0057] Through the previous steps, the topological quadrilateral block representing the three-dimensional data model has been mapped to a standard rectangle, so the standard rectangle can be represented by a two-dimensional image. For example, a color two-dimensional image can represent the image according to different color spaces, such as RGB, HUV color space, etc. Thus, the topological quadrilateral block representing the three-dimensional data model can be rasterized into a bitmap, such as an m×n array of [x, y, z] data values. At this time, the color information of the image corresponds to the coordinate information of the geometric structure in the surface (e.g., the topological quadrilateral), which can be represented by, for example, three floating-point numbers. In some embodiments, the two-dimensional image may also include at least one of the following attribute information: the color and texture of the three-dimensional data model.
[0058] Figure 4 FIG. 4 shows an example flow chart of a rasterization method 400 according to another embodiment of the present disclosure. A person skilled in the art can understand that Figure 4Method 400 can be found in Figure 2 The step S210 is performed to rasterize the three-dimensional data model into a two-dimensional image.
[0059] like Figure 4 As shown, in step S410, a polygonal mesh representing the surface geometry of a three-dimensional object is obtained from a three-dimensional data model. As mentioned above, a three-dimensional data model can be modeled based on the face and / or body of an object, that is, geometric modeling. The surface geometry of a three-dimensional object can be modeled using irregular polygonal meshes, such as triangular meshes or quadrilateral meshes, etc. Generally, a triangular mesh refers to a set of vertices, edges, and triangles. The data structure of a triangular mesh model (that is, three-dimensional data) is usually organized using a vertex table and a triangle table. Among them, the vertex table records information about the vertex, such as the position, normal, material, etc. of the vertex; and the triangle table records the numbers of the three vertices of each triangle.
[0060] In some embodiments, the obtained polygonal mesh is a two-dimensional manifold mesh.
[0061] Next, in step S420 , the polygonal mesh is cut along the set of cutting paths to form a new mesh with a disk topology.
[0062] Specifically, a polygonal mesh M can be assumed, and the polygonal mesh M can be cut along a set of cutting paths formed by a set of edges in the mesh M, and the mesh M can be unfolded onto a topological disk, thereby forming a new mesh M' with a disk topology.
[0063] To produce M', split each non-boundary edge in cut c into two boundary edges to form an open cut c'. The directed loops of open cut c' are the boundaries of M'. Two edges in c' are paired if they were split from edges in c.
[0064] In some embodiments, a vertex v with valence k in a cut line c is replicated into k vertices in c'. In a cut, a vertex in c with valence k not equal to 2 is called a cut node. A cut path is a set of boundary edges and vertices between two ordered cut nodes in a ring c'. Each cut path has a pairing defined by the pairing of its edges (unless its edges are boundary edges in c).
[0065] The selection of the cutting path will affect the subsequent reconstruction of the polygonal mesh. Therefore, in some embodiments, the appropriate cutting path set can be determined in an iterative manner. For example, an initial cutting line can be set arbitrarily, and then the parameterized metric in the subsequent steps is determined based on the initial cutting line. According to the method of optimizing the parameterized metric, the initial cutting line is adjusted, and the above process is repeatedly performed until the parameterized metric is optimized.
[0066] In other embodiments, the cutting path may be determined based on the extreme value positions in the polygonal mesh M, so that the cutting paths in the cutting path set pass through as many extreme value positions as possible in the polygonal mesh M. These extreme value positions may be, for example, vertices with high curvature, areas with large geometric stretching, etc. Those skilled in the art may understand that this method of determining the cutting path may also be applied to the above iterative method, for example, when adjusting the initial cutting line, the cutting paths passing through the extreme value positions in the polygonal mesh M may be correspondingly increased.
[0067] Next, in step S430, the new mesh is parameterized onto a rectangular region of the two-dimensional image.
[0068] Assume D is the domain unit rectangle of the 2D image. The so-called parameterization is a piecewise linear mapping between the unit rectangle D and the new mesh M', which is defined as associating domain coordinates with each mesh vertex in M'. The domain D has a rectilinear m×n grid, where the grid points have coordinates (i / (m-1), j / (n-1)), where i=0..m-1, j=0..n-1.
[0069] Various parameterization methods can be used. In some examples, a geometric stretch parameterization method can be used. In other examples, a conformal parameterization method can be used.
[0070] Optionally or additionally, in some embodiments, during parameterization, the boundary is parameterized so that the subsequently reconstructed surface completely matches the tangent, thereby avoiding cracks. In the boundary parameterization, each cutting node on the cutting line c' is mapped to a grid point on the boundary of the unit rectangle D. In addition, the cutting path pairs are sampled at the same surface points to avoid cracks. In other words, the cutting path pairs are assigned the same length on the boundary of D.
[0071] Finally, in step S440, the geometry of the mesh is sampled over the rectangular domain of the two-dimensional image. The parameterization at the grid points in the domain D may be evaluated to sample the geometry of the mesh. Thus, the polygonal mesh representing the surface geometry of the three-dimensional object may be rasterized into a bitmap, such as an m×n array of [x, y, z] data values.
[0072] Alternatively or additionally, other surface attributes may be sampled to generate a surface attribute map. These surface attributes may include, but are not limited to, color, texture, normal, etc. For example, if a normal map is required in later rendering, another two-dimensional array consisting of normal values [nx, ny, nz] may be similarly created.
[0073] Reference above Figure 2-Figure 4The present disclosure describes a method for transmitting three-dimensional data according to an embodiment of the present disclosure. Accordingly, the present disclosure also provides a method for receiving three-dimensional data.
[0074] Figure 5 An example flow chart of a method 500 for receiving three-dimensional data implemented by a computing device according to an embodiment of the present disclosure is shown. In this embodiment, the computing device may be, for example, Figure 2 Client 120 is shown.
[0075] like Figure 5 As shown, the method 500 starts at step S510, receiving one or more compressed two-dimensional images representing a three-dimensional data model, wherein the three-dimensional data model is used to represent a three-dimensional object. It can be understood by those skilled in the art that the received two-dimensional image is, for example, the one described above with reference to FIG. Figure 2-4 The method described above is used to generate the data, which will not be described here.
[0076] Next, in step S520, the compressed two-dimensional image is decompressed. The compression and decompression methods of the two-dimensional image can adopt mature technologies in the art, so they will not be described in detail here.
[0077] Finally, in step S530, the three-dimensional object is rendered using the decompressed image.
[0078] In some embodiments, rendering a three-dimensional object using a decompressed image may include: restoring data of a three-dimensional data model using the decompressed image; associating attribute information of the image with the three-dimensional data model; and rendering using the three-dimensional data model.
[0079] Depending on the transmitter (e.g. Figure 1 The method for converting a three-dimensional data model to a two-dimensional image adopted by the server 110 of the present invention can be used to recover the data of the three-dimensional data model according to the two-dimensional image. Since the methods for converting a three-dimensional data model to a two-dimensional image described above are all one-to-one corresponding, the two-dimensional image can also be directly reversed back to the three-dimensional data model. At this time, the color information of the image corresponds to the coordinate information of the geometric structure in the surface (for example, a topological quadrilateral), and is represented by, for example, three floating point numbers, so it can be transformed back to the original geometric structure through the reverse operation.
[0080] For example, in an embodiment in which the Ricci flow method is used to map a three-dimensional data model to a two-dimensional image, when performing the reverse conversion, in some embodiments, converting the decompressed image into a three-dimensional data model may include: mapping each two-dimensional image to a topological quadrilateral block according to the Ricci flow method; and combining these topological quadrilateral blocks to generate a three-dimensional data model.
[0081] As can be seen from the above description, since the three-dimensional data model representing the three-dimensional object (object and / or scene) is rasterized into a two-dimensional image and compressed using the existing compression technology for the two-dimensional image, the amount of data during transmission can be greatly reduced, thereby improving the transmission efficiency. In the client-based rendering scenario, the improvement in transmission efficiency can also correspondingly increase the rendering speed at the client.
[0082] Exemplary Devices
[0083] Those skilled in the art will appreciate that various aspects of the present disclosure may be implemented as systems, methods or program products. Therefore, various aspects of the present disclosure may be specifically implemented in the following forms, namely: complete hardware implementation, complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software, which may be collectively referred to herein as "circuits", "modules" or "systems".
[0084] In some possible implementations, the apparatus for transmitting and / or receiving three-dimensional data according to an implementation of the present disclosure may include at least one processing unit and at least one storage unit. The storage unit stores program code, and when the program code is executed by the processing unit, the processing unit executes the steps of the method for transmitting and / or receiving three-dimensional data according to various exemplary implementations of the present disclosure described in the above “Exemplary Method” section of this specification.
[0085] Exemplary Program Products
[0086] In some possible implementations, various aspects of the present disclosure may also be implemented in the form of a program product, which includes program code. When the program product is run on a device, the program code is used to enable the device to execute the steps of the method for transmitting and / or receiving three-dimensional data according to various exemplary implementations of the present disclosure described in the above “Exemplary Method” section of this specification.
[0087] The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof.
[0088] A readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, wherein readable program code is carried. Such propagated data signals may take a variety of forms, including, but not limited to, electromagnetic signals, optical signals, or any suitable combination of the foregoing. A readable signal medium may also be any readable medium other than a readable storage medium, which may transmit, propagate, or transfer a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0089] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
[0090] Program code for performing the operations of the present disclosure may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user computing device, partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0091] It should be noted that although several units or subunits of the device are mentioned in the above detailed description, this division is only illustrative and not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more units described above can be embodied in one unit. Conversely, the features and functions of one unit described above can be further divided into multiple units to be embodied.
[0092] In addition, although the operations of the disclosed method are described in a specific order in the drawings, this does not require or imply that the operations must be performed in this specific order, or that all the operations shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.
[0093] Although the spirit and principle of the present disclosure have been described with reference to several specific embodiments, it should be understood that the present disclosure is not limited to the disclosed specific embodiments, and the division of various aspects does not mean that the features in these aspects cannot be combined to benefit, and such division is only for the convenience of expression. The present disclosure is intended to cover various modifications and equivalent arrangements included in the spirit and scope of the attached claims.
Claims
1. A method for transmitting three-dimensional data implemented by a computing device, comprising: rasterizing the three-dimensional data model to be transmitted into one or more two-dimensional images by conformal mapping, wherein the three-dimensional data model is used to represent the three-dimensional object; compressing the two-dimensional image; as well as Transmit compressed 2D images to other devices, The step of rasterizing the three-dimensional data model to be transmitted into one or more two-dimensional images by conformal mapping at least comprises: Dividing the three-dimensional data model into a plurality of topological quadrilateral blocks, each of which is a manifold having only one boundary; Conformally mapping each quadrilateral block onto a standard rectangle using a surface Ricci flow method; and Each standard rectangle is represented by a two-dimensional image. Among them, using the surface Ricci flow method to map the quadrilateral block to the standard rectangle includes: Set the target curvature based on a standard rectangle; constructing and optimizing a discrete entropy energy to obtain a target flatness metric; and The topological quadrilateral blocks are embedded into the standard rectangle at equal distances.
2. The method according to claim 1, wherein: The two-dimensional image includes at least one of the following attribute information: color and texture of the three-dimensional data model.
3. The method according to claim 1, wherein: Rasterizing the three-dimensional data model to be transmitted into one or more two-dimensional images by conformal mapping also includes: Acquire a polygonal mesh representing a surface geometric structure of a three-dimensional object from the three-dimensional data model; Cutting the polygonal mesh along a set of cutting paths to form a new mesh with a disk topology; parameterizing the new mesh to a rectangular domain of a two-dimensional image; and The geometric structure of the polygonal mesh is sampled over a rectangular region of the two-dimensional image. The method according to claim 3 , wherein the polygonal mesh is a two-dimensional manifold mesh. 5 . The method according to claim 4 , wherein the cutting path set is determined based on the extremum positions in the polygonal mesh so that the cutting paths in the cutting path set pass through as many extremum positions in the polygonal mesh as possible.
6. The method according to any one of claims 3 to 5, wherein parameterizing the new mesh surface to a rectangular domain of a two-dimensional image comprises: The boundary is parameterized so that each cutting node on the cutting line is mapped to a grid point on the rectangular boundary, and pairs of cutting paths are assigned the same length on the rectangular boundary.
7. The method according to any one of claims 3-6 further includes sampling the surface properties of the polygonal mesh in the rectangular domain of the two-dimensional image to form a surface property map, wherein the surface properties include at least one of the following: color, texture and normal.
8. A method for receiving three-dimensional data implemented by a computing device, comprising: Receiving one or more compressed two-dimensional images representing a three-dimensional data model transmitted by the transmission method according to any one of claims 1 to 7, wherein the three-dimensional data model is used to represent a three-dimensional object; decompressing the compressed two-dimensional image; as well as The three-dimensional object is rendered using the decompressed image.
9. The method according to claim 8, wherein: Rendering the three-dimensional object using the decompressed image includes: Performing data recovery on the three-dimensional data model using the decompressed image; Associating the attribute information of the image with the three-dimensional data model; and Rendering is performed using the three-dimensional data model.
10. The method according to claim 9, wherein restoring the data of the three-dimensional data model using the decompressed image comprises: Map each 2D image to a topological quadrilateral block; The topological quadrilateral blocks are combined to generate the three-dimensional data model.
11. The method according to claim 10, wherein: Mapping each 2D image to a topological quadrilateral block involves: The two-dimensional image is mapped onto a topological quadrilateral block using a surface Ricci flow method, wherein color information of each pixel of the two-dimensional image corresponds to geometric structure coordinate information of the topological quadrilateral block.
12. A computing device, comprising a processor and a memory, wherein the memory stores a computer program code, and when the computer program code is executed, the processor executes the method according to any one of claims 1 to 7 or the method according to any one of claims 8 to 11.
13. A computer-readable storage medium storing computer-readable instructions, wherein when the computer-readable instructions are executed by one or more processors, the method according to any one of claims 1 to 7 or the method according to any one of claims 8 to 11 is implemented.
Citation Information
Patent Citations
Face data processing method and device and computer readable storage medium
CN110766808A
Analysis of geometric surfaces by comformal structure
US20060013505A1