High-performance volume rendering method and system based on autonomous controllable GPU pre-rendering

Through the dynamic chunking and asynchronous computing pipeline of autonomous and controllable GPUs, efficient rendering of large-scale volume data in an autonomous and controllable environment is achieved, solving the problem of low rendering efficiency in traditional methods, and improving rendering quality and efficiency.

CN120259518AActive Publication Date: 2025-07-04THE PLA NAVY SUBMARINE INST

Patent Information

Application Number
CN202510434647.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-08
Publication Date
2025-07-04
Estimated Expiration
2045-04-08

AI Technical Summary

Technical Problem

Traditional volume rendering methods are difficult to achieve efficient rendering on autonomous and controllable GPUs, especially in large-scale volume data scenarios with high computing resource occupancy and low rendering efficiency, and it is difficult to meet the needs of high precision and high efficiency at the same time.

Method used

The dynamic chunking strategy and asynchronous computing pipeline of autonomous and controllable GPUs are adopted to generate multi-resolution voxel features and lighting accumulation results through pre-rendering, and compress the storage in a shared storage pool. Interpolation calculation and boundary fusion are performed during real-time rendering to generate high-quality volume drawing results.

Benefits of technology

It significantly improves the performance and efficiency of volume drawing, and is suitable for real-time rendering scenes with high complexity volume data, ensuring real-time rendering, smooth transition and high-quality output.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120259518A_ABST
    Figure CN120259518A_ABST
Patent Text Reader

Abstract

The invention provides a high-performance volume rendering method and system based on autonomous controllable GPU pre-rendering. Curvature distribution characteristics of voxel surfaces are extracted through dynamic topology analysis to construct preprocessing metadata, and a reconfigurable computing array is driven to dynamically divide a hardware topology structure of a high-density ray casting unit and a hardware topology structure of a low-power-consumption interpolation unit according to the curvature characteristics. And task allocation and cooperative execution of heterogeneous computing units are realized based on an asynchronous computing engine, and finally, a multi-scale sampling result is fused through a hardware-level optimized mixed weight algorithm in an autonomous controllable rendering pipeline, and a closed-loop feedback mechanism of a rendering result and preprocessed metadata is established. According to the method, voxel geometric features, hardware architecture reconstruction and asynchronous calculation scheduling are innovatively and deeply coupled, and a technical closed loop of data feature driven hardware resource configuration and rendering result reverse optimization preprocessing parameters is formed. According to the technical scheme provided by the invention, high-fidelity real-time volume rendering of medical images and scientific data is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of autonomous and controllable GPU hardware architectures, and particularly to a high-performance volume rendering method and system based on autonomous and controllable GPU pre-rendering. Background Art

[0002] With the rapid development of fields such as scientific computing, medical imaging, and virtual reality, the demand for volume rendering technology in high-performance visualization is increasing day by day. Traditional volume rendering methods rely on general GPUs for real-time rendering, but when dealing with large-scale volume data, they often face problems such as high computational resource occupancy and low rendering efficiency. Therefore, developing a high-performance volume rendering method based on autonomous and controllable GPUs to improve rendering efficiency and controllability has important application value.

[0003] Currently, the mainstream solutions for volume rendering are mainly based on technologies such as ray tracing and texture mapping. The ray tracing method generates rendering results pixel by pixel through GPU parallel computing, which can achieve high-quality real-time rendering, but has extremely high requirements for hardware performance. Especially in large-scale volume data scenarios, the computational overhead is huge. In addition, existing solutions mostly rely on foreign high-end GPUs and dedicated hardware, making it difficult to achieve efficient deployment in an autonomous and controllable environment.

[0004] However, the ray tracing method is highly dependent on hardware performance, making it difficult to run efficiently on autonomous and controllable GPUs, and it is prone to performance bottlenecks when dealing with large-scale data. Existing solutions lack an effective balance between rendering quality and performance and cannot meet the requirements of high precision and high efficiency at the same time. Therefore, there is an urgent need for a high-performance volume rendering method based on autonomous and controllable GPUs to significantly improve performance and reduce hardware dependence while ensuring high-quality rendering by optimizing the rendering algorithm and resource scheduling. Summary of the Invention

[0005] This application provides a high-performance volume rendering method and system based on autonomous and controllable GPU pre-rendering to solve the problem of the lack of effective balance between rendering quality and performance in the prior art.

[0006] In a first aspect, this application provides a high-performance volume rendering method based on autonomous and controllable GPU pre-rendering, including:

[0007] Generating a dynamic partitioning strategy according to the spatial distribution density of the volume data and the dynamic change parameters of the viewing point in the virtual scene, and partitioning the volume data into spatial sub-blocks with hierarchical dependencies;

[0008] Based on the dynamic chunking strategy, before the user's viewpoint reaches the target rendering area, the spatial sub-chunks are pre-rendered through the asynchronous computing pipeline of the domestically controllable GPU to generate intermediate rendering data containing multi-resolution voxel features and light accumulation results, and the intermediate rendering data is compressed and stored in the shared storage pool of the domestically controllable GPU according to spatial proximity;

[0009] In the real-time rendering stage, according to the current viewpoint position and movement direction, target rendering data intersecting the current frustum is extracted from the intermediate rendering data stored in the shared storage pool according to priority, and the target rendering data is interpolated and boundary-fused through the parallel streaming processing unit of the domestically controllable GPU to generate a volume rendering result.

[0010] Optionally, the granularity adjustment of the dynamic chunking strategy is triggered synchronously with the pre-rendering progress of the asynchronous computing pipeline. When it is detected that the viewpoint movement acceleration exceeds a preset threshold, the granularity of the spatial sub-chunks is preferentially reduced and the pre-rendering tasks of adjacent regions are triggered. At the same time, the bit-width allocation strategy for compressed storage is dynamically adjusted based on the spatial distribution characteristics of the intermediate rendering data in the shared storage pool.

[0011] Optionally, within the range of the spatial sub-chunks determined by the dynamic chunking strategy, the potentially visible regions are predicted according to the current viewpoint position and movement direction, and the pre-rendering order is determined based on the hierarchical dependency relationship of the target spatial sub-chunks corresponding to the potentially visible regions;

[0012] In the asynchronous computing pipeline of the domestically controllable GPU, the following operations are performed on the target spatial sub-chunks in the pre-rendering order: the voxel data of the target spatial sub-chunks is parsed level by level according to the resolution levels from coarse to fine, and the voxel density gradient and the corresponding local light contribution are synchronously calculated at each level; based on the voxel density gradient, the feature transfer weight between adjacent levels is determined, and the voxel features of the current level are weighted and fused with the boundary regions of adjacent spatial sub-chunks to generate smoothly transitional multi-resolution voxel features; the local light contributions are accumulated in the view direction and combined with the multi-resolution voxel features to generate the intermediate rendering data of the current level;

[0013] The intermediate rendering data generated at each level is passed to the next higher resolution level for iterative optimization in the pre-rendering order until the highest resolution set for pre-rendering is reached, generating intermediate rendering data containing complete multi-resolution voxel features and view-related light accumulation results.

[0014] Optionally, the spatial coverage range of the frustum is calculated according to the current viewpoint position and movement direction, and based on the spatial position relationship between the spatial coverage range and the intermediate rendering data in the shared storage pool, the candidate intermediate rendering data intersecting the current frustum is determined;

[0015] Calculate the priority weights of each candidate intermediate rendering data according to the spatial sub-block level, resolution level, and distance from the current viewpoint of the candidate intermediate rendering data. The priority weight is inversely proportional to the spatial sub-block level, directly proportional to the resolution level, and inversely proportional to the viewpoint distance.

[0016] Extract the candidate intermediate rendering data that meets the real-time rendering frame rate requirement from the shared storage pool as the target rendering data in the order from high to low of the priority weights.

[0017] Optionally, in the parallel streaming processing unit of the domestically controllable GPU, calculate the view interpolation coefficient according to the difference between the current viewpoint movement direction and the pre-rendered viewpoint direction, and perform bilinear interpolation on the multi-resolution voxel features in the target rendering data based on the view interpolation coefficient.

[0018] Perform angular weighted fusion calculation on the light accumulation result in the target rendering data using the view interpolation coefficient to obtain the light data after view correction, so as to determine the target rendering data after view correction.

[0019] Perform boundary fusion processing on the target rendering data after view correction processing, and input the target rendering data after bilinear interpolation, view correction, and boundary fusion processing into the volume rendering pipeline to generate the volume rendering result of the current frame. Among them, the boundary fusion processing includes: detecting the boundary region between adjacent spatial sub-blocks, calculating the gradient difference of the voxel features on both sides of the boundary; determining the boundary fusion weight according to the gradient difference, and performing weighted mixing on the voxel features in the boundary region using the boundary fusion weight; performing boundary smoothing processing on the light data after view correction using the same fusion weight to complete the boundary fusion processing process.

[0020] Optionally, obtain the three-dimensional vector representation of the current viewpoint movement direction and the three-dimensional vector representation of the pre-rendered viewpoint movement direction, and calculate the cosine value of the angle between the two three-dimensional vectors as the basic view similarity.

[0021] Calculate the distance attenuation factor according to the spatial distance between the current viewpoint position and the pre-rendered viewpoint position, and multiply the basic view similarity by the distance attenuation factor to obtain the initial view interpolation coefficient.

[0022] Detect the current viewpoint movement direction. When there is an accelerated view change, apply dynamic smoothing constraints to the initial view interpolation coefficient, and limit the view interpolation coefficient after dynamic smoothing constraint processing within a preset effective range to obtain the final view interpolation coefficient for rendering.

[0023] Optionally, according to the spatial distribution density of the volume data in the virtual scene, calculate the data density of each region, and generate an initial spatial sub-block division scheme based on the data density;

[0024] Obtain the dynamic change parameters of the viewpoint, including the current viewpoint position and the current viewpoint movement direction, and combine the initial spatial sub-block division scheme to calculate the viewpoint correlation weight of each spatial sub-block;

[0025] According to the viewpoint correlation weight, adjust the size and shape of the spatial sub-blocks to generate a dynamic block division strategy;

[0026] Based on the dynamic block division strategy, divide the volume data into spatial sub-blocks with hierarchical dependencies, where the hierarchy of each spatial sub-block is determined by its correlation weight with the viewpoint, and during the division process, ensure that the hierarchical relationship between adjacent spatial sub-blocks meets the preset dependency conditions.

