A three-dimensional unitization compression method and system oriented to BIM model value driving
By using component value score assessment and adaptive entropy coding technology, the problems of data accuracy loss and low loading efficiency in BIM model compression are solved, achieving efficient three-dimensional unit compression, which is suitable for mobile devices and collaborative design scenarios.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ZFUSION TECH CO LTD XIAMEN
- Filing Date
- 2026-02-27
- Publication Date
- 2026-05-12
AI Technical Summary
Existing BIM compression technology cannot effectively balance compression ratio and data fidelity, resulting in loss of accuracy of core structural data or insufficient compression of non-core components. After decoding, the model material information is lost, and there is a lack of a scientific system to quantify the importance of components, leading to low loading efficiency.
By using a component value score evaluation system, voxelization and compression unit division are performed. Adaptive entropy coding and dual index table technology are adopted to achieve differentiated compression, ensuring lossless core structural data and optimizing bitstream generation.
It achieves a precise balance between compression ratio and data fidelity, reduces storage and transmission costs, improves encoding and decoding efficiency, and adapts to efficient interactive scenarios such as mobile devices and collaborative design.
Smart Images

Figure CN121725080B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of building technology, specifically to a three-dimensional modular compression method and system for value-driven BIM models. Background Technology
[0002] Building Information Modeling (BIM), as a core tool for the entire lifecycle management of engineering projects, needs to carry massive amounts of detailed data on building structures, mechanical and electrical equipment, and material properties. Its original model files are enormous, posing significant challenges to storage, transmission, and lightweight applications. In scenarios such as intelligent operation and maintenance, collaborative design, and mobile visualization, the need to balance model loading efficiency, data fidelity, and storage costs is becoming increasingly urgent, and traditional BIM compression technologies are no longer sufficient to meet practical application demands.
[0003] Existing BIM compression methods often employ single-dimensional simplification strategies, or only compress geometric shapes while ignoring the integrity of material properties; or they use a uniform compression standard, failing to allocate precision according to the importance of components, resulting in loss of accuracy in core structural data or insufficient compression of non-core components. Some voxelization compression techniques only record the dominant material of the unit, losing secondary material properties, making it impossible to fully restore the model's material information after decoding, affecting subsequent operation, maintenance, compliance verification, and other work.
[0004] Meanwhile, existing technologies lack a scientific system for quantifying the importance of components. Hierarchical compression largely relies on manual settings, resulting in high subjectivity and poor adaptability. The decoding process often requires full data loading, making it impossible to precisely decode on demand based on spatial range and material type, leading to excessive memory consumption, low loading efficiency, and difficulty in adapting to localized interactive scenarios in large BIM models. Therefore, a hierarchical voxel compression technology that balances accuracy, efficiency, and data integrity is urgently needed to address the core pain points of existing solutions. Summary of the Invention
[0005] This application aims to provide a three-dimensional unitized compression method and system for BIM model value-driven applications, which can accurately balance compression ratio and data fidelity while improving encoding and decoding efficiency.
[0006] The technical solution of this application is implemented as follows:
[0007] In a first aspect, embodiments of this application provide a three-dimensional unitization compression method for value-driven BIM models, the method comprising:
[0008] Obtain the original BIM model containing geometric and material information and the overall compression target; and calculate the component value score for each component in the original BIM model; wherein the component value score is used to quantify the importance of a single BIM component;
[0009] Based on the original BIM model and the component value score, voxelization and compressed unit division are performed to obtain multiple compressed units.
[0010] Each of the multiple compression units is independently compressed and adaptive entropy encoded to generate a bitstream corresponding to each of the multiple compression units;
[0011] The bitstreams corresponding to each of the multiple compression units are aggregated to obtain the total volume of the multiple compression units; based on the total volume and the overall compression target, the encoding parameters are determined, compression is completed, and the final bitstreams corresponding to each of the multiple compression units are obtained; and the final bitstreams are stored to obtain the final compressed file.
[0012] In the above scheme, the process of voxelization and compression unit division based on the original BIM model and the component value score yields multiple compressed units, including:
[0013] Based on the original BIM model, voxelization is performed to obtain an initial three-dimensional voxel field; wherein, each voxel in the initial three-dimensional voxel field represents the color, brightness and material type label of the corresponding position in the original BIM model;
[0014] The component value score is assigned to each voxel in the initial three-dimensional voxel field to obtain the three-dimensional voxel field.
[0015] Based on the three-dimensional voxel field, compression units are divided to obtain the plurality of compression units.
[0016] In the above scheme, the step of dividing the compression units based on the three-dimensional voxel field to obtain the plurality of compression units includes:
[0017] Based on the three-dimensional voxel field, the compression units are divided to obtain multiple initial compression units;
[0018] Calculate the average component value fraction of all voxels within each of the plurality of initial compression units;
[0019] The compression level of each initial compression unit is determined based on the average component value score of each initial compression unit and the preset level mapping relationship; wherein, the preset level mapping relationship represents the correspondence between the component value score and the compression level.
[0020] Each initial compression unit is assigned a compression level to obtain each compression unit; and the plurality of compression units are determined based on each compression unit.
[0021] In the above scheme, the step of independently compressing and adaptive entropy encoding the plurality of compression units to generate the bitstream corresponding to each of the plurality of compression units includes:
[0022] For each of the plurality of compression units, a multi-directional three-dimensional scan is performed on each compression unit to determine the optimal compression direction;
[0023] Based on the optimal compression direction, intra-frame prediction and residual generation are performed on the voxels in each compression unit to obtain the prediction residual.
[0024] Based on the compression level corresponding to each compression unit, the quantization step size corresponding to each compression unit is determined; and the prediction residual is subjected to scalar quantization processing based on the quantization step size to obtain the quantized residual.
[0025] Based on the quantization residual, adaptive entropy coding is performed on each compression unit to obtain the bitstream of each compression unit; based on the bitstream of each compression unit, the bitstream corresponding to each of the plurality of compression units is determined.
[0026] In the above scheme, the step of performing a multi-directional three-dimensional scan on each of the plurality of compression units to determine the optimal compression direction includes:
[0027] According to three preset spatial scanning sequences, the voxels in each compression unit are arranged and predictive encoding is simulated to obtain three types of compressed files.
[0028] Based on the three types of compressed files, calculate the rate-distortion cost of each of the three preset spatial scanning orders;
[0029] The preset spatial scanning sequence with the lowest rate-distortion cost is selected as the optimal compression direction.
[0030] In the above scheme, the step of performing adaptive entropy coding on each compression unit based on the quantization residual to obtain the bitstream of each compression unit includes:
[0031] Based on the quantization residual, each compression unit is encoded using run-length encoding, exponential Golomb encoding, and segmented direct transmission respectively to obtain a first bitstream, a second bitstream, and a third bitstream; wherein, the first bitstream corresponds to run-length encoding, the second bitstream corresponds to exponential Golomb encoding, and the third bitstream corresponds to segmented direct transmission;
[0032] The minimum bitstream among the first bitstream, the second bitstream, and the third bitstream is selected as the target bitstream; and the encoding method corresponding to the target bitstream is determined as the encoding mode.
[0033] Based on the unit spatial coordinates, material type, optimal compression direction, quantization step size and encoding mode of each compression unit, the header information of each compression unit is determined;
[0034] The bitstream of each compression unit is determined based on the header information of each compression unit and the target bitstream.
[0035] In the above scheme, determining the encoding parameters based on the total volume and the overall compression target, completing the compression, and obtaining the final bitstream corresponding to each of the multiple compression units includes:
[0036] If the total volume is less than or equal to the overall compression target, then the encoding parameters are determined, compression is completed, and the final bitstream corresponding to each of the multiple compression units is obtained;
[0037] If the total volume is greater than the overall compression target, the quantization step size of the unit corresponding to the component value score being less than the preset threshold score is adjusted, and the unit corresponding to the component value score being less than the preset threshold score is re-encoded until the total volume after re-encoding is less than or equal to the overall compression target. The encoding parameters are then determined, compression is completed, and the final bitstream corresponding to each of the multiple compression units is obtained.
[0038] In the above scheme, after storing the final bitstream to obtain the final compressed file, the method further includes:
[0039] Based on the final compressed file, a spatial location index table and an attribute index table are generated;
[0040] Receive a decoding request; wherein the decoding request carries a selection filter;
[0041] Based on the spatial location index table and / or the attribute index table, the selection filter is parsed to determine the list of storage addresses;
[0042] Based on the storage address list, the final bitstream of the target unit corresponding to the storage address list is read from the final compressed file;
[0043] The final bitstream is decoded to obtain all voxels of the target unit; and a three-dimensional voxel field is reconstructed based on all voxels of the target unit.
[0044] Secondly, embodiments of this application provide a BIM model value-driven 3D unitized compression system, which includes: an acquisition module, a partitioning module, and an encoding module, wherein...
[0045] The acquisition module is used to acquire the original BIM model containing geometric and material information and the overall compression target; and to calculate the component value score of each component in the original BIM model; wherein the component value score is used to quantify the importance of a single BIM component;
[0046] The partitioning module is used to perform voxelization and compressed unit partitioning based on the original BIM model and the component value score to obtain multiple compressed units;
[0047] The encoding module is used to aggregate the bitstreams corresponding to each of the plurality of compression units to obtain the total volume of the plurality of compression units; based on the total volume and the overall compression target, determine the encoding parameters, complete the compression, and obtain the final bitstream corresponding to each of the plurality of compression units; and store the final bitstream to obtain the final compressed file.
[0048] Thirdly, embodiments of this application provide a three-dimensional unitization compression device for value-driven BIM models, comprising: a processor and a memory; wherein,
[0049] The memory is used to store computer programs;
[0050] The processor is configured to call and run the computer program from the memory to perform the method as described in the first aspect.
[0051] Fourthly, embodiments of this application provide a computer-readable storage medium storing executable instructions for causing a processor to perform the method described in the first aspect.
[0052] This application provides a three-dimensional unitized compression method and system for value-driven BIM modeling. The method includes: acquiring an original BIM model containing geometric and material information and an overall compression target; calculating the component value score of each component in the original BIM model, wherein the component value score is used to quantify the importance of a single BIM component; performing voxelization and compression unit division based on the original BIM model and the component value score to obtain multiple compression units; performing independent compression and adaptive entropy encoding on each of the multiple compression units to generate a bitstream corresponding to each of the multiple compression units; summing the bitstreams corresponding to each of the multiple compression units to obtain the total volume of the multiple compression units; determining encoding parameters based on the total volume and the overall compression target, completing the compression to obtain the final bitstream corresponding to each of the multiple compression units; and storing the final bitstream to obtain the final compressed file. The above solution establishes a multi-dimensional component value score evaluation system. Based on preset weights such as structural safety and operational importance, it automatically quantifies the importance of components, providing an objective basis for differentiated compression. This ensures that the core structure and compliance-related data remain visually intact and have complete attributes, while maximizing the simplification of non-core data, significantly reducing storage and transmission costs, and accurately balancing compression ratio and data fidelity. The adaptive encoding strategy optimizes bitstream generation, and the dual-index table supports on-demand decoding. Since it does not require full data loading, it can significantly reduce I / O and memory overhead, adapting to efficient interactive scenarios such as mobile devices and collaborative design, thereby improving encoding and decoding efficiency. Attached Figure Description
[0053] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the specification, serve to explain the technical solutions of this application. Obviously, the drawings described below are merely some embodiments of this application, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.
[0054] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.
[0055] Figure 1 A schematic diagram of an optional process for a value-driven three-dimensional unitization compression method for BIM models provided in this application embodiment;
[0056] Figure 2A schematic diagram illustrating three optional preset spatial scanning sequences for a value-driven 3D unitization compression method for BIM models provided in this application embodiment;
[0057] Figure 3 An optional decoding diagram of a value-driven three-dimensional unitization compression method for BIM models provided in this application embodiment;
[0058] Figure 4 A schematic diagram of a three-dimensional unitized compression system for BIM model value-driven implementation provided in this application embodiment;
[0059] Figure 5 This is a structural schematic diagram of a three-dimensional unitized compression device for BIM model value-driven applications, provided in an embodiment of this application. Detailed Implementation
[0060] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the specific technical solutions of this application will be further described in detail below with reference to the accompanying drawings of the embodiments of this application. The following embodiments are used to illustrate this application, but are not intended to limit the scope of this application.
[0061] Unless otherwise defined, all technical and scientific terms used in this application have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains. The terminology used in this application is for the purpose of describing embodiments of this application only and is not intended to be limiting of this application.
[0062] In the following description, references to "some embodiments," "this embodiment," "this application embodiment," and examples, etc., describe a subset of all possible embodiments. However, it is understood that "some embodiments" may be the same subset or different subset of all possible embodiments and may be combined with each other without conflict.
[0063] If the application documents contain similar descriptions such as "first / second", the following explanation shall be added: In the following description, the terms "first / second / third" are used only to distinguish similar objects and do not represent a specific order of objects. It is understood that "first / second / third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.
[0064] This application provides a three-dimensional unitization compression method for BIM model value-driven approaches. Figure 1 This is an optional flowchart illustrating a value-driven 3D unitization compression method for BIM models provided in an embodiment of this application, which will combine... Figure 1 The steps shown are explained.
[0065] S101. Obtain the original BIM model containing geometric and material information and the overall compression target; and calculate the component value score for each component in the original BIM model.
[0066] In some embodiments of this application, the overall compression target is generally related to the original size and is a partial size of the original size.
[0067] In some embodiments of this application, a three-dimensional unitization compression method oriented towards BIM model value-driven approaches is adapted to three-dimensional unit compression scenarios.
[0068] In some embodiments of this application, a BIM model value-driven 3D unitization compression method is adapted to a BIM model value-driven 3D unitization compression system.
[0069] In some embodiments of this application, an original BIM model containing geometric and material information is obtained, an overall compression target and a preset three-level compression level are set, and the component value score of each component in the original BIM model is calculated.
[0070] For example, the system loads the original BIM model containing complete geometric and material information, transforms it into a high-precision three-dimensional voxel field (each voxel is bound to material properties), and simultaneously completes the definition of compression targets and the quantification of component importance.
[0071] Set overall compression target: The user sets the final file size threshold (e.g., compress to 15% of the original size).
[0072] Tiered Sub-Objectives and Data Importance: The system presets three compression levels to correspond to differentiated data protection needs. The level classification directly determines the subsequent compression strategy.
[0073] Level_High (High Importance): Corresponds to core structural data, requiring visual losslessness or no loss of precision.
[0074] Level_Medium (Medium Importance): Corresponds to secondary structural and functional components, allowing for slight visual loss.
[0075] Level_Low (Low Importance): Corresponds to visualization aids and filler components, allowing for significant data compression.
[0076] Component Value Score (CVS) calculation includes:
[0077] CVS is a comprehensive evaluation value (ranging from 0 to 100 points) automatically calculated by the system. It is used to quantify the importance of a single BIM component and serves as the core basis for subsequent dynamic grading and differentiated compression strategy allocation.
[0078] Calculation rules and weight configuration: The calculation is based on a comprehensive calculation using preset weights across multiple dimensions. Users can customize the weights for each dimension. The default weights are as follows:
[0079] a. Structural safety dimension (weight 0.4): assesses the criticality of components in the structural system. Load-bearing components (foundations, main beams and columns, etc.) receive high scores, while decorative components receive low scores.
[0080] b. Operation and Maintenance Importance Dimension (Weight 0.3): Assess the frequency and necessity of accessing components in facility operation and maintenance. Core equipment, valves, etc., receive high scores, while non-critical infill walls, etc., receive low scores.
[0081] c. Regulatory compliance dimension (weight 0.2): Assess whether the components involve mandatory specifications, acceptance or reporting requirements. Fire protection facilities, evacuation route components, etc. will receive high scores.
[0082] d. Design Key Dimension (Weight 0.1): Evaluate the importance of components in expressing the architectural design intent; iconic curved surfaces and key spatial interfaces will receive high scores.
[0083] Users load a data center BIM model containing structural, architectural, and electrical systems, setting the overall goal to compress it to 15% of its original size. The system calculates the CVS (Constant Visibility Value) and performs level mapping: CVS > 85 (load-bearing columns, core cooling pipes) is mapped to Level_High; CVS 60-85 (raised floors, ordinary cable trays) is mapped to Level_Medium; CVS < 60 (general infill walls) is mapped to Level_Low.
[0084] S102. Based on the original BIM model and component value scores, voxelization and compressed element division are performed to obtain multiple compressed elements.
[0085] In some embodiments of this application, voxelization is performed on the original BIM model to obtain an initial three-dimensional voxel field; wherein, each voxel in the initial three-dimensional voxel field represents the color, brightness and material type label of the corresponding position in the original BIM model; the component value score is assigned to each voxel in the initial three-dimensional voxel field to obtain the three-dimensional voxel field; based on the three-dimensional voxel field, compression unit division is performed to obtain multiple compression units.
[0086] S103. Perform independent compression and adaptive entropy coding on multiple compression units to generate the bitstream corresponding to each compression unit.
[0087] In some embodiments of this application, for each of the multiple compression units, a multi-directional three-dimensional scan is performed on each compression unit to determine the optimal compression direction; based on the optimal compression direction, intra-frame prediction and residual generation are performed on the voxels in each compression unit to obtain the prediction residual; based on the compression level corresponding to each compression unit, the quantization step size corresponding to each compression unit is determined; and based on the quantization step size, scalar quantization processing is performed on the prediction residual to obtain the quantization residual; based on the quantization residual, adaptive entropy coding is performed on each compression unit to obtain the bitstream of each compression unit; and based on the bitstream of each compression unit, the bitstreams corresponding to each of the multiple compression units are determined.
[0088] S104. Summarize the bitstreams corresponding to each of the multiple compression units to obtain the total volume of the multiple compression units; based on the total volume and the overall compression target, determine the encoding parameters, complete the compression, and obtain the final bitstreams corresponding to each of the multiple compression units; and store the final bitstreams to obtain the final compressed file.
[0089] In some embodiments of this application, if the total volume is less than or equal to the overall compression target, the encoding parameters are determined, compression is completed, and the final bitstreams corresponding to each of the multiple compression units are obtained. If the total volume is greater than the overall compression target, the quantization step size of the units whose component value scores are less than a preset threshold score is adjusted, and the units whose component value scores are less than the preset threshold score are re-encoded until the total volume after re-encoding is less than or equal to the overall compression target. The encoding parameters are then determined, compression is completed, and the final bitstreams corresponding to each of the multiple compression units are obtained. The final bitstreams are stored to obtain the final compressed file.
[0090] For example, the initial compression and total size assessment: After completing the independent compression of all units, the overall file size of the initial compression is obtained. Target comparison and feedback adjustment: The total volume of multiple compressed units is compared with the overall compression target. If the target is not met, the system automatically initiates iterative optimization: While ensuring the quality of the Level_High units remains unchanged, the quantization step size of the Level_Medium and Level_Low units is increased proportionally, and these units are quickly recoded. Output convergence: This process is repeated until the final output file size meets or approaches the user-defined target. At this point, the system locks all encoding parameters and completes the compression.
[0091] It should be noted that the preset threshold score is 85. The components with a value score less than the preset threshold score are the Level_Medium and Level_Low components.
[0092] After the system completed the first round of independent compression of all units, the total size was 1.2GB. However, the user-defined overall compression target was 180MB.
[0093] 1. Initial Comparison and Adjustment: The system initiates iterative optimization. It maintains the quantization step size of all Level_High cells unchanged to ensure core data integrity. Simultaneously, it adjusts the quantization step size of Level_Medium cells from Qstep=5 to Qstep=7, and the quantization step size of Level_Low cells from Qstep=12 to Qstep=18.
[0094] 2. Recoding and Re-evaluation: The system only performs fast recoding on the Level_Medium and Level_Low units using the new parameters. After completion, the total size was reduced to 250MB, which still did not meet the target.
[0095] 3. Secondary Adjustment and Convergence: The system underwent further adjustments, increasing the Qstep of the Level_Low cells from 18 to 25 and recoding them again. Ultimately, the total size stabilized at 178MB, essentially meeting the target of 180MB. Throughout this process, the Level_High cell data maintained its original quality.
[0096] The system arranges or stores all compressed unit streams in their natural order in three-dimensional space (e.g., first the X-axis, then the Y-axis, and finally the Z-axis) to synthesize the final compressed file.
[0097] Understandably, by establishing a multi-dimensional component value score evaluation system, based on preset weights such as structural safety and operational importance, the importance of components is automatically quantified, providing an objective basis for differentiated compression. This ensures that the core structure and compliance-related data remain visually intact and attribute complete, while maximizing the simplification of non-core data, significantly reducing storage and transmission costs, and accurately balancing compression ratio and data fidelity. Adaptive encoding strategies optimize bitstream generation, and dual index tables support on-demand decoding. Since full data loading is not required, I / O and memory overhead can be significantly reduced, adapting to efficient interactive scenarios such as mobile devices and collaborative design, thereby improving encoding and decoding efficiency.
[0098] In some embodiments of this application, S102 can be implemented by S201-S203, as follows:
[0099] S201. Based on the original BIM model, voxelization is performed to obtain an initial three-dimensional voxel field; wherein, each voxel in the initial three-dimensional voxel field represents the color, brightness and material type label of the corresponding position in the original BIM model.
[0100] S202. Assign the component value score to each voxel in the initial three-dimensional voxel field to obtain the three-dimensional voxel field.
[0101] S203. Based on the three-dimensional voxel field, the compression unit is divided to obtain multiple compression units.
[0102] In some embodiments of this application, compression units are divided based on a three-dimensional voxel field to obtain multiple initial compression units; the average component value score of all voxels in each initial compression unit is calculated; the compression level of each initial compression unit is determined based on the average component value score of each initial compression unit and a preset level mapping relationship; wherein, the preset level mapping relationship characterizes the correspondence between component value score and compression level; the compression level of each initial compression unit is assigned to each initial compression unit to obtain each compression unit; and multiple compression units are determined based on each compression unit.
[0103] For example, the system converts the original BIM model into a high-precision three-dimensional voxel field in a grid coordinate system. Each voxel represents the color and brightness, or grayscale, of that location in the BIM model and is assigned a unique material type label (such as C50 concrete, Φ25 threaded steel) and inherits the CVS value of the original component in which it is located.
[0104] The entire voxel field is divided into numerous cubic compressed cells of fixed size (e.g., 8x8x8 voxels). Each compressed cell is treated as an independent coded entity. The system records the cell position index (e.g., row X, column Y, layer Z) of each cell within the overall grid to uniquely determine its spatial location, without needing to store the absolute coordinates of each voxel within the cell.
[0105] The average CVS value of all voxels in each compression unit is calculated, and the unit is dynamically mapped to the corresponding compression level (Level_High / Medium / Low). The mapping result directly determines the quantization step size (Qstep) of the unit, providing parameter basis for subsequent compression.
[0106] Record the material type corresponding to all voxels in the compression unit and include all material types in the unit information header to ensure complete restoration after decoding.
[0107] After the structural column is simplified, the material type of multiple consecutive 8×8×8 elements is recorded in their corresponding headers. The average CVS value is 92, so the overall label is Level_High, and Qstep is assigned. The element header records the element location index and material type.
[0108] In some embodiments of this application, S103 can be implemented by S301-S304, as follows:
[0109] S301. For each compression unit among multiple compression units, perform multi-directional three-dimensional scanning of each compression unit to determine the optimal compression direction.
[0110] In some embodiments of this application, voxels within each compression unit are arranged and predicted encoding is simulated according to three preset spatial scanning orders to obtain three compressed files; based on the three compressed files, the rate-distortion cost of each of the three preset spatial scanning orders is calculated; the preset spatial scanning order with the lowest rate-distortion cost is selected as the optimal compression direction.
[0111] For example, the system sequentially arranges and predicts the encoding of voxels within each compression unit according to three preset spatial scanning sequences, as follows: Figure 2 As shown:
[0112] Sequence A (Y-axis priority): Scan layer by layer along the depth direction (front -> back).
[0113] Sequence B (Z-axis priority): Scan layer by layer along the height direction (up->down).
[0114] Sequence C (X-axis priority): Scan layer by layer along the width direction (left to right).
[0115] Perform a complete "prediction-quantization-entropy encoding" simulation for each sequence and calculate its rate-distortion cost using the following formula:
[0116] RDO = BIT_SIZE*WGT1+IMG_QLT*WGT2
[0117] Where RDO is the rate-distortion cost; BIT_SIZE is the compressed file size; IMG_QLT is the image quality; and WGT1 and WGT2 are preset weights. IMG_QLT can be represented by MSE or PSNR metrics.
[0118] The order that minimizes rate distortion is selected as the optimal compression direction for the cell and recorded in the cell header information.
[0119] S302. Based on the optimal compression direction, perform intra-frame prediction and residual generation on the voxels in each compression unit to obtain the prediction residual.
[0120] S303. Based on the compression level corresponding to each compression unit, determine the quantization step size corresponding to each compression unit; and perform scalar quantization processing on the prediction residual based on the quantization step size to obtain the quantized residual.
[0121] S304. Based on the quantization residual, perform adaptive entropy coding on each compression unit to obtain the bitstream of each compression unit; determine the bitstream corresponding to each of the multiple compression units based on the bitstream of each compression unit.
[0122] In some embodiments of this application, based on the quantization residual, each compression unit is encoded using run-length encoding, exponential Golomb encoding, and segmented direct transmission, respectively, to obtain a first bitstream, a second bitstream, and a third bitstream; wherein, the first bitstream corresponds to run-length encoding, the second bitstream corresponds to exponential Golomb encoding, and the third bitstream corresponds to segmented direct transmission; the smallest bitstream among the first, second, and third bitstreams is selected as the target bitstream; and the encoding method corresponding to the target bitstream is determined as the encoding mode; based on the unit spatial coordinates, material type, optimal compression direction, quantization step size, and encoding mode of each compression unit, the header information of each compression unit is determined; based on the header information and the target bitstream of each compression unit, the bitstream of each compression unit is determined.
[0123] For example, each voxel is processed sequentially along the selected optimal compression direction.
[0124] The three-dimensional spatial intra-frame prediction method is adopted: For the current voxel to be encoded, a predicted value is calculated by a specific predictor (such as average value, weighted value or adaptive selection based on texture continuity) based on the values of the multiple voxels that are spatially adjacent to it in the current cell (such as front, top, left).
[0125] Prediction residual = True voxel value - Predicted value.
[0126] The system assigns a unique quantization step size to each cell based on its labeled compression level. Level_High uses the smallest step size (high precision), Level_Low uses the largest step size (high compression), and Level_Medium uses an intermediate value.
[0127] The prediction residuals are scalar-quantized using this quantization step size to obtain the quantized residuals. This process is the main source of lossy compression; high CVS cells have low loss, while low CVS cells have high loss. The quantization step size is then written into the compressed file header.
[0128] For the quantization residual, the following three lossless coding modes are adaptively selected to generate a highly compact binary bitstream:
[0129] Run-length encoding: Suitable for situations where there are a large number of consecutive "0" values after quantization. It replaces a long string of zeros with a combination of (number of zero values, subsequent non-zero values), making it very efficient for sparse data.
[0130] Exponential Columbus coding: a variable-length coding system that assigns short codewords to residuals with small values (which are more likely to occur) and long codewords to residuals with large values (which are less likely to occur). It does not require the construction of a complex code table, resulting in low complexity and good compression performance.
[0131] Segmented direct transmission: When a segment of residual data is detected to be uniformly distributed and without obvious statistical regularity, its original quantized value is directly stored. This avoids the additional overhead that other encoding methods may bring in the low-entropy segment.
[0132] The adaptive method is as follows: three lossless encoding methods are used respectively to obtain three bitstream sizes, and finally the lossless encoding method corresponding to the smallest bitstream size is selected as the final encoding mode.
[0133] Finally, the header information of the unit is recorded (unit spatial coordinates, material type, optimal compression direction, quantization step size, and encoding mode).
[0134] The system begins compressing a unit labeled Level_High with C60 concrete as the material type.
[0135] Direction decision: It attempts three scanning sequences in turn. Since the structural column has uniform material in the vertical direction, the "Z-axis priority" (up to down) scan results in almost no change in data between adjacent slices, extremely small prediction residuals, and the lowest calculated rate distortion cost, so this direction is selected.
[0136] Prediction and Residual: When scanning vertically, the predicted value of the current voxel is determined by the prediction direction of the encoded voxel value directly above it (because the current voxel and the encoded voxel directly above it are assumed to have the same direction, i.e., texture continuity). The calculated prediction residual is mainly concentrated around 0.
[0137] Quantization: Since it is Level_High, a fine quantization step size Qstep=2 is used. After quantization, most of the residuals become 0, and the few non-zero values are small integers such as ±1.
[0138] Entropy coding: The encoder analyzes the quantized residual sequence and uses the three lossless coding methods to obtain three bitstream sizes. Finally, it is found that the bitstream size of run-length encoding is the smallest, so the final encoding mode is run-length encoding.
[0139] In some embodiments of this application, after storing the final bitstream in S104 to obtain the final compressed file, the method further includes:
[0140] Based on the final compressed file, a spatial location index table and an attribute index table are generated;
[0141] Receive decoding requests; wherein, the decoding requests carry selection filters;
[0142] Based on the spatial location index table and / or the attribute index table, the selection filter is parsed to determine the list of storage addresses;
[0143] Based on the list of storage addresses, the final bitstream of the target unit corresponding to the list of storage addresses is read from the final compressed file;
[0144] The final bitstream is decoded to obtain all voxels of the target unit; and a three-dimensional voxel field is reconstructed based on all voxels of the target unit.
[0145] For example, the system generates and embeds two core index tables based on the final compressed file to enable fast random access to data:
[0146] Spatial Location Index Table: A table recording the correspondence between the global grid coordinates (e.g., (Gx, Gy, Gz)) of each compression unit and the starting offset address and length of its bitstream within the file. This table allows direct location of the specific physical storage location based on the three-dimensional coordinates.
[0147] Attribute Index Table: An index that records a list of mesh coordinates for all elements corresponding to each material type. This table allows for quick searching of all elements with a specific material type.
[0148] When a user or application needs to view a specific part of the model, on-demand decoding is triggered. The core process is as follows:
[0149] Receive decoding requests: Requests typically contain a selection filter, for example:
[0150] Spatial Range Filter: Decodes all data within the spatial region {X1-X2, Y1-Y2, Z1-Z2}.
[0151] Material type filter: Decodes all data for fire water pipes as the material type.
[0152] Mixed Filter: Decodes data for all materials of type cement in layer 5 (Z=5).
[0153] The decoder first parses the filter:
[0154] For spatial range filters, query the spatial location index table to find all cells whose coordinates fall within the spatial range and their first storage address.
[0155] For the material type filter, query the attribute index table to obtain a list of all unit coordinates that meet the conditions, and then convert them into a second storage address through the spatial location index table.
[0156] For the hybrid filter, the intersection of the first and second storage addresses is calculated to obtain the final list of cell storage addresses that need to be decoded.
[0157] Based on the obtained list of storage addresses (i.e., any one of the storage addresses corresponding to the three filters), the system reads the bitstream data of the relevant units from the compressed file.
[0158] For each read unit data packet, perform reverse decoding operations sequentially:
[0159] a. Parse header information: Extract cell space coordinates, material type, optimal compression direction, quantization step size, and encoding mode.
[0160] b. Entropy Decoding: Based on the encoding mode hints in the header information, the bitstream data is sequentially subjected to corresponding inverse segmented direct transmission, inverse exponential Columbus decoding, and inverse run-length decoding to restore the quantization residual.
[0161] c. Dequantization: Based on the quantization step size Qstep corresponding to the cell, multiply the quantization residual by Qstep to recover the prediction residual.
[0162] d. Inverse Prediction and Reconstruction: Following the optimal compression direction recorded in the header information, the prediction algorithm is executed in reverse. Starting from the first reconstructed voxel, all voxels within the cell are gradually recovered using the prediction residual and the values of adjacent reconstructed voxels.
[0163] Model reconstruction and delivery: After all selected units are decoded, the system reconstructs a corresponding 3D voxel model in memory.
[0164] Decoding process as follows Figure 3 As shown in the scenario: On the intelligent operation and maintenance platform, engineers need to check the current status of all cooling pipes in area A of a large factory's BIM model in order to plan maintenance. Request: The platform submits a hybrid filter request to the decoder: {Spatial range: Area A, Attribute: Material type = "Cooling pipe"}. Location: Based on the material type in the hybrid filter request, the decoder reconstructs the material type of the cooling pipes within multiple cubic compressed cells. Specifically, it queries the attribute index table using the material type in the hybrid filter request to find the coordinate list of all cells with the material type "cooling pipe". Simultaneously, based on area A in the hybrid filter request, it reconstructs area A within multiple cubic compressed cells. Specifically, it queries the spatial location index table using area A in the hybrid filter request to find the coordinate list of all cells within area A. By taking the intersection of the two, it performs reconstruction based on the material type of the cooling pipes and area A, obtaining a list of cooling pipe cells within area A and locating their physical locations in the .bimlc file. Selective reading and decoding: The system only reads the compressed package of these few dozen relevant cells (potentially only 0.5% of the total file size). For each unit: first decode the header information to confirm that it is a cooling pipe; then perform entropy decoding and inverse quantization on its bitstream; finally, perform inverse prediction according to the recorded optimal direction to perfectly reconstruct the accurate three-dimensional voxel of the pipe segment in region A.
[0165] This application constructs an integrated BIM model compression system that combines "quantitative grading, full attribute retention, adaptive encoding, and on-demand decoding," balancing compression ratio, data fidelity, and interaction efficiency. The core idea is as follows:
[0166] First, a multi-dimensional component value score (CVS) evaluation system is established. Based on preset weights such as structural safety and operational importance, the importance of components is automatically quantified (0-100 points), generating a model value map. This provides an objective basis for differentiated compression and divides the data into three levels: high, medium, and low, ensuring the accuracy of core data.
[0167] Secondly, a voxelization strategy is adopted to transform the BIM model into a unified mesh voxel field, and each compressed unit records the material type to prevent the loss of material information, thus laying the foundation for accurate decoding.
[0168] Furthermore, unit-independent adaptive coding is implemented. Through multi-directional scanning optimization, three-dimensional intra-frame prediction, and CVS-driven quantization, combined with a run-length coding and exponential Columbus coding scheme, coding efficiency is optimized. A dual index table of spatial location and attributes is constructed to achieve on-demand decoding according to spatial range and material type, thereby reducing resource overhead.
[0169] Finally, through global bitrate iterative optimization, while ensuring the quality of high-level units remains unchanged, the parameters of medium and low-level units are dynamically adjusted until they approach the preset compression target, ultimately achieving a highly efficient compression effect that meets the application needs throughout the entire lifecycle of the project.
[0170] The beneficial effects of this application are as follows:
[0171] 1. Accurately balance compression ratio and data fidelity, and achieve differentiated compression through the CVS quantification system. This ensures that the core structure and compliance-related data are visually intact and have complete attributes, while maximizing the simplification of non-core data and significantly reducing storage and transmission costs.
[0172] 2. Eliminate the problem of material property loss. The compression unit retains all material and proportion information. After decoding, the material details of the model can be fully restored, providing reliable data support for subsequent work such as operation and maintenance, compliance verification, and secondary design.
[0173] 3. Significantly improves encoding and decoding efficiency. Adaptive encoding strategies optimize bitstream generation, and dual index tables support on-demand decoding without requiring full data loading, greatly reducing I / O and memory overhead, and adapting to efficient interactive scenarios such as mobile devices and collaborative design. Fourth, it possesses strong adaptability and flexibility. Weights can be customized, and compression levels can be dynamically mapped, adapting to different types of BIM models and full lifecycle application needs, reducing manual intervention and improving the practicality of technology implementation.
[0174] Based on the above embodiments, this application also provides a BIM model value-driven 3D unitized compression method. Figure 4 As shown, Figure 4 This is a schematic diagram of a BIM model value-driven 3D unitized compression system provided in an embodiment of this application. The system 4 includes: an acquisition module 401, a partitioning module 402, and an encoding module 403.
[0175] The acquisition module 401 is used to acquire the original BIM model containing geometric and material information and the overall compression target; and to calculate the component value score of each component in the original BIM model; wherein the component value score is used to quantify the importance of a single BIM component;
[0176] The partitioning module 402 is used to perform voxelization and compression unit partitioning based on the original BIM model and the component value score to obtain multiple compression units;
[0177] The encoding module 403 is used to summarize the bitstreams corresponding to each of the plurality of compression units to obtain the total volume of the plurality of compression units; based on the total volume and the overall compression target, determine the encoding parameters, complete the compression, obtain the final bitstream corresponding to each of the plurality of compression units; and store the final bitstream to obtain the final compressed file.
[0178] In some embodiments of this application, the partitioning module 402 is further configured to perform voxelization processing based on the original BIM model to obtain an initial three-dimensional voxel field; wherein, each voxel in the initial three-dimensional voxel field represents the color, brightness, and material type label of the corresponding position in the original BIM model; the component value score is assigned to each voxel in the initial three-dimensional voxel field to obtain the three-dimensional voxel field; and based on the three-dimensional voxel field, compression unit partitioning is performed to obtain the plurality of compression units.
[0179] In some embodiments of this application, the partitioning module 402 is further configured to partition compression units based on the three-dimensional voxel field to obtain multiple initial compression units; calculate the average component value score of all voxels in each initial compression unit; determine the compression level of each initial compression unit based on the average component value score of each initial compression unit and a preset level mapping relationship; wherein the preset level mapping relationship characterizes the correspondence between component value score and compression level; assign the compression level of each initial compression unit to each initial compression unit to obtain each compression unit; and determine the multiple compression units based on each compression unit.
[0180] In some embodiments of this application, the encoding module 403 is further configured to: perform multi-directional three-dimensional scanning on each of the plurality of compression units to determine the optimal compression direction; perform intra-frame prediction and residual generation on the voxels in each compression unit based on the optimal compression direction to obtain a prediction residual; determine the quantization step size corresponding to each compression unit based on the compression level corresponding to each compression unit; perform scalar quantization processing on the prediction residual based on the quantization step size to obtain a quantization residual; perform adaptive entropy coding on each compression unit based on the quantization residual to obtain the bitstream of each compression unit; and determine the bitstream corresponding to each of the plurality of compression units based on the bitstream of each compression unit.
[0181] In some embodiments of this application, the encoding module 403 is further configured to arrange and predictively encode the voxels in each compression unit according to three preset spatial scanning orders to obtain three compressed files; calculate the rate-distortion cost of each of the three preset spatial scanning orders based on the three compressed files; and select the preset spatial scanning order with the lowest rate-distortion cost as the optimal compression direction.
[0182] In some embodiments of this application, the encoding module 403 is further configured to encode each compression unit based on the quantization residual using run-length encoding, exponential Golomb encoding, and segmented direct transmission, respectively, to obtain a first bitstream, a second bitstream, and a third bitstream; wherein the first bitstream corresponds to run-length encoding, the second bitstream corresponds to exponential Golomb encoding, and the third bitstream corresponds to segmented direct transmission; the minimum bitstream among the first bitstream, the second bitstream, and the third bitstream is selected as the target bitstream; and the encoding method corresponding to the target bitstream is determined as the encoding mode; the header information of each compression unit is determined based on the unit space coordinates, material type, optimal compression direction, quantization step size, and encoding mode of each compression unit; and the bitstream of each compression unit is determined based on the header information of each compression unit and the target bitstream.
[0183] In some embodiments of this application, the encoding module 403 is further configured to: if the total volume is less than or equal to the overall compression target, determine the encoding parameters, complete the compression, and obtain the final bitstream corresponding to each of the plurality of compression units; if the total volume is greater than the overall compression target, adjust the quantization step size of the units whose component value score is less than a preset threshold score, re-encode the units whose component value score is less than the preset threshold score, until the total volume after re-encoding is less than or equal to the overall compression target, determine the encoding parameters, complete the compression, and obtain the final bitstream corresponding to each of the plurality of compression units.
[0184] In some embodiments of this application, a three-dimensional unitized compression system 4 for BIM model value-driven applications further includes: a decoding module 404; wherein,
[0185] The encoding module 403 is also used to store the final bitstream, and after obtaining the final compressed file, generate a spatial location index table and an attribute index table based on the final compressed file;
[0186] The decoding module 404 is configured to receive a decoding request, wherein the decoding request carries a selection filter; based on the spatial location index table and / or the attribute index table, the selection filter is parsed to determine a storage address list; based on the storage address list, the final bitstream of the target unit corresponding to the storage address list is read from the final compressed file; the final bitstream is decoded to obtain all voxels of the target unit; and based on all voxels of the target unit, a three-dimensional voxel field is reconstructed.
[0187] Based on the above embodiments, this application also provides a BIM model value-driven 3D unitization compression method. This method is further described in the embodiments of the present application. Figure 5 As shown, Figure 5 This is a schematic diagram of a BIM model value-driven 3D unitization compression device provided in an embodiment of this application. The device 5 includes a processor 501 and a memory 502. The memory 502 stores a computer program; the processor 501 retrieves and runs the computer program from the memory to execute the BIM model value-driven 3D unitization compression method as described in the above embodiment.
[0188] In the embodiments of this application, the processor 501 described above can be at least one of the following: Application-Specific Integrated Circuit (ASIC), Digital Signal Processor (DSP), Digital Signal Processing Device (DSPD), Programmable Logic Device (PLD), Field Programmable Gate Array (FPGA), Central Processing Unit (CPU), Controller, Microcontroller, and Microprocessor. It is understood that for different devices, the electronic device used to implement the above processor function can also be other types, and the embodiments of this application do not specifically limit it.
[0189] This application provides a computer-readable storage medium storing a computer program for implementing, when executed by a processor, a three-dimensional unitization compression method for BIM model value-driven approaches as described in any of the above embodiments.
[0190] For example, the program instructions corresponding to a BIM model value-driven three-dimensional unitization compression method in this embodiment can be stored on storage media such as optical discs, hard disks, and USB flash drives. When the program instructions corresponding to the BIM model value-driven three-dimensional unitization compression method in the storage media are read or executed by an electronic device, a BIM model value-driven three-dimensional unitization compression method as described in any of the above embodiments can be implemented.
[0191] Furthermore, in the embodiments of this application, the functional modules can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional module.
[0192] If the integrated unit is implemented as a software functional module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this embodiment, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the method of this embodiment. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0193] It should be understood that the phrases "one embodiment," "an embodiment," or "some embodiments" mentioned throughout the specification mean that a specific feature, structure, or characteristic related to the embodiment is included in at least one embodiment of this application. Therefore, "in one embodiment," "in one embodiment," or "in some embodiments" appearing throughout the specification do not necessarily refer to the same embodiment. Furthermore, these specific features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. It should be understood that in the various embodiments of this application, the sequence numbers of the above-described processes do not imply a sequential order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. The sequence numbers of the embodiments in this application are merely for descriptive purposes and do not represent the superiority or inferiority of the embodiments. The descriptions of the various embodiments above tend to emphasize the differences between the various embodiments; their similarities or commonalities can be referred to mutually, and for the sake of brevity, these will not be repeated here.
[0194] The modules described above as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules. They may be located in one place or distributed across multiple network units. Some or all of the modules may be selected to achieve the purpose of this embodiment according to actual needs.
[0195] In addition, each functional module in the various embodiments of this application can be integrated into one processing unit, or each module can be a separate unit, or two or more modules can be integrated into one unit; the integrated modules can be implemented in hardware or in the form of hardware plus software functional units.
[0196] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media that can store program code, such as mobile storage devices, read-only memory (ROM), magnetic disks, or optical disks.
[0197] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.
[0198] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.
[0199] The features disclosed in the several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method or device embodiments.
[0200] The above description is merely an embodiment of this application, but the protection scope of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the protection scope of this application. Therefore, the protection scope of this application should be determined by the protection scope of the claims.
Claims
1. A three-dimensional unitization compression method for value-driven BIM models, characterized in that, The method includes: Obtain the original BIM model containing geometric and material information and the overall compression target; and calculate the component value score for each component in the original BIM model; wherein the component value score is used to quantify the importance of a single BIM component; Based on the original BIM model and the component value score, voxelization and compressed unit division are performed to obtain multiple compressed units. Each of the multiple compression units is independently compressed and adaptive entropy encoded to generate a bitstream corresponding to each of the multiple compression units; The bitstreams corresponding to each of the multiple compression units are aggregated to obtain the total volume of the multiple compression units; based on the total volume and the overall compression target, the encoding parameters are determined, compression is completed, and the final bitstream corresponding to each of the multiple compression units is obtained; and the final bitstream is stored to obtain the final compressed file. Specifically, based on the original BIM model and the component value scores, voxelization and compression unit division are performed to obtain multiple compressed units, including: Based on the original BIM model, voxelization is performed to obtain an initial three-dimensional voxel field; wherein, each voxel in the initial three-dimensional voxel field represents the color, brightness and material type label of the corresponding position in the original BIM model; The component value score is assigned to each voxel in the initial three-dimensional voxel field to obtain the three-dimensional voxel field. Based on the three-dimensional voxel field, the compression units are divided to obtain multiple initial compression units; Calculate the average component value fraction of all voxels within each of the plurality of initial compression units; Based on the average component value score of each initial compression unit and the preset level mapping relationship, the compression level of each initial compression unit is determined; wherein, the preset level mapping relationship represents the correspondence between the component value score and the compression level. Each initial compression unit is assigned a compression level to obtain each compression unit; and the plurality of compression units are determined based on each compression unit.
2. The method according to claim 1, characterized in that, The step of independently compressing and adaptive entropy encoding the plurality of compression units to generate the bitstream corresponding to each of the plurality of compression units includes: For each of the plurality of compression units, a multi-directional three-dimensional scan is performed on each compression unit to determine the optimal compression direction; Based on the optimal compression direction, intra-frame prediction and residual generation are performed on the voxels in each compression unit to obtain the prediction residual. Based on the compression level corresponding to each compression unit, the quantization step size corresponding to each compression unit is determined; and the prediction residual is subjected to scalar quantization processing based on the quantization step size to obtain the quantized residual. Based on the quantization residual, adaptive entropy coding is performed on each compression unit to obtain the bitstream of each compression unit; based on the bitstream of each compression unit, the bitstream corresponding to each of the plurality of compression units is determined.
3. The method according to claim 2, characterized in that, The step of performing a multi-directional three-dimensional scan on each of the plurality of compression units to determine the optimal compression direction includes: According to three preset spatial scanning sequences, the voxels in each compression unit are arranged and predictive encoding is simulated to obtain three types of compressed files. Based on the three types of compressed files, calculate the rate-distortion cost of each of the three preset spatial scanning orders; The preset spatial scanning sequence with the lowest rate-distortion cost is selected as the optimal compression direction.
4. The method according to claim 2, characterized in that, The step of performing adaptive entropy coding on each compression unit based on the quantization residual to obtain the bitstream of each compression unit includes: Based on the quantization residual, each compression unit is encoded using run-length encoding, exponential Golomb encoding, and segmented direct transmission respectively to obtain a first bitstream, a second bitstream, and a third bitstream; wherein, the first bitstream corresponds to run-length encoding, the second bitstream corresponds to exponential Golomb encoding, and the third bitstream corresponds to segmented direct transmission; The minimum bitstream among the first bitstream, the second bitstream, and the third bitstream is selected as the target bitstream; and the encoding method corresponding to the target bitstream is determined as the encoding mode. Based on the unit spatial coordinates, material type, optimal compression direction, quantization step size and encoding mode of each compression unit, the header information of each compression unit is determined; The bitstream of each compression unit is determined based on the header information of each compression unit and the target bitstream.
5. The method according to claim 1, characterized in that, The process of determining encoding parameters based on the total volume and the overall compression target, completing compression, and obtaining the final bitstream corresponding to each of the multiple compression units includes: If the total volume is less than or equal to the overall compression target, then the encoding parameters are determined, compression is completed, and the final bitstream corresponding to each of the multiple compression units is obtained; If the total volume is greater than the overall compression target, the quantization step size of the unit corresponding to the component value score being less than the preset threshold score is adjusted, and the unit corresponding to the component value score being less than the preset threshold score is re-encoded until the total volume after re-encoding is less than or equal to the overall compression target. The encoding parameters are then determined, compression is completed, and the final bitstream corresponding to each of the multiple compression units is obtained.
6. The method according to claim 1, characterized in that, After storing the final bitstream to obtain the final compressed file, the method further includes: Based on the final compressed file, a spatial location index table and an attribute index table are generated; Receive a decoding request; wherein the decoding request carries a selection filter; Based on the spatial location index table and / or the attribute index table, the selection filter is parsed to determine the list of storage addresses; Based on the storage address list, the final bitstream of the target unit corresponding to the storage address list is read from the final compressed file; The final bitstream is decoded to obtain all voxels of the target unit; and a three-dimensional voxel field is reconstructed based on all voxels of the target unit.
7. A three-dimensional modular compression system for value-driven BIM models, used to execute the method as described in any one of claims 1-6, characterized in that, The BIM model value-driven 3D unitization compression system includes: an acquisition module, a partitioning module, and an encoding module, wherein... The acquisition module is used to acquire the original BIM model containing geometric and material information and the overall compression target; and to calculate the component value score of each component in the original BIM model; wherein the component value score is used to quantify the importance of a single BIM component; The partitioning module is used to perform voxelization and compressed unit partitioning based on the original BIM model and the component value score to obtain multiple compressed units; The encoding module is used to aggregate the bitstreams corresponding to each of the plurality of compression units to obtain the total volume of the plurality of compression units; based on the total volume and the overall compression target, determine the encoding parameters, complete the compression, and obtain the final bitstream corresponding to each of the plurality of compression units; and store the final bitstream to obtain the final compressed file. The partitioning module is further configured to perform voxelization processing based on the original BIM model to obtain an initial three-dimensional voxel field; wherein each voxel in the initial three-dimensional voxel field represents the color, brightness, and material type label of the corresponding position in the original BIM model; assign the component value score to each voxel in the initial three-dimensional voxel field to obtain the three-dimensional voxel field; partition the three-dimensional voxel field into compression units to obtain multiple initial compression units; calculate the average component value score of all voxels in each initial compression unit; determine the compression level of each initial compression unit based on the average component value score of each initial compression unit and a preset level mapping relationship; wherein the preset level mapping relationship characterizes the correspondence between component value score and compression level; assign the compression level of each initial compression unit to each initial compression unit to obtain each compression unit; and determine the multiple compression units based on each compression unit.
8. A three-dimensional unitized compression device for BIM model value-driven applications, characterized in that, include: Processor and memory, of which, The memory is used to store computer programs; The processor is configured to call and run the computer program from the memory to perform the method as described in any one of claims 1 to 6.