A method for handling massive targets with dynamic resource constraints and explicit optimization

By employing multi-threaded scheduling rendering, deferred drawing, and multi-level progressive texture combinations, the problems of high memory consumption and low rendering efficiency of massive target data in 3D scenes are solved, achieving more efficient target display and interactive performance.

CN118864681BActive Publication Date: 2025-10-31NAT UNIV OF DEFENSE TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410911758.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-09
Publication Date
2025-10-31
Estimated Expiration
2044-07-09

AI Technical Summary

Technical Problem

Existing technologies suffer from high memory consumption, low rendering efficiency, and unsmooth interactive operations when processing massive amounts of target data in 3D scenes. This is especially true when the data volume is large and updates are frequent, leading to system lag and performance degradation.

Method used

By employing a combination of multi-threaded scheduling rendering, deferred drawing, dynamic avoidance clustering, and multi-level progressive texture processing, and through hierarchical processing and archiving mechanisms, the display and update process of massive targets is optimized, reducing foreground pressure and improving system frame rate and interactive smoothness.

Benefits of technology

It effectively reduced system wear and tear, improved the efficiency and smoothness of displaying massive amounts of data on the same screen, reduced visual stuttering, and enhanced the system's processing power.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118864681B_ABST
    Figure CN118864681B_ABST
Patent Text Reader

Abstract

This invention discloses a method for processing and optimizing the display of massive targets with dynamic resource constraints, comprising the following steps: acquiring 3D scene targets; performing multi-threaded scheduling and rendering of 3D scene targets: separating update traversal and rendering traversal into different threads to avoid the entire rendering thread from lag due to excessive update burden; triggering update rendering: to further reduce the system overhead caused by frequent updates, updates are not triggered after each data change, but rather batch updates are performed according to the system clock; dynamic avoidance: including point clustering and edge clustering; hierarchical data processing and archiving. This invention employs multi-threaded updates to avoid the entire rendering thread from lag due to excessive update burden; delayed rendering further reduces the system overhead caused by frequent updates; dynamic rendering technology uses a gradual effect to avoid visual lag caused by one-time rendering; and improves the efficiency of displaying massive targets in large batches on the same screen.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of computer graphics processing technology, and in particular relates to a method for processing and optimizing the display of massive targets with dynamic resource constraints. Background Technology

[0002] In recent years, 3D digital earth technology has gradually developed and become more widespread. Compared with 2D scenes, 3D scene simulation is closer to real-world scenes, bringing an immersive user experience. More and more application scenarios can be simulated and displayed using 3D scenes. A typical application scenario is the display of massive amounts of point target information, including key landmarks, facility deployments, and dynamic target information, displayed in various ways such as icons, text, and models. With the explosive growth of data volume, conventional 3D rendering engines' batch rendering and model sharing methods cannot solve the problems of memory growth and efficiency decline. At the same time, the large number of target data batches and the rapid update frequency bring significant pressure and challenges to processing, display, and analysis.

[0003] The conventional method for displaying 3D scene objects typically involves creating all the primitives that need to be processed and placing them in a rendering pipeline for sequential rendering. This method has simple development logic and performs well when the number of primitives is small. However, due to the large amount of point object data and high update frequency, this method suffers from high memory consumption and low rendering efficiency.

[0004] In graphics-based client applications, in addition to drawing graphics, a large number of interactive operations need to be supported. If too many resources are used for drawing in the main thread, smooth interactive operations are usually not supported. These operations are more important than graphics display. For loading and displaying massive amounts of target objects, the data loading and display scheduling performance will be greatly affected, resulting in severe scene lag after the data is loaded.

[0005] (1) Excessive memory usage. First, the number of point targets is very large. Even if the original data and metadata of each point target occupy a small amount of space, the accumulated space usage is not negligible. Second, the display style of a point target is usually different at different heights, including icons, text, models, etc. Therefore, each point target actually corresponds to multiple metadata, further increasing memory consumption. Increased memory usage can lead to decreased program performance or even program crashes.

[0006] (2) Low 3D rendering efficiency. The visualization of primitives in a 3D scene is achieved by the application layer calling the relevant graphics drawing function interfaces. Primitives are drawn in a loop on the drawing pipeline. As the number of graphics increases, the drawing efficiency will decrease. This gives users a direct feeling of frame rate drop and scene lag.

[0007] (3) Due to its rapid update characteristics, situational data can easily accumulate hundreds of millions of data entries within a period of time, which on the one hand exceeds the limits of traditional database models, and on the other hand poses a challenge to the rapid query and analysis of data. Summary of the Invention

