A high-performance volume rendering method and system based on autonomous controllable GPU pre-rendering
By using a pre-rendering method on a self-controllable GPU, dynamic block division and asynchronous computing pipelines are used to generate multi-resolution voxel features and lighting accumulation results, solving the problem of the imbalance between rendering quality and performance on a self-controllable GPU and achieving efficient and real-time volume rendering effects.
Patent Information
- Application Number
- CN202510434647.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-08
- Publication Date
- 2025-11-04
- Estimated Expiration
- 2045-04-08
AI Technical Summary
Traditional volume rendering methods consume high computational resources and have low rendering efficiency when processing large-scale volume data on autonomous and controllable GPUs. Furthermore, existing solutions are difficult to deploy efficiently in an autonomous and controllable environment, resulting in a lack of effective balance between rendering quality and performance.
A pre-rendering method based on an autonomous and controllable GPU is adopted. Through dynamic block strategy and asynchronous computing pipeline, intermediate rendering data of multi-resolution voxel features and lighting accumulation results are generated and stored in a shared storage pool according to spatial proximity. Interpolation calculation and boundary fusion are performed in the real-time rendering stage to generate high-quality volume rendering results.
It significantly improves rendering efficiency and quality, is suitable for real-time rendering scenarios with high-complexity volumetric data, ensures real-time rendering and high-quality output, and optimizes resource utilization and visual effects.
Smart Images

