WO2014008387A2 - Three-dimensional object compression - Google Patents

Three-dimensional object compression Download PDF

Info

Publication number
WO2014008387A2
WO2014008387A2 PCT/US2013/049305 US2013049305W WO2014008387A2 WO 2014008387 A2 WO2014008387 A2 WO 2014008387A2 US 2013049305 W US2013049305 W US 2013049305W WO 2014008387 A2 WO2014008387 A2 WO 2014008387A2
Authority
WO
WIPO (PCT)
Prior art keywords
sided
patch
mesh model
triangular mesh
spline function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/US2013/049305
Other languages
French (fr)
Other versions
WO2014008387A3 (en
Inventor
Alyn Rockwood
Gustavo CHAVEZ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
King Abdullah University of Science and Technology KAUST
Original Assignee
King Abdullah University of Science and Technology KAUST
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by King Abdullah University of Science and Technology KAUST filed Critical King Abdullah University of Science and Technology KAUST
Publication of WO2014008387A2 publication Critical patent/WO2014008387A2/en
Publication of WO2014008387A3 publication Critical patent/WO2014008387A3/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/20Contour coding, e.g. using detection of edges

Definitions

  • This invention relates to a three-dimensional (3D) object compression method.
  • 3D objects are represented by a mesh or points in a 3D grid. These 3D objects are typically contained in large electronic files that are challenging to compress without loss of clarity. Mobile and Internet platforms are constrained by the current 3D format technology, as these large files take long periods to transfer to browsers and mobile devices. The time required to transfer and modify these 3D objects files is hindering the advancement of mobile applications that make use of 3D object rendering and manipulation.
  • a method of three-dimensional (3D) compression can include providing a triangular mesh model of a 3D object, dividing the 3D object into a plurality of surfaces, extracting the boundary curves of each surface, fitting a multi- sided patch to the boundary curves of each surface, and generating a joint set of multi-sided patches.
  • the method can include subdividing the surface if a joint set of multi-sided patches is not visually closed. In another aspect, the method can include subdividing the surface if the patch is not within a threshold.
  • fitting a multi-sided patch to the boundary curves of each surface can include applying a multi-sided patch fitting algorithm. Extracting the boundary curves of each surface can include creating a spline function within each surface.
  • the spline function can correspond to at least one boundary of the surface.
  • the spline function can be a B-spline function.
  • the multi-sided patch can be generated basing on the attributes of the surface.
  • the triangular mesh model of a 3D object can be stored in a non-transitory computer-readable medium.
  • providing a triangular mesh model of a 3D object can include uploading the triangular mesh model of a 3D object from a mobile device.
  • Providing a triangular mesh model of a 3D object can further include downloading the triangular mesh model of a 3D object from a website.
  • the method can include saving the joint set of multi-sided patches in a network database.
  • a three-dimensional (3D) compression system can include an input module for inputting a triangular mesh model of a 3D object, a process module for dividing the 3D object into a plurality of surfaces and extracting the boundary curves of each surface, a multi-sided patch algorithm stored on a non-transitory computer-readable medium for fitting a multi-sided patch to the boundary curves of each surface, and an output module for generating a joint set of multi-sided patches.
  • system can include a monitor module to determine if the patch is not within a threshold. In another aspect, the system can include a monitor module to determine if a joint set of multi-sided patches is not visually closed.
  • the system can include a communication module, wherein the triangular mesh model of the 3D object is inputted by the communication module.
  • FIG. 1 is a flow chart depicting a 3D compression method.
  • FIG. 2 is a schematic diagram depicting a 3D compression method.
  • FIG. 3 is a schematic diagram depicting a 3D compression method.
  • FIG. 4 is a schematic diagram depicting a 3D compression method.
  • FIG. 5 is a schematic diagram depicting a 3D compression method.
  • FIG. 6 is a schematic diagram depicting the result of the 3D compression method.
  • FIG. 7 is a diagram depicting a system for 3D compression.
  • a three-dimensional (3D) compression method permits lightweight visualization, which is the process of compressing a 3D model into one that is much smaller than the original while maintaining close visual similarity.
  • the 3D compression method represents a 3D model using a set of large, multisided areas called patches. This patched- surface representation creates a much smaller file size while maintaining a high quality 3D object by using stylized curves that preserve details and allow further manipulation and animation. Current technology that accommodates polygon reduction and mesh simplification can also obtain high rates of compression but with highly compromised quality.
  • the 3D compression method includes techniques for smoothly joining the patches and adjusting the quality of the patch-compressed model.
  • the 3D compression method also enables detached edges, ridges, and peaks to be modeled and compactly represented.
  • benefits of this method include, but are not limited to, the following: • High level of compression: By compressing the representation of the 3D object by at least 98% (i.e., 40:1), 3D objects can be easily transmitted to various devices (e.g. wireless).
  • ⁇ Maintains object quality The compression utilized for this invention is lossy, but it maintains smoothness, attractiveness, and the overall quality of the 3D object (i.e., does not compromise object quality).
  • Enables real-time interaction Users can manipulate the model very easily (e.g., facilitates rotation and zoom features, animation and further manipulation, i.e. the curves can be changed and the whole object change accordingly).
  • the steps of the method can include: input a triangular mesh model of a 3D object; divide the object into several different surfaces, and within each surface, extract the boundary curves of each surface; applying the multi-sided patch fitting algorithm to fit multi- sided patches to the boundary curves of surfaces; if the patch is not visually closed, subdivide the surface; output the final model: a joint set of multi- sided patches.
  • Multi-sided patches have been a commonly researched topic in geometric design.
  • topology burden and allowing him or her to focus on the important, shape-defining attributes of the object.
  • a good survey of multi-sided patches with references is found in Malraison, P. Multi-sided Surfaces: a survey. Curve and Surface Design. Editors Pierre- Jean Laurent, Paul Sablonfere, Larry Schumaker, (1999) 246-256, which is incorporated by reference in its entirety. More recent developments in multi- sided patches include recursive subdivision methods adapted to interpolate curves where a match between the curves and a sequence of edges on the base control mesh is assumed. See Levin, A. Interpolating Nets of Curves by Smooth Subdivision Surfaces. ACM SIGGRAPH (1999) 57-64, which is incorporated by reference in its entirety.
  • T-splines that subsumes NURBS and Catmull-Clark surfaces, and admits T-junctions, which can handle many of the topological arrangements that occur in design.
  • Bi-cubic T-splines are C2 piecewise rational surfaces that are backward compatible with NURBS surfaces. See Sederberg, T. et al. T-splines and T-NURCCs.
  • ACM SIGGRAPH (2004) 276-283 each of which is incorporated by reference in its entirety.
  • the 3D compression method can include a multi- sided patch fitting algorithm that defines multi-sided patches that interpolate arbitrary parametric curves. Since the patches allow a designer to focus on attribute curves with less concern about the topology, the multi-sided patch fitting algorithm can be called attribute based modeling.
  • Attribute based modeling starts with a parametric map on IR2 that supplies the weights to interpolate points and curves in IR using (1), as illustrated in Fig. 2.
  • Ui simple objects in IR , e.g. line segments, called footprints.
  • Pi(u) be a projection onto a unique point Uj of each footprint [/, ⁇ .
  • attribute function fi maps from [/, ⁇ to IR .
  • the critical role that distances play is to make the weight large as u approaches a footprint; it forces the surface F(u) to approach the corresponding attribute, and that guarantees interpolation.
  • Fig. 3 as u approaches u l 5 the corresponding points of the surface approach xi.
  • Letting u vary yields the interpolation surface, which is displayed above the parameter space in this case.
  • the surface mimics the behavior of the attribute curves in the nearby region.
  • the method can generate surface patches that satisfy certain minimal energy conditions.
  • the method employs any parametric curve and points as controls for defining the surface.
  • the distance is assumed to an affine map of the underlying parameterization.
  • the footprints are configured into a polygon with the same number of sides as the patch.
  • An interesting problem is to choose the lengths and angles so as to achieve a 'fair' parameterization, but it is outside the scope of this paper.
  • the surface is subdivided to make the 3D object visually closed. For example, knowing a current set of surfaces, a k-proxy clustering can be done to further divide the surfaces.
  • compression method with multi-sided patches can achieve a compression rate above 40, while maintains a good objects quality.
  • a server 110 an input module 102, a process module 112, and communication module 104.
  • the portal 100 can also include a monitor module 105, or output module 103.
  • the input module can input a triangular mesh model of a 3D object.
  • the process module can divide the 3D object into a plurality of surfaces and extracting the boundary curves of each surface and a multi-sided patch algorithm stored on a non-transitory computer-readable medium for fitting a multi-sided patch to the boundary curves of each surface.
  • the process module can create a spline function within each surface during extracting the boundary curves of each surface.
  • the output module can generate a joint set of multi-sided patches.
  • the monitor module can determine if the patch is not within a threshold or if a joint set of multi-sided patches is not visually closed.
  • the communication module can input the triangular mesh model of the 3D object to the system.
  • the system may comprise a general-purpose computer and can have an internal or external memory for storing data and programs such as an operating system (e.g., iOS, DOS, Windows 2000TM, Windows XPTM, Windows NTTM, OS/2, UNIX or Linux) and one or more application programs.
  • an operating system e.g., iOS, DOS, Windows 2000TM, Windows XPTM, Windows NTTM, OS/2, UNIX or Linux
  • application programs e.g., iOS, DOS, Windows 2000TM, Windows XPTM, Windows NTTM, OS/2, UNIX or Linux
  • Examples of application programs include computer programs implementing the techniques described herein for object generation (e.g., engineering progams, object generation programs, database programs, spreadsheet programs, or graphics programs) capable of generating documents or other electronic content; client applications (e.g., an Internet Service Provider (ISP) client, an e-mail client, or an instant messaging (IM) client) capable of communicating with other computer users, accessing various computer resources, and viewing, creating, or otherwise manipulating electronic content; and browser applications (e.g., Microsoft's Internet Explorer) capable of rendering standard Internet content and other content formatted according to standard protocols such as the Hypertext Transfer Protocol
  • ISP Internet Service Provider
  • IM instant messaging
  • HTTP HyperText Transfer Protocol
  • One or more of the application programs can be installed on the internal or external storage of the general-purpose computer. Alternatively, in another embodiment, application programs can be externally stored in or performed by one or more device(s) external to the general-purpose computer.
  • display device 106 can be a device configured to provide an image of the material.
  • the device may be or can include a desktop computer, a server, a laptop computer or other mobile computing device, a network-enabled cellular telephone (with or without media capturing/playback capabilities), wireless email client, or other client, machine or device to perform various tasks including Web browsing, search, electronic mail (email) and other tasks, applications and functions.
  • the general-purpose computer may include a central processing unit (CPU) for executing instructions in response to commands, and a communication device for sending and receiving data.
  • a communication device for sending and receiving data.
  • One example of the communication device is a modem.
  • Other examples include a transceiver, a communication card, a satellite dish, an antenna, a network adapter, or some other mechanism capable of transmitting and receiving data over a communications link through a wired or wireless data pathway.
  • the general-purpose computer may also include an input/output interface that enables wired or wireless connection to various peripheral devices.
  • peripheral devices include, but are not limited to, a mouse, a mobile phone, a personal digital assistant (PDA), a keyboard, a display monitor with or without a touch screen input, and an audiovisual input device.
  • the peripheral devices may themselves include the functionality of the general-purpose computer.
  • the mobile phone or the PDA may include computing and networking capabilities and function as a general purpose computer by accessing a network and communicating with other computer systems.
  • Examples of a network include the Internet, the World Wide Web, WANs, LANs, analog or digital wired and wireless telephone networks (e.g., Public Switched Telephone Network (PSTN), Integrated Services Digital Network (ISDN), and Digital Subscriber Line (xDSL)), radio, television, cable, or satellite systems, and other delivery mechanisms for carrying data.
  • PSTN Public Switched Telephone Network
  • ISDN Integrated Services Digital Network
  • xDSL Digital Subscriber Line
  • communications link can include communication pathways that enable communications through one or more networks.
  • a processor-based system of the general-purpose computer can include a main memory, preferably random access memory (RAM), and can also include a secondary memory.
  • the secondary memory can include, for example, a hard disk drive or a removable storage drive, representing a floppy disk drive, a magnetic tape drive, an optical disk drive (Blu-Ray, DVD, CD drive), magnetic tape, paper tape, punched cards, standalone RAM disks, Iomega Zip drive, etc.
  • the removable storage drive can read from or write to a removable storage medium.
  • a removable storage medium can include a floppy disk, magnetic tape, optical disk (Blu-Ray disc, DVD, CD) a memory card (CompactFlash card, Secure Digital card, Memory Stick), paper data storage (punched card, punched tape), etc., which can be removed from the storage drive used to perform read and write operations.
  • the removable storage medium can include computer software or data.
  • the secondary memory can include other similar means for allowing computer programs or other instructions to be loaded into a computer system.
  • Such means can include, for example, a removable storage unit and an interface. Examples of such can include a program cartridge and cartridge interface (such as the found in video game devices), a removable memory chip (such as an EPROM or PROM) and associated socket, and other removable storage units and interfaces, which allow software and data to be transferred from the removable storage unit to the computer system.
  • computer program medium and “computer readable medium” are generally used to refer to media such as a removable storage device, a disk capable of installation in a disk drive, and signals on a channel.
  • These computer program products may provide software or program instructions to a computer system.
  • Computer-readable media include both volatile and nonvolatile media, removable and nonremovable media, and contemplate media readable by a database, a switch, and various other network devices.
  • Network switches, routers, and related components are conventional in nature, as are means of communicating with the same.
  • computer-readable media comprise computer- storage media and communications media.
  • Computer-storage media include media implemented in any method or technology for storing information. Examples of stored information include computer-useable instructions, data structures, program modules, and other data representations.
  • Computer-storage media include, but are not limited to RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, DVD, holographic media or other optical disc storage, magnetic cassettes, magnetic tape, magnetic disk storage, and other magnetic storage devices. These memory components can store data momentarily, temporarily, or permanently.
  • Communications media typically store computer-useable instructions - including data structures and program modules - in a modulated data signal.
  • modulated data signal refers to a propagated signal that has one or more of its characteristics set or changed to encode information in the signal.
  • An exemplary modulated data signal includes a carrier wave or other transport mechanism.
  • Communications media include any information-delivery media.
  • communications media include wired media, such as a wired network or direct- wired connection, and wireless media such as acoustic, infrared, radio, microwave, spread- spectrum, and other wireless media technologies. Combinations of the above are included within the scope of computer-readable media.
  • Computer programs which may be associated with the portal may be stored in the main memory or secondary memory. Such computer programs can also be received via a communications interface. Such computer programs, when executed, may enable the computer system to perform the features as discussed herein. In particular, the computer programs, when executed, may enable the processor to perform the described techniques. Accordingly, such computer programs may represent controllers of the computer system.
  • the software can be stored in, or transmitted via, a computer program product and loaded into a computer system using, for example, a removable storage drive, hard drive or communications interface.
  • the control logic when executed by the processor, may cause the processor to perform the functions of the techniques described herein.
  • the elements may be implemented primarily in hardware using, for example, hardware components such as PAL (Programmable Array Logic) devices, application specific integrated circuits (ASICs), or other suitable hardware components.
  • PAL Programmable Array Logic
  • ASICs application specific integrated circuits
  • elements may be implanted using a combination of both hardware and software.
  • the computer-based methods can be accessed or implemented over the World Wide Web by providing access via a Web Page to the methods described herein.
  • the Web Page may be identified by a Universal Resource Locator (URL).
  • the URL may denote both a server and a particular file or page on the server.
  • a client computer system which may be the client device 106, may interact with a browser to select a particular URL, which in turn may cause the browser to send a request for that URL or page to the server identified in the URL.
  • the server may respond to the request by retrieving the requested page and transmitting the data for that page back to the requesting client computer system, which may be the client device 106 (the client/server interaction may be typically performed in accordance with the hypertext transport protocol or HTTP).
  • the selected page may then be displayed to the user on the client's display screen.
  • the client can then cause the server containing a computer program to launch an application, for example, to perform an analysis according to the described techniques.
  • the server can download an application to be run on the client to perform an analysis according to the described techniques.
  • the oscillator can include any other suitable voltage supplier circuit that can realize feedback function F (V, ⁇ ).

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Processing Or Creating Images (AREA)

Abstract

A three-dimensional (3D) compression method can include dividing a 3D object into a plurality of surfaces.

Description

THREE-DIMENSIONAL OBJECT COMPRESSION
CLAIM OF PRIORITY
This application claims priority to U.S. Provisional Patent Application No.
61/668,119, filed on July 5, 2012, which is hereby incorporated by reference in its entirety.
TECHNICAL FIELD
This invention relates to a three-dimensional (3D) object compression method.
BACKGROUND
Traditionally, three-dimensional (3D) objects are represented by a mesh or points in a 3D grid. These 3D objects are typically contained in large electronic files that are challenging to compress without loss of clarity. Mobile and Internet platforms are constrained by the current 3D format technology, as these large files take long periods to transfer to browsers and mobile devices. The time required to transfer and modify these 3D objects files is hindering the advancement of mobile applications that make use of 3D object rendering and manipulation.
SUMMARY
A method of three-dimensional (3D) compression can include providing a triangular mesh model of a 3D object, dividing the 3D object into a plurality of surfaces, extracting the boundary curves of each surface, fitting a multi- sided patch to the boundary curves of each surface, and generating a joint set of multi-sided patches.
In one aspect, the method can include subdividing the surface if a joint set of multi-sided patches is not visually closed. In another aspect, the method can include subdividing the surface if the patch is not within a threshold.
In another aspect, fitting a multi-sided patch to the boundary curves of each surface can include applying a multi-sided patch fitting algorithm. Extracting the boundary curves of each surface can include creating a spline function within each surface. The spline function can correspond to at least one boundary of the surface. The spline function can be a B-spline function.
In another aspect, the multi-sided patch can be generated basing on the attributes of the surface. The triangular mesh model of a 3D object can be stored in a non-transitory computer-readable medium.
In another aspect, providing a triangular mesh model of a 3D object can include uploading the triangular mesh model of a 3D object from a mobile device. Providing a triangular mesh model of a 3D object can further include downloading the triangular mesh model of a 3D object from a website. The method can include saving the joint set of multi-sided patches in a network database.
In another aspect, a three-dimensional (3D) compression system can include an input module for inputting a triangular mesh model of a 3D object, a process module for dividing the 3D object into a plurality of surfaces and extracting the boundary curves of each surface, a multi-sided patch algorithm stored on a non-transitory computer-readable medium for fitting a multi-sided patch to the boundary curves of each surface, and an output module for generating a joint set of multi-sided patches.
In another aspect, the system can include a monitor module to determine if the patch is not within a threshold. In another aspect, the system can include a monitor module to determine if a joint set of multi-sided patches is not visually closed.
In another aspect, the system can include a communication module, wherein the triangular mesh model of the 3D object is inputted by the communication module.
The terms "a" and "an" are defined as one or more unless this disclosure explicitly requires otherwise.
The terms "comprise" (and any form of comprise, such as "comprises" and "comprising"), "have" (and any form of have, such as "has" and "having"), "include" (and any form of include, such as "includes" and "including") and "contain" (and any form of contain, such as "contains" and "containing") are open-ended linking verbs. As a result, a method or device that "comprises," "has," "includes" or "contains" one or more steps or elements possesses those one or more steps or elements, but is not limited to possessing only those one or more elements. Likewise, a step of a method or an element of a device that "comprises," "has," "includes" or "contains" one or more features possesses those one or more features, but is not limited to possessing only those one or more features.
Furthermore, a device or structure that is configured in a certain way is configured in at least that way, but may also be configured in ways that are not listed. Other features and associated advantages will become apparent with reference to the following detailed description of specific embodiments in connection with the accompanying drawings.
DESCRIPTION OF DRAWINGS
FIG. 1 is a flow chart depicting a 3D compression method.
FIG. 2 is a schematic diagram depicting a 3D compression method.
FIG. 3 is a schematic diagram depicting a 3D compression method.
FIG. 4 is a schematic diagram depicting a 3D compression method.
FIG. 5 is a schematic diagram depicting a 3D compression method.
FIG. 6 is a schematic diagram depicting the result of the 3D compression method. FIG. 7 is a diagram depicting a system for 3D compression.
DETAILED DESCRIPTION
A three-dimensional (3D) compression method permits lightweight visualization, which is the process of compressing a 3D model into one that is much smaller than the original while maintaining close visual similarity. The 3D compression method represents a 3D model using a set of large, multisided areas called patches. This patched- surface representation creates a much smaller file size while maintaining a high quality 3D object by using stylized curves that preserve details and allow further manipulation and animation. Current technology that accommodates polygon reduction and mesh simplification can also obtain high rates of compression but with highly compromised quality. The 3D compression method includes techniques for smoothly joining the patches and adjusting the quality of the patch-compressed model. The 3D compression method also enables detached edges, ridges, and peaks to be modeled and compactly represented.
In general, benefits of this method include, but are not limited to, the following: • High level of compression: By compressing the representation of the 3D object by at least 98% (i.e., 40:1), 3D objects can be easily transmitted to various devices (e.g. wireless).
· Maintains object quality: The compression utilized for this invention is lossy, but it maintains smoothness, attractiveness, and the overall quality of the 3D object (i.e., does not compromise object quality). • Enables real-time interaction: Users can manipulate the model very easily (e.g., facilitates rotation and zoom features, animation and further manipulation, i.e. the curves can be changed and the whole object change accordingly).
As shown in Fig.l, the steps of the method can include: input a triangular mesh model of a 3D object; divide the object into several different surfaces, and within each surface, extract the boundary curves of each surface; applying the multi-sided patch fitting algorithm to fit multi- sided patches to the boundary curves of surfaces; if the patch is not visually closed, subdivide the surface; output the final model: a joint set of multi- sided patches.
Multi-sided patches have been a commonly researched topic in geometric design.
Because of their facility to match surface patches to the underlying topology of an object, they can more closely fit the designer's vision, thus relieving the designer of the
"topology burden," and allowing him or her to focus on the important, shape-defining attributes of the object. A good survey of multi-sided patches with references is found in Malraison, P. Multi-sided Surfaces: a survey. Curve and Surface Design. Editors Pierre- Jean Laurent, Paul Sablonfere, Larry Schumaker, (1999) 246-256, which is incorporated by reference in its entirety. More recent developments in multi- sided patches include recursive subdivision methods adapted to interpolate curves where a match between the curves and a sequence of edges on the base control mesh is assumed. See Levin, A. Interpolating Nets of Curves by Smooth Subdivision Surfaces. ACM SIGGRAPH (1999) 57-64, which is incorporated by reference in its entirety. A method called T-splines that subsumes NURBS and Catmull-Clark surfaces, and admits T-junctions, which can handle many of the topological arrangements that occur in design. Bi-cubic T-splines are C2 piecewise rational surfaces that are backward compatible with NURBS surfaces. See Sederberg, T. et al. T-splines and T-NURCCs. ACM SIGGRAPH (2003) 477-484 and Sederberg, T. et al.: T-spline Simplification and Local Refinement. ACM SIGGRAPH (2004) 276-283, each of which is incorporated by reference in its entirety.
The 3D compression method can include a multi- sided patch fitting algorithm that defines multi-sided patches that interpolate arbitrary parametric curves. Since the patches allow a designer to focus on attribute curves with less concern about the topology, the multi-sided patch fitting algorithm can be called attribute based modeling.
Given points x; = (x;, y;, z;), the weighted, discrete least squares solution x = (x, y, z) minimizes: ∑[(x - xt )2 + (y - yt ) 2 + (z - Zi ) 2 ] Wt {x, y, z) (D where the solution slews toward the points with larger weights ^i(x,y,z). See Ghostasby,
A. Image Registration by Local Approximation Methods. Image and Vision Computing, 6 (4) Nov. (1988) 255-261, which is incorporated by reference in its entirety.
Attribute based modeling starts with a parametric map on IR2 that supplies the weights to interpolate points and curves in IR using (1), as illustrated in Fig. 2. First, let Ui be simple objects in IR , e.g. line segments, called footprints. For any u in IR2, let Pi(u) be a projection onto a unique point Uj of each footprint [/,·. For each footprint there is an attribute function fi that maps from [/,· to IR . We call the/j-ft/J attributes, e.g. the curves in attribute space. For any parameter u let x = F(u) in IR be the weighted least squares solution for points Xj= fi(uj) where the weights are typically given as reciprocal distances from u to their projections Uj. There are a number of ways to project to footprints and compute distances between u and the footprints. For example, see
Schneider, J. Solving the Nearest Point on the Curve Problem, Graphics Gems (1990) 607-612, which is incorporated by reference in its entirety. Distance to footprint is a significant computation; thus there is strong motivation for keeping the footprints simple, such as points and line segments. The distance must also be chosen to satisfy desired continuity conditions.
The critical role that distances play is to make the weight large as u approaches a footprint; it forces the surface F(u) to approach the corresponding attribute, and that guarantees interpolation. Thus in Fig. 3, as u approaches ul 5 the corresponding points of the surface approach xi. Letting u vary yields the interpolation surface, which is displayed above the parameter space in this case. The surface mimics the behavior of the attribute curves in the nearby region. The method can generate surface patches that satisfy certain minimal energy conditions. The method employs any parametric curve and points as controls for defining the surface.
As mentioned in the previous proofs, the distance is assumed to an affine map of the underlying parameterization. The footprints are configured into a polygon with the same number of sides as the patch. An interesting problem is to choose the lengths and angles so as to achieve a 'fair' parameterization, but it is outside the scope of this paper.
Regular polygons for the footprint configuration are employed, and they work fairly well.
The question is how to determine distance that is an affine map so the previous theorems hold. Note that Euclidean, i.e. perpendicular, distance from a point to the line segment is not affine map of the u and v parameters, except within the perpendicular sweep of the footprint, see Fig. 4. Once past the endpoints of the footprint it fails to be affine; it is circular. Therefore it will only work for triangular and rectangular footprint polygons that contain points within the perpendicular sweeps of their footprints. Stellated distance is a method to compute distance for all convex polygonal footprints that satisfies the affine mapping requirement. It is described as follows: For each edge, compute its Stella point. For example, in Fig. 5(a), we have a pentagonal footprint ABCDE. For edge AB, its Stella point is the intersection of the two line segments EA and BC, which are the two neighboring edges of AB. Take a point inside the polygon, P, PS forms a line segment which intersects AB at point T. In some cases, such as a quadrilateral footprint shown in Fig. 5(b), two footprints can share the same Stella point, and footprint BC intersects the extension of PS at T. The Euclidean distance between P and T is the Stella distance for a point P to a line footprint AB.
Further, when a joint set of multi-sided patches is not visually closed or the patch is not within a threshold, the surface is subdivided to make the 3D object visually closed. For example, knowing a current set of surfaces, a k-proxy clustering can be done to further divide the surfaces.
With the new method, an improved compression rate can be achieved. As shown in Fig.6, with a 3D object having an original data size of 7 mega-bytes, the 3D
compression method with multi-sided patches can achieve a compression rate above 40, while maintains a good objects quality.
Also as shown in the table below, a compression ratio of 20 can be achieved and the number of oint can be greatly reduced.
Figure imgf000007_0001
Table 1
Referring to portal 100 shown in Figure 1, in an embodiment, a server 110, an input module 102, a process module 112, and communication module 104. The portal 100 can also include a monitor module 105, or output module 103. The input module can input a triangular mesh model of a 3D object. The process module can divide the 3D object into a plurality of surfaces and extracting the boundary curves of each surface and a multi-sided patch algorithm stored on a non-transitory computer-readable medium for fitting a multi-sided patch to the boundary curves of each surface. The process module can create a spline function within each surface during extracting the boundary curves of each surface. The output module can generate a joint set of multi-sided patches. The monitor module can determine if the patch is not within a threshold or if a joint set of multi-sided patches is not visually closed. The communication module can input the triangular mesh model of the 3D object to the system.
The system may comprise a general-purpose computer and can have an internal or external memory for storing data and programs such as an operating system (e.g., iOS, DOS, Windows 2000™, Windows XP™, Windows NT™, OS/2, UNIX or Linux) and one or more application programs. Examples of application programs include computer programs implementing the techniques described herein for object generation (e.g., engineering progams, object generation programs, database programs, spreadsheet programs, or graphics programs) capable of generating documents or other electronic content; client applications (e.g., an Internet Service Provider (ISP) client, an e-mail client, or an instant messaging (IM) client) capable of communicating with other computer users, accessing various computer resources, and viewing, creating, or otherwise manipulating electronic content; and browser applications (e.g., Microsoft's Internet Explorer) capable of rendering standard Internet content and other content formatted according to standard protocols such as the Hypertext Transfer Protocol
(HTTP). One or more of the application programs can be installed on the internal or external storage of the general-purpose computer. Alternatively, in another embodiment, application programs can be externally stored in or performed by one or more device(s) external to the general-purpose computer.
In addition, display device 106 can be a device configured to provide an image of the material. The device may be or can include a desktop computer, a server, a laptop computer or other mobile computing device, a network-enabled cellular telephone (with or without media capturing/playback capabilities), wireless email client, or other client, machine or device to perform various tasks including Web browsing, search, electronic mail (email) and other tasks, applications and functions.
The general-purpose computer may include a central processing unit (CPU) for executing instructions in response to commands, and a communication device for sending and receiving data. One example of the communication device is a modem. Other examples include a transceiver, a communication card, a satellite dish, an antenna, a network adapter, or some other mechanism capable of transmitting and receiving data over a communications link through a wired or wireless data pathway.
The general-purpose computer may also include an input/output interface that enables wired or wireless connection to various peripheral devices. Examples of peripheral devices include, but are not limited to, a mouse, a mobile phone, a personal digital assistant (PDA), a keyboard, a display monitor with or without a touch screen input, and an audiovisual input device. In another implementation, the peripheral devices may themselves include the functionality of the general-purpose computer. For example, the mobile phone or the PDA may include computing and networking capabilities and function as a general purpose computer by accessing a network and communicating with other computer systems. Examples of a network, such as network 108, include the Internet, the World Wide Web, WANs, LANs, analog or digital wired and wireless telephone networks (e.g., Public Switched Telephone Network (PSTN), Integrated Services Digital Network (ISDN), and Digital Subscriber Line (xDSL)), radio, television, cable, or satellite systems, and other delivery mechanisms for carrying data. A
communications link can include communication pathways that enable communications through one or more networks.
In one implementation, a processor-based system of the general-purpose computer can include a main memory, preferably random access memory (RAM), and can also include a secondary memory. The secondary memory can include, for example, a hard disk drive or a removable storage drive, representing a floppy disk drive, a magnetic tape drive, an optical disk drive (Blu-Ray, DVD, CD drive), magnetic tape, paper tape, punched cards, standalone RAM disks, Iomega Zip drive, etc. The removable storage drive can read from or write to a removable storage medium. A removable storage medium can include a floppy disk, magnetic tape, optical disk (Blu-Ray disc, DVD, CD) a memory card (CompactFlash card, Secure Digital card, Memory Stick), paper data storage (punched card, punched tape), etc., which can be removed from the storage drive used to perform read and write operations. As will be appreciated, the removable storage medium can include computer software or data.
In alternative embodiments, the secondary memory can include other similar means for allowing computer programs or other instructions to be loaded into a computer system. Such means can include, for example, a removable storage unit and an interface. Examples of such can include a program cartridge and cartridge interface (such as the found in video game devices), a removable memory chip (such as an EPROM or PROM) and associated socket, and other removable storage units and interfaces, which allow software and data to be transferred from the removable storage unit to the computer system.
In this document, the terms "computer program medium" and "computer readable medium" are generally used to refer to media such as a removable storage device, a disk capable of installation in a disk drive, and signals on a channel. These computer program products may provide software or program instructions to a computer system.
Computer-readable media include both volatile and nonvolatile media, removable and nonremovable media, and contemplate media readable by a database, a switch, and various other network devices. Network switches, routers, and related components are conventional in nature, as are means of communicating with the same. By way of example, and not limitation, computer-readable media comprise computer- storage media and communications media.
Computer-storage media, or machine-readable media, include media implemented in any method or technology for storing information. Examples of stored information include computer-useable instructions, data structures, program modules, and other data representations. Computer-storage media include, but are not limited to RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, DVD, holographic media or other optical disc storage, magnetic cassettes, magnetic tape, magnetic disk storage, and other magnetic storage devices. These memory components can store data momentarily, temporarily, or permanently.
Communications media typically store computer-useable instructions - including data structures and program modules - in a modulated data signal. The term "modulated data signal" refers to a propagated signal that has one or more of its characteristics set or changed to encode information in the signal. An exemplary modulated data signal includes a carrier wave or other transport mechanism. Communications media include any information-delivery media. By way of example but not limitation, communications media include wired media, such as a wired network or direct- wired connection, and wireless media such as acoustic, infrared, radio, microwave, spread- spectrum, and other wireless media technologies. Combinations of the above are included within the scope of computer-readable media.
Computer programs which may be associated with the portal may be stored in the main memory or secondary memory. Such computer programs can also be received via a communications interface. Such computer programs, when executed, may enable the computer system to perform the features as discussed herein. In particular, the computer programs, when executed, may enable the processor to perform the described techniques. Accordingly, such computer programs may represent controllers of the computer system.
In an embodiment where the elements are implemented using software, the software can be stored in, or transmitted via, a computer program product and loaded into a computer system using, for example, a removable storage drive, hard drive or communications interface. The control logic (software), when executed by the processor, may cause the processor to perform the functions of the techniques described herein.
In another embodiment, the elements may be implemented primarily in hardware using, for example, hardware components such as PAL (Programmable Array Logic) devices, application specific integrated circuits (ASICs), or other suitable hardware components. Implementation of a hardware state machine so as to perform the functions described herein will be apparent to a person skilled in the relevant art(s). In yet another embodiment, elements may be implanted using a combination of both hardware and software.
In another embodiment, the computer-based methods can be accessed or implemented over the World Wide Web by providing access via a Web Page to the methods described herein. Accordingly, the Web Page may be identified by a Universal Resource Locator (URL). The URL may denote both a server and a particular file or page on the server. In this embodiment, it is envisioned that a client computer system, which may be the client device 106, may interact with a browser to select a particular URL, which in turn may cause the browser to send a request for that URL or page to the server identified in the URL. Typically, the server may respond to the request by retrieving the requested page and transmitting the data for that page back to the requesting client computer system, which may be the client device 106 (the client/server interaction may be typically performed in accordance with the hypertext transport protocol or HTTP). The selected page may then be displayed to the user on the client's display screen. The client can then cause the server containing a computer program to launch an application, for example, to perform an analysis according to the described techniques. In another implementation, the server can download an application to be run on the client to perform an analysis according to the described techniques.
While particular embodiments of the invention have been illustrated and described in detail herein, it should be understood that various changes and modifications might be made to the invention without departing from the scope and intent of the invention. The embodiments described herein are intended in all respects to be illustrative rather than restrictive. Alternate embodiments will become apparent to those skilled in the art to which the present invention pertains without departing from its scope.
From the foregoing it will be seen that this invention is one well adapted to attain all the ends and objects set forth above, together with other advantages, which are obvious and inherent to the system and method. It will be understood that certain features and sub-combinations are of utility and may be employed without reference to other features and sub-combinations. This is contemplated and within the scope of the appended claims. A number of embodiments of the invention have been described.
Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. For example, although two circuits of transfer function are shown, the oscillator can include any other suitable voltage supplier circuit that can realize feedback function F (V,·).
Other embodiments are within the scope of the following claims.

Claims

WHAT IS CLAIMED IS:
1. A method of three-dimensional (3D) compression, the method comprising: providing a triangular mesh model of a 3D object;
dividing the 3D object into a plurality of surfaces;
extracting the boundary curves of each surface;
fitting a multi-sided patch to the boundary curves of each surface; and generating a joint set of multi-sided patches.
2. The method of claim 1 further comprising subdividing the surface if the patch is not within a threshold.
3. The method of claim 1 further comprising subdividing the surface if a joint set of multi-sided patches is not visually closed.
4. The method of claim 1, wherein fitting a multi-sided patch to the boundary curves of each surface comprises applying a multi- sided patch fitting algorithm.
5. The method of claim 1, wherein extracting the boundary curves of each
surface comprises creating a spline function within each surface.
6. The method of claim 5, wherein the spline function corresponds to at least one boundary of the surface.
7. The method of claim 5, wherein the spline function is a B-spline function.
8. The method of claim 1, wherein the multi-sided patch is generated basing on the attributes of the surface.
9. The method of claim 1, wherein the triangular mesh model of a 3D object is stored in a non-transitory computer-readable medium.
10. The method of claim 1, wherein providing a triangular mesh model of a 3D object comprises uploading the triangular mesh model of a 3D object from a mobile device.
11. The method of claim 1, wherein providing a triangular mesh model of a 3D object comprises downloading the triangular mesh model of a 3D object from a website.
12. The method of claim 1 further comprising saving the joint set of multi-sided patches in a network database.
13. A three-dimensional (3D) compression system, the system comprising:
an input module for inputting a triangular mesh model of a 3D object;
a process module for dividing the 3D object into a plurality of surfaces and extracting the boundary curves of each surface and a multi- sided patch algorithm stored on a non-transitory computer-readable medium for fitting a multi-sided patch to the boundary curves of each surface; and
an output module for generating a joint set of multi-sided patches.
14. The system of claim 13 further comprising a monitor module to determine if the patch is not within a threshold.
15. The system of claim 13 further comprising a monitor module to determine if a joint set of multi-sided patches is not visually closed.
16. The system of claim 13, wherein the process module creates a spline function within each surface during extracting the boundary curves of each surface.
17. The system of claim 16, wherein the spline function corresponds to at least one boundary of the surface.
18. The system of claim 16, wherein the spline function is a B-spline function.
19. The system of claim 13, wherein the multi-sided patch is generated basing on the attributes of the surface.
20. The system of claim 13 further comprising a communication module, wherein the triangular mesh model of the 3D object is inputted by the communication module.
PCT/US2013/049305 2012-07-05 2013-07-03 Three-dimensional object compression Ceased WO2014008387A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261668119P 2012-07-05 2012-07-05
US61/668,119 2012-07-05

Publications (2)

Publication Number Publication Date
WO2014008387A2 true WO2014008387A2 (en) 2014-01-09
WO2014008387A3 WO2014008387A3 (en) 2014-03-20

Family

ID=49882608

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2013/049305 Ceased WO2014008387A2 (en) 2012-07-05 2013-07-03 Three-dimensional object compression

Country Status (1)

Country Link
WO (1) WO2014008387A2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016000019A1 (en) * 2014-06-30 2016-01-07 Jagonal Pty Ltd System and method for rendering buildings in three dimensions
CN106296822A (en) * 2016-08-15 2017-01-04 西安电子科技大学 A kind of surface-boundary restoration methods of grid model
CN108230439A (en) * 2017-12-28 2018-06-29 苏州慧筑信息科技有限公司 One kind is used for web terminal three-dimensional model lightweight method, electronic equipment and storage medium
CN112102452A (en) * 2020-09-27 2020-12-18 完美世界(北京)软件科技发展有限公司 Animation model processing method and device, electronic equipment and storage medium
CN116277972A (en) * 2023-03-01 2023-06-23 诺丁汉大学卓越灯塔计划(宁波)创新研究院 A method for compressing slice data of light-cured 3D printing based on triangulation

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW540204B (en) * 2000-12-04 2003-07-01 Inst Information Industry Selectable progressive model downloading method under world wide web environment
US20050140670A1 (en) * 2003-11-20 2005-06-30 Hong Wu Photogrammetric reconstruction of free-form objects with curvilinear structures

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016000019A1 (en) * 2014-06-30 2016-01-07 Jagonal Pty Ltd System and method for rendering buildings in three dimensions
CN106296822A (en) * 2016-08-15 2017-01-04 西安电子科技大学 A kind of surface-boundary restoration methods of grid model
CN108230439A (en) * 2017-12-28 2018-06-29 苏州慧筑信息科技有限公司 One kind is used for web terminal three-dimensional model lightweight method, electronic equipment and storage medium
CN108230439B (en) * 2017-12-28 2021-09-03 苏州慧筑信息科技有限公司 Web-end three-dimensional model lightweight method, electronic equipment and storage medium
CN112102452A (en) * 2020-09-27 2020-12-18 完美世界(北京)软件科技发展有限公司 Animation model processing method and device, electronic equipment and storage medium
CN112102452B (en) * 2020-09-27 2024-03-22 完美世界(北京)软件科技发展有限公司 Animation model processing method and device, electronic equipment and storage medium
CN116277972A (en) * 2023-03-01 2023-06-23 诺丁汉大学卓越灯塔计划(宁波)创新研究院 A method for compressing slice data of light-cured 3D printing based on triangulation

Also Published As

Publication number Publication date
WO2014008387A3 (en) 2014-03-20

Similar Documents

Publication Publication Date Title
Valette et al. Approximated centroidal voronoi diagrams for uniform polygonal mesh coarsening
US9924240B2 (en) Systems and methods for interactive video generation and rendering
CN110517214A (en) Method and apparatus for generating image
CN109947972A (en) Reduced graph generating method and device, electronic equipment, storage medium
WO2014008387A2 (en) Three-dimensional object compression
CN102521849A (en) Region-based image manipulation
CN115049799B (en) Method and device for generating 3D model and virtual image
CN113763249A (en) Text image super-resolution reconstruction method and related equipment
US20250308184A1 (en) Three dimensional aware video compositing
CN109697689A (en) Storage medium, electronic equipment, image synthesizing method and device
CN107077746A (en) System, method and computer program product for automatic optimization of 3D textured models for network transmission and real-time rendering
CN113822965A (en) Image rendering processing method, device and equipment and computer storage medium
Sheng et al. A lightweight surface reconstruction method for online 3D scanning point cloud data oriented toward 3D printing
US10147220B2 (en) Precomputing data for an interactive system having discrete control inputs
KR102468718B1 (en) Method and device for providing 3d digital twin space using deep neural network
CN109697748A (en) Model compression processing method, model pinup picture processing method device, storage medium
CN104183002A (en) Three-dimensional model change method and device
Zhang et al. 3D representation in 512-Byte: Variational tokenizer is the key for autoregressive 3D generation
Yang et al. Automatic objects removal for scene completion
CN117710527A (en) Image processing method, device and product based on artificial intelligence large model
Miller et al. A novel mesh-based workflow for complex geometry in BIM
CN114820908B (en) Virtual image generation method and device, electronic equipment and storage medium
CN119399237A (en) Method, device, equipment and storage medium for extracting foreground objects in three-dimensional scenes
Rockwood et al. Three-dimensional object compression
Otomo et al. Direct construction of a four-dimensional mesh model from a three-dimensional object with continuous rigid body movement

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13812696

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13812696

Country of ref document: EP

Kind code of ref document: A2

122 Ep: pct application non-entry in european phase

Ref document number: 13812696

Country of ref document: EP

Kind code of ref document: A2

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 13.01.2016)

122 Ep: pct application non-entry in european phase

Ref document number: 13812696

Country of ref document: EP

Kind code of ref document: A2