[0027] In a second aspect, the present application provides a high-performance volume rendering system based on pre-rendering with an autonomous and controllable GPU, including:

[0028] A division module, which generates a dynamic block division strategy according to the spatial distribution density of the volume data in the virtual scene and the dynamic change parameters of the viewpoint, and divides the volume data into spatial sub-blocks with hierarchical dependencies;

[0029] A processing module, based on the dynamic block division strategy, before the user's viewpoint reaches the target rendering area, performs pre-rendering processing on the spatial sub-blocks through the asynchronous computing pipeline of the autonomous and controllable GPU to generate intermediate rendering data including multi-resolution voxel features and light accumulation results, and stores the intermediate rendering data in the shared storage pool of the autonomous and controllable GPU according to spatial proximity compression;

[0030] A generation module, in the real-time rendering stage, according to the current viewpoint position and movement direction, extracts target rendering data intersecting with the current view frustum from the intermediate rendering data stored in the shared storage pool according to priority, and performs interpolation calculation and boundary fusion on the target rendering data through the parallel streaming processing unit of the autonomous and controllable GPU to generate a volume rendering result.

[0031] In a third aspect, an embodiment of the present application provides a computing device, including a processing component and a storage component; the storage component stores one or more computer instructions; the one or more computer instructions are used to be called and executed by the processing component to implement a high-performance volume rendering method based on pre-rendering with an autonomous and controllable GPU as described in the first aspect above.

[0032] Fourthly, an embodiment of the present application provides a computer storage medium storing a computer program, which when executed by a computer, implements a high-performance volume rendering method based on autonomous and controllable GPU pre-rendering as described in the first aspect.

[0033] In the present application, according to the spatial distribution density of volume data and the dynamic change parameters of the viewpoint in a virtual scene, a dynamic chunking strategy is generated to divide the volume data into spatial sub-chunks with hierarchical dependency relationships, thereby achieving adaptive optimization of data partitioning and efficient utilization of resources. Before the user's viewpoint reaches the target rendering area, the spatial sub-chunks are pre-rendered through the asynchronous computing pipeline of the autonomous and controllable GPU to generate intermediate rendering data containing multi-resolution voxel features and light accumulation results, and it is compressed and stored in the shared storage pool according to spatial proximity, effectively reducing the computational burden in the real-time rendering stage, while supporting multi-resolution rendering and light pre-computation. In the real-time rendering stage, according to the current viewpoint position and movement direction, the target rendering data intersecting the current view frustum is extracted from the shared storage pool according to priority, and interpolation calculation and boundary fusion are performed on it through the parallel streaming processing unit of the autonomous and controllable GPU to generate a volume rendering result, ensuring the real-time nature, smooth transition, and high-quality output of the rendering. The overall technical solution significantly improves the performance and efficiency of volume rendering through dynamic chunking, pre-rendering, and parallel processing, and is applicable to real-time rendering scenarios of high-complexity volume data.

[0034] Furthermore, the granularity adjustment of the dynamic chunking strategy is synchronously triggered with the pre-rendering progress of the asynchronous computing pipeline. When it is detected that the viewpoint movement acceleration exceeds a preset threshold, the granularity of the spatial sub-chunks is preferentially reduced and the pre-rendering task of the adjacent area is triggered. At the same time, based on the spatial distribution characteristics of the intermediate rendering data in the shared storage pool, the bit-width allocation strategy for compressed storage is dynamically adjusted. This technical solution ensures the fineness and real-time nature of the rendering data by dynamically adjusting the synchronous triggering mechanism of the chunking granularity and the pre-rendering progress, preferentially reducing the granularity of the spatial sub-chunks and starting the pre-rendering task of the adjacent area when the viewpoint moves rapidly. At the same time, the compressed storage bit-width is dynamically adjusted based on the spatial distribution characteristics of the intermediate rendering data, optimizing the utilization of storage resources and improving data access efficiency, thereby achieving efficient and high-quality real-time volume rendering in complex scenarios and significantly enhancing the user experience.

[0035] These aspects or other aspects of the present application will be more clearly understood in the following description of the embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] To more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the accompanying drawings required for the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description are some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other accompanying drawings can be obtained based on these drawings.

[0037] Figure 1 It shows a flowchart of a high-performance volume rendering method based on pre-rendering of self-controllable GPUs provided by the present application;

[0038] Figure 2 It shows a schematic structural diagram of a high-performance volume rendering system based on pre-rendering of self-controllable GPUs provided by the present application;

[0039] Figure 3 It shows a schematic structural diagram of a computing device provided by the present application. Detailed implementation manners

[0040] To enable those skilled in the art to better understand the solutions of the present application, the following will clearly and completely describe the technical solutions in the embodiments of the present application in conjunction with the accompanying drawings in the embodiments of the present application.

[0041] In some processes described in the specification, claims, and the above accompanying drawings of the present application, there are multiple operations that appear in a specific order. However, it should be clearly understood that these operations can be executed not in the order in which they appear in this article or in parallel. The serial numbers of the operations, such as 101, 102, etc., are only used to distinguish different operations, and the serial numbers themselves do not represent any execution order. In addition, these processes can include more or fewer operations, and these operations can be executed in sequence or in parallel. It should be noted that the descriptions such as "first" and "second" in this article are used to distinguish different messages, devices, modules, etc., do not represent a sequence, and do not limit that "first" and "second" are of different types.

[0042] The present application aims to extract the curvature distribution characteristics and anisotropic filtering coefficients on the voxel surface through dynamic topology analysis to generate preprocessing metadata; dynamically configure high-density ray casting units and low-power interpolation units in a reconfigurable computing array according to the curvature characteristics; use an asynchronous computing engine to allocate tasks and perform multi-resolution octree voxel traversal and trilinear filtering sampling; finally, in a self-controllable rendering pipeline, fuse the sampling results through a hardware-optimized blending weight algorithm, generate high-quality frame buffer data, and synchronously update the transparency gradient mapping relationship to achieve high-performance and high-quality volume rendering.

[0043] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative efforts belong to the scope of protection of the present application.

[0044] Figure 1 The following is a flowchart of a high-performance volume rendering method based on an autonomous and controllable GPU pre-rendering provided by an embodiment of the present application. As Figure 1 shown, the method includes:

[0045] 101. Generate a dynamic partitioning strategy according to the spatial distribution density of the volume data and the dynamic change parameters of the viewpoint, and divide the volume data into spatial sub-blocks with a hierarchical dependency relationship;

[0046] In this step, the spatial distribution density represents the density of the volume data in space, and the dynamic change parameters of the viewpoint include the viewpoint position, viewing direction, movement speed, etc.

[0047] The dynamic change parameters of the viewpoint include the viewpoint position, viewing direction, movement speed, etc., which are used to describe the observation position and movement state of the user in the virtual scene.

[0048] The dynamic partitioning strategy refers to generating a flexible partitioning scheme according to the spatial distribution density of the volume data and the dynamic change parameters of the viewpoint, and dividing the volume data into spatial sub-blocks with a hierarchical dependency relationship.

[0049] The hierarchical dependency relationship means that there is a parent-child relationship between the sub-blocks. The parent block contains multiple sub-blocks, and the sub-blocks inherit some attributes of the parent block.

[0050] In the embodiments of the present application, first, by analyzing the spatial distribution density of the volume data, the data-intensive and sparse regions are identified, and an initial spatial partitioning is generated. Then, according to the dynamic change parameters of the viewpoint (such as the viewpoint position, viewing direction, and movement speed), the partitioning strategy is dynamically adjusted, and the regions near the viewpoint are preferentially divided into smaller sub-blocks to improve the rendering accuracy. Then, based on the hierarchical dependency relationship, the sub-blocks are organized into a tree structure, where the parent block contains multiple sub-blocks, and the sub-blocks inherit the resolution and attributes of the parent block. Finally, the divided spatial sub-blocks are stored in the memory for subsequent pre-rendering processing.

[0051] In a virtual medical scenario, the volume data represents the CT scan images of a patient. According to the spatial distribution density of the CT images, the high-density organ regions are divided into smaller sub-blocks, while the low-density background regions are divided into larger sub-blocks. As the doctor's viewing point moves, the chunking strategy is dynamically adjusted, and the organ regions near the viewing point are further subdivided into smaller sub-blocks to improve the rendering details. Finally, spatial sub-blocks with hierarchical dependencies are generated and stored in the GPU memory for subsequent pre-rendering processing.

[0052] 102. Based on the dynamic chunking strategy, before the user's viewing point reaches the target rendering area, the spatial sub-blocks are pre-rendered through the asynchronous computing pipeline of the autonomous and controllable GPU, generating intermediate rendering data containing multi-resolution voxel features and light accumulation results, and compressing and storing the intermediate rendering data in the shared storage pool of the autonomous and controllable GPU according to spatial proximity;

[0053] In this step, pre-rendering processing refers to processing the spatial sub-blocks through the asynchronous computing pipeline of the autonomous and controllable GPU before the user's viewing point reaches the target rendering area, generating intermediate rendering data containing multi-resolution voxel features and light accumulation results.

[0054] Multi-resolution voxel features represent voxel data at different resolutions, and the light accumulation result represents the cumulative effect of voxels under light.

[0055] The intermediate rendering data is compressed and stored in the shared storage pool of the autonomous and controllable GPU according to spatial proximity for use in the real-time rendering stage.

[0056] The shared storage pool refers to the shared memory area in the autonomous and controllable GPU for storing intermediate rendering data for use in the real-time rendering stage.

[0057] In the embodiments of the present application, first, multi-resolution voxel features are extracted from the spatial sub-blocks through the asynchronous computing pipeline of the autonomous and controllable GPU, generating voxel data at different resolutions. Then, based on the lighting model, light accumulation calculations are performed on the voxel data to generate light accumulation results. Then, the multi-resolution voxel features and light accumulation results are compressed according to spatial proximity to generate intermediate rendering data. Finally, the intermediate rendering data is stored in the shared storage pool of the autonomous and controllable GPU for extraction and use in the real-time rendering stage.

[0058] In a virtual medical scenario, when the doctor's viewpoint has not reached a certain organ area, the GPU asynchronous computing pipeline performs multi-resolution feature extraction and lighting accumulation calculation on the voxel data of that area to generate intermediate rendering data. For example, high-resolution feature extraction is performed on the voxel data of the heart area, while low-resolution feature extraction is performed on the voxel data of the background area. The generated intermediate rendering data is compressed and stored in the GPU shared storage pool according to spatial proximity for use in the real-time rendering stage.