Figure CN120259518B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of autonomous controllable GPU hardware architecture, and particularly relates to a high-performance volume rendering method and system based on autonomous controllable GPU pre-rendering. BACKGROUND
[0002] With the rapid development of scientific computing, medical imaging and virtual reality, the demand for volume rendering technology in high-performance visualization is increasing. Traditional volume rendering methods rely on general-purpose GPUs for real-time rendering, but when dealing with large-scale volume data, they often face high computational resource occupation and low rendering efficiency. Therefore, developing a high-performance volume rendering method based on autonomous controllable GPU to improve rendering efficiency and controllability has important application value.
[0003] Currently, the mainstream solution for volume rendering is mainly based on ray tracing and texture mapping technologies. Ray tracing method generates rendering results pixel by pixel through GPU parallel computing, which can achieve high-quality real-time rendering, but requires extremely high hardware performance, especially in large-scale volume data scenarios, the computational overhead is huge. In addition, existing solutions rely heavily on foreign high-end GPUs and specialized hardware, making it difficult to achieve efficient deployment in an autonomous controllable environment.
[0004] However, the ray tracing method has strong dependence on hardware performance, making it difficult to achieve efficient operation on autonomous controllable GPUs, and it is prone to performance bottlenecks when dealing with large-scale data. The existing solution lacks effective balance between rendering quality and performance, and cannot meet the demand for 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 controllable GPU, which optimizes rendering algorithms and resource scheduling to significantly improve performance and reduce hardware dependence while ensuring high-quality rendering. SUMMARY
[0005] The present application provides a high-performance volume rendering method and system based on autonomous controllable GPU pre-rendering to solve the problem of lack of effective balance between rendering quality and performance in the prior art.
[0006] In a first aspect, the present application provides a high-performance volume rendering method based on autonomous controllable GPU pre-rendering, comprising:
[0007] According to the spatial distribution density of the volume data in the virtual scene and the dynamic change parameters of the viewpoint, a dynamic block strategy is generated, and the volume data is divided into spatial sub-blocks with hierarchical dependency relationship;
[0008] Based on the dynamic blocking strategy, before the user viewpoint reaches the target rendering region, the spatial sub-blocks are pre-rendered by the autonomous controllable GPU asynchronous computing pipeline to generate intermediate rendering data containing multi-resolution voxel features and illumination accumulation results, and the intermediate rendering data is compressed and stored in the shared storage pool of the autonomous controllable GPU according to spatial proximity;
[0009] In the real-time rendering stage, according to the current viewpoint position and motion direction, the target rendering data intersected with the current frustum is extracted from the existing intermediate rendering data in the shared storage pool according to the priority, and the interpolation calculation and boundary fusion of the target rendering data are performed by the parallel streaming processing unit of the autonomous controllable GPU to generate the volume rendering result.
[0010] Optionally, the granularity adjustment of the dynamic blocking strategy is triggered synchronously with the pre-rendering progress of the asynchronous computing pipeline, when it is detected that the viewpoint motion acceleration exceeds a preset threshold, the granularity of the spatial sub-blocks is preferentially reduced and the pre-rendering task of the adjacent region is triggered, and the bit width allocation strategy of the 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-blocks determined by the dynamic blocking strategy, the potential visible region is predicted according to the current viewpoint position and motion direction, and the pre-rendering order is determined based on the hierarchical dependency relationship of the target spatial sub-block corresponding to the potential visible region.
[0012] In the autonomous controllable GPU asynchronous computing pipeline, the following operations are performed on the target spatial sub-block in the pre-rendering order: the voxel data of the target spatial sub-block is parsed in the resolution hierarchy from coarse to fine, and the voxel density gradient and the corresponding local illumination contribution are calculated synchronously at each level; the feature transfer weight between adjacent levels is determined based on the voxel density gradient, the voxel features of the current level are weighted and fused with the boundary region of the adjacent spatial sub-block to generate multi-resolution voxel features with smooth transition; the local illumination contribution is accumulated according to the viewing angle direction, and the multi-resolution voxel features are combined to generate the intermediate rendering data of the current level;
[0013] The intermediate rendering data generated at each level is transmitted to the next higher resolution level in the pre-rendering order for iterative optimization until the highest resolution set in the pre-rendering is reached, and the intermediate rendering data containing complete multi-resolution voxel features and viewing angle related illumination accumulation results is generated.
[0014] Optionally, the spatial coverage range of the frustum is calculated according to the current viewpoint position and motion direction, and the candidate intermediate rendering data intersected with the current frustum is determined based on the spatial position relationship between the spatial coverage range and each intermediate rendering data in the shared storage pool.
[0015] According to the spatial sub-block level, resolution level and distance from the current viewpoint of the candidate intermediate rendering data, a priority weight of each candidate intermediate rendering data is calculated, the priority weight being inversely proportional to the spatial sub-block level, proportional to the resolution level and inversely proportional to the distance from the viewpoint;
[0016] According to the order from high to low of the priority weights, candidate intermediate rendering data meeting the real-time rendering frame rate requirement is extracted from the shared storage pool as target rendering data.
[0017] Optionally, in the parallel streaming processing unit of the autonomous controllable GPU, according to the difference between the current viewpoint motion direction and the pre-rendering viewpoint direction, a view angle interpolation coefficient is calculated, and the multi-resolution voxel features in the target rendering data are bilinearly interpolated based on the view angle interpolation coefficient;
[0018] The view angle interpolation coefficient is used to perform angle-weighted fusion calculation on the illumination accumulation result in the target rendering data, to obtain view angle corrected illumination data, so as to determine the view angle corrected target rendering data;
[0019] The target rendering data after the view angle correction processing is subjected to boundary fusion processing, and the target rendering data after the bilinear interpolation, view angle correction and boundary fusion processing is input into a volume rendering pipeline to generate a volume rendering result of the current frame; wherein the boundary fusion processing includes: detecting a boundary region between adjacent spatial sub-blocks, calculating the gradient difference of the voxel features on both sides of the boundary; determining a 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 region; using the same fusion weight to perform boundary smoothing processing on the view angle corrected illumination data, to complete the boundary fusion processing process.
[0020] Optionally, a three-dimensional vector representation of the current viewpoint motion direction and a three-dimensional vector representation of the pre-rendering viewpoint motion direction are obtained, and the included angle cosine value between the two three-dimensional vectors is calculated as a basic view angle similarity;
[0021] A distance attenuation factor is calculated according to the spatial distance between the current viewpoint position and the pre-rendering viewpoint position, and the basic view angle similarity is multiplied by the distance attenuation factor to obtain an initial view angle interpolation coefficient;
[0022] The current viewpoint motion direction is detected, and when there is a view angle acceleration change, a dynamic smoothing constraint is applied to the initial view angle interpolation coefficient, and the view angle interpolation coefficient after the dynamic smoothing constraint processing is limited within a preset effective range to obtain a final view angle interpolation coefficient used for rendering.
[0023] Optionally, a data density of each region is calculated according to a spatial distribution density of the volume data in the virtual scene, and an initial spatial sub-block division scheme is generated based on the data density;
[0024] A viewpoint dynamic change parameter is acquired, including a current viewpoint position and a current viewpoint motion direction, and a viewpoint correlation weight of each spatial sub-block is calculated in combination with the initial spatial sub-block division scheme;
[0025] A dynamic division strategy is generated by adjusting a size and a shape of the spatial sub-block according to the viewpoint correlation weight;
[0026] The volume data is divided into spatial sub-blocks with a hierarchical dependency relationship based on the dynamic division strategy, wherein a hierarchy of each spatial sub-block is determined by the correlation weight of the spatial sub-block with the viewpoint, and a hierarchical relationship between adjacent spatial sub-blocks is ensured to satisfy a preset dependency condition in the division process.
[0027] In a second aspect, the present application provides a high-performance volume rendering system based on autonomous controllable GPU pre-rendering, comprising:
[0028] A division module generates a dynamic division strategy according to a spatial distribution density of volume data in a virtual scene and a viewpoint dynamic change parameter, and divides the volume data into spatial sub-blocks with a hierarchical dependency relationship;
[0029] A processing module performs pre-rendering processing on the spatial sub-blocks through an asynchronous computing pipeline of an autonomous controllable GPU to generate intermediate rendering data containing multi-resolution voxel features and illumination accumulation results, and compressively stores the intermediate rendering data to a shared storage pool of the autonomous controllable GPU according to spatial proximity, based on the dynamic division strategy before a user viewpoint reaches a target rendering region.
[0030] A generation module extracts target rendering data intersected with a current frustum from the intermediate rendering data existing in the shared storage pool according to a priority in a real-time rendering stage, performs interpolation calculation and boundary fusion on the target rendering data through a parallel streaming processing unit of the autonomous controllable GPU, and generates a volume rendering result.
[0031] In a third aspect, an embodiment of the present application provides a computing device 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 autonomous controllable GPU pre-rendering as described in the first aspect above.
[0032] In a fourth aspect, the embodiments of the present application provide a computer storage medium storing a computer program, which, when executed by a computer, implements the high-performance volume rendering method based on self-controllable GPU pre-rendering according to the first aspect.
[0033] According to the spatial distribution density of the volume data in the virtual scene and the dynamic change parameter of the viewpoint, the application generates a dynamic block strategy, divides the volume data into spatial sub-blocks with hierarchical dependency, and thus realizes adaptive optimization of data division and efficient use of resources. Before the user viewpoint reaches the target rendering region, the spatial sub-blocks are pre-rendered by the asynchronous computing pipeline of the self-controllable GPU, intermediate rendering data containing multi-resolution voxel features and illumination accumulation results are generated, and the intermediate rendering data are stored in the shared storage pool in a compressed manner according to spatial proximity, which effectively reduces the computing burden in the real-time rendering stage and supports multi-resolution rendering and illumination pre-computation. In the real-time rendering stage, the target rendering data intersecting with the current viewing frustum are extracted from the shared storage pool according to the current viewpoint position and motion direction, interpolation calculation and boundary fusion are performed on the target rendering data by the parallel streaming processing unit of the self-controllable GPU, and the volume rendering result is generated, which ensures real-time rendering, smooth transition and high-quality output. The overall technical solution significantly improves the performance and efficiency of volume rendering through dynamic block, pre-rendering and parallel processing, and is suitable for real-time rendering of high-complexity volume data.
[0034] Further, the granularity adjustment of the dynamic block strategy and the pre-rendering progress of the asynchronous computing pipeline are triggered synchronously, when it is detected that the viewpoint motion acceleration exceeds a preset threshold, the granularity of the spatial sub-blocks is reduced preferentially and the pre-rendering task of the adjacent region is triggered, and based on the spatial distribution features of the intermediate rendering data in the shared storage pool, the bit width allocation strategy of the compressed storage is adjusted dynamically. The technical solution triggers the synchronous mechanism of dynamic adjustment of the block granularity and the pre-rendering progress, reduces the granularity of the spatial sub-blocks preferentially and starts the pre-rendering task of the adjacent region when the viewpoint moves rapidly, and thus ensures the fineness and real-time performance of the rendering data. Meanwhile, the bit width of the compressed storage is adjusted dynamically based on the spatial distribution features of the intermediate rendering data, which optimizes the use of storage resources and improves the data access efficiency, and thus realizes efficient and high-quality real-time volume rendering in complex scenes and significantly improves the user experience.
[0035] These aspects or other aspects of the application will be more apparent in the following description of the embodiments. BRIEF DESCRIPTION OF DRAWINGS
[0036] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or prior art description. Obviously, the drawings in the following description are some embodiments of the present application, and for those skilled in the art, other drawings can also be obtained without creative labor.
[0037] Figure 1 A flow chart of a high-performance volume rendering method based on autonomous controllable GPU pre-rendering provided by the present application is shown;
[0038] Figure 2 A structural schematic diagram of a high-performance volume rendering system based on autonomous controllable GPU pre-rendering provided by the present application is shown;
[0039] Figure 3 A structural schematic diagram of a computing device provided by the present application is shown. DETAILED DESCRIPTION
[0040] In order to enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application.
[0041] In some of the processes described in the specification and claims of the present application and the above-described drawings, a plurality of operations appear in a specific order, but it should be clearly understood that these operations can be executed or performed in parallel or in a different order from the order in which they appear in this text. 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 the operations can be executed in sequence or in parallel. It should be noted that the descriptions of "first", "second", etc. in this text are used to distinguish different messages, devices, modules, etc., and do not represent the order of precedence. Also, "first" and "second" are not of different types.
[0042] The present application aims to extract the curvature distribution characteristics of the voxel surface and the anisotropic filtering coefficients through dynamic topology analysis, generate pre-processing metadata; dynamically configure high-density ray projection units and low-power interpolation units in a reconfigurable computing array according to the curvature characteristics; use an asynchronous computing engine to allocate tasks, perform multi-resolution octree voxel traversal and trilinear filtering sampling; finally, in the autonomous controllable rendering pipeline, the sampling results are fused by hardware optimization hybrid weight algorithm to generate high-quality frame buffer data and update the transparency gradient mapping relationship synchronously, realizing high-performance and high-quality volume rendering.
[0043] With reference to the drawings and the embodiments of the present application, the technical solutions in the embodiments of the present application will be described clearly and completely. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by a person of ordinary skill in the art without creative work are within the scope of protection of the present application.
[0044] Figure 1 A flowchart of a high-performance volume rendering method based on autonomous controllable GPU pre-rendering is provided for the embodiments of the present application, as shown in Figure 1 The method comprises the following steps.
[0045] 101. Generating a dynamic blocking strategy according to the spatial distribution density of the volume data in the virtual scene and the viewpoint dynamic change parameter, and dividing the volume data into spatial sub-blocks with hierarchical dependency relationship.
[0046] In this step, the spatial distribution density represents the density of the volume data in space, and the viewpoint dynamic change parameter includes the viewpoint position, the viewing angle direction, the motion speed, etc.
[0047] The viewpoint dynamic change parameter includes the viewpoint position, the viewing angle direction, the motion speed, etc., and is used to describe the observation position and the motion state of the user in the virtual scene.
[0048] The dynamic blocking strategy refers to generating a flexible blocking scheme according to the spatial distribution density of the volume data in the virtual scene and the viewpoint dynamic change parameter, and dividing the volume data into spatial sub-blocks with hierarchical dependency relationship.
[0049] The hierarchical dependency relationship refers to the parent-child relationship between the sub-blocks, and the parent block contains multiple sub-blocks, and the sub-blocks inherit part of the attributes of the parent block.
[0050] In the embodiments of the present application, first, the spatial distribution density of the volume data is analyzed to identify the data-intensive and sparse areas, and an initial spatial blocking is generated. Then, according to the viewpoint dynamic change parameter (such as the viewpoint position, the viewing angle direction and the motion speed), the blocking strategy is dynamically adjusted, and the area near the viewpoint is preferentially divided into smaller sub-blocks to improve the rendering precision. Then, based on the hierarchical dependency relationship, the sub-blocks are organized into a tree structure, 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 a CT scan image of a patient. According to the spatial distribution density of the CT image, the organ region with high density is divided into smaller sub-blocks, while the background region with low density is divided into larger sub-blocks. With the movement of the doctor's viewpoint, the block strategy is dynamically adjusted, and the organ region near the viewpoint is 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 block strategy, before the user's viewpoint reaches the target rendering region, the spatial sub-blocks are pre-rendered by the autonomous controllable GPU's asynchronous computing pipeline to generate intermediate rendering data containing multi-resolution voxel features and illumination accumulation results, and the intermediate rendering data is stored in the shared storage pool of the autonomous controllable GPU according to spatial proximity;
[0053] In this step, the pre-rendering processing refers to processing the spatial sub-blocks by the autonomous controllable GPU's asynchronous computing pipeline before the user's viewpoint reaches the target rendering region to generate intermediate rendering data containing multi-resolution voxel features and illumination accumulation results.
[0054] The multi-resolution voxel features represent voxel data at different resolutions, and the illumination accumulation results represent the cumulative effect of the voxel under illumination.
[0055] The intermediate rendering data is stored in the shared storage pool of the autonomous controllable GPU according to spatial proximity for use in the real-time rendering stage.
[0056] The shared storage pool refers to a shared memory area in the autonomous controllable GPU for storing intermediate rendering data for use in the real-time rendering stage.
[0057] In the embodiments of the present application, first, the autonomous controllable GPU's asynchronous computing pipeline is used to extract multi-resolution voxel features from the spatial sub-blocks to generate voxel data at different resolutions. Next, based on the illumination model, the voxel data is calculated for illumination accumulation to generate illumination accumulation results. Then, the multi-resolution voxel features and illumination 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 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 region, the GPU asynchronous computation pipeline performs multi-resolution feature extraction and light accumulation calculation on the voxel data of the region to generate intermediate rendering data. For example, high-resolution feature extraction is performed on the voxel data of the heart region, while low-resolution feature extraction is performed on the voxel data of the background region. 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 motion direction, the target rendering data intersecting with the current frustum is extracted from the intermediate rendering data existing in the shared storage pool according to the priority, and the interpolation calculation and boundary fusion of the target rendering data are performed by the parallel streaming processing unit of the autonomous controllable GPU to generate the volume rendering result.
[0060] In this step, the real-time rendering stage refers to extracting the target rendering data intersecting with the current frustum from the shared storage pool according to the current viewpoint position and motion direction, and performing interpolation calculation and boundary fusion by the parallel streaming processing unit of the autonomous controllable GPU to generate the volume rendering result.
[0061] The target rendering data refers to the intermediate rendering data intersecting with the current frustum, which is used to generate the final rendering result.
[0062] The parallel streaming processing unit refers to the hardware unit in the autonomous controllable GPU for efficiently processing 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 seamless volume rendering results.
[0065] The volume rendering result refers to the final generated three-dimensional rendering image for user viewing.
[0066] In the embodiments of the present application, first, according to the current viewpoint position and motion direction, the frustum range is determined, and the target rendering data intersecting with the frustum is extracted from the shared storage pool according to the priority. Next, the interpolation calculation of the target rendering data is performed by the parallel streaming processing unit of the autonomous controllable GPU to fill in the missing data parts. Then, the boundary fusion of the interpolated data is performed to eliminate the seams between sub-blocks to generate seamless volume rendering results. Finally, the volume rendering results are output to the display device for user viewing.
[0067] In a virtual medical scene, 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 unit, the interpolation calculation is performed on the voxel data of the heart region, the missing data is filled, and the boundary is fused to generate a seamless volume rendering result. Finally, the doctor can view the high-precision three-dimensional image of the heart on the display device.
[0068] In summary, through steps 101 to 105, the generation of spatial sub-block division through a dynamic block strategy is realized. The system can flexibly divide 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 illumination accumulation results are generated through an asynchronous computing pipeline, and intermediate rendering data is compressed and stored in a shared storage pool to provide data support for real-time rendering. In the real-time rendering stage, target rendering data is extracted from the shared storage pool according to the current viewpoint position and motion direction, and seamless volume rendering results are generated through interpolation calculation and boundary fusion. The entire process realizes efficient and high-precision volume data rendering in a virtual medical scene, providing clear three-dimensional images for doctors and improving diagnosis efficiency and accuracy.
[0069] To solve the problem of rendering delay and low data storage efficiency caused by rapid motion of the viewpoint in a virtual reality scene, a rendering system based on dynamic block strategy and asynchronous computing pipeline collaborative optimization is developed, which realizes fine scheduling of rendering tasks and efficient use of storage resources, significantly improving the rendering fluency and system performance of the virtual reality scene. In some embodiments, step 102 includes:
[0070] 201、The granularity adjustment of the dynamic block strategy and the pre-rendering progress of the asynchronous computing pipeline are triggered synchronously, when the acceleration of the viewpoint motion is detected to exceed a preset threshold, the granularity of the spatial sub-block is reduced preferentially and the pre-rendering task of the adjacent region is triggered, and the bit width allocation strategy of the 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 partitioning strategy refers to dynamically adjusting the spatial sub-block granularity according to the scene requirements. Granularity adjustment refers to adjusting the size of the spatial sub-block according to the scene requirements. The asynchronous computation pipeline refers to a computation pipeline for parallel processing of rendering tasks. The pre-rendering progress refers to the completion progress of the pre-rendering task in the asynchronous computation pipeline. The synchronous triggering refers to the granularity adjustment of the dynamic partitioning strategy being performed simultaneously with the adjustment of the pre-rendering progress. The viewpoint motion acceleration refers to the motion acceleration of the user in the scene. The preset threshold refers to a preset upper limit value of the viewpoint motion acceleration. The spatial sub-block refers to a sub-region divided in the scene. The pre-rendering task of the adjacent region refers to a task of pre-rendering the adjacent region. The shared storage pool refers to a shared storage area for storing intermediate rendering data. The intermediate rendering data refers to intermediate data generated during the rendering process. The spatial distribution characteristics refer to the distribution characteristics of the intermediate rendering data in space. The compressed storage refers to a technique of compressively storing the intermediate rendering data. The bit width allocation strategy refers to a strategy of dynamically adjusting the compressed storage bit width according to the data characteristics.
[0072] In the embodiments of the present application, first, whether the viewpoint motion acceleration exceeds the preset threshold is detected to determine 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-block is reduced to improve the rendering precision and response speed. Next, the pre-rendering task of the adjacent region is triggered to ensure that the user can quickly obtain high-quality rendering results when in fast motion. Then, based on the spatial distribution characteristics 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 storage resource utilization. Finally, the granularity adjustment of the dynamic partitioning strategy and the synchronous triggering of the pre-rendering progress of the asynchronous computation pipeline are implemented to maximize the rendering efficiency and resource utilization.
[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 partitioning strategy and the synchronous triggering of the pre-rendering progress of the asynchronous computation pipeline are used to improve the efficiency and precision of medical image analysis. When it is detected that the viewpoint motion acceleration during image browsing exceeds the preset threshold (such as the acceleration exceeding 0.3 m / s 2), the system preferentially reduces the granularity of the spatial sub-block (such as adjusting the sub-block from 512x512 pixels to 256x256 pixels), and triggers the pre-rendering task of the adjacent area to ensure the continuity and detail clarity of the image 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 the image data density of the lesion area being higher), the bit width allocation strategy of the compressed storage is dynamically adjusted (such as allocating higher bit width to the lesion area to retain more details, and reducing the bit width to the normal area to save storage space). Through this dynamic adjustment mechanism, the system can optimize the use efficiency of storage resources while ensuring 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 realized by step 201; when the acceleration of the viewpoint motion is detected to exceed the preset threshold, the granularity of the spatial sub-block is preferentially reduced and the pre-rendering task of the adjacent area is triggered, which effectively reduces the rendering delay in high dynamic scenes and improves the user experience; at the same time, the bit width allocation strategy of the compressed storage is dynamically adjusted based on the spatial distribution characteristics of the intermediate rendering data in the shared storage pool, which optimizes the utilization efficiency of storage resources and reduces the data transmission bandwidth pressure; this method combines real-time perception of the viewpoint motion state with dynamic allocation of rendering resources to achieve a balance between rendering efficiency and resource utilization in high dynamic scenes, providing an efficient and flexible technical solution for real-time rendering of complex three-dimensional scenes.
[0076] In order 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 controllable GPU asynchronous computing pipeline is developed, which realizes the cooperative optimization of rendering efficiency and quality, and significantly improves the rendering effect and user experience of virtual reality scenes. In some embodiments, the spatial sub-block is pre-rendered by the asynchronous computing pipeline of the autonomous controllable GPU in step 102 to generate intermediate rendering data containing multi-resolution voxel features and light accumulation results, including:
[0077] 301. Within the range of the spatial sub-block determined by the dynamic blocking strategy, predict the potential 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-block corresponding to the potential visible area;
[0078] In step 301, the dynamic partitioning strategy refers to dynamically adjusting the spatial sub-block granularity according to the scene requirements, which is used to optimize the allocation and utilization of rendering resources. The spatial sub-block range refers to the spatial sub-block area divided by the dynamic partitioning strategy, which is used to limit the processing range of the rendering task. 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 potential visible area refers to the visible area predicted according to the current viewpoint position and the motion direction, which is used to prepare the rendering task in advance. The target spatial sub-block refers to the spatial sub-block corresponding to the potential visible area, which is the main processing object of the pre-rendering task. The hierarchical dependency relationship refers to the dependency relationship between the target spatial sub-blocks at different resolution levels, which is used to determine the execution order of the pre-rendering task. 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 the rendering task.
[0079] In the embodiments of the present application, first, the potential visible area is predicted according to the current viewpoint position and the motion direction within the spatial sub-block range determined by the dynamic partitioning strategy. Then, the pre-rendering order is determined based on the hierarchical dependency relationship of the target spatial sub-block corresponding to the potential visible area. Through this step, the system can predict the area that the user may see in advance, and reasonably arrange the execution order of the pre-rendering task according to the hierarchical dependency relationship, thereby providing a scientific basis for subsequent voxel data analysis and rendering optimization, and ensuring the maximization of rendering accuracy and computational efficiency.
[0080] 302、In the asynchronous computing pipeline of the autonomous controllable GPU, the following operations are performed on the target spatial sub-block in the pre-rendering order: the voxel data of the target spatial sub-block is analyzed level by level according to the resolution levels from coarse to fine, and the voxel density gradient and the corresponding local illumination contribution are calculated synchronously at each level; the feature transfer weight between adjacent levels is determined based on the voxel density gradient, the voxel features of the current level are weighted and fused with the boundary area of the adjacent spatial sub-block to generate multi-resolution voxel features with smooth transitions; the local illumination contribution is accumulated according to the viewing angle direction, and combined with the multi-resolution voxel features to generate intermediate rendering data of the current level;
[0081] In step 302, "autonomous and controllable GPU" refers to a GPU device that supports asynchronous computing pipelines for efficient processing of rendering tasks. "Asynchronous computing pipeline" refers to a computing pipeline used for parallel processing of rendering tasks, significantly improving rendering efficiency. "Pre-rendering order" refers to the pre-rendering execution order determined based on hierarchical dependencies, guiding the execution of rendering tasks. "Target space sub-block" refers to the space sub-block corresponding to the potentially visible region, and is the main processing object of the pre-rendering task. "Resolution level" refers to the resolution level of the voxel data, including different resolutions from coarse to fine, used to progressively improve rendering accuracy. "Voxel data" refers to the 3D data in voxel rendering, and is the core processing object of the rendering task. "Voxel density gradient" refers to the density gradient in the voxel data, used to analyze the local features of the voxel data. "Local illumination contribution" refers to the illumination calculation result of the voxel data at the current level, used to generate rendering effects. "Feature transfer weight" refers to the transfer weight of voxel features between adjacent levels, used to optimize the feature transfer process. "Weighted fusion" refers to the weighted fusion of the voxel features of the current level with the boundary regions of adjacent space sub-blocks, used to generate smooth transition effects. Multi-resolution voxel features refer to voxel features that include different resolution levels, used to improve the detail of the rendered results. Intermediate rendering data refers to intermediate data generated during the rendering process, used to progressively optimize the final rendering result.
[0082] In this embodiment, the target spatial sub-blocks are first processed in the asynchronous computing pipeline of the autonomous and controllable GPU according to the pre-rendering order. Next, the voxel data of the target spatial sub-blocks is parsed level by level, from coarse to fine resolution, and the voxel density gradient and corresponding local illumination contribution are calculated synchronously at each level. Then, based on the voxel density gradient, the feature transfer weights between adjacent levels are determined, and the voxel features of the current level are weighted and fused with the boundary regions of adjacent spatial sub-blocks to generate smoothly transitioned multi-resolution voxel features. Finally, the local illumination contribution is accumulated along the viewing direction and combined with the multi-resolution voxel features to generate intermediate rendering data for the current level. Through this step, the system can efficiently parse voxel data and generate high-quality intermediate rendering results, ensuring maximum rendering accuracy and computational efficiency.
[0083] 303. The intermediate rendering data generated at each level is passed to the next higher resolution level in the order of pre-rendering for iterative optimization until the highest resolution set in the pre-rendering is reached, generating intermediate rendering data containing complete multi-resolution voxel features and view-related lighting accumulation results.
[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, which is used to guide the execution of the rendering task. The iterative optimization refers to the transmission of the intermediate rendering data to higher resolution levels for optimization, which is used to gradually improve the rendering accuracy. The highest resolution refers to the highest resolution level set by pre-rendering, which is used to generate the final rendering result. The complete multi-resolution voxel feature refers to the voxel feature containing 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 according to the view direction, which is used to generate realistic rendering effects.
[0085] In the embodiments of the present application, first, the intermediate rendering data generated by each level is transmitted to the next higher resolution level according to the pre-rendering order for iterative optimization. Then, through the iterative optimization process, the rendering accuracy and computational efficiency are gradually improved. Finally, until the highest resolution set by pre-rendering is reached, the intermediate rendering data containing complete multi-resolution voxel features and view-dependent light accumulation results is generated. Through this step, the system can generate high-quality final rendering results, ensuring the maximization of rendering accuracy and computational efficiency.
[0086] The following is a specific example:
[0087] In the intelligent medical image analysis system, taking a tumor detection platform as an example, the system first predicts the potential visible area (such as the tumor area of interest of the doctor) according to the current viewpoint position and motion direction, and determines the pre-rendering order based on the hierarchical dependency. In the GPU asynchronous computation pipeline, the system analyzes the voxel data from low resolution to high resolution, synchronously calculates the voxel density gradient and local light contribution (such as simulating the scattering effect of light in the tissue). Then, based on the voxel density gradient, the feature transmission weight between adjacent levels is determined, the voxel features of the current level are weighted and fused with the boundary regions of adjacent spatial sub-blocks, and multi-resolution voxel features with smooth transitions are generated (such as ensuring natural image transition). Subsequently, the local light contribution is accumulated according to the view direction, and combined with the multi-resolution voxel features to generate intermediate rendering data (such as generating a partially reconstructed image containing light and shadow effects). Finally, the system transmits the intermediate rendering data to higher resolution levels for iterative optimization, until the highest resolution is reached, generating complete multi-resolution voxel features and view-dependent light accumulation results (such as generating the final high-precision three-dimensional reconstruction image). Through this mechanism, the system can provide the doctor with efficient and high-quality three-dimensional medical image reconstruction results, assisting him in accurate diagnosis and treatment planning.
[0088] In summary, the accurate allocation and efficient utilization of rendering resources are achieved through steps 301 to 303; the transition-smooth multi-resolution voxel features are generated, effectively improving the rendering quality and visual continuity; at the same time, the local light contribution is accumulated according to the view direction, and combined with the multi-resolution voxel features to generate intermediate rendering data, realizing the efficient fusion of light effect and voxel features; by iteratively optimizing the intermediate rendering data generated at each level to the highest resolution, the intermediate rendering data containing complete multi-resolution voxel features and view-dependent light accumulation results are finally generated, providing an efficient and flexible technical solution for high-quality real-time rendering of complex three-dimensional scenes, significantly improving rendering efficiency and visual effect.
[0089] In order to solve the problem of low efficiency of real-time rendering data extraction and unstable frame rate in virtual reality scenes, a target rendering data extraction system based on priority weight is developed, which realizes efficient extraction of rendering data and optimization of frame rate stability, significantly improving the real-time rendering performance and user experience of virtual reality scenes. In some embodiments, the step 103 of extracting the target rendering data intersected with the current frustum from the intermediate rendering data existing in the shared storage pool according to the current viewpoint position and motion direction based on the priority 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 intersected 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 limit the processing range of the rendering task. The shared storage pool refers to a shared storage area for storing intermediate rendering data, which is used to efficiently manage 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 intersected with the frustum. The candidate intermediate rendering data refers to the intermediate rendering data intersected with the current frustum, which is the main processing object of the real-time rendering task.
[0092] In the embodiments of the present application, firstly, the spatial coverage of the view frustum is calculated according to the current viewpoint position and the motion direction, and the current visible region and the future visible region are determined. Then, based on the spatial coverage of the view frustum and the spatial position relationship between each intermediate rendering data in the shared storage pool, the candidate intermediate rendering data intersecting with the current view frustum is determined. Through this step, the system can quickly filter out the rendering data related to the current view frustum, and provide a scientific basis for subsequent priority calculation and data extraction, to ensure 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, the resolution level and the distance from the current viewpoint of the candidate intermediate rendering data, the priority weight being inversely proportional to the spatial sub-block level, proportional to the resolution level and inversely proportional to the distance from the viewpoint;
[0094] In step 402, the candidate intermediate rendering data refers to the intermediate rendering data intersecting with the current view frustum, which 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, which 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, which is used to determine the definition of the rendering data. The distance from the current viewpoint refers to the distance from the current viewpoint position of the candidate intermediate rendering data, which 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, the resolution level and the distance from the current viewpoint, which is used to guide the extraction order of the rendering data.
[0095] In the embodiments of the present application, firstly, the priority weight of each candidate intermediate rendering data is calculated according to the spatial sub-block level, the resolution level and the 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), proportional to the resolution level (the higher the resolution, the higher the priority), and inversely proportional to the distance from the viewpoint (the closer the distance, the higher the priority). Through this step, the system can scientifically calculate the priority of the rendering data, provide a basis for subsequent data extraction, and ensure the maximization of rendering efficiency and rendering quality.
[0096] 403. Extract the candidate intermediate rendering data meeting the real-time rendering frame rate requirement from the shared storage pool as the target rendering data in the order from high to low according to the priority weight.
[0097] In step 403, 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, which is used to guide the extraction order of the rendering data. The shared storage pool refers to a shared storage area used to store intermediate rendering data, which is used to efficiently manage rendering data. The real-time rendering frame rate requirement refers to the minimum requirement of the real-time rendering system for the frame rate, which is used to ensure the smoothness of rendering. The target rendering data refers to the candidate intermediate rendering data that meets the real-time rendering frame rate requirement extracted from the shared storage pool, which is the main processing object of the final rendering task.
[0098] In the embodiments 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 as the target rendering data in the order of priority weight from high to low. 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 at the same time avoid unnecessary resource waste.
[0099] The following is a specific example:
[0100] In the intelligent medical image processing system, taking a cardiovascular disease diagnosis platform as an example, the system first dynamically calculates the spatial coverage range of the frustum (such as the heart region being observed by the doctor) by tracking the position and motion direction of the viewpoint in real time. Then, the system quickly filters out the candidate intermediate rendering data (such as the image data of the heart blood vessels) that intersects with the current frustum according to the spatial positions of the intermediate rendering data in the shared storage pool. Subsequently, the system combines the spatial sub-block level, resolution level, and distance from the viewpoint of the candidate data to comprehensively calculate the priority weight (such as the data with high resolution, low level, and close to the viewpoint has higher priority). Finally, the system extracts the target rendering data (such as high-precision heart blood vessel images are preferentially extracted) that meets the real-time rendering frame rate requirement from the shared storage pool according to the priority weight. Through this mechanism, the system can provide efficient and accurate three-dimensional image browsing experience for doctors, assisting them in quickly diagnosing cardiovascular diseases and developing treatment plans.
[0101] In summary, through steps 401 to 403, the fast filtering and matching of rendering data are realized; the intermediate rendering data with high resolution, close 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, ensuring real-time while maximizing the fineness of rendering effect; through the dynamic calculation of the frustum coverage range and the priority weight, the method realizes the intelligent scheduling and optimization of rendering data, providing precise and flexible technical support for efficient real-time rendering of complex three-dimensional scenes, significantly improving rendering performance and user experience.
[0102] To solve the problem of view angle deviation and boundary discontinuity in volume rendering results in virtual reality scenarios, a volume rendering optimization system based on an autonomous controllable GPU parallel streaming processing unit is developed, which realizes the optimization of view angle deviation correction and boundary continuity, significantly improving the rendering quality and user experience of virtual reality scenarios. In some embodiments, step 103 involves interpolating and fusing the target rendering data through the autonomous controllable GPU parallel streaming processing unit to generate volume rendering results, including:
[0103] 501. In the autonomous controllable GPU parallel streaming processing unit, the view angle interpolation coefficient is calculated according to the difference between the current viewpoint motion direction and the pre-rendering viewpoint direction, and the multi-resolution voxel features in the target rendering data are bilinearly interpolated based on the view angle interpolation coefficient;
[0104] In step 501, the autonomous controllable GPU refers to a GPU device that supports parallel streaming processing units for efficient rendering tasks. The parallel streaming processing unit refers to a computing unit for parallel processing of rendering tasks, which can significantly improve rendering efficiency. The current viewpoint motion direction refers to the current motion direction of the user in the scene, which is used to determine the current view angle. The pre-rendering viewpoint direction refers to the viewpoint direction used in the pre-rendering task, which is compared with the current viewpoint motion direction. The view angle interpolation coefficient refers to the interpolation coefficient calculated according to the difference between the current viewpoint motion direction and the pre-rendering viewpoint direction, which is used for view angle correction of the target rendering data. The target rendering data refers to the intermediate rendering data extracted from the shared storage pool that meets the real-time rendering frame rate requirement, which is the main processing object of the final rendering task. The multi-resolution voxel feature refers to the voxel feature containing different resolution levels, which is used to improve the detail performance of the rendering result. The bilinear interpolation refers to the interpolation calculation of the multi-resolution voxel feature based on the view angle interpolation coefficient, which is used to generate a smooth view angle correction result.
[0105] In the embodiments of the present application, first, in the autonomous controllable GPU parallel streaming processing unit, the view angle interpolation coefficient is calculated according to the difference between the current viewpoint motion direction and the pre-rendering viewpoint direction. The calculation of the view angle interpolation coefficient is based on the angle difference between the current viewpoint motion direction and the pre-rendering viewpoint direction, and the interpolation coefficient value is obtained through normalization processing. Then, the multi-resolution voxel features in the target rendering data are bilinearly interpolated based on the view angle interpolation coefficient. The bilinear interpolation process weights and fuses the voxel features of different resolution levels according to the interpolation coefficient to generate a smooth view angle correction result. Through this step, the system can efficiently handle the view angle correction task, ensure the smoothness and visual quality of the rendering result, and avoid the problem of rendering result discontinuity caused by view angle switching.
[0106] 502, angle-weighted fusion calculation is performed on the light accumulation result in the target rendering data using the view interpolation coefficient to obtain view-corrected light data, so as to determine the view-corrected target rendering data;
[0107] In step 502, the view interpolation coefficient refers to an interpolation coefficient calculated according to the difference between the current viewpoint motion direction and the pre-rendering viewpoint direction, which is used for view correction of the target rendering data. The target rendering data refers to intermediate rendering data extracted from the shared storage pool and meeting the real-time rendering frame rate requirement, which 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, which is used to generate a realistic rendering effect. The angle-weighted fusion calculation refers to weighted fusion calculation of the light accumulation result based on the view interpolation coefficient, which is used to generate the view-corrected light data. The view-corrected light data refers to the light data after the angle-weighted fusion calculation, which is used to improve the visual quality of the rendering result. The view-corrected target rendering data refers to the target rendering data after the view correction processing, which is the main processing object of the final rendering task.
[0108] In the embodiment of the application, the view interpolation coefficient is first used to perform angle-weighted fusion calculation on the light accumulation result in the target rendering data. The angle-weighted fusion calculation generates the view-corrected light data by weighting the light accumulation result according to the view interpolation coefficient. Then, the view-corrected light data is combined with the target rendering data to determine the view-corrected target rendering data. Through this step, the system can efficiently process the view correction task of the light data, ensure the visual quality of the rendering result, and avoid the problem of light discontinuity caused by view switching.
[0109] 503, boundary fusion processing is performed on the target rendering data after the view correction processing, and the target rendering data after the bilinear interpolation, view correction and boundary fusion processing is input 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 of the boundary region; using the same fusion weight to perform boundary smoothing processing on the view-corrected light data to complete the boundary fusion processing process.
[0110] In step 503, the target rendering data after perspective correction processing refers to the target rendering data after perspective correction processing, which is the main processing object of the final rendering task. The boundary fusion processing refers to the fusion processing of the boundary region 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. The adjacent spatial sub-block refers to the adjacent sub-block region in the spatial sub-block division, which is the main object of the boundary fusion processing. The boundary region refers to the boundary region between adjacent spatial sub-blocks, which is the core region of the boundary fusion processing. The gradient difference of voxel features refers to the change difference 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 weight and mix the voxel features of the boundary region. The weighted mixing refers to the mixing of the voxel features of the boundary region based on the boundary fusion weight, which is used to generate a smooth boundary fusion result. The boundary smoothing processing refers to the boundary fusion processing of the light data after perspective correction, which is used to eliminate the boundary discontinuity problem of the light data.
[0111] In the embodiment of the application, first, the target rendering data after perspective correction processing is executed boundary fusion processing. The boundary fusion processing includes detecting the boundary region between adjacent spatial sub-blocks, calculating the gradient difference of 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 weight and mix the voxel features of the boundary region; using the same fusion weight to perform boundary smoothing processing on the light data after 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 process the boundary fusion task, ensure the smoothness and visual quality of the rendering result, and at the same time avoid the distortion problem of the rendering result caused by boundary discontinuity.
[0112] The following is a specific example:
[0113] In the intelligent medical image processing system, taking a neurosurgery navigation platform as an example, the system first calculates the view angle interpolation coefficient (such as the proportion of the view point offset angle) in the GPU parallel computing unit by analyzing the difference between the current view point motion direction and the pre-rendering view point direction, and optimizes the interpolation of the multi-resolution voxel features in the target rendering data based on the coefficient (such as smoothing the transition of brain image details under different view angles). Then, the system uses the view angle interpolation coefficient to perform angle weighted fusion on the light accumulation results in the target rendering data (such as simulating the scattering effect of light under different view angles), generating light data corrected for view angle, thereby improving the realism of the image. Subsequently, the system performs boundary fusion processing on the corrected target rendering data: detecting the boundary region between adjacent spatial sub-blocks, calculating the gradient difference of the voxel features on both sides of the boundary (such as evaluating the transition smoothness of image details); determining the boundary fusion weight according to the gradient difference, and using the weight to perform weighted mixing of the voxel features in the boundary region (such as eliminating the image discontinuity at the boundary); at the same time, using the same fusion weight to perform boundary smoothing processing on the light data, ensuring the natural transition of light. 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, steps 501 to 503 achieve smooth transition of voxel features under view angle transformation, effectively reducing visual jumps; ensure the dynamic consistency of lighting effects and view angle changes; further, by performing boundary fusion processing on the target rendering data corrected for view angle, 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, improving the visual continuity and realism of the rendering result; finally, the target rendering data after bilinear interpolation, view angle correction and boundary fusion processing is input into the volume rendering pipeline to generate the volume rendering result of the current frame, providing an efficient and accurate technical solution for high-quality real-time rendering of complex three-dimensional scenes, significantly improving rendering performance and user experience.
[0115] In order to solve the problem of unnatural rendering results caused by inaccurate view angle interpolation calculation in virtual reality scenes, a view angle interpolation coefficient calculation method based on view angle similarity and dynamic smoothing constraint is developed, which realizes the accuracy and stability of view angle interpolation calculation, and significantly improves the rendering naturalness and user experience of virtual reality scenes. In some embodiments, the calculation of the view angle interpolation coefficient in step 501 based on the difference between the current view point motion direction and the pre-rendering view point direction includes:
[0116] 601、obtain a three-dimensional vector representation of a current viewpoint motion direction and a three-dimensional vector representation of a pre-rendered viewpoint motion direction, and calculate a cosine value of an included angle between the two three-dimensional vectors as a basic view similarity;
[0117] In step 601, the current viewpoint motion direction refers to the current motion direction of the user in the scene, which is used to determine the current view. The pre-rendered viewpoint motion direction refers to the viewpoint direction used in the pre-rendering task, which is used for comparison with the current viewpoint motion direction. The three-dimensional vector representation refers to representing the viewpoint motion direction as a vector in three-dimensional space, which is used to calculate the view similarity. The cosine value of the included angle refers to the cosine value of the included angle between the 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 included angle, which is used for subsequent view interpolation coefficient calculation.
[0118] In the embodiments of the present application, firstly, the three-dimensional vector representation of the current viewpoint motion direction and the three-dimensional vector representation of the pre-rendered viewpoint motion direction are obtained. By converting the viewpoint motion direction into a three-dimensional vector, the system can accurately quantify the change of the viewpoint direction. Then, the cosine value of the included angle between the two three-dimensional vectors is calculated as the basic view similarity. The calculation of the cosine value of the included angle uses the vector dot product formula, which obtains the cosine value by dividing the dot product of the two vectors by the product of their magnitudes. This step not only accurately reflects the consistency of the viewpoint direction, but also provides a scientific basis for subsequent view interpolation coefficient calculation, ensuring the smoothness and visual quality of the rendering result.
[0119] 602、calculate a 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 an 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-rendering task, which is used for comparison 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.
[0121] In the embodiments of the present application, first, a distance attenuation factor is calculated according to the spatial distance between the current viewpoint position and the pre-rendering viewpoint position. The calculation of the distance attenuation factor usually adopts an exponential decay function or a linear decay function to ensure that the farther the distance, the smaller the attenuation factor. For example, the exponential decay function can control the decay rate by setting the attenuation coefficient, and the linear decay function realizes the decay through a linear proportional relationship. Then, the basic view angle similarity is multiplied by the distance attenuation factor to obtain the initial view angle interpolation coefficient. Through this step, the system can comprehensively consider the differences in viewpoint direction and position, generate a scientific and reasonable initial view angle 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 the long-distance viewpoint on the rendering result, further improving the rendering efficiency.
[0122] 603, detecting the current viewpoint motion direction, when there is a view angle acceleration change, applying a dynamic smoothing constraint to the initial view angle interpolation coefficient, limiting the view angle interpolation coefficient after the dynamic smoothing constraint processing in a preset effective range, and obtaining the final view angle interpolation coefficient used for rendering.
[0123] In step 603, the current viewpoint motion direction refers to the current motion direction of the user in the scene, which is used to detect the view angle acceleration change. The view angle acceleration change refers to the rapid change of the current viewpoint motion direction, which is used to determine whether the dynamic smoothing constraint needs to be applied. The dynamic smoothing constraint refers to the constraint condition for smoothing the initial view angle interpolation coefficient, which is used to reduce the mutation of the view angle interpolation coefficient. The preset effective range refers to the reasonable value range of the view angle interpolation coefficient, which is used to limit the value range of the final view angle interpolation coefficient. The final view angle interpolation coefficient used for rendering refers to the view angle interpolation coefficient after the dynamic smoothing constraint processing and limiting in the effective range, which is used to generate a smooth rendering result.
[0124] In the embodiments of the present application, first, the current viewpoint motion direction is detected to determine whether there is a view angle acceleration change. The detection of the view angle acceleration change is realized by calculating the change rate of the viewpoint motion direction, and when the change rate exceeds a preset threshold, it is determined that there is a view angle acceleration change. When there is a view angle acceleration change, a dynamic smoothing constraint is applied to the initial view angle interpolation coefficient to reduce the mutation of the view angle interpolation coefficient. The dynamic smoothing constraint is usually calculated by using a low-pass filter or a weighted average algorithm, for example, the low-pass filter realizes smoothing by filtering out high-frequency changes, and the weighted average algorithm realizes smoothing by weighting historical data. Then, the view angle interpolation coefficient after the dynamic smoothing constraint processing is limited in a preset effective range to obtain the final view angle interpolation coefficient used for rendering. Through this step, the system can optimize the calculation process of the view angle interpolation coefficient to 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 mutation problem of the view angle interpolation coefficient, further improving the stability and reliability of the system.
[0125] The following is a specific example:
[0126] In the intelligent medical image processing system, taking a liver tumor surgery planning platform as an example, the system first captures the motion 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, calculating the cosine value 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 are). 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 the distance attenuation factor decreases by 0.1 for every 1 cm increase in distance), and multiplies the view angle similarity and the distance attenuation factor to generate an initial view angle interpolation coefficient (such as combining the view angle difference and distance influence to optimize the image transition effect). Subsequently, the system detects whether there is an accelerated change in the motion of the viewpoint (such as the doctor suddenly zooming in on the tumor area or rapidly 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 pre-set effective range (such as the interpolation coefficient is kept between 0.5 and 1.0, ensuring that the image transition is natural and stable), and finally obtains the view angle interpolation coefficient for rendering. Through this mechanism, the system can provide smooth and accurate three-dimensional liver images for doctors to assist them in tumor positioning and surgery planning, improving the accuracy and safety of surgery.
[0127] In summary, steps 601 to 603 achieve accurate quantification of view angle direction difference; according to the spatial distance between the current viewpoint position and the pre-rendered viewpoint position, the distance attenuation factor is calculated, 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 of the view angle interpolation coefficient and the spatial distance; by detecting the current viewpoint motion direction, the initial view angle interpolation coefficient is subjected to dynamic smoothing constraint when the view angle changes rapidly, effectively avoiding the drastic fluctuations of the view angle interpolation coefficient, and improving the stability of the rendering result; the view angle interpolation coefficient after dynamic smoothing constraint is limited within the pre-set effective range, ensuring the reasonableness and controllability of the interpolation coefficient; the view angle interpolation coefficient for rendering is obtained, providing precise and smooth view angle interpolation technical support for high-quality real-time rendering of complex three-dimensional scenes, significantly improving the rendering efficiency and visual experience.
[0128] To solve the problem of low rendering efficiency and unbalanced resource allocation in virtual reality scenes, a dynamic block strategy generation system based on spatial distribution density and dynamic viewpoint change parameters is developed, which realizes the optimization of rendering resources and the significant improvement of rendering efficiency, providing reliable technical support for efficient rendering of virtual reality scenes. In some embodiments, the step 101 of generating a dynamic block strategy based on the spatial distribution density of the volume data in the virtual scene and the dynamic viewpoint change parameters, and dividing the volume data into spatial sub-blocks with hierarchical dependencies, includes:
[0129] 701. Calculate the data intensity 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 intensity;
[0130] In step 701, the virtual scene refers to a three-dimensional scene composed of volume data, used for rendering and visualization. Volume data refers to three-dimensional data in the virtual scene, usually stored in voxel form. Spatial distribution density refers to the distribution density of volume data in the virtual scene, used to measure the intensity of data. Data intensity refers to the intensity of data in each region 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 intensity, used to preliminarily divide the virtual scene.
[0131] In the embodiments of the present application, first, the data intensity of each region is calculated according to the spatial distribution density of the volume data in the virtual scene. The calculation of data intensity usually uses statistical methods, such as calculating the number of voxels or the variance of voxel values in a unit volume to quantify the data intensity. Then, an initial spatial sub-block division scheme is generated based on the data intensity. The initial division scheme usually uses uniform division or adaptive division methods, for example, for regions with high data intensity, smaller spatial sub-blocks are divided to improve rendering accuracy; for regions with low data intensity, larger spatial sub-blocks are divided to improve rendering efficiency. Through this step, the system can preliminarily optimize the spatial division of the virtual scene, providing basic support for the subsequent dynamic block strategy.
[0132] 702. Obtain the dynamic viewpoint change parameters, including the current viewpoint position, the current viewpoint motion 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 parameter refers to a dynamic parameter related to the viewpoint, including the current viewpoint position and the current viewpoint motion direction, for determining the change trend of the viewpoint. The current viewpoint position refers to the current position of the user in the virtual scene, for determining the current visible region. The current viewpoint motion direction refers to the current motion direction of the user in the virtual scene, for predicting the future visible region. The initial spatial sub-block division scheme refers to a spatial sub-block division scheme generated based on data density, for initially dividing the virtual scene. The viewpoint relevance weight refers to a relevance weight of the spatial sub-block with the viewpoint calculated according to the viewpoint dynamic change parameter, for guiding the dynamic adjustment of the spatial sub-block.
[0134] In the embodiments of the present application, first, the viewpoint dynamic change parameter is acquired, including the current viewpoint position and the current viewpoint motion direction. Then, the viewpoint relevance weight of each spatial sub-block is calculated in combination with the initial spatial sub-block division scheme. The calculation of the viewpoint relevance weight usually adopts a distance decay function and a direction consistency function, for example, a spatial sub-block closer to the viewpoint or located in the motion direction of the viewpoint is given a higher weight, and a spatial sub-block farther away from the viewpoint or irrelevant to the motion direction of the viewpoint is given a lower weight. Through this step, the system can quantify the relevance of the spatial sub-block with the viewpoint, and provide a scientific basis for the subsequent dynamic block strategy.
[0135] 703、according to the viewpoint relevance weight, adjusting the size and shape of the spatial sub-block, to generate a dynamic block strategy;
[0136] In step 703, the viewpoint relevance weight refers to a relevance weight of the spatial sub-block with the viewpoint calculated according to the viewpoint dynamic change parameter, for guiding the dynamic adjustment of the spatial sub-block. The dynamic block strategy refers to a strategy of dynamically adjusting the size and shape of the spatial sub-block according to the viewpoint relevance weight, for optimizing the spatial division of the virtual scene.
[0137] In the embodiments of the present application, first, the size and shape of the spatial sub-block are adjusted according to the viewpoint relevance weight. For a spatial sub-block with a higher weight, its size is reduced to improve the rendering precision; for a spatial sub-block with a lower weight, its size is expanded to improve the rendering efficiency. At the same time, in combination with the viewpoint motion direction, the shape of the spatial sub-block is adjusted, for example, the spatial sub-block located in the motion direction of the viewpoint is adjusted to a more elongated shape to adapt to the rapid change of the viewpoint. Then, the dynamic block strategy is generated, and the virtual scene is dynamically divided based on the strategy. Through this step, the system can optimize the spatial division of the virtual scene in real time, and ensure the maximization of the rendering efficiency and the rendering quality.
[0138] 704、based on the dynamic partitioning strategy, dividing the volume data into spatial sub-blocks with hierarchical dependency, wherein the hierarchy of each spatial sub-block is determined by its correlation weight with the viewpoint, and during the division process, ensuring that the hierarchical relationship between adjacent spatial sub-blocks meets the preset dependency condition.
[0139] In step 704, the dynamic partitioning strategy refers to a strategy of dynamically adjusting the size and shape of spatial sub-blocks according to the viewpoint correlation weight, for optimizing the spatial partitioning of the virtual scene. Volume data refers to three-dimensional data in the virtual scene, usually stored in voxel form. Hierarchical dependency refers to the hierarchical relationship between spatial sub-blocks, used to ensure the correct execution of rendering tasks. Correlation weight refers to the correlation weight of spatial sub-blocks with the viewpoint, used to determine the hierarchy of spatial sub-blocks. The preset dependency condition refers to the hierarchical relationship that must be met between adjacent spatial sub-blocks, used to ensure the continuity and consistency of rendering tasks.
[0140] In the embodiments of the present application, first, based on the dynamic partitioning strategy, the volume data is divided into spatial sub-blocks with hierarchical dependency. The hierarchy of each spatial sub-block is determined by its correlation weight with the viewpoint, for example, for spatial sub-blocks with higher weight, a higher hierarchy is given to improve rendering accuracy; for spatial sub-blocks with lower weight, a lower hierarchy is given to improve rendering efficiency. Then, during the division process, the hierarchical relationship between adjacent spatial sub-blocks is ensured to meet the preset dependency condition, for example, the hierarchical difference between adjacent spatial sub-blocks should not exceed the preset threshold, to avoid discontinuity of the rendering result. Through this step, the system can efficiently manage the spatial partitioning of volume data, ensuring the correct execution of rendering tasks and high quality of rendering results.
[0141] Here is a specific example:
[0142] In the intelligent medical image processing system, taking a 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 area is high, and the density of the normal area is low. Based on the data density, the system generates an initial spatial sub-block division scheme, dividing the high-density area into smaller sub-blocks and the low-density area into larger sub-blocks. Then, the system obtains the viewpoint dynamic change parameters, including the current viewpoint position and the current viewpoint motion direction. For example, the doctor is observing the lung area and moving from the lung apex to the lung base. Combined with the initial spatial sub-block division scheme, the system calculates the viewpoint relevance weight of each spatial sub-block. The sub-blocks close to the viewpoint and in the motion direction have higher weights. Subsequently, the system adjusts the size and shape of the spatial sub-blocks according to the viewpoint relevance weight. High-weight sub-blocks are further subdivided, and low-weight sub-blocks are merged to generate a dynamic block strategy. Finally, the system divides the volume data into spatial sub-blocks with hierarchical dependency based on the dynamic block strategy. High-weight sub-blocks are assigned to high-resolution levels, and low-weight sub-blocks are assigned to low-resolution levels. During the division process, the system ensures that the hierarchical relationship between adjacent spatial sub-blocks meets the preset dependency condition, such as a resolution difference of no more than two levels between adjacent sub-blocks. Through this mechanism, the system can provide the doctor with efficient and accurate three-dimensional lung images to help him quickly locate lesions and develop treatment plans, improving diagnosis efficiency and accuracy.
[0143] In summary, steps 701 to 704 achieve preliminary optimized segmentation of volume data; ensure real-time matching of the division scheme with dynamic changes in the viewpoint; achieve precise allocation and efficient use of rendering resources; based on the dynamic block strategy, divide the volume data into spatial sub-blocks with hierarchical dependency, and determine the level of each spatial sub-block through the viewpoint relevance weight, while ensuring that the hierarchical relationship between adjacent spatial sub-blocks meets the preset dependency condition, providing flexible and adaptive spatial segmentation technology support for efficient real-time rendering of complex three-dimensional scenes, significantly improving rendering efficiency and visual quality.
[0144] Figure 2 For the embodiment of the present application, a structure diagram of a high-performance volume rendering system based on autonomous controllable GPU pre-rendering is provided, as shown in Figure 2 The system includes:
[0145] The division module 21 generates a dynamic block strategy according to the spatial distribution density of the volume data in the virtual scene and the viewpoint dynamic change parameters, and divides the volume data into spatial sub-blocks with hierarchical dependency.
[0146] The processing module 22 performs pre-rendering processing on the spatial sub-blocks through an asynchronous computing pipeline of the autonomously controllable GPU based on the dynamic partitioning strategy before the user viewpoint reaches the target rendering region, generates intermediate rendering data containing multi-resolution voxel features and illumination accumulation results, and stores the intermediate rendering data in a shared storage pool of the autonomously controllable GPU in a spatial proximity compression manner.
[0147] The generating module 23 extracts target rendering data intersecting with a current view frustum from the intermediate rendering data existing in the shared storage pool according to a current viewpoint position and a motion direction in a real-time rendering stage, performs interpolation calculation and boundary fusion on the target rendering data through a parallel streaming processing unit of the autonomously controllable GPU, and generates volume rendering results.
[0148] Figure 2 The high-performance volume rendering system based on autonomous controllable GPU pre-rendering can perform Figure 1 The high-performance volume rendering method based on autonomous controllable GPU pre-rendering of the embodiment has been described above, and the implementation principle and technical effects will not be repeated here. For the specific operation manner of each module and unit of the high-performance volume rendering system based on autonomous controllable GPU pre-rendering in the above embodiment, the detailed description has been made in the embodiment related to the method, and will not be described in detail here.
[0149] In one possible design, Figure 2 The high-performance volume rendering system based on autonomous controllable GPU pre-rendering of the embodiment can be implemented as a computing device, such as Figure 3 As shown in the figure, the computing device can include a storage component 31 and a processing component 32.
[0150] The storage component 31 stores one or more computer instructions, wherein the one or more computer instructions are called and executed by the processing component 32.
[0151] The processing component 32 is configured to perform the above Figure 1 The high-performance volume rendering method based on autonomous controllable GPU pre-rendering of the embodiment.
[0152] The processing component 32 can 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 can also be 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 elements 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 nonvolatile storage devices 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 storage, flash memory, magnetic or optical disks.
[0154] Of course, the computing device can 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 peripheral interface modules, which can be output devices, input devices, 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] The computing device can be a physical device or an elastic computing host provided by a cloud computing platform, and the computing device can be a cloud server, and the processing component, the storage component, etc. can be a basic server resource rented or purchased from the cloud computing platform.
[0158] The embodiment of the application further provides a computer storage medium, which stores a computer program, and the computer program can implement the above-mentioned Figure 1 The embodiment shown in the figure is a high-performance volume rendering method based on autonomous controllable GPU pre-rendering.
[0159] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the above-described system, device and unit can refer to the corresponding process in the foregoing method embodiment, which will not be described here.
[0160] The device embodiment described above is only schematic, wherein the units described as separate components can or can not be physically separated, and the components displayed as units can or can not be physical units, that is, they can be located in one place, or distributed on multiple network units. Part or all of the modules can be selected according to actual needs to achieve the purpose of the embodiment scheme. Those skilled in the art can understand and implement it without creative labor.
[0161] Those skilled in the art can clearly understand the implementation of the various embodiments by means of software and necessary general hardware platforms through the description of the above embodiments, and of course, the embodiments can also be implemented by hardware. Based on such understanding, the above technical solutions, essentially or in other words, the part of the prior art that contributes to the technical solutions can be embodied in the form of a software product. The computer software product can be stored in a computer readable storage medium, such as a ROM / RAM, a magnetic disk, an optical disk, and the like, and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.
[0162] Finally, it should be noted that: the above examples are only used to illustrate the technical solutions of the present application, and not to limit them; although the present application has been described in detail with reference to the foregoing examples, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing examples, or make equivalent replacement for part 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 autonomous and controllable GPU pre-rendering, characterized in that, include: Based on the spatial distribution density of volume data in the virtual scene and the dynamic change parameters of the viewpoint, a dynamic block division strategy is generated, and the volume data is divided into spatial sub-blocks with hierarchical dependencies. Based on the dynamic block segmentation strategy, before the user's viewpoint reaches the target rendering area, the spatial sub-blocks 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 lighting accumulation results. The intermediate rendering data is then compressed and stored in the shared storage pool of the autonomous and controllable GPU according to spatial proximity. During the real-time rendering stage, based on the current viewpoint position and motion direction, target rendering data intersecting with the current view frustum is extracted from the intermediate rendering data in the shared storage pool according to priority. The target rendering data is then interpolated and fused using the parallel streaming processing unit of the autonomous and controllable GPU to generate volume rendering results. The step of generating a dynamic partitioning strategy based on the spatial distribution density of volume data in the virtual scene and the dynamic change parameters of the viewpoint, and dividing the volume data into spatial sub-blocks with hierarchical dependencies, includes: Based on the spatial distribution density of volume data in the virtual scene, the data density of each region is calculated, and an initial spatial sub-block partitioning scheme is generated based on the data density. Obtain dynamic viewpoint change parameters, including the current viewpoint position and the current viewpoint movement direction, and calculate the viewpoint relevance weight of each spatial sub-block in conjunction with the initial spatial sub-block partitioning scheme; Based on the viewpoint relevance weights, the size and shape of the spatial sub-blocks are adjusted to generate a dynamic block division strategy; Based on the dynamic partitioning strategy, the volume data is divided into spatial sub-blocks with hierarchical dependencies. The hierarchy of each spatial sub-block is determined by its relevance weight to the viewpoint. During the partitioning process, it is ensured that the hierarchical relationship between adjacent spatial sub-blocks meets the preset dependency conditions.
2. The method according to claim 1, characterized in that, The granularity adjustment of the dynamic block strategy is triggered synchronously with the pre-rendering progress of the asynchronous computing pipeline. When the viewpoint motion acceleration is detected to exceed a preset threshold, the granularity of the spatial sub-block is reduced first and the pre-rendering task of the adjacent area is triggered. At the same time, the bit width allocation strategy of the compressed 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 process of pre-rendering the spatial sub-blocks using an asynchronous computing pipeline of an autonomous and controllable GPU to generate intermediate rendering data containing multi-resolution voxel features and cumulative lighting results includes: Within the spatial sub-blocks determined by the dynamic segmentation strategy, potential visible areas are predicted based on the current viewpoint position and motion direction, and the pre-rendering order is determined based on the hierarchical dependency relationship of the target spatial sub-blocks corresponding to the potential visible areas. In the asynchronous computing pipeline of the autonomous and controllable GPU, the following operations are performed on the target spatial sub-block according to the pre-rendering order: the voxel data of the target spatial sub-block is parsed step by step according to the resolution level from coarse to fine, and the voxel density gradient and the corresponding local illumination contribution are calculated synchronously at each level; the feature transfer weight between adjacent levels is determined based on the voxel density gradient, and the voxel features of the current level are weighted and fused with the boundary regions of adjacent spatial sub-blocks to generate multi-resolution voxel features with smooth transition; the local illumination contribution is accumulated according to the viewing direction and combined with the multi-resolution voxel features to generate intermediate rendering data of the current level; The intermediate rendering data generated at each level is passed to the next higher resolution level in the order of pre-rendering for iterative optimization until the highest resolution set in the pre-rendering is reached, generating intermediate rendering data containing complete multi-resolution voxel features and view-related lighting accumulation results.
4. The method according to claim 1, characterized in that, The step of extracting target rendering data intersecting the current view frustum from the intermediate rendering data in the shared storage pool according to priority based on the current viewpoint position and motion direction includes: The spatial coverage of the view frustum is calculated based on the current viewpoint position and motion direction. Based on the spatial coverage and the spatial positional relationship between the intermediate rendering data in the shared storage pool, candidate intermediate rendering data that intersect with the current view frustum are determined. Based on the spatial sub-block level, resolution level, and distance from the current viewpoint of the candidate intermediate rendering data, the priority weight of each candidate intermediate rendering data is calculated. 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. Candidate intermediate rendering data that meets the real-time rendering frame rate requirements are extracted from the shared storage pool in descending order of priority weight as target rendering data.
5. The method according to claim 4, characterized in that, The process of interpolating and blending boundaries of the target rendering data using a parallel streaming processing unit of a self-controllable GPU to generate volume rendering results includes: In the parallel streaming processing unit of the autonomous and controllable GPU, the viewpoint interpolation coefficient is calculated based on the difference between the current viewpoint motion direction and the pre-rendered viewpoint direction, and bilinear interpolation is performed on the multi-resolution voxel features in the target rendering data based on the viewpoint interpolation coefficient. The angle-weighted fusion calculation is performed on the cumulative lighting results in the target rendering data using the aforementioned viewpoint interpolation coefficients to obtain the viewpoint-corrected lighting data, thereby determining the viewpoint-corrected target rendering data. Boundary blending is performed on the target rendering data after viewpoint correction. The target rendering data after bilinear interpolation, viewpoint correction, and boundary blending is then input into the volume rendering pipeline to generate the volume rendering result for the current frame. The boundary blending process includes: detecting the boundary region between adjacent spatial sub-blocks and calculating the gradient difference of voxel features on both sides of the boundary; determining the boundary blending weight based on the gradient difference and using the boundary blending weight to perform weighted mixing of voxel features in the boundary region; and using the same blending weight to perform boundary smoothing on the viewpoint-corrected lighting data to complete the boundary blending process.
6. The method according to claim 5, characterized in that, The step of calculating the viewpoint interpolation coefficient based on the difference between the current viewpoint motion direction and the pre-rendered viewpoint direction includes: Obtain the 3D vector representation of the current viewpoint's motion direction and the 3D vector representation of the pre-rendered viewpoint's motion direction, and calculate the cosine value of the angle between the two 3D vectors as the basic viewpoint similarity. The distance attenuation factor is calculated based on the spatial distance between the current viewpoint position and the pre-rendered viewpoint position, and the basic viewpoint similarity is multiplied by the distance attenuation factor to obtain the initial viewpoint interpolation coefficient. The current viewpoint motion direction is detected. When there is an acceleration change in the viewpoint, a dynamic smoothing constraint is applied to the initial viewpoint interpolation coefficients. The viewpoint interpolation coefficients processed by the dynamic smoothing constraint are then limited to a preset effective range to obtain the final viewpoint interpolation coefficients used for rendering.
7. A high-performance volume rendering system based on autonomous and controllable GPU pre-rendering, used to execute the high-performance volume rendering method based on autonomous and controllable GPU pre-rendering as described in any one of claims 1 to 6, characterized in that, include: The partitioning module generates a dynamic partitioning strategy based on the spatial distribution density of 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. The processing module, based on the dynamic block segmentation strategy, performs pre-rendering processing on the spatial sub-blocks through the asynchronous computing pipeline of the autonomous and controllable GPU before the user's viewpoint reaches the target rendering area, generates intermediate rendering data containing multi-resolution voxel features and lighting accumulation results, and compresses and stores the intermediate rendering data into the shared storage pool of the autonomous and controllable GPU according to spatial proximity. In the real-time rendering stage, the generation module extracts target rendering data that intersects with the current view frustum from the intermediate rendering data in the shared storage pool according to priority based on the current viewpoint position and motion direction. The target rendering data is then interpolated and fused using the parallel streaming processing unit of the autonomous and controllable GPU to generate volume rendering results.
8. A computing device, characterized in that, It includes a processing component and a storage component; the storage component stores one or more computer instructions; the one or more computer instructions are invoked and executed by the processing component to implement a high-performance volume rendering method based on autonomous and controllable GPU pre-rendering as described in any one of claims 1 to 6.
9. A computer storage medium, characterized in that, The device contains a computer program that, when executed by a computer, implements a high-performance volume rendering method based on autonomous and controllable GPU pre-rendering as described in any one of claims 1 to 6.
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