[0008] In view of this, this invention, through key technology research, addresses the challenges of large batches of massive target data, rapid update frequency, and high display pressure on digital earth platforms. It proposes a resource-dynamically constrained method for processing and optimizing the display of massive targets. By establishing a hierarchical processing and archiving mechanism for situational data, and utilizing backend parallel computing capabilities for real-time or offline parallel processing of data, the invention reduces the pressure on frontend display and analysis, decreases data storage volume, and improves the efficiency of situational application processing. Through multi-threaded updates, delayed rendering, dynamic avoidance clustering, and multi-level progressive texture combination, the invention improves the system's display frame rate when displaying massive moving targets on the same screen, or maximizes the number of moving targets displayed on the same screen while maintaining system smoothness and usability. This solves the problems of large batches of massive target data, rapid update frequency, and high display pressure in digital earth platforms.

[0009] To achieve the above objectives, the present invention discloses a method for processing and explicitly optimizing massive targets with dynamic resource constraints, comprising the following steps:

[0010] Acquire 3D scene targets;

[0011] Multi-threaded scheduling and rendering of 3D scene targets: The update traversal and rendering traversal are processed in different threads, thereby avoiding the entire rendering thread from being stuck due to excessive update load;

[0012] Update drawing trigger: In order to further reduce the system overhead caused by frequent updates, updates are not triggered after each data change, but are performed in batches according to the system clock.

[0013] Dynamic obstacle avoidance includes point clustering and edge clustering. Point clustering includes dynamic rendering, obstacle avoidance rendering, and cluster rendering. Dynamic rendering renders targets in batches from most important to least important based on their importance, using a gradual effect to avoid visual stuttering caused by rendering all at once. When calculating the content display position, obstacle avoidance rendering prioritizes placing important targets, and then adjusts the positions of other targets to minimize overlap and occlusion. Cluster rendering clusters targets based on type and distance, and displays the clustering results at a high scale.

[0014] The edge aggregation includes: origin-destination aggregation and edge bundling; the origin-destination aggregation is based on the two endpoints of the edge, and edges with the same "origin" and "destination" are grouped into one category, with the number of edges represented by weight or thickness; the edge bundling is to adjust the position of the edges according to the distance to make them look neater.

[0015] Data classification, processing, and archiving.

[0016] Preferably, for the processing of displaying a large number of target models, a multi-level asymptotic texture of the model is dynamically adjusted according to the viewing height. Different levels of distance from the viewing height are mapped to different multi-level asymptotic textures, i.e., the one most suitable for the object distance, thereby further improving the loading performance of a large number of targets. Specifically, this includes using proximity filtering and linear filtering. Proximity filtering selects the pixel whose center point is closest to the texture coordinates, while linear filtering calculates an interpolation based on the texture pixels near the texture coordinates to approximate the colors between these texture pixels.

[0017] Preferably, the multi-threaded scheduling rendering includes:

[0018] Step 1: Link the relationships, spatial transformation relationships, and material relationships of scene nodes to the object as attributes, thus logically decoupling the nodes;

[0019] Step 2: Perform visibility testing on the scene and generate parallel jobs;

[0020] Step 3: Organize rendering pipelines to generate parallel rendering jobs;

[0021] Step 4: Add the rendering jobs generated in steps 1 to 3 above to the main worker thread;

[0022] Step 5: The main worker thread performs drawing traversal, executes scene node clipping, and generates rendering commands;

[0023] Step 6: Create worker threads for data modification, event traversal, and update traversal operations; data modifications include updating the location information of massive targets, updating signage and attribute information, and displaying / hiding / deleting operations;

[0024] Step 7: Encapsulate the update and drawing API call process generated in steps 5 and 6 above into commands and add them to the command queue;

[0025] Step 8: Retrieve the corresponding operation command from the command queue. This command is an executable operation. Refresh it to the driver thread and execute it.

[0026] Preferably, the update drawing trigger includes:

[0027] To reduce system overhead caused by frequent updates, updates are not triggered after each data change, but are performed in batches based on the system clock.

[0028] The batch update method involves creating a system timer and setting a preset batch update threshold β. This threshold takes into account the texture size and model rendering. When the number of command operations required for updating exceeds β, a batch update operation is performed.

[0029] The resource constraint condition is a minimum frame rate of 24 frames. When the system running frame rate is lower than 24, the update threshold β is adjusted to constrain the CPU and GPU resources occupied by the main thread and reduce the number of primitive nodes to be drawn per frame.