[0059] 103. In the real-time rendering stage, according to the current viewpoint position and movement direction, target rendering data that intersects with the current frustum is extracted from the intermediate rendering data stored in the shared storage pool according to priority, and interpolation calculation and boundary fusion are performed on the target rendering data through the parallel streaming processing unit of the self-developed and controllable GPU to generate a volume rendering result.

[0060] In this step, the real-time rendering stage refers to extracting target rendering data that intersects with the current frustum from the shared storage pool according to the current viewpoint position and movement direction, performing interpolation calculation and boundary fusion through the parallel streaming processing unit of the self-developed and controllable GPU, and generating a volume rendering result.

[0061] Target rendering data refers to the intermediate rendering data that intersects with the current frustum and is used to generate the final rendering result.

[0062] The parallel streaming processing unit refers to the hardware unit in the self-developed and controllable GPU used to efficiently process parallel tasks.

[0063] Interpolation calculation refers to filling in the missing parts in the target rendering data to ensure the continuity of the rendering result.

[0064] Boundary fusion refers to eliminating the seams between sub-blocks to generate a seamless volume rendering result.

[0065] The volume rendering result refers to the finally generated three-dimensional rendering image for the user to view.

[0066] In the embodiment of the present application, first, according to the current viewpoint position and movement direction, the frustum range is determined, and target rendering data that intersects with the frustum is extracted from the shared storage pool according to priority. Then, through the parallel streaming processing unit of the self-developed and controllable GPU, interpolation calculation is performed on the target rendering data to fill in the missing data parts. Next, boundary fusion is performed on the interpolated data to eliminate the seams between sub-blocks and generate a seamless volume rendering result. Finally, the volume rendering result is output to the display device for the user to view.

[0067] In a virtual medical scenario, when the doctor's viewpoint moves to the heart region, the intermediate rendering data of the heart region is extracted from the shared storage pool. Through the GPU parallel streaming processing unit, interpolation calculation is performed on the voxel data of the heart region to fill in the missing data parts and fuse the boundaries to generate a seamless volume rendering result. Finally, the doctor can view a high-precision three-dimensional image of the heart on the display device.

[0068] In summary, through steps 101 to 105, the generation and spatial sub-block division are achieved through the dynamic block strategy. The system can flexibly divide the data according to the spatial distribution density of the volume data and the dynamic change parameters of the viewpoint, improving the rendering efficiency. In the pre-rendering processing stage, multi-resolution voxel features and light accumulation results are generated through the asynchronous computing pipeline, and the intermediate rendering data is compressed and stored in the shared storage pool to provide data support for real-time rendering. In the real-time rendering stage, according to the current viewpoint position and movement direction, the target rendering data is extracted from the shared storage pool, and a seamless volume rendering result is generated through interpolation calculation and boundary fusion. The entire process realizes efficient and high-precision volume data rendering in a virtual medical scenario, provides clear three-dimensional images for doctors, and improves the diagnostic efficiency and accuracy.

[0069] To solve the problems of rendering delay and low data storage efficiency caused by the rapid movement of the viewpoint in a virtual reality scenario, a rendering system based on the collaborative optimization of the dynamic block strategy and the asynchronous computing pipeline is developed, realizing the refined scheduling of rendering tasks and the efficient utilization of storage resources, and significantly improving the rendering fluency and system performance of the virtual reality scenario. In some embodiments, what is described in step 102 includes:

[0070] 201. The granularity adjustment of the dynamic block strategy is triggered synchronously with the pre-rendering progress of the asynchronous computing pipeline. When it is detected that the viewpoint movement acceleration exceeds the preset threshold, the granularity of the spatial sub-blocks is preferentially reduced and the pre-rendering tasks of adjacent regions are triggered. At the same time, the bit-width allocation strategy for compressed storage is dynamically adjusted based on the spatial distribution characteristics of the intermediate rendering data in the shared storage pool.

[0071] In step 201, the dynamic chunking strategy refers to the strategy of dynamically adjusting the granularity of spatial sub-chunks according to the scene requirements. Granularity adjustment means adjusting the size of the spatial sub-chunks according to the scene requirements. The asynchronous computing pipeline refers to the computing pipeline used for parallel processing of rendering tasks. The pre-rendering progress refers to the completion progress of the pre-rendering tasks in the asynchronous computing pipeline. Synchronous triggering means that the granularity adjustment of the dynamic chunking strategy and the adjustment of the pre-rendering progress are carried out simultaneously. The viewpoint motion acceleration refers to the motion acceleration of the user in the scene. The preset threshold refers to the preset upper limit value of the viewpoint motion acceleration. The spatial sub-chunk refers to the sub-region divided in the scene. The pre-rendering task of the adjacent region refers to the task of pre-rendering the adjacent region. The shared storage pool refers to the shared storage area used for storing intermediate rendering data. The intermediate rendering data refers to the intermediate data generated during the rendering process. The spatial distribution feature refers to the distribution feature of the intermediate rendering data in space. Compressed storage refers to the technology of compressing and storing the intermediate rendering data. The bit-width allocation strategy refers to the strategy of dynamically adjusting the compressed storage bit-width according to the data characteristics.

[0072] In the embodiment of the present application, first, by detecting whether the viewpoint motion acceleration exceeds the preset threshold, it is determined whether the user is in a fast motion state. When it is detected that the viewpoint motion acceleration exceeds the preset threshold, the granularity of the spatial sub-chunks is preferentially reduced to improve the rendering accuracy and response speed. Then, the pre-rendering task of the adjacent region is triggered to ensure that the user can quickly obtain high-quality rendering results when moving quickly. Then, based on the spatial distribution feature of the intermediate rendering data in the shared storage pool, the bit-width allocation strategy of the compressed storage is dynamically adjusted to optimize the utilization rate of storage resources. Finally, through the synchronous triggering of the granularity adjustment of the dynamic chunking strategy and the pre-rendering progress of the asynchronous computing pipeline, the maximization of the rendering efficiency and resource utilization rate is achieved.

[0073] The following is a specific example:

[0074] In the actual application of medical image processing, taking a certain intelligent medical diagnosis system as an example, the granularity adjustment of the dynamic chunking strategy and the pre-rendering progress of the asynchronous computing pipeline are synchronously triggered to improve the efficiency and accuracy of medical image analysis. When it is detected that the viewpoint motion acceleration during image browsing exceeds the preset threshold (such as the acceleration exceeds 0.3m / s 2) The system preferentially reduces the granularity of spatial sub - blocks (e.g., adjusts the sub - blocks from 512x512 pixels to 256x256 pixels), and triggers the pre - rendering tasks for adjacent regions to ensure the continuity and detail clarity of the images during fast browsing. At the same time, based on the spatial distribution characteristics of the intermediate rendering data in the shared storage pool (such as a higher density of image data in the lesion area), the bit - width allocation strategy for compressed storage is dynamically adjusted (such as allocating a higher bit - width to the lesion area to retain more details, and reducing the bit - width for the normal area to save storage space). Through this dynamic adjustment mechanism, the system can optimize the utilization efficiency of storage resources while ensuring the image quality, providing efficient and accurate image diagnosis support for doctors, and improving the accuracy and efficiency of medical diagnosis.

[0075] In summary, the real - time matching of the viewpoint motion state and the rendering resource allocation is achieved through step 201; when it is detected that the viewpoint motion acceleration exceeds the preset threshold, the granularity of the spatial sub - blocks is preferentially reduced and the pre - rendering tasks for adjacent regions are triggered, effectively reducing the rendering latency in high - dynamic scenes and improving the user experience; at the same time, the bit - width allocation strategy for compressed storage is dynamically adjusted based on the spatial distribution characteristics of the intermediate rendering data in the shared storage pool, optimizing the utilization efficiency of storage resources and reducing the data transmission bandwidth pressure; by combining the real - time perception of the viewpoint motion state with the dynamic allocation of rendering resources, this method achieves the balance of rendering efficiency and resource utilization rate in high - dynamic scenes, providing an efficient and flexible technical solution for the real - time rendering of complex three - dimensional scenes.

[0076] To solve the problems of low pre - rendering processing efficiency and unstable rendering quality in virtual reality scenes, a multi - resolution voxel feature and light accumulation pre - rendering system based on an autonomous and controllable GPU asynchronous computing pipeline is developed, achieving the collaborative optimization of rendering efficiency and quality, and significantly improving the rendering effect and user experience of virtual reality scenes. In some embodiments, the pre - rendering process of the spatial sub - blocks through the asynchronous computing pipeline of the autonomous and controllable GPU in step 102 to generate intermediate rendering data including multi - resolution voxel features and light accumulation results includes:

[0077] 301. Within the range of the spatial sub - blocks determined by the dynamic block - splitting strategy, predict the potentially visible area according to the current viewpoint position and motion direction, and determine the pre - rendering order based on the hierarchical dependency relationship of the target spatial sub - blocks corresponding to the potentially visible area;

[0078] In step 301, the dynamic chunking strategy refers to a strategy for dynamically adjusting the granularity of spatial sub-chunks according to scene requirements, which is used to optimize the allocation and utilization of rendering resources. The spatial sub-chunk range refers to the spatial sub-chunk area divided by the dynamic chunking strategy, which is used to define the processing range of rendering tasks. The current viewpoint position refers to the current position of the user in the scene, which is used to determine the currently visible area. The movement direction refers to the movement direction of the user in the scene, which is used to predict the future visible area. The potentially visible area refers to the visible area predicted based on the current viewpoint position and movement direction, which is used to prepare rendering tasks in advance. The target spatial sub-chunk refers to the spatial sub-chunk corresponding to the potentially visible area, which is the main processing object of pre-rendering tasks. The hierarchical dependency relationship refers to the dependency relationship between target spatial sub-chunks at different resolution levels, which is used to determine the execution order of pre-rendering tasks. The pre-rendering order refers to the pre-rendering execution order determined according to the hierarchical dependency relationship, which is used to optimize the scheduling and execution efficiency of rendering tasks.

[0079] In the embodiment of the present application, first, within the spatial sub-chunk range determined by the dynamic chunking strategy, the potentially visible area is predicted based on the current viewpoint position and movement direction. Then, based on the hierarchical dependency relationship of the target spatial sub-chunk corresponding to the potentially visible area, the pre-rendering order is determined. Through this step, the system can predict in advance the area that the user may see, and reasonably arrange the execution order of pre-rendering tasks according to the hierarchical dependency relationship, so as to provide a scientific basis for subsequent voxel data parsing and rendering optimization, and ensure the maximization of rendering accuracy and computing efficiency.

