EP2050078A2 - Method and system for organizing topology elements for better compression - Google Patents
Method and system for organizing topology elements for better compressionInfo
- Publication number
- EP2050078A2 EP2050078A2 EP07814005A EP07814005A EP2050078A2 EP 2050078 A2 EP2050078 A2 EP 2050078A2 EP 07814005 A EP07814005 A EP 07814005A EP 07814005 A EP07814005 A EP 07814005A EP 2050078 A2 EP2050078 A2 EP 2050078A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- elements
- compression
- arrays
- computer
- pattern
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three-dimensional [3D] modelling for computer graphics
- G06T17/30—Polynomial surface description
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/001—Model-based coding, e.g. wire frame
Definitions
- Geometric representation that is capable of comprehensive functionality requirements is becoming increasingly important for engineering visualization industry as three-dimensional (“3D") data usage is being expanded to non-engineering purposes such as training, maintenance, etc.
- 3D representation can result in geometric files growing in size from "light weight” (also "light” or “Iw”)) files can be less than 500 kilobytes to "heavy weight” (also “heavy” or “hw”) files can be more than 2, 5 or 20 megabytes, for example.
- Light-weight 3D representation is crucial for collaborative visualization, where the visualization activity occurs in a distributed enterprise environment with the data being physically located on a different computer in the network (particularly if the visualization data must be transferred via LAN, WAN, email or any other low- bandwidth transmission medium).
- LOD resolutions are fixed in the file format, so the curved surface may not appear smooth when zoomed-in, or magnified, thereby creating undesirable visual artifacts.
- flat facets in mesh representation are merely linear approximations to the real object geometry. Some geometric operations, such as derivative computation, may not be meaningful at all for mesh, and other operations may not result in the desired accuracy.
- LOD representations can be heavy even with state-of-art advanced compression. Fundamentally, flat facets, the basic element of LOD representation, does not exploit the intrinsic property of curved surface geometry.
- An alternative format called Boundary Representation, or BREP can be used for graphics display in the file format BREP contains accurate geometry description of object geometry in which the modeling primitives can be curved.
- BREP representation is also the industry standard for 3D representation in CAD packages where the engineering models are authored, and therefore contains necessary information for all kinds of geometric operations with required accuracy.
- BREP representation is heavy and frequently heavier than typical LOD representation.
- BREP surface representation in general can't be directly accepted by mainstream graphics APIs such as OpenGL and DirectX. Facet representation needs to be generated by BREP with a process commonly called tessellation, before the object can be displayed on screen. The speed of BREP tessellation is therefore critical for graphics performance. Including both LOD and BREP representations in the file would fulfill most graphics and geometry operations and requirements, but only at the cost of making the file size even bigger. [Para 7] What is needed is a system, process, and method for a design representation that takes advantage of topological elements for arithmetic compression algorithms.
- the present application provides a method for organizing elements for compression, comprising nesting a hierarchical topological structure having a plurality of elements; arranging said plurality of elements in a pattern to facilitate data compression; representing said pattern as four arrays; and compressing said plurality of elements from said arrays.
- the method further comprising aggregating together a plurality of numerical values according to type.
- the method wherein said data compression is lossy.
- Another advantage of the presently preferred embodiment is to provide a computer-program product tangibly embodied in a machine readable medium to perform a method for organizing topology elements for compression, comprising instructions operable to cause a computer to nest a hierarchical topological structure having a plurality of elements; arrange said plurality of elements in a pattern to facilitate data compression; represent said pattern as four arrays; and compress said plurality of elements from said arrays.
- the computer-program product further comprising instructions to aggregate together a plurality of numerical values according to type.
- the computer- program wherein said data compression is lossy.
- [Para 1 0] And another advantage of the presently preferred embodiment is to provide a method for organizing elements for compression, comprising: aggregating a plurality of values into characteristic types; traversing each of said characteristic types for identification of aggregated values; quantizing said plurality of values; compressing said quantized plurality of values along with said plurality of values that are of an integer characteristic type.
- Yet another advantage of the presently preferred embodiment is to provide a A system for organizing elements for compression, comprising: an model representation; a type table having a plurality of characteristic types; a quantization engine; and a compression engine whereby said quantization engine and said compression engine compress a plurality of geometric elements from said model representation.
- Still another advantage of the presently preferred embodiment is to provide a data processing system having at least a processor and accessible memory to implement a method for organizing elements for compression, comprising means for nesting a hierarchical topological structure having a plurality of elements; means for arranging said plurality of elements in a pattern to facilitate lossless data compression; means for representing said pattern as four arrays; and means for compressing said plurality of elements from said arrays.
- FIG. 1 is a flow diagram illustrating a visualization system
- Figure 2 is an illustration of a light model definition
- Figure 3 is an illustration of a light logical topology structure
- Figure 4 is an abstraction of a topology structure
- Figure 5 is a illustration of an abstraction of topology structure for a cube topology
- Figure 6 is an illustration of organizing light model geometry data for better compression
- Figure 7 is a flow chart of a technique employed by the presently preferred embodiment
- Figure 8 is a block diagram of a computer environment in which the presently preferred embodiment may be practiced.
- an exemplary system for implementing the presently preferred embodiment includes a general-purpose computing device in the form of a computer 800, such as a desktop or laptop computer, including a plurality of related peripheral devices (not depicted).
- the computer 800 includes a microprocessor 805 and a bus 810 employed to connect and enable communication between the microprocessor 805 and a plurality of components of the computer 800 in accordance with known techniques.
- the bus 810 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
- the computer 800 typically includes a user interface adapter 815, which connects the microprocessor 805 via the bus 810 to one or more interface devices, such as a keyboard 820, mouse 825, and/or other interface devices 830, which can be any user interface device, such as a touch sensitive screen, digitized pen entry pad, etc.
- the bus 810 also connects a display device 835, such as an LCD screen or monitor, to the microprocessor 805 via a display adapter 840.
- the bus 810 also connects the microprocessor 805 to a memory 845, which can include ROM, RAM, etc.
- the computer 800 further includes a drive interface 850 that couples at least one storage device 855 and/or at least one optical drive 860 to the bus.
- the storage device 855 can include a hard disk drive, not shown, for reading and writing to a disk, a magnetic disk drive, not shown, for reading from or writing to a removable magnetic disk drive.
- the optical drive 860 can include an optical disk drive, not shown, for reading from or writing to a removable optical disk such as a CD ROM or other optical media.
- the aforementioned drives and associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules, and other data for the computer 800.
- the computer 800 can communicate via a communications channel 865 with other computers or networks of computers.
- the computer 800 may be associated with such other computers in a local area network (LAN) or a wide area network (WAN), or it can be a client in a client/server arrangement with another computer, etc.
- LAN local area network
- WAN wide area network
- the presently preferred embodiment may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
- program modules may be located in both local and remote memory storage devices. All of these configurations, as well as the appropriate communications hardware and software, are known in the art.
- Software programming code that embodies the presently preferred embodiment is typically stored in the memory 845 of the computer 800.
- such software programming code may be stored with memory associated with a server.
- the software programming code may also be embodied on any of a variety of non-volatile data storage device, such as a hard- drive, a diskette or a CD-ROM.
- the code may be distributed on such media, or may be distributed to users from the memory of one computer system over a network of some type to other computer systems for use by users of such other systems.
- the techniques and methods for embodying software program code on physical media and/or distributing software code via networks are well known and will not be further discussed herein.
- FIG. 1 is a flow diagram illustrating a visualization system.
- a light model visualization system generally illustrated at 100, has a light model format stored on disk 105 produced from a BREP model 110 derived from CAD data by a light model production component 115, written to disk by a light model compression component 120, and consumed by a tessellation kernel 125, a visualization kernel 130, and a geometric kernel 135 to fulfill engineering visualization functions such as to a graphics display 140 or a geometric analysis 145. Operation
- FIG. 2 is an illustration of a light model definition.
- the light model definition 105 has a region 200 that contains one or more shells 205 each of which corresponds to an isolated three-dimensional (3D) object with manifold topology.
- Each shell 200 consists of a collection of faces 210 covering the manifold geometry.
- Each face 210 is associated with a surface 215 that describes its geometry in the 3D Euclidean space.
- the surface 215 representation is parametric, meaning that its geometry is the result of mapping from a rectangular box in 2D parametric space to 3D model space through a mapping function.
- the face geometry can be a trimmed portion of the surface geometry, and such trimming if it exists is represented by one anti-hole loop and zero or more hole loops in the parameter space, where the anti-hole loop contains all the hole loops, generally illustrated at 220.
- Each loop 220 consists of one or more coedges 225, and each coedge 225 has its geometry in the parametric space as a parametric space curve 230.
- the adjacency information between different faces is established between pairs of coedges. Assuming manifold geometry, each pair of coedges corresponds to a single edge 235 with geometry in the model space as a model space curve 240. The location where multiple edges 235 join is called a vertex 245 with geometry in the model space as a point 250.
- Example analytic geometric forms can be plane, cylinder, cone, sphere, and torus.
- Example analytic geometric forms in the parametric space curve 230 are UVIine and UVcirde.
- Example analytic geometric forms in the model space curve 240 are XYZIine and XYZcircle.
- Figure 3 is an illustration of a light model logical topology structure.
- the hierarchical topological structure where the first region 200 of the light model structure denoted as R 0 starts at shell 205 S roS and ends at shell 205 S r r xe e l ' in which shell 205 S r r o s, starts at face 210 F s, o s , and ends at face 210 F s ⁇ , face 210 F SgS starts at loop 220 L fgS and ends at loop 220 L f ⁇ , while loop 220 L foS starts at coedge 225 C ks and ends at coedge 225 C ⁇ .
- k is the index for each array.
- FIG. 5 is an illustration of an abstraction of topology structure for a cube topology.
- the arrays for a cube topology are defined by 1 region, 1 shell, 6 faces, 6 loops, and 24 coedges.
- the region- shell relation array is seen at 500 that indicates for one region, there is one shell.
- the shell-face relation array is seen at 505 that indicates for the one shell, there are six faces. With six entries for the faces, the face-loop relation array is seen at 510 that indicates for the six faces, there is one loop per face.
- the loop-coedge relation array is seen at 515 that indicates for the six faces, there are four coedges per loop. Because the index of each coedge must be contiguous in each loop, first loop has coedges with index 0 to 3, and the second loop has coedges with index 4 to 7, etc.
- the array elements contain a pattern that can be greatly compressed by currently available compression algorithms such as arithmetic coding. [Para 41 ] To take further advantage of one of the distinct characteristics of light model geometry is to aggregate together numerical values according to type. The geometry data in light model structure is classified into twelve types as shown in Table 1. By aggregating the values into types more patterns are provided that can be exploited by a lossy compression algorithm such as arithmetic compression for better compression.
- Figure 6 is an illustration of organizing light model geometry data for better compression.
- the first three are of an integer characteristic 605, and the remaining nine have a more complex characteristic 610.
- the presently preferred embodiment passes eqch through a quantization engine 615 in any of the manners well understood in the art of lossy compression techniques.
- those types identified by the integer characteristic 605 are passed to an integer compression engine 620 in a manner well understood in the art.
- all of the integers that indicate "Degree of NURBS identity" are sequentially written on disk.
- Figure 7 is a technique for organizing topology elements for compression, beginning with nesting a hierarchical topological structure having a plurality of elements (Step 700). Next, arrange the plurality of elements in a pattern to facilitate lossy data compression (Step 705). Then represent the pattern as four arrays for each topological structure (Step 710). Lastly compress the elements from the arrays (Step 715). In an alternate embodiment also aggregate together a plurality of numerical values according to type for additional lossless compression.
- the presently preferred embodiment may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations thereof.
- An apparatus of the presently preferred embodiment may be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps of the presently preferred embodiment may be performed by a programmable processor executing a program of instructions to perform functions of the presently preferred embodiment by operating on input data and generating output.
- the presently preferred embodiment may advantageously be implemented in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device.
- the application program may be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language may be a compiled or interpreted language.
- a processor will receive instructions and data from a read-only memory and/or a random access memory.
- Storage devices suitable for tangibly embodying computer program instructions and data include all forms of nonvolatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD- ROM disks. Any of the foregoing may be supplemented by, or incorporated in, specially-designed ASICs (application-specific integrated circuits).
- a number of embodiments have been described. It will be understood that various modifications may be made without departing from the spirit and scope of the presently preferred embodiment. Therefore, other implementations are within the scope of the following claims.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Evolutionary Computation (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Image Generation (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
Claims
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US82213306P | 2006-08-11 | 2006-08-11 | |
| US11/837,305 US8988420B2 (en) | 2006-08-11 | 2007-08-10 | Visual file representation |
| US11/837,402 US8884956B2 (en) | 2006-08-11 | 2007-08-10 | System and method for trimmed surface tessellation |
| US11/837,371 US9070178B2 (en) | 2006-08-11 | 2007-08-10 | Method and system for organizing topology elements for better compression |
| PCT/US2007/075759 WO2008022056A2 (en) | 2006-08-11 | 2007-08-11 | Method and system for organizing topology elements for better compression |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP2050078A2 true EP2050078A2 (en) | 2009-04-22 |
Family
ID=38819269
Family Applications (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP07814006A Withdrawn EP2050079A1 (en) | 2006-08-11 | 2007-08-11 | Method and system for trimmed surface tessellation |
| EP07814004A Withdrawn EP2050077A1 (en) | 2006-08-11 | 2007-08-11 | Visual file representation |
| EP07814005A Withdrawn EP2050078A2 (en) | 2006-08-11 | 2007-08-11 | Method and system for organizing topology elements for better compression |
Family Applications Before (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP07814006A Withdrawn EP2050079A1 (en) | 2006-08-11 | 2007-08-11 | Method and system for trimmed surface tessellation |
| EP07814004A Withdrawn EP2050077A1 (en) | 2006-08-11 | 2007-08-11 | Visual file representation |
Country Status (2)
| Country | Link |
|---|---|
| EP (3) | EP2050079A1 (en) |
| WO (3) | WO2008022057A1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112115390A (en) * | 2019-06-20 | 2020-12-22 | 华为技术有限公司 | Method, apparatus, device and storage medium for displaying topology diagram |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6191791B1 (en) * | 1997-09-30 | 2001-02-20 | Hewlett-Packard Company | Methods for high precision, memory efficient surface normal compression and expansion |
| US6167159A (en) * | 1998-04-30 | 2000-12-26 | Virtue Ltd. | Triangle mesh compression |
| EP1086412A4 (en) * | 1998-06-08 | 2008-05-07 | Microsoft Corp | Compression of time-dependent geometry |
| US7248257B2 (en) * | 2001-02-14 | 2007-07-24 | Technion Research & Development Foundation Ltd. | Low bandwidth transmission of 3D graphical data |
| EP1321893B1 (en) * | 2001-11-27 | 2011-11-09 | Samsung Electronics Co., Ltd. | Node structure for representing 3-dimensional objects using depth image |
| KR20070083652A (en) * | 2004-09-13 | 2007-08-24 | 이엑스피웨이 | Compression and Restoration of Floating-Point Sequences |
| WO2006075895A1 (en) * | 2005-01-14 | 2006-07-20 | Electronics And Telecommunications Research Institute | Method of encoding and decoding texture coordinates in three-dimensional mesh information for effective texture mapping |
-
2007
- 2007-08-11 EP EP07814006A patent/EP2050079A1/en not_active Withdrawn
- 2007-08-11 WO PCT/US2007/075760 patent/WO2008022057A1/en not_active Ceased
- 2007-08-11 WO PCT/US2007/075758 patent/WO2008022055A1/en not_active Ceased
- 2007-08-11 EP EP07814004A patent/EP2050077A1/en not_active Withdrawn
- 2007-08-11 WO PCT/US2007/075759 patent/WO2008022056A2/en not_active Ceased
- 2007-08-11 EP EP07814005A patent/EP2050078A2/en not_active Withdrawn
Non-Patent Citations (2)
| Title |
|---|
| JAREK ROSSIGNAC: "Simplification and Compression of 3D Scenes", EUROPEAN COMPUTER GRAPHICS CONFERENCE 1997, 8 September 1997 (1997-09-08), Budapest Hungary, XP055269731, Retrieved from the Internet <URL:http://www.cc.gatech.edu/~jarek/papers/EG97star.pdf> [retrieved on 20160429] * |
| PARK S-M ET AL: "VOLUMETRIC MULTI-TEXTURING FOR FUNCTIONALY GRADIENT MATERIAL REPRESENTATION", PROCEEDINGS 6TH. ACM SYMPOSIUM ON SOLID MODELING AND APPLICATIONS. ANN ARBOR, MI, JUNE 6 - 8, 2001; [PROCEEDINGS OF THE SYMPOSIUM ON SOLID MODELING AND APPLICATIONS], NEW YORK, NY : ACM, US, 6 June 2001 (2001-06-06), pages 216 - 224, XP001134509, ISBN: 978-1-58113-366-0, DOI: 10.1145/376957.376982 * |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2008022057A1 (en) | 2008-02-21 |
| WO2008022056A2 (en) | 2008-02-21 |
| EP2050079A1 (en) | 2009-04-22 |
| WO2008022055A1 (en) | 2008-02-21 |
| EP2050077A1 (en) | 2009-04-22 |
| WO2008022056A3 (en) | 2008-12-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Hoppe | Progressive meshes | |
| US8988420B2 (en) | Visual file representation | |
| US6587104B1 (en) | Progressive hulls | |
| Bommes et al. | Quad‐mesh generation and processing: A survey | |
| Hoppe | Efficient implementation of progressive meshes | |
| US6396492B1 (en) | Detail-directed hierarchical distance fields | |
| US5966140A (en) | Method for creating progressive simplicial complexes | |
| US20190362029A1 (en) | Systems and methods for lightweight precise 3d visual format | |
| CN114078169A (en) | Variational auto-encoder for outputting 3D models | |
| Cutler et al. | Simplification and improvement of tetrahedral models for simulation | |
| US7348976B2 (en) | Three-dimensional shape display program, three-dimensional shape display method, and three-dimensional shape display apparatus | |
| US8207965B2 (en) | Rewritable compression of triangulated data | |
| US9070178B2 (en) | Method and system for organizing topology elements for better compression | |
| Asgharian et al. | How many sample points are sufficient for 3D model surface representation and accurate mesh simplification? | |
| US8884956B2 (en) | System and method for trimmed surface tessellation | |
| EP2050078A2 (en) | Method and system for organizing topology elements for better compression | |
| Taubin | Detecting and reconstructing subdivision connectivity | |
| Smith | 3D data representation, storage and processing | |
| Ponchio | Multiresolution structures for interactive visualization of very large 3D datasets | |
| Chen et al. | Generating high-quality discrete LOD meshes for 3D computer games in linear time | |
| CN118551465B (en) | Building group level model construction method, apparatus, device, medium and program product | |
| Boada et al. | An octree isosurface codification based on discrete planes | |
| Venkatesh et al. | 3D-visualization of power system data using triangulation and subdivision techniques | |
| Szczesna | Designing lifting scheme for second generation wavelet-based multiresolution processing of irregular surface meshes | |
| Shiue | Mesh refinement based on Euler encoding |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| 17P | Request for examination filed |
Effective date: 20081215 |
|
| AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC MT NL PL PT RO SE SI SK TR |
|
| AX | Request for extension of the european patent |
Extension state: AL BA HR MK RS |
|
| RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: HARPER, BRETT Inventor name: JOHANNSEN, ANDREAS Inventor name: CARTER, MICHAEL, B. Inventor name: HUANG, JIANBING |
|
| 17Q | First examination report despatched |
Effective date: 20090629 |
|
| DAX | Request for extension of the european patent (deleted) | ||
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
| 18D | Application deemed to be withdrawn |
Effective date: 20160920 |