[0030] Preferably, the dynamic drawing process calculates target attributes and sets importance attributes σ for the targets. Targets are drawn in batches according to the size of σ, from most important to least important, with important targets placed first. Then, the positions of other targets are adjusted according to the size of the σ value, using a gradual effect to avoid visual stuttering caused by drawing all at once. When the system's frame rate is lower than the minimum frame rate for a smooth visual experience, the gradual display effect of the targets is adjusted according to the sorting value of σ from smallest to largest.

[0031] Preferably, the clustering plotting displays the clustering results at a high scale, including at least one of the following: distribution location, quantity, and hierarchical heatmap.

[0032] Preferably, edge clustering is performed according to the two endpoints of the edge, and edges with the same "starting point" and "destination point" are grouped into one class, with the number of edges represented by weight or thickness.

[0033] Preferably, the multi-level texture progression includes:

[0034] Only read the block data of the visible area;

[0035] Based on texture resolution and window resolution, a linear filtering method is used in advance to sample low-level textures into upper-level textures according to the viewing distance. The target display texture width and height dW and dH decrease by a multiple of 2 as the detail level increases, thus forming images at different resolutions. Each block is identified, where the higher the level, the smaller the texture and the lower the resolution.

[0036] The total number of layers in the gradient texture is N, and the current roaming operation is performed on the nth layer.

[0037] Determine if there is a corresponding texture in the [n-1, 0] layers below the fast buffer. If there is a corresponding texture, find the texture closest to the nth layer, shrink it in memory to obtain the block of data, display the texture, and add the block to the memory buffer.

[0038] If the block exists in layers [n+1, N-1] of the fast buffer, and if a corresponding block exists, find the block in the layer closest to layer n, enlarge it in memory to obtain the block data, and apply the block texture to the target that needs to be displayed.

[0039] Preferably, the data hierarchical processing and archiving includes:

[0040] Step 1: Receiving and receiving massive amounts of target data. The target data is received and read in the form of data packets. The data processing is divided into two parts: real-time processing and offline processing.

[0041] Step 2: Further, after receiving the data from the ingress service, the real-time processing module first performs anomaly detection. Based on the target data context and known target motion rules, it detects and judges obvious anomalies, including the reporting time, source, and type of the data packet. If the data format does not conform, the data packet is discarded; if the format conforms, real-time data extraction is performed. At the same time, a special target point retention field is set. If this field is true, the target is still saved.

[0042] Step 3: Real-time data extraction and simplification. Extract and parse the required field information from the data packets that meet the format to form the target simplified data structure. The data structure includes location, source, and type.

[0043] Step 4: Track point caching. Extract the location information and associated attribute information of the target data compressed package from Step 3, and cache the track point data before querying and displaying it, including the target ID, location and track point attributes.

[0044] Step 5: Target visualization display. Send the target data points processed in steps 2-4 to the display engine for visualization display.

[0045] Step 6: For receiving and processing massive amounts of target data, the offline processing part performs offline anomaly detection. Similar to Step 2, it detects and judges obvious anomalies based on the target data context and known target motion rules, including the reporting time, source, and type of data packets. If the data format does not conform, the data packet is discarded; if the format conforms, offline data extraction and simplification are performed.

[0046] Step 7: Offline data extraction and simplification. Extract and parse the required field information from the data packets that meet the format to form the target simplified data structure. The data structure includes location, source, and type.

[0047] Step 8: First-level data archiving. The compressed offline data packets are stored on the disk in the order of reporting time for retrieval and query during review and playback.

[0048] Step 9: Feature extraction and analysis, including velocity, acceleration, direction, rotation angle, curvature, time series, trajectory segments, and correlation of relevant information with trajectory point data;

[0049] Step 10: Store the features extracted in Step 9 in the database as an association table for archiving.

[0050] The beneficial effects of this invention are as follows:

[0051] 1. Multi-threaded updates are adopted, and update traversal and rendering traversal are handled by different threads, thereby avoiding the entire rendering thread from being stuck due to excessive update load; delayed rendering further reduces the system overhead caused by frequent updates, and does not trigger updates after each data change, but performs batch updates according to the system clock.

[0052] 2. By using dynamic drawing technology, targets are drawn in batches from most important to least important according to their importance, using a gradual effect to avoid visual lag caused by drawing all at once.

[0053] 3. Clustering rendering technology: Clustering targets based on metrics such as type and distance, displaying clustering results at a high scale, and improving the efficiency of displaying massive targets on the same screen.

[0054] 4. Multi-level texture progression can significantly improve efficiency when displaying a large number of targets on the same screen. Attached Figure Description

[0055] Figure 1 Framework diagram of the present invention;

[0056] Figure 2 Multi-threaded scheduling for rendering and updating the graph;