[0080] 302. In the asynchronous computing pipeline of the autonomous and controllable GPU, perform the following operations on the target spatial sub-chunk according to the pre-rendering order: Parse the voxel data of the target spatial sub-chunk level by level in the resolution level from coarse to fine, and synchronously calculate the voxel density gradient and the corresponding local illumination contribution at each level; Determine the feature transfer weight between adjacent levels based on the voxel density gradient, and perform weighted fusion on the voxel features of the current level and the boundary region of adjacent spatial sub-chunks to generate a smoothly transitioning multi-resolution voxel feature; Accumulate the local illumination contribution in the view direction, and combine it with the multi-resolution voxel feature to generate the intermediate rendering data of the current level;

[0081] In step 302, the self - controllable GPU refers to a GPU device that supports an asynchronous computing pipeline and is used to efficiently process rendering tasks. The asynchronous computing pipeline is a computing pipeline used for parallel processing of rendering tasks, which can significantly improve the rendering efficiency. The pre - rendering order refers to the pre - rendering execution order determined according to the hierarchical dependency relationship and is used to guide the execution of rendering tasks. The target - space sub - block refers to the space sub - block corresponding to the potentially visible area and is the main processing object of the pre - rendering task. The resolution level refers to the resolution level of voxel data, including different resolutions from coarse to fine, and is used to gradually improve the rendering accuracy. Voxel data refers to the three - dimensional data in voxel rendering and is the core processing object of the rendering task. The voxel density gradient refers to the change gradient of density in voxel data and is used to analyze the local characteristics of voxel data. The local lighting contribution refers to the lighting calculation result of voxel data at the current level and is used to generate the rendering effect. The feature transfer weight refers to the transfer weight of voxel features between adjacent levels and is used to optimize the feature transfer process. Weighted fusion refers to the weighted fusion of the voxel features at the current level with the boundary region of adjacent space sub - blocks and is used to generate a smooth transition effect. The multi - resolution voxel feature refers to the voxel feature containing different resolution levels and is used to improve the detail performance of the rendering result. The intermediate rendering data refers to the intermediate data generated during the rendering process and is used to gradually optimize the final rendering result.

[0082] In the embodiment of the present application, first, in the asynchronous computing pipeline of the self - controllable GPU, operations are performed on the target - space sub - blocks according to the pre - rendering order. Then, the voxel data of the target - space sub - blocks is parsed level by level according to the resolution levels from coarse to fine, and the voxel density gradient and the corresponding local lighting contribution are synchronously calculated at each level. Then, based on the voxel density gradient, the feature transfer weight between adjacent levels is determined, and the voxel features at the current level are weighted - fused with the boundary region of adjacent space sub - blocks to generate a multi - resolution voxel feature with a smooth transition. Finally, the local lighting contributions are accumulated in the viewing direction and combined with the multi - resolution voxel features to generate the intermediate rendering data at the current level. Through this step, the system can efficiently parse the voxel data and generate high - quality intermediate rendering results, ensuring the maximization of rendering accuracy and computing efficiency.

[0083] 303. Transfer the intermediate rendering data generated at each level to the next higher - resolution level according to the pre - rendering order for iterative optimization until the highest resolution set in the pre - rendering is reached, and generate intermediate rendering data including complete multi - resolution voxel features and the viewing - angle - related lighting accumulation result.

[0084] In step 303, the intermediate rendering data refers to the intermediate data generated during the rendering process, which is used to gradually optimize the final rendering result. The pre-rendering order refers to the pre-rendering execution order determined according to the hierarchical dependency relationship, which is used to guide the execution of the rendering tasks. Iterative optimization refers to passing the intermediate rendering data to a higher resolution level for optimization, which is used to gradually improve the rendering accuracy. The highest resolution refers to the highest resolution level set in the pre-rendering, which is used to generate the final rendering result. The complete multi-resolution voxel feature refers to the voxel feature that includes all resolution levels, which is used to improve the detail performance of the rendering result. The view-dependent light accumulation result refers to the light calculation result accumulated in the view direction, which is used to generate a realistic rendering effect.

[0085] In the embodiments of the present application, first, the intermediate rendering data generated at each level is passed to the next higher resolution level in the pre-rendering order for iterative optimization. Then, through the iterative optimization process, the rendering accuracy and calculation efficiency are gradually improved. Finally, until the highest resolution set in the pre-rendering is reached, the intermediate rendering data including the complete multi-resolution voxel feature and the view-dependent light accumulation result is generated. Through this step, the system can generate a high-quality final rendering result, ensuring the maximization of the rendering accuracy and calculation efficiency.

[0086] The following is a specific example:

[0087] In an intelligent medical image analysis system, taking a certain tumor detection platform as an example, the system first predicts the potentially visible area (such as the tumor area that the doctor is concerned about) according to the current viewpoint position and movement direction, and determines the pre-rendering order based on the hierarchical dependency relationship. In the GPU asynchronous computing pipeline, the system analyzes the voxel data level by level from low resolution to high resolution, synchronously calculates the voxel density gradient and the local light contribution (such as simulating the scattering effect of light in tissues). Then, based on the voxel density gradient, the feature transfer weight between adjacent levels is determined, and the voxel features of the current level are weighted and fused with the boundary regions of adjacent spatial sub-blocks to generate a smoothly transitional multi-resolution voxel feature (such as ensuring natural image transition). Subsequently, the local light contribution is accumulated in the view direction and combined with the multi-resolution voxel feature to generate the intermediate rendering data (such as generating a partially reconstructed image including the light and shadow effects). Finally, the system passes the intermediate rendering data to higher resolutions level by level for iterative optimization until the highest resolution is reached, generating the complete multi-resolution voxel feature and the view-dependent light accumulation result (such as generating the final high-precision 3D reconstruction image). Through this mechanism, the system can provide doctors with efficient and high-quality 3D medical image reconstruction results to assist them in accurate diagnosis and treatment planning.

[0088] In summary, through steps 301 to 303, precise allocation and efficient utilization of rendering resources are achieved; multi-resolution voxel features with smooth transitions are generated, effectively improving the rendering quality and visual continuity; at the same time, the local light contributions are accumulated according to the viewing direction and combined with the multi-resolution voxel features to generate intermediate rendering data, realizing the efficient fusion of light effects and voxel features; by iteratively optimizing the intermediate rendering data generated at each level to the highest resolution, intermediate rendering data containing complete multi-resolution voxel features and view-related light accumulation results is finally generated, providing an efficient and flexible technical solution for high-quality real-time rendering of complex 3D scenes, significantly improving the rendering efficiency and visual effects.

[0089] To solve the problems of low efficiency in extracting real-time rendering data and unstable frame rate in virtual reality scenarios, a target rendering data extraction system based on priority weights is developed, which realizes the efficient extraction of rendering data and the optimization of frame rate stability, significantly improving the real-time rendering performance and user experience of virtual reality scenarios. In some embodiments, in step 103, extracting the target rendering data intersecting with the current frustum from the intermediate rendering data existing in the shared storage pool according to the current viewpoint position and motion direction includes:

[0090] 401. Calculate the spatial coverage range of the frustum according to the current viewpoint position and motion direction, and determine the candidate intermediate rendering data intersecting with the current frustum based on the spatial position relationship between the spatial coverage range and each intermediate rendering data in the shared storage pool;

[0091] In step 401, the current viewpoint position refers to the current position of the user in the scene, which is used to determine the current visible area. The motion direction refers to the motion direction of the user in the scene, which is used to predict the future visible area. The spatial coverage range of the frustum refers to the coverage area of the frustum in space calculated according to the current viewpoint position and motion direction, which is used to define the processing range of the rendering task. The shared storage pool refers to the shared storage area for storing intermediate rendering data, which is used to efficiently manage the rendering data. The intermediate rendering data refers to the intermediate data generated during the rendering process, which is used to gradually optimize the final rendering result. The spatial position relationship refers to the relationship between the position of the intermediate rendering data in space and the spatial coverage range of the frustum, which is used to determine the rendering data intersecting with the frustum. The candidate intermediate rendering data refers to the intermediate rendering data intersecting with the current frustum, which is the main processing object of the real-time rendering task.

[0092] In the embodiments of the present application, first, the spatial coverage range of the viewing frustum is calculated according to the current viewpoint position and the movement direction, and the current visible area and the future visible area are determined. Then, based on the spatial position relationship between the spatial coverage range of the viewing frustum and each intermediate rendering data in the shared storage pool, the candidate intermediate rendering data intersecting with the current viewing frustum is determined. Through this step, the system can quickly screen out the rendering data related to the current viewing frustum, providing a scientific basis for subsequent priority calculation and data extraction, and ensuring the maximization of rendering efficiency and rendering quality.

[0093] 402. Calculate the priority weight of each candidate intermediate rendering data according to the spatial sub-block level, resolution level, and distance from the current viewpoint of the candidate intermediate rendering data. The priority weight is inversely proportional to the spatial sub-block level, directly proportional to the resolution level, and inversely proportional to the viewpoint distance.

[0094] In step 402, the candidate intermediate rendering data refers to the intermediate rendering data intersecting with the current viewing frustum and is the main processing object of the real-time rendering task. The spatial sub-block level refers to the spatial sub-block level to which the candidate intermediate rendering data belongs and is used to determine the detail level of the rendering data. The resolution level refers to the resolution level of the candidate intermediate rendering data and is used to determine the clarity of the rendering data. The distance from the current viewpoint refers to the distance between the candidate intermediate rendering data and the current viewpoint position and is used to determine the importance of the rendering data. The priority weight refers to the rendering data priority calculated according to the spatial sub-block level, resolution level, and distance from the current viewpoint and is used to guide the extraction order of the rendering data.

[0095] In the embodiments of the present application, first, the priority weight of each candidate intermediate rendering data is calculated according to the spatial sub-block level, resolution level, and distance from the current viewpoint of the candidate intermediate rendering data. Among them, the priority weight is inversely proportional to the spatial sub-block level (the lower the level, the higher the priority), directly proportional to the resolution level (the higher the resolution, the higher the priority), and inversely proportional to the viewpoint distance (the closer the distance, the higher the priority). Through this step, the system can scientifically calculate the priority of the rendering data, providing a basis for subsequent data extraction and ensuring the maximization of rendering efficiency and rendering quality.