[0057] Figure 3 Schematic diagram of multi-level texture progression;

[0058] Figure 4 Data classification, processing, and archiving flowchart. Detailed Implementation

[0059] The present invention will be further described below with reference to the accompanying drawings, but this is not intended to limit the present invention in any way. Any modifications or substitutions made based on the teachings of the present invention shall fall within the protection scope of the present invention.

[0060] The technical solution of this invention patent adopts a separation mode between back-end data processing and front-end display rendering control. The back-end data processing involves hierarchical processing and archiving of situational data, while the front-end employs massive situational display optimization technology, mainly including multi-threaded scheduling rendering, update drawing triggering strategy, dynamic avoidance clustering, and multi-level progressive combination of textures.

[0061] A typical scene rendering generally consists of three parts: event traversal, update traversal, and rendering traversal. The cumulative duration of these three traversals determines the time required to complete the rendering of one frame. Delay in any of these steps will cause a decrease in the overall frame rate, and may even cause system stuttering due to insufficient frame rate. In the display of massive targets, data-driven targets often need to change positions, thus triggering update traversal. When the number of targets increases dramatically, the performance bottleneck of this process often results in poor overall situational awareness display performance. To address this, a multi-threaded, deferred rendering, dynamic avoidance clustering, and multi-level progressive texture combination method is proposed.

[0062] Multi-threaded rendering scheduling: Update traversal and rendering traversal are handled by different threads, thereby avoiding the entire rendering thread from being stuck due to excessive update load;

[0063] Update drawing trigger strategy: In order to further reduce the system overhead caused by frequent updates, updates are not triggered after each data change, but are performed in batches according to the system clock.

[0064] Point aggregation techniques mainly include:

[0065] Dynamic rendering technology: Based on the importance of the target, the targets are rendered in batches from most important to least important, using a gradual effect to avoid the visual lag caused by rendering all at once;

[0066] Avoidance rendering technique: When calculating the display position of target attributes, labels and other content, important targets are placed first, and then the positions of other targets are adjusted so that they do not overlap or obstruct each other as much as possible;

[0067] Clustering rendering technology: Clustering targets based on metrics such as type and distance, and displaying the clustering results at a high scale, such as distribution location, quantity, and hierarchical heatmaps.

[0068] Edge aggregation techniques mainly include:

[0069] (1) Origin-Destination Clustering: Clustering is performed according to the two endpoints of the edges. Edges with the same "origin" and "destination" are grouped into one class. The number of edges can be represented by weight or thickness.

[0070] (2) Edge binding: Adjust the position of the edges according to the distance and other measurement methods to make them look neater.

[0071] Point clustering and edge clustering techniques are well-suited for displaying static and dynamic targets, as well as the relationships between targets.

[0072] Multi-level progressive texture mapping: For displaying a large number of target models, a multi-level progressive texture mapping is dynamically adjusted based on the view height. Different levels of distance at different visual heights are mapped to different multi-level progressive textures, i.e., the one most suitable for the object's distance, thus further improving the loading performance of large batches of targets. For example, if a target model layer has a 64*64 texture pixel map, when the distance between the camera and the target is 0, the displayed pixels on the screen are 64*64, the same size as the texture pixel map, requiring no special processing. When the view height on the sphere is α kilometers, the displayed pixels are 32*32. When a 32*32 pixel needs to display a 64*64 texture pixel object, each pixel needs to be mapped to a 2*2 texture pixel. This can only be calculated using a suitable algorithm within these 2*2 texture pixels. Here, neighbor filtering and linear filtering are used. Neighbor filtering selects the pixel whose center point is closest to the texture coordinates, while linear filtering calculates an interpolation based on the texture pixels near the texture coordinates to approximate the colors between these texture pixels.

[0073] By improving upon the aforementioned methods of multi-threading, updating the drawing trigger strategy, dynamic avoidance clustering, and multi-level progressive texture combination, the efficiency of displaying a large number of targets on the same screen can be significantly improved. To make the objectives, technical solutions, and advantages of this disclosure clearer, the following detailed description is provided in conjunction with specific embodiments and the accompanying drawings:

[0074] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit this disclosure. The terms “comprising,” “including,” etc., as used herein indicate the presence of the stated features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.

[0075] S1: Multi-threaded scheduling and rendering optimization strategy

[0076] For details, please refer to Figure 2 Step S1 includes:

[0077] Step 1: Link the relationships, spatial transformations, and materials of scene nodes to objects using attributes, logically decoupling the nodes. This data structure facilitates parallel computation. Perform visibility testing on light sources to generate parallel tasks.

[0078] Step 2: Perform visibility testing on the scene to generate parallel jobs.