[0096] 403. Extract the candidate intermediate rendering data that meets the real-time rendering frame rate requirement from the shared storage pool as the target rendering data in the order from high to low of the priority weight.

[0097] In step 403, the priority weight refers to the priority of the rendering data calculated based on the spatial sub-block level, resolution level, and distance from the current viewpoint, which is used to guide the extraction order of the rendering data. The shared storage pool refers to the shared storage area for storing intermediate rendering data, which is used to efficiently manage the rendering data. The real-time rendering frame rate requirement refers to the minimum frame rate requirement of the real-time rendering system, which is used to ensure the smoothness of the rendering. The target rendering data refers to the candidate intermediate rendering data that meets the real-time rendering frame rate requirement and is extracted from the shared storage pool, and is the main processing object of the final rendering task.

[0098] In the embodiment of the present application, first, the candidate intermediate rendering data that meets the real-time rendering frame rate requirement is extracted from the shared storage pool in the order of priority weight from high to low as the target rendering data. Through this step, the system can efficiently extract the rendering data with the highest priority, ensure the frame rate and rendering quality of the real-time rendering system, and avoid unnecessary resource waste.

[0099] The following is a specific example:

[0100] In an intelligent medical image processing system, taking a certain cardiovascular disease diagnosis platform as an example, the system first dynamically calculates the spatial coverage range of the frustum (such as the heart area being observed by the doctor) by real-time tracking the viewpoint position and movement direction. Then, the system quickly filters out the candidate intermediate rendering data that intersects with the current frustum (such as the image data of the heart blood vessels) according to the spatial positions of the intermediate rendering data in the shared storage pool. Subsequently, the system comprehensively calculates the priority weight in combination with the spatial sub-block level, resolution level, and distance from the viewpoint of the candidate data (such as the data with high resolution, low level, and close to the viewpoint has a higher priority). Finally, the system extracts the target rendering data that meets the real-time rendering frame rate requirement from the shared storage pool according to the priority weight (such as preferentially extracting high-precision heart blood vessel images). Through this mechanism, the system can provide doctors with an efficient and accurate three-dimensional image browsing experience, assisting them in quickly diagnosing cardiovascular diseases and formulating treatment plans.

[0101] To sum up, through steps 401 to 403, the rapid screening and matching of the rendering data are realized; it is ensured that the intermediate rendering data with high resolution, short distance, and low level is preferentially selected, optimizing the rendering quality and efficiency; the target rendering data that meets the real-time rendering frame rate requirement is extracted from the shared storage pool in the order of priority weight from high to low, maximizing the fineness of the rendering effect while ensuring real-time performance; through the dynamic calculation of the frustum coverage range and priority weight, the intelligent scheduling and optimization of the rendering data are realized, providing accurate and flexible technical support for the efficient real-time rendering of complex three-dimensional scenes, and significantly improving the rendering performance and user experience.

[0102] To solve the problems of perspective deviation and boundary discontinuity in the volume rendering results in virtual reality scenarios, a volume rendering optimization system based on an autonomous and controllable GPU parallel streaming processing unit has been developed, achieving the optimization of perspective deviation correction and boundary continuity, and significantly improving the rendering quality and user experience of virtual reality scenarios. In some embodiments, the step of performing interpolation calculation and boundary fusion on the target rendering data through the parallel streaming processing unit of the autonomous and controllable GPU to generate a volume rendering result in step 103 includes:

[0103] 501. In the parallel streaming processing unit of the autonomous and controllable GPU, calculate a perspective interpolation coefficient according to the difference between the current view point movement direction and the pre-rendered view point direction, and perform bilinear interpolation on the multi-resolution voxel features in the target rendering data based on the perspective interpolation coefficient;

[0104] In step 501, the autonomous and controllable GPU refers to a GPU device that supports a parallel streaming processing unit and is used to efficiently process rendering tasks. The parallel streaming processing unit refers to a computing unit used to parallelly process rendering tasks and can significantly improve the rendering efficiency. The current view point movement direction refers to the current movement direction of the user in the scene and is used to determine the current perspective. The pre-rendered view point direction refers to the view point direction used in the pre-render task and is used to compare with the current view point movement direction. The perspective interpolation coefficient refers to an interpolation coefficient calculated according to the difference between the current view point movement direction and the pre-rendered view point direction and is used to correct the perspective of the target rendering data. The target rendering data refers to the intermediate rendering data extracted from the shared storage pool that meets the requirements of the real-time rendering frame rate and is the main processing object of the final rendering task. The multi-resolution voxel features refer to voxel features containing different resolution levels and are used to improve the detail performance of the rendering result. Bilinear interpolation refers to performing interpolation calculation on the multi-resolution voxel features based on the perspective interpolation coefficient to generate a smooth perspective correction result.

[0105] In the embodiments of the present application, first, in the parallel streaming processing unit of the autonomous and controllable GPU, calculate a perspective interpolation coefficient according to the difference between the current view point movement direction and the pre-rendered view point direction. The calculation of the perspective interpolation coefficient is based on the angle difference between the current view point movement direction and the pre-rendered view point direction, and the interpolation coefficient value is obtained through normalization processing. Then, perform bilinear interpolation on the multi-resolution voxel features in the target rendering data based on the perspective interpolation coefficient. The bilinear interpolation process generates a smooth perspective correction result by weighted fusion of voxel features at different resolution levels according to the interpolation coefficient. Through this step, the system can efficiently process the perspective correction task, ensure the smoothness and visual quality of the rendering result, and avoid the problem of discontinuous rendering results caused by perspective switching.

[0106] 502. Use the perspective interpolation coefficient to perform angular weighted fusion calculation on the light accumulation result in the target rendering data, obtain the light data after perspective correction, and determine the target rendering data after perspective correction;

[0107] In step 502, the perspective interpolation coefficient refers to the interpolation coefficient calculated according to the difference between the current view point movement direction and the pre-rendered view point direction, and is used to perform perspective correction on the target rendering data. The target rendering data refers to the intermediate rendering data extracted from the shared storage pool that meets the requirements of the real-time rendering frame rate, and is the main processing object of the final rendering task. The light accumulation result refers to the light calculation result in the target rendering data, and is used to generate a realistic rendering effect. The angular weighted fusion calculation refers to performing a weighted fusion calculation on the light accumulation result based on the perspective interpolation coefficient, and is used to generate the light data after perspective correction. The light data after perspective correction refers to the light data after the angular weighted fusion calculation, and is used to improve the visual quality of the rendering result. The target rendering data after perspective correction refers to the target rendering data after perspective correction processing, and is the main processing object of the final rendering task.

[0108] In the embodiment of the present application, first, use the perspective interpolation coefficient to perform angular weighted fusion calculation on the light accumulation result in the target rendering data. The angular weighted fusion calculation generates the light data after perspective correction by weighting the light accumulation result according to the perspective interpolation coefficient. Then, combine the light data after perspective correction with the target rendering data to determine the target rendering data after perspective correction. Through this step, the system can efficiently process the perspective correction task of the light data, ensure the visual quality of the rendering result, and avoid the problem of discontinuous light caused by perspective switching.

[0109] 503. Perform boundary fusion processing on the target rendering data after perspective correction processing, and input the target rendering data after bilinear interpolation, perspective correction, and boundary fusion processing into the volume rendering pipeline to generate the volume rendering result of the current frame; wherein, the boundary fusion processing includes: detecting the boundary region between adjacent spatial sub-blocks, calculating the gradient difference of the voxel features on both sides of the boundary; determining the boundary fusion weight according to the gradient difference, and using the boundary fusion weight to perform weighted mixing on the voxel features in the boundary region; using the same fusion weight to perform boundary smoothing processing on the light data after perspective correction to complete the boundary fusion processing process.

[0110] In step 503, the target rendering data after the perspective correction processing refers to the target rendering data after the perspective correction processing, which is the main processing object of the final rendering task. Boundary fusion processing refers to the fusion processing of the boundary area between adjacent spatial sub-blocks, which is used to eliminate the boundary discontinuity problem. The volume rendering pipeline refers to the rendering pipeline used to generate the volume rendering result, which is the core processing unit of the final rendering task. The volume rendering result of the current frame refers to the current frame rendering result generated by the volume rendering pipeline, which is used to present to the user. Adjacent spatial sub-blocks refer to the adjacent sub-block areas in the spatial sub-block division, which are the main objects of the boundary fusion processing. The boundary area refers to the boundary area between adjacent spatial sub-blocks, which is the core area of ​​the boundary fusion processing. The gradient difference of voxel features refers to the difference in the change of voxel features on both sides of the boundary, which is used to calculate the boundary fusion weight. The boundary fusion weight refers to the boundary fusion weight determined according to the gradient difference, which is used to weightedly mix the voxel features of the boundary area. Weighted mixing refers to mixing the voxel features of the boundary area based on the boundary fusion weight to generate a smooth boundary fusion result. Boundary smoothing refers to the boundary fusion processing of the illumination data after perspective correction, which is used to eliminate the boundary discontinuity problem of the illumination data.

[0111] In an embodiment of the present application, first, boundary fusion processing is performed on the target rendering data after the perspective correction processing. The boundary fusion processing includes detecting the boundary area between adjacent spatial sub-blocks, calculating the gradient difference of the voxel features on both sides of the boundary; determining the boundary fusion weight according to the gradient difference, and using the boundary fusion weight to perform weighted mixing on the voxel features of the boundary area; using the same fusion weight to perform boundary smoothing processing on the illumination data after the perspective correction. Then, the target rendering data after bilinear interpolation, perspective correction and boundary fusion processing is input into the volume rendering pipeline to generate the volume rendering result of the current frame. Through this step, the system can efficiently handle the boundary fusion task, ensure the smoothness and visual quality of the rendering result, and avoid the problem of distortion of the rendering result caused by boundary discontinuity.

[0112] Here is a specific example:

[0113] In an intelligent medical image processing system, taking a certain neurosurgical operation navigation platform as an example, the system first analyzes the difference between the current view point movement direction and the pre-rendered view point direction in the GPU parallel computing unit, dynamically calculates the view angle interpolation coefficient (such as the ratio of the view point offset angle), and interpolates and optimizes the multi-resolution voxel features in the target rendering data based on this coefficient (such as smoothly transitioning the brain image details under different view angles). Then, the system uses the view angle interpolation coefficient to perform angular weighted fusion on the light accumulation result in the target rendering data (such as simulating the scattering effect of light under different view angles) to generate the light data after view angle correction, thereby enhancing the realism of the image. Subsequently, the system performs boundary fusion processing on the corrected target rendering data: detects the boundary region between adjacent spatial sub-blocks, calculates the gradient difference of the voxel features on both sides of the boundary (such as evaluating the smoothness of the transition of image details); determines the boundary fusion weight according to the gradient difference, and uses this weight to perform weighted mixing on the voxel features in the boundary region (such as eliminating the image tomogram at the boundary); at the same time, uses the same fusion weight to perform boundary smoothing on the light data to ensure natural light transition. Finally, the system inputs the processed target rendering data into the volume rendering pipeline to generate the volume rendering result of the current frame (such as a high-precision three-dimensional brain image). Through this mechanism, the system can provide seamless and high-quality surgical navigation images for doctors to assist them in accurately planning and performing surgical operations.

[0114] In summary, through steps 501 to 503, the smooth transition of voxel features under view angle transformation is achieved, effectively reducing visual jump; ensuring the dynamic consistency between the lighting effect and view angle change; further, by performing boundary fusion processing on the target rendering data after view angle correction, including detecting the boundary region between adjacent spatial sub-blocks, calculating the gradient difference, and determining the boundary fusion weight, the smooth transition of voxel features and light data in the boundary region is achieved, enhancing the visual continuity and realism of the rendering result; finally, inputting the target rendering data after bilinear interpolation, view angle correction, and boundary fusion processing into the volume rendering pipeline to generate the volume rendering result of the current frame, providing an efficient and accurate technical solution for the high-quality real-time rendering of complex three-dimensional scenes, and significantly improving the rendering performance and user experience.

[0115] To solve the problem of unnatural rendering results caused by inaccurate view angle interpolation calculation in virtual reality scenarios, a view angle interpolation coefficient calculation method based on view angle similarity and dynamic smoothing constraints is developed, realizing the accuracy and stability of view angle interpolation calculation, and significantly improving the rendering naturalness and user experience of virtual reality scenarios. In some embodiments, calculating the view angle interpolation coefficient according to the difference between the current view point movement direction and the pre-rendered view point direction in step 501 includes:

[0116] 601. Obtain the three-dimensional vector representation of the current viewpoint movement direction and the three-dimensional vector representation of the pre-rendered viewpoint movement direction, and calculate the cosine value of the angle between the two three-dimensional vectors as the basic view similarity;

[0117] In step 601, the current viewpoint movement direction refers to the current movement direction of the user in the scene, which is used to determine the current view. The pre-rendered viewpoint movement direction refers to the viewpoint direction used in the pre-render task, which is used to compare with the current viewpoint movement direction. The three-dimensional vector representation refers to representing the viewpoint movement direction as a vector in three-dimensional space, which is used to calculate the view similarity. The cosine value of the angle refers to the cosine value of the angle between two three-dimensional vectors, which is used to measure the view similarity. The basic view similarity refers to the view similarity calculated based on the cosine value of the angle, which is used for subsequent calculation of the view interpolation coefficient.

[0118] In the embodiment of the present application, first, obtain the three-dimensional vector representation of the current viewpoint movement direction and the three-dimensional vector representation of the pre-rendered viewpoint movement direction. By converting the viewpoint movement direction into a three-dimensional vector, the system can accurately quantify the change in the viewpoint direction. Then, calculate the cosine value of the angle between the two three-dimensional vectors as the basic view similarity. The calculation of the cosine value of the angle uses the vector dot product formula. By dividing the dot product of the two vectors by the product of their magnitudes, the cosine value is obtained. This step can not only accurately reflect the consistency of the viewpoint direction but also provide a scientific basis for subsequent calculation of the view interpolation coefficient, ensuring the smoothness and visual quality of the rendering result.

[0119] 602. Calculate the distance attenuation factor according to the spatial distance between the current viewpoint position and the pre-rendered viewpoint position, and multiply the basic view similarity by the distance attenuation factor to obtain the initial view interpolation coefficient;

[0120] In step 602, the current viewpoint position refers to the current position of the user in the scene, which is used to determine the current view. The pre-rendered viewpoint position refers to the viewpoint position used in the pre-render task, which is used to compare with the current viewpoint position. The spatial distance refers to the Euclidean distance between the current viewpoint position and the pre-rendered viewpoint position, which is used to calculate the distance attenuation factor. The distance attenuation factor refers to the attenuation factor calculated according to the spatial distance, which is used to adjust the basic view similarity. The initial view interpolation coefficient refers to the view interpolation coefficient obtained by multiplying the basic view similarity by the distance attenuation factor, which is used for subsequent optimization processing.

[0121] In the embodiments of the present application, first, according to the spatial distance between the current viewpoint position and the pre-rendered viewpoint position, the distance attenuation factor is calculated. The calculation of the distance attenuation factor usually adopts an exponential attenuation function or a linear attenuation function to ensure that the farther the distance, the smaller the attenuation factor. For example, the exponential attenuation function can control the attenuation speed by setting the attenuation coefficient, while the linear attenuation function realizes attenuation through a linear proportional relationship. Then, the basic view similarity is multiplied by the distance attenuation factor to obtain the initial view interpolation coefficient. Through this step, the system can comprehensively consider the differences in viewpoint direction and position, generate a scientific and reasonable initial view interpolation coefficient, and provide basic data for subsequent optimization processing. At the same time, the introduction of the distance attenuation factor effectively reduces the influence of distant viewpoints on the rendering result and further improves the rendering efficiency.

[0122] 603. Detect the current viewpoint movement direction. When there is an accelerated change in the view angle, apply a dynamic smoothing constraint to the initial view interpolation coefficient and limit the view interpolation coefficient after the dynamic smoothing constraint processing within a preset effective range to obtain the final view interpolation coefficient for rendering.

[0123] In step 603, the current viewpoint movement direction refers to the current movement direction of the user in the scene and is used to detect the accelerated change in the view angle. The accelerated change in the view angle refers to the rapid change in the current viewpoint movement direction and is used to determine whether a dynamic smoothing constraint needs to be applied. The dynamic smoothing constraint refers to the constraint condition for smoothing the initial view interpolation coefficient and is used to reduce the sudden change of the view interpolation coefficient. The preset effective range refers to the reasonable value range of the view interpolation coefficient and is used to limit the value range of the final view interpolation coefficient. The final view interpolation coefficient for rendering refers to the view interpolation coefficient that has been processed by the dynamic smoothing constraint and limited within the effective range and is used to generate a smooth rendering result.

[0124] In the embodiments of the present application, first, detect the current viewpoint movement direction and determine whether there is an accelerated change in the view angle. The detection of the accelerated change in the view angle is realized by calculating the change rate of the viewpoint movement direction. When the change rate exceeds the preset threshold, it is determined that there is an accelerated change in the view angle. When there is an accelerated change in the view angle, apply a dynamic smoothing constraint to the initial view interpolation coefficient to reduce the sudden change of the view interpolation coefficient. The dynamic smoothing constraint usually adopts a low-pass filter or a weighted average algorithm for calculation. For example, the low-pass filter realizes smoothing by filtering out high-frequency changes, while the weighted average algorithm realizes smoothing by weighting historical data. Then, limit the view interpolation coefficient after the dynamic smoothing constraint processing within a preset effective range to obtain the final view interpolation coefficient for rendering. Through this step, the system can optimize the calculation process of the view interpolation coefficient and ensure the smoothness and visual quality of the rendering result. At the same time, the synergistic effect of the dynamic smoothing constraint and the effective range limitation effectively reduces the sudden change problem of the view interpolation coefficient and further improves the stability and reliability of the system.

[0125] The following is a specific example:

[0126] In an intelligent medical image processing system, taking a certain liver tumor surgery planning platform as an example, the system first captures the movement direction of the doctor's observation viewpoint in real time (such as switching from a top-down view to a side view), converts it into a three-dimensional vector, and compares it with the three-dimensional vector of the pre-rendered viewpoint to calculate the cosine value of the angle between the two (such as evaluating the degree of view angle difference, the closer the cosine value is to 1, the more similar the view angles). Then, the system combines the spatial distance between the current viewpoint and the pre-rendered viewpoint (such as the distance between the tumor area observed by the doctor and the pre-rendered area), calculates the distance attenuation factor (such as for every 1 cm increase in distance, the attenuation factor decreases by 0.1), and multiplies the view angle similarity by the distance attenuation factor to generate an initial view angle interpolation coefficient (such as integrating the view angle difference and distance impact to optimize the image transition effect). Subsequently, the system detects whether there is an accelerating change in the viewpoint movement (such as the doctor suddenly magnifying the tumor area or quickly rotating the image), applies a dynamic smoothing constraint to the initial view angle interpolation coefficient (such as reducing image jitter through a low-pass filter), and limits it within a preset effective range (such as the interpolation coefficient remains between 0.5 and 1.0 to ensure natural and stable image transition), and finally obtains the view angle interpolation coefficient for rendering. Through this mechanism, the system can provide doctors with smooth and accurate three-dimensional liver images to assist them in tumor localization and surgery planning, improving the accuracy and safety of the surgery.

[0127] In summary, through steps 601 to 603, the accurate quantification of the view angle direction difference is achieved; the distance attenuation factor is calculated according to the spatial distance between the current viewpoint position and the pre-rendered viewpoint position, and the basic view angle similarity is multiplied by the distance attenuation factor to obtain the initial view angle interpolation coefficient, ensuring the dynamic correlation between the view angle interpolation coefficient and the spatial distance; by detecting the current viewpoint movement direction, a dynamic smoothing constraint is applied to the initial view angle interpolation coefficient when the view angle accelerates, effectively avoiding the drastic fluctuation of the view angle interpolation coefficient and improving the stability of the rendering result; the view angle interpolation coefficient processed by the dynamic smoothing constraint is limited within a preset effective range, ensuring the rationality and controllability of the interpolation coefficient; the view angle interpolation coefficient for rendering is obtained, providing accurate and smooth view angle interpolation technical support for the high-quality real-time rendering of complex three-dimensional scenes, and significantly improving the rendering efficiency and visual experience.

[0128] To solve the problems of low rendering efficiency and unbalanced resource allocation in virtual reality scenarios, a dynamic block strategy generation system based on spatial distribution density and viewpoint dynamic change parameters is developed, achieving optimized allocation of rendering resources and significant improvement in rendering efficiency, providing reliable technical support for the efficient rendering of virtual reality scenarios. In some embodiments, in step 101, generating a dynamic block strategy according to the spatial distribution density and viewpoint dynamic change parameters of the volume data in the virtual scene, and dividing the volume data into spatial sub-blocks with hierarchical dependencies includes:

[0129] 701. Calculate the data density of each region according to the spatial distribution density of the volume data in the virtual scene, and generate an initial spatial sub-block division scheme based on the data density;

[0130] In step 701, the virtual scene refers to a three-dimensional scene composed of volume data for rendering and visualization. Volume data refers to three-dimensional data in the virtual scene, usually stored in the form of voxels. The spatial distribution density refers to the distribution density of the volume data in the virtual scene, used to measure the degree of data density. The data density refers to the regional data density calculated according to the spatial distribution density, used to guide the division of spatial sub-blocks. The initial spatial sub-block division scheme refers to the spatial sub-block division scheme generated based on the data density, used to initially divide the virtual scene.

[0131] In the embodiments of the present application, first, calculate the data density of each region according to the spatial distribution density of the volume data in the virtual scene. The calculation of the data density usually adopts statistical methods, such as quantifying the data density by calculating the number of voxels or the variance of voxel values per unit volume. Then, generate an initial spatial sub-block division scheme based on the data density. The initial division scheme usually adopts uniform division or adaptive division methods. For example, for regions with higher data density, divide smaller spatial sub-blocks to improve rendering accuracy; for regions with lower data density, divide larger spatial sub-blocks to improve rendering efficiency. Through this step, the system can initially optimize the spatial division of the virtual scene and provide basic support for the subsequent dynamic block strategy.

[0132] 702. Obtain the viewpoint dynamic change parameters, including the current viewpoint position and the current viewpoint movement direction, and calculate the viewpoint correlation weight of each spatial sub-block in combination with the initial spatial sub-block division scheme;

[0133] In step 702, the viewpoint dynamic change parameters refer to the dynamic parameters related to the viewpoint, including the current viewpoint position and the current viewpoint movement direction, which are used to determine the change trend of the viewpoint. The current viewpoint position refers to the current position of the user in the virtual scene and is used to determine the current visible area. The current viewpoint movement direction refers to the current movement direction of the user in the virtual scene and is used to predict the future visible area. The initial spatial sub-block division scheme refers to the spatial sub-block division scheme generated based on data density and is used to initially divide the virtual scene. The viewpoint correlation weight refers to the correlation weight between the spatial sub-block and the viewpoint calculated according to the viewpoint dynamic change parameters and is used to guide the dynamic adjustment of the spatial sub-block.

[0134] In the embodiment of the present application, first, the viewpoint dynamic change parameters are obtained, including the current viewpoint position and the current viewpoint movement direction. Then, in combination with the initial spatial sub-block division scheme, the viewpoint correlation weight of each spatial sub-block is calculated. The calculation of the viewpoint correlation weight usually adopts a distance attenuation function and a direction consistency function. For example, for the spatial sub-blocks that are closer to the viewpoint or located in the viewpoint movement direction, higher weights are assigned; for the spatial sub-blocks that are farther from the viewpoint or have nothing to do with the viewpoint movement direction, lower weights are assigned. Through this step, the system can quantify the correlation between the spatial sub-block and the viewpoint and provide a scientific basis for the subsequent dynamic block division strategy.

[0135] 703. Adjust the size and shape of the spatial sub-block according to the viewpoint correlation weight to generate a dynamic block division strategy;

[0136] In step 703, the viewpoint correlation weight refers to the correlation weight between the spatial sub-block and the viewpoint calculated according to the viewpoint dynamic change parameters and is used to guide the dynamic adjustment of the spatial sub-block. The dynamic block division strategy refers to the strategy of dynamically adjusting the size and shape of the spatial sub-block according to the viewpoint correlation weight and is used to optimize the spatial division of the virtual scene.

[0137] In the embodiment of the present application, first, the size and shape of the spatial sub-block are adjusted according to the viewpoint correlation weight. For the spatial sub-blocks with higher weights, their sizes are reduced to improve the rendering accuracy; for the spatial sub-blocks with lower weights, their sizes are enlarged to improve the rendering efficiency. At the same time, in combination with the viewpoint movement direction, the shape of the spatial sub-block is adjusted. For example, the spatial sub-blocks located in the viewpoint movement direction are adjusted to a more slender shape to adapt to the rapid change of the viewpoint. Then, a dynamic block division strategy is generated, and the virtual scene is dynamically divided based on this strategy. Through this step, the system can optimize the spatial division of the virtual scene in real time to ensure the maximization of rendering efficiency and rendering quality.

[0138] 704. Based on the dynamic chunking strategy, the volume data is divided into spatial sub-chunks with a hierarchical dependency relationship, where the level of each spatial sub-chunk is determined by its correlation weight with the viewpoint. During the division process, it is ensured that the hierarchical relationship between adjacent spatial sub-chunks meets the preset dependency conditions.

[0139] In step 704, the dynamic chunking strategy refers to a strategy that dynamically adjusts the size and shape of spatial sub-chunks according to the viewpoint correlation weight, and is used to optimize the spatial division of the virtual scene. The volume data refers to the three-dimensional data in the virtual scene, usually stored in the form of voxels. The hierarchical dependency relationship refers to the hierarchical relationship between spatial sub-chunks, which is used to ensure the correct execution of the rendering task. The correlation weight refers to the correlation weight between the spatial sub-chunk and the viewpoint, which is used to determine the level of the spatial sub-chunk. The preset dependency condition refers to the hierarchical relationship that must be met between adjacent spatial sub-chunks, which is used to ensure the continuity and consistency of the rendering task.

[0140] In the embodiment of the present application, first, based on the dynamic chunking strategy, the volume data is divided into spatial sub-chunks with a hierarchical dependency relationship. The level of each spatial sub-chunk is determined by its correlation weight with the viewpoint. For example, for spatial sub-chunks with a higher weight, a higher level is assigned to improve the rendering accuracy; for spatial sub-chunks with a lower weight, a lower level is assigned to improve the rendering efficiency. Then, during the division process, it is ensured that the hierarchical relationship between adjacent spatial sub-chunks meets the preset dependency conditions. For example, the level difference between adjacent spatial sub-chunks shall not exceed the preset threshold to avoid discontinuity of the rendering result. Through this step, the system can efficiently manage the spatial division of the volume data and ensure the correct execution of the rendering task and the high quality of the rendering result.

[0141] The following is a specific example:

[0142] In an intelligent medical image processing system, taking a certain lung CT image analysis platform as an example, the system first calculates the data density of each region according to the spatial distribution density of the volume data in the virtual scene. For example, the image data density of the lung lesion region is relatively high, while that of the normal region is relatively low. Based on the data density, the system generates an initial spatial sub-block division scheme, dividing the high-density region into smaller sub-blocks and the low-density region into larger sub-blocks. Then, the system obtains the dynamic change parameters of the viewing point, including the current viewing point position and the current viewing point movement direction. For example, a doctor is observing the lung region and moving from the apex of the lung to the base of the lung. Combining with the initial spatial sub-block division scheme, the system calculates the viewing point correlation weight of each spatial sub-block. The sub-blocks that are close to the viewing point and located in the movement direction have higher weights. Subsequently, the system adjusts the size and shape of the spatial sub-blocks according to the viewing point correlation weights. The high-weight sub-blocks are further subdivided, and the low-weight sub-blocks are merged to generate a dynamic block division strategy. Finally, based on the dynamic block division strategy, the system divides the volume data into spatial sub-blocks with hierarchical dependencies. The high-weight sub-blocks are assigned to the high-resolution level, and the low-weight sub-blocks are assigned to the low-resolution level. During the division process, the system ensures that the hierarchical relationship between adjacent spatial sub-blocks meets the preset dependency conditions. For example, the resolution difference between adjacent sub-blocks does not exceed two levels. Through this mechanism, the system can provide doctors with efficient and accurate three-dimensional lung images, assist them in quickly locating lesions and formulating treatment plans, and improve the diagnostic efficiency and accuracy.

[0143] In summary, through steps 701 to 704, the preliminary optimized segmentation of the volume data is achieved; the real-time matching between the division scheme and the dynamic change of the viewing point is ensured; the accurate allocation and efficient utilization of rendering resources are realized; based on the dynamic block division strategy, the volume data is divided into spatial sub-blocks with hierarchical dependencies, and the level of each spatial sub-block is determined by the viewing point correlation weight. At the same time, the hierarchical relationship between adjacent spatial sub-blocks meets the preset dependency conditions, providing flexible and adaptive spatial segmentation technical support for the efficient real-time rendering of complex three-dimensional scenes, and significantly improving the rendering efficiency and visual quality.

[0144] Figure 2 The following is a schematic structural diagram of a high-performance volume rendering system based on autonomous and controllable GPU pre-rendering provided by an embodiment of the present application, as Figure 2 shown, the system includes:

[0145] A division module 21, which generates a dynamic block division strategy according to the spatial distribution density of the volume data in the virtual scene and the dynamic change parameters of the viewing point, and divides the volume data into spatial sub-blocks with hierarchical dependencies;

[0146] The processing module 22, based on the dynamic chunking strategy, before the user's viewpoint reaches the target rendering area, pre-renders the spatial sub-chunks through the asynchronous computing pipeline of the domestically controllable GPU, generates intermediate rendering data containing multi-resolution voxel features and light accumulation results, and compresses and stores the intermediate rendering data in the shared storage pool of the domestically controllable GPU according to spatial proximity;

[0147] The generation module 23, in the real-time rendering stage, according to the current viewpoint position and movement direction, extracts target rendering data intersecting with the current frustum from the intermediate rendering data existing in the shared storage pool according to the priority, and performs interpolation calculation and boundary fusion on the target rendering data through the parallel streaming processing unit of the domestically controllable GPU to generate a volume rendering result.

[0148] Figure 2 The described high-performance volume rendering system based on pre-rendering of a domestically controllable GPU can execute Figure 1 The high-performance volume rendering method based on pre-rendering of a domestically controllable GPU described in the illustrated embodiment, and its implementation principle and technical effects will not be elaborated further. For the high-performance volume rendering system based on pre-rendering of a domestically controllable GPU in the above embodiment, the specific ways for each module and unit to perform operations have been described in detail in the embodiments related to the method, and will not be elaborated here.

[0149] In a possible design, Figure 2 The high-performance volume rendering system based on pre-rendering of a domestically controllable GPU in the illustrated embodiment can be implemented as a computing device, such as Figure 3 shown, this computing device may include a storage component 31 and a processing component 32;