[0079] Step 3: Organize rendering pipelines to generate parallel rendering jobs.

[0080] Step 4: Add the rendering jobs generated in steps 1 to 3 above to the main working thread.

[0081] Step 5: The main worker thread performs drawing traversal, executing tasks such as clipping scene nodes and generating rendering commands.

[0082] Step 6: Create worker threads for data modification, event traversal, and update traversal operations. Data modification mainly includes updating the location information of massive targets, updating signage and attribute information, and operations such as displaying, hiding, and deleting.

[0083] Step 7: Encapsulate the update and drawing API call process generated in steps 5 and 6 above into commands and add them to the command queue.

[0084] Step 8: Retrieve the corresponding operation command from the command queue. This command is an executable operation. Refresh it to the driver thread and execute it.

[0085] This application uses multi-threaded updates, separating update traversal and rendering traversal into different threads; delayed rendering further reduces the system overhead caused by frequent updates, and does not trigger updates after each data change, but performs batch updates according to the system clock.

[0086] S2: Update drawing strategy optimization

[0087] Specifically, step S2 includes:

[0088] Step 9: To further reduce the system overhead caused by frequent updates, updates are not triggered after each data change, but are performed in batches according to the system clock.

[0089] Step 10: Further, the batch update method in Step 9 involves creating a system timer with a preset batch update threshold β. This threshold takes into account texture size and model rendering. When the number of command operations required for updating exceeds β, the batch update operation is executed. For example, if a user loads 20,000 target objects and the threshold is set to 1,000, then only 1,000 will be rendered in the first frame, and 1,000 will be rendered in each of the subsequent 19 frames. In this way, the CPU and GPU resources required for rendering each frame are constrained, thereby improving the system frame rate and the smoothness of interaction.

[0090] Step 11: Further, the resource constraint condition is a minimum frame rate of 24 frames. When the system running frame rate is lower than 24, adjust the update threshold β in step 10 to constrain the CPU and GPU resources occupied by the main thread and reduce the number of primitive nodes to be drawn per frame.

[0091] This application employs dynamic rendering technology to render targets in batches, from most important to least important. The batch update method involves creating a system timer with a preset batch update threshold β. This threshold takes into account texture size and model rendering. When the number of command operations required for updating exceeds β, a batch update operation is executed. For example, if a user loads 20,000 target objects and the threshold is set to 1,000, only 1,000 will be rendered in the first frame, and 1,000 will be rendered in each of the subsequent 19 frames. This constrains the CPU and GPU resources required for each frame's rendering, thereby improving the system frame rate and the smoothness of interaction. The resource constraint condition is a minimum frame rate of 24 frames per second. When the system's frame rate drops below 24, the update threshold β is adjusted to constrain the CPU and GPU resources used by the main thread, reducing the number of primitive nodes to be rendered per frame.

[0092] S3: Dynamic Avoidance Clustering Mechanism

[0093] Specifically, step S3 includes:

[0094] Step 11: Dynamic obstacle avoidance can be divided into point clustering and edge clustering methods in terms of implementation.

[0095] Step 12: Further, point aggregation includes dynamic drawing, avoidance drawing, and clustering drawing.

[0096] Step 13: Further, dynamically draw the targets, assigning an importance attribute σ to their attributes, identifiers, and other content. Based on the magnitude of σ, targets are drawn in batches from most important to least important, prioritizing the placement of important targets. Then, the positions of other targets are adjusted according to the σ values, using a gradual effect to avoid visual stuttering caused by drawing all at once. The minimum frame rate for a smooth visual experience is 24 frames per second. When the system frame rate is below 24, the gradual display effect of the targets is adjusted according to the sorting value of σ from smallest to largest.

[0097] Step 14: Cluster the targets according to metrics such as type and distance, and display the clustering results at a high scale, such as distribution location, quantity, and hierarchical heatmap.

[0098] Step 15: Edge aggregation technology includes origin-destination aggregation and edge bundling.

[0099] Step 16: Further, edge clustering is performed according to the two endpoints of the edge, and edges with the same "starting point" and "destination point" are grouped into one class, and the number of edges is represented by weight or thickness.

[0100] Step 17: Bind the edges and adjust their positions according to measurements such as distance to make them look neater.

[0101] S4: Multi-level Texture Progression

[0102] For details, please refer to Figure 3 Step S4 includes:

[0103] Step 18: Since the visible area is usually smaller than the entire image area when displaying textures, only the block data of the visible area needs to be read. Assume the width and height of the source texture are sW and sH, and the width and height of the target display texture are dW and dH.

[0104] Step 19: Based on texture resolution and window resolution, a linear filtering method is used to pre-sample low-level textures into upper-level textures according to the viewing distance. dW and dH decrease by a multiple of 2 as the Lod (Levels of Detail) level increases, thus forming images at different resolutions, and each block is labeled. The higher the level, the smaller the texture and the lower the resolution. For example, if the source texture size is 64*64, the pre-sampled texture sizes will be 32*32, 16*16, 8*8, 4*4, and 2*2 respectively.

[0105] Step 20: Assuming the total number of progressive texture layers is N, we are currently performing a roaming operation on the nth layer.

[0106] Step 21: Determine if there is a corresponding texture in the [n-1, 0] layers below the fast buffer. If there is a corresponding texture, find the texture closest to the nth layer, shrink it in memory to obtain the block data, display the texture, and add the block to the memory buffer.

[0107] Step 22: If the block exists in the [n+1, N-1] layers of the fast buffer, if there is a corresponding block, find the block in the layer closest to layer n, enlarge it in memory to obtain the block data (to achieve the gradient effect, the enlarged block data is added to memory), and apply the block texture to the target that needs to be displayed.

[0108] For the display of model layers of massive targets, this application adopts a method of dynamically adjusting the multi-level asymptotic texture of the model based on the viewing height. Different levels of distance at different visual heights are mapped to different multi-level asymptotic textures, that is, the texture of the level most suitable for the object distance, thereby further improving the loading performance of large batches of targets.

[0109] S5: Data Classification and Archiving Process

[0110] For details, please refer to Figure 4 S5 includes:

[0111] Step 23: Receiving and receiving massive amounts of target data. The target data is received and read in the form of data packets. The data processing is divided into two parts: real-time processing and offline processing.

[0112] Step 24: Further, after receiving the data from the data transfer service, the real-time processing module first performs anomaly detection. Based on the target data context and known target motion rules, it detects and judges obvious anomalies, mainly including information such as the data packet's reporting time, source, and type. If the data format does not conform, the data packet is discarded; if the format conforms, real-time data extraction and processing are performed. Simultaneously, a special target point retention field is set; if this field is true, the target is still saved.

[0113] Step 25: Real-time data extraction and simplification. Extract and parse the required field information from the data packets that meet the format to form the target simplified data structure. The data structure includes location, source, type, etc.

[0114] Step 26: Track point caching. Extract the location information and associated attribute information of the target data compressed package from Step 25, and cache the track point data before querying and displaying it, including the target ID, location and track point attributes.

[0115] Step 27: Target visualization display. Send the target data points processed in steps 24 to 26 to the display engine for visualization display.

[0116] Step 28: Further, for the reception of massive target data, the offline processing part performs offline anomaly detection. Similar to step 24, it detects and judges obvious anomalies based on the target data context and known target movement rules, including information such as the reporting time, source, and type of data packets. If the data format does not conform, the data packet is discarded; if the format conforms, offline data extraction and simplification are performed.

[0117] Step 29: Offline data extraction and simplification. Extract and parse the required field information from the data packets that meet the format to form the target simplified data structure. The data structure includes location, source, type, etc.

[0118] Step 30: First-level data archiving. The compressed offline data packets are stored on the disk in the order of their reporting time for retrieval and query during review and playback.

[0119] Step 31: Feature extraction and analysis, mainly including velocity, acceleration, direction, rotation angle, curvature, time series, trajectory segments, etc., and associate the relevant information with the trajectory point data.

[0120] Step 32: Store the features extracted in step 31 in the database as an association table for archiving.

[0121] This application establishes a hierarchical processing and archiving mechanism for situational data, and utilizes background parallel computing capabilities to process the data in parallel in real time or offline.

[0122] The beneficial effects of this invention are as follows:

[0123] 1. Multi-threaded updates are adopted, and update traversal and rendering traversal are handled by different threads, thereby avoiding the entire rendering thread from being stuck due to excessive update load; delayed rendering further reduces the system overhead caused by frequent updates, and does not trigger updates after each data change, but performs batch updates according to the system clock.

[0124] 2. By using dynamic drawing technology, targets are drawn in batches from most important to least important according to their importance, using a gradual effect to avoid visual lag caused by drawing all at once.

[0125] 3. Clustering rendering technology: Clustering targets based on metrics such as type and distance, displaying clustering results at a high scale, and improving the efficiency of displaying massive targets on the same screen.

[0126] 4. Multi-level texture progression can significantly improve efficiency when displaying a large number of targets on the same screen.

[0127] As used herein, the term "preferred" is meant as an example, illustration, or illustration. Any aspect or design described herein as "preferred" need not be construed as being more advantageous than other aspects or designs. Rather, the use of the term "preferred" is intended to present the concept in a specific manner. As used in this application, the term "or" is intended to mean an inclusive "or" rather than an exclusionary "or." That is, unless otherwise specified or clear from the context, "X uses A or B" naturally includes either of the permutations. That is, if X uses A; X uses B; or X uses both A and B, then "X uses A or B" is satisfied in any of the foregoing examples.

[0128] Furthermore, although this disclosure has been shown and described with respect to one or more implementations, equivalent variations and modifications will occur to those skilled in the art based on a reading and understanding of this specification and the accompanying drawings. This disclosure includes all such modifications and variations and is limited only by the scope of the appended claims. In particular, with respect to the various functions performed by the aforementioned components (e.g., elements, etc.), the terminology used to describe such components is intended to correspond to any component (unless otherwise indicated) that performs the specified function of said component (e.g., is functionally equivalent to it), even if structurally not equivalent to the disclosed structure performing the functions in the exemplary implementations of this disclosure shown herein. Moreover, although specific features of this disclosure have been disclosed with respect to only one of several implementations, such features may be combined with one or more features of other implementations that may be desirable and advantageous for a given or particular application. Furthermore, with regard to the use of the terms “comprising,” “having,” “containing,” or variations thereof in the Detailed Description or claims, such terms are intended to be included in a manner similar to the term “including.”

[0129] The functional units in this invention embodiment can be integrated into a processing module, or each unit can exist physically separately, or multiple units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. The storage medium mentioned above can be a read-only memory, a disk, or an optical disk, etc. The aforementioned devices or systems can execute the storage methods in the corresponding method embodiments.

[0130] In summary, the above embodiments are one implementation of the present invention, but the implementation of the present invention is not limited to the embodiments described above. Any changes, modifications, substitutions, combinations, or simplifications made that deviate from the spirit and principle of the present invention should be considered equivalent substitutions and are included within the protection scope of the present invention.

Claims

1. A method for processing and optimizing massive targets with dynamic resource constraints, characterized in that, Includes the following steps: Acquire 3D scene targets; Multi-threaded scheduling and rendering of 3D scene targets: The update traversal and rendering traversal are processed in different threads, thereby avoiding the entire rendering thread from being stuck due to excessive update load; Update drawing trigger: In order to further reduce the system overhead caused by frequent updates, updates are not triggered after each data change, but are performed in batches according to the system clock. Dynamic avoidance: includes point clustering and edge clustering, wherein point clustering includes dynamic drawing, avoidance drawing and clustering drawing; The dynamic rendering process draws targets in batches from most important to least important based on their importance, using a gradual effect to avoid visual stuttering caused by drawing all at once; the avoidance rendering process prioritizes placing important targets when calculating the content display position, and then adjusts the positions of other targets to minimize overlap and occlusion between them. The clustering rendering clusters targets based on type and distance, and displays the clustering results at a high scale; The edge aggregation includes: origin-destination aggregation and edge bundling; the origin-destination aggregation is based on the two endpoints of the edge, and edges with the same "origin" and "destination" are grouped into one category, with the number of edges represented by weight or thickness; the edge bundling is to adjust the position of the edges according to the distance to make them look neater. Data classification and archiving; The multi-threaded scheduling rendering includes: Step 1: Link the relationships, spatial transformation relationships, and material relationships of scene nodes to the object as attributes, thus logically decoupling the nodes; Step 2: Perform visibility testing on the scene to generate parallel jobs; Step 3: Organize rendering pipelines to generate parallel rendering jobs; Step 4: Add the rendering jobs generated in steps 1-3 above to the main worker thread; Step 5: The main worker thread performs drawing traversal, executes scene node clipping, and generates rendering commands; Step 6: Create worker threads for data modification, event traversal, and update traversal operations; data modifications include updating the location information of massive targets, updating signage and attribute information, and displaying / hiding / deleting operations; Step 7: Encapsulate the update and drawing API call process generated in Steps 5-6 above into commands and add them to the command queue; Step 8: Retrieve the corresponding operation command from the command queue. This command is an executable operation. Flush it to the driver thread and execute it.

2. The method for processing and displaying massive targets with dynamic resource constraints according to claim 1, characterized in that, For the display of a large number of target models, a multi-level asymptotic texture of the model is dynamically adjusted according to the view height. Different levels of distance at the visual height are mapped to different multi-level asymptotic textures, i.e., the texture that is most suitable for the distance of the object, thereby further improving the loading performance of a large number of targets. Specifically, this includes using proximity filtering and linear filtering. Proximity filtering selects the pixel whose center point is closest to the texture coordinates, while linear filtering calculates an interpolation based on the texture pixels near the texture coordinates to approximate the colors between these texture pixels.