[0150] The storage component 31 stores one or more computer instructions, where the one or more computer instructions are called and executed by the processing component 32.

[0151] The processing component 32 is used for the Figure 1 high-performance volume rendering method based on pre-rendering of a domestically controllable GPU in the above

[0152] embodiment. Among them, the processing component 32 may include one or more processors to execute computer instructions to complete all or part of the steps in the above method. Of course, the processing component may also be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors or other electronic components for executing the above method.

[0153] The storage component 31 is configured to store various types of data to support the operation of the terminal. The storage component can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0154] Of course, the computing device may also necessarily include other components, such as an input / output interface, a display component, a communication component, etc.

[0155] The input / output interface provides an interface between the processing component and the peripheral interface module, and the above-mentioned peripheral interface module can be an output device, an input device, etc.

[0156] The communication component is configured to facilitate communication between the computing device and other devices in a wired or wireless manner, etc.

[0157] Among them, the computing device can be a physical device or a flexible computing host provided by a cloud computing platform, etc. At this time, the computing device can refer to a cloud server, and the above-mentioned processing component, storage component, etc. can be basic server resources leased or purchased from the cloud computing platform.

[0158] The embodiment of the present application also provides a computer storage medium storing a computer program, and when the computer program is executed by the computer, it can implement the above-mentioned Figure 1 A high-performance volume rendering method based on autonomous and controllable GPU pre-rendering shown in the embodiment.

[0159] Those skilled in the art can clearly understand that for the convenience and conciseness of description, the specific working processes of the above-described systems, devices, and units can refer to the corresponding processes in the foregoing method embodiments, and will not be elaborated herein.

[0160] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art can understand and implement it without creative labor.

[0161] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on such an understanding, the essence of the above technical solution, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

[0162] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, and are not intended to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements for some of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A high-performance volume rendering method based on pre-rendering of self-controlled GPUs, characterized in that, Including: Generate a dynamic chunking strategy according to the spatial distribution density of the volume data and the dynamic change parameters of the viewpoint in the virtual scene, and divide the volume data into spatial sub-chunks with hierarchical dependencies; Based on the dynamic chunking strategy, before the user's viewpoint reaches the target rendering area, perform pre-rendering processing on the spatial sub-chunks through the asynchronous computing pipeline of the autonomous and controllable GPU, generate intermediate rendering data including multi-resolution voxel features and light accumulation results, and compress and store the intermediate rendering data in the shared storage pool of the autonomous and controllable GPU according to spatial proximity; In the real-time rendering stage, according to the current viewpoint position and movement direction, extract target rendering data intersecting with the current frustum from the intermediate rendering data existing in the shared storage pool according to priority, and perform interpolation calculation and boundary fusion on the target rendering data through the parallel streaming processing unit of the autonomous and controllable GPU to generate a volume rendering result.

2. The method according to claim 1, wherein The granularity adjustment of the dynamic chunking strategy is triggered synchronously with the pre-rendering progress of the asynchronous computing pipeline. When it is detected that the viewpoint movement acceleration exceeds a preset threshold, the granularity of the spatial sub-chunks is preferentially reduced and the pre-rendering task of the adjacent area is triggered. At the same time, the bit-width allocation strategy of compression storage is dynamically adjusted based on the spatial distribution characteristics of the intermediate rendering data in the shared storage pool.

3. The method according to claim 1, characterized in that, The pre-rendering process of the spatial sub-chunks through the asynchronous computing pipeline of the autonomous and controllable GPU to generate intermediate rendering data including multi-resolution voxel features and light accumulation results includes: Within the range of the spatial sub-chunks determined by the dynamic chunking strategy, predict the potentially visible area according to the current viewpoint position and movement direction, and determine the pre-rendering order based on the hierarchical dependencies of the target spatial sub-chunks corresponding to the potentially visible area; In the asynchronous computing pipeline of the autonomous and controllable GPU, perform the following operations on the target spatial sub-chunks according to the pre-rendering order: parse the voxel data of the target spatial sub-chunks level by level from the coarser to the finer resolution levels, and synchronously calculate the voxel density gradient and the corresponding local light contribution at each level; determine the feature transfer weight between adjacent levels based on the voxel density gradient, and perform weighted fusion of the voxel features of the current level with the boundary areas of adjacent spatial sub-chunks to generate smoothly transitioning multi-resolution voxel features; accumulate the local light contributions in the view direction and combine them with the multi-resolution voxel features to generate the intermediate rendering data of the current level; Transfer the intermediate rendering data generated at each level to the next higher resolution level in the pre-rendering order for iterative optimization until the highest resolution set for pre-rendering is reached, generating intermediate rendering data including complete multi-resolution voxel features and view-related light accumulation results.

4. The method according to claim 1, characterized in that, The extraction of target rendering data intersecting with the current frustum from the intermediate rendering data existing in the shared storage pool according to the current viewpoint position and movement direction includes: Calculate the spatial coverage range of the frustum according to the current viewpoint position and movement direction, and determine the candidate intermediate rendering data intersecting with the current frustum based on the spatial position relationship between the spatial coverage range and each intermediate rendering data in the shared storage pool; Calculate the priority weights of each candidate intermediate rendering data according to the spatial sub-block level, resolution level, and distance from the current view point of the candidate intermediate rendering data. The priority weight is inversely proportional to the spatial sub-block level, directly proportional to the resolution level, and inversely proportional to the view point distance. Extract the candidate intermediate rendering data that meets the real-time rendering frame rate requirement from the shared storage pool as the target rendering data in the order from high to low of the priority weight.

5. The method according to claim 4, characterized in that, Performing interpolation calculation and boundary fusion on the target rendering data through the parallel streaming processing unit of the domestically controllable GPU to generate a volume rendering result, including: In the parallel streaming processing unit of the domestically controllable GPU, calculate the view interpolation coefficient according to the difference between the current view point movement direction and the pre-rendered view point direction, and perform bilinear interpolation on the multi-resolution voxel features in the target rendering data based on the view interpolation coefficient. Use the view interpolation coefficient to perform angular weighted fusion calculation on the light accumulation result in the target rendering data to obtain the light data after view correction, so as to determine the target rendering data after view correction. Perform boundary fusion processing on the target rendering data after view correction processing, and input the target rendering data after bilinear interpolation, view correction, and boundary fusion processing into the volume rendering pipeline to generate the volume rendering result of the current frame. Among them, the boundary fusion processing includes: detecting the boundary region between adjacent spatial sub-blocks, calculating the gradient difference of the voxel features on both sides of the boundary; determining the boundary fusion weight according to the gradient difference, and performing weighted mixing on the voxel features in the boundary region using the boundary fusion weight; using the same fusion weight to perform boundary smoothing processing on the light data after view correction to complete the boundary fusion processing process.

6. The method according to claim 5, wherein The calculating the view interpolation coefficient according to the difference between the current view point movement direction and the pre-rendered view point direction includes: Obtain the three-dimensional vector representation of the current view point movement direction and the three-dimensional vector representation of the pre-rendered view point movement direction, and calculate the cosine value of the angle between the two three-dimensional vectors as the basic view similarity. Calculate the distance attenuation factor according to the spatial distance between the current view point position and the pre-rendered view point position, and multiply the basic view similarity by the distance attenuation factor to obtain the initial view interpolation coefficient. Detect the current view point movement direction. When there is an accelerated view change, apply dynamic smoothing constraints to the initial view interpolation coefficient, and limit the view interpolation coefficient after dynamic smoothing constraint processing within a preset effective range to obtain the final view interpolation coefficient for rendering.

7. The method according to claim 1, characterized in that, Generate a dynamic block division strategy according to the spatial distribution density of the volume data in the virtual scene and the view point dynamic change parameters, and divide the volume data into spatial sub-blocks with hierarchical dependencies, including: According to the spatial distribution density of the volume data in the virtual scene, calculate the data density of each region, and generate an initial spatial sub-block division scheme based on the data density. Obtain the view point dynamic change parameters, including the current view point position and the current view point movement direction, and calculate the view point correlation weight of each spatial sub-block in combination with the initial spatial sub-block division scheme. Adjust the size and shape of the spatial sub-blocks according to the view-point correlation weight to generate a dynamic chunking strategy; Based on the dynamic chunking strategy, divide the volume data into spatial sub-blocks with hierarchical dependencies, where the hierarchy of each spatial sub-block is determined by its correlation weight with the view point, and during the division process, ensure that the hierarchical relationship between adjacent spatial sub-blocks meets the preset dependency conditions.

8. A high-performance volume rendering system based on pre-rendering with autonomous and controllable GPUs, characterized in that, Comprising: A division module that generates a dynamic chunking strategy according to the spatial distribution density of the volume data and the view-point dynamic change parameters in the virtual scene, and divides the volume data into spatial sub-blocks with hierarchical dependencies; A processing module that, based on the dynamic chunking strategy, before the user's view point reaches the target rendering area, performs pre-rendering processing on the spatial sub-blocks through the asynchronous computing pipeline of the self-controllable GPU to generate intermediate rendering data containing multi-resolution voxel features and light accumulation results, and stores the intermediate rendering data in the shared storage pool of the self-controllable GPU according to spatial proximity compression; A generation module that, in the real-time rendering stage, extracts target rendering data intersecting with the current view frustum from the intermediate rendering data existing in the shared storage pool according to the current view point position and movement direction, and performs interpolation calculation and boundary fusion on the target rendering data through the parallel streaming processing unit of the self-controllable GPU to generate a volume rendering result.

9. A computing device, characterized in that, Comprising a processing component and a storage component; the storage component stores one or more computer instructions; the one or more computer instructions are used to be called and executed by the processing component to implement a high-performance volume rendering method based on self-controllable GPU pre-rendering as described in any one of claims 1 to 7.

10. A computer storage medium, characterized in that, Stores a computer program, which when executed by a computer, implements a high-performance volume rendering method based on self-controllable GPU pre-rendering as described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Method, device and equipment for rendering illumination information in game scene

    CN115131482A

  • Point cloud data processing method and device, storage medium and electronic equipment

    CN119648515A

  • Foveation-based image encoding and decoding

    US11568574B1

Cited By

  • Digital twin three-dimensional scene modeling method based on webGPU

    CN120580367A

  • Webgpu-based digital twin three-dimensional scene modeling method

    CN120580367B

  • Naked eye VR visual angle continuous roaming real-time tracking system

    CN121509629A