3. The method for processing and displaying massive targets with dynamic resource constraints according to claim 1, characterized in that, The update drawing trigger includes: The batch update method involves creating a system timer and setting a preset batch update threshold β. This threshold takes into account the texture size and model rendering. When the number of command operations required for updating exceeds β, a batch update operation is performed. The resource constraint condition is a minimum frame rate of 24 frames. When the system running frame rate is lower than 24, the update threshold β is adjusted to constrain the CPU and GPU resources occupied by the main thread and reduce the number of primitive nodes to be drawn per frame.

4. The method for processing and displaying massive targets with dynamic resource constraints according to claim 1, characterized in that, The dynamic drawing process calculates target attributes and sets an importance attribute σ for each target. Targets are drawn in batches according to the size of σ, from most important to least important, with important targets placed first. Then, the positions of other targets are adjusted according to the size of the σ value, using a gradual effect to avoid visual stuttering caused by drawing all at once. When the system's frame rate is lower than the minimum frame rate for a smooth visual experience, the gradual display effect of the targets is adjusted according to the sorting value of σ from smallest to largest.

5. The method for processing and displaying massive targets with dynamic resource constraints according to claim 4, characterized in that, The clustering plotting displays the clustering results at a high scale, including at least one of the following: distribution location, quantity, and hierarchical heatmap.

6. The method for processing and displaying massive targets with dynamic resource constraints according to claim 2, characterized in that, The multi-level gradient texture includes: Only read the block data of the visible area; Based on texture resolution and window resolution, a linear filtering method is used in advance to sample low-level textures into upper-level textures according to the viewing distance. The target display texture width and height dW and dH decrease by a multiple of 2 as the detail level increases, thus forming images at different resolutions. Each block is identified, where the higher the level, the smaller the texture and the lower the resolution. The total number of layers in the gradient texture is N, and the current roaming operation is performed on the nth layer. Determine if there is a corresponding texture in the [n-1, 0] layers below the fast buffer. If there is a corresponding texture, find the texture closest to the nth layer, shrink it in memory to obtain the block of data, display the texture, and add the block to the memory buffer. If the block exists in layers [n+1, N-1] of the fast buffer, and if a corresponding block exists, find the block in the layer closest to layer n, enlarge it in memory to obtain the block data, and apply the block texture to the target that needs to be displayed.

7. The method for processing and displaying massive targets with dynamic resource constraints according to claim 1, characterized in that, The data hierarchical processing and archiving include: Step 1: Receiving and receiving massive amounts of target data. The target data is received and read in the form of data packets. The data processing is divided into two parts: real-time processing and offline processing. Step 2: Further, after receiving the data from the ingress service, the real-time processing module first performs anomaly detection. Based on the target data context and known target motion rules, it detects and judges obvious anomalies, including the reporting time, source, and type of the data packet. If the data format does not conform, the data packet is discarded; if the format conforms, real-time data extraction is performed. At the same time, a special target point retention field is set. If this field is true, the target is still saved. Step 3: Real-time data extraction and simplification. Extract and parse the required field information from the data packets that meet the format to form the target simplified data structure. The data structure includes location, source, and type. Step 4: Track point caching. Extract the location information and associated attribute information of the target data compressed package from Step 3, and cache the track point data before querying and displaying it, including the target ID, location and track point attributes. Step 5: Target visualization display. Send the target data points processed in steps 2-4 to the display engine for visualization display. Step 6: For receiving and processing massive amounts of target data, the offline processing part performs offline anomaly detection. Similar to Step 2, it detects and judges obvious anomalies based on the target data context and known target motion rules, including the reporting time, source, and type of data packets. If the data format does not conform, the data packet is discarded; if the format conforms, offline data extraction and simplification are performed. Step 7: Offline data extraction and simplification. Extract and parse the required field information from the data packets that meet the format to form the target simplified data structure. The data structure includes location, source, and type. Step 8: First-level data archiving. The compressed offline data packets are stored on the disk in the order of reporting time for retrieval and query during review and playback. Step 9: Feature extraction and analysis, including velocity, acceleration, direction, rotation angle, curvature, time series, trajectory segments, and correlation of relevant information with trajectory point data; Step 10: Store the features extracted in Step 9 in the database as an association table for archiving.

Citation Information

Patent Citations

  • Point cloud visualization method and device

    CN111552555A

  • Real-time drawing method for million-order three-dimensional situation target

    CN112184864A