Ray Casting Processor Sorting by Intersection Length

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current 3D medical imaging technologies, such as MIP rendering, face challenges in rendering speed and memory usage, particularly when dealing with frequent changes in observation direction and large datasets, leading to inefficiencies in processing and memory requirements.

Innovation Solution

A method and processor for accelerating ray casting by calculating and sorting ray lengths intersecting an effective volume, allocating sorted rays to thread groups, and using depth information to generate a surface model, thereby optimizing rendering speed in GPU, multi-core, or parallel processing environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If block-based leaping is performed by sorting all data in descending order of density values, then rendering speed is improved, but sorting time increases and additional memory requirements increase

Engineering Contradiction:
Improverendering speedVSAvoidsorting time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent divides the volume data into multiple blocks and performs ray casting on each block separately. By segmenting the data, the system avoids sorting all data globally while still enabling efficient rendering through local block processing and leaping techniques.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of sorting all density values completely, the patent performs partial sorting within blocks and uses leaping to skip unnecessary blocks. This partial action approach reduces sorting time while maintaining sufficient rendering quality.

Inventive Principle:
Principle #16Partial or excessive action

2Speed

If block-based leaping is performed by sorting all data in descending order of density values, then rendering speed is improved, but additional memory requirements increase

Engineering Contradiction:
Improverendering speedVSAvoidadditional memory
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent segments volume data into blocks and processes them independently. This segmentation reduces the memory required for sorting and storing density values, as only block-level information needs to be maintained rather than global data structures.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different processing strategies to different blocks based on local characteristics. By making rendering decisions at the block level rather than global level, the system reduces memory requirements while maintaining rendering efficiency.

Inventive Principle:
Principle #3Local quality

3Ease of manufacture

If ray casting is performed without considering ray length, then calculation simplicity is maintained, but total work time increases

Engineering Contradiction:
Improvecalculation simplicityVSAvoidtotal work time
Core Design Contradiction:
Ease of manufactureVSLoss of time

Solution Approach 1:

The patent performs preliminary calculations of ray length and block maximum values before executing full ray casting. This preliminary action enables the system to skip unnecessary blocks early in the process, reducing total work time without significantly complicating the calculation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses ray length information to automatically determine which blocks require processing and which can be skipped. This self-service mechanism reduces total work time by enabling intelligent block selection based on geometric properties.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10127710B2Processor and method for accelerating ray casting
Publication Date: 2018.11.13 CORELINE SOFT
  • US10127710B2 patent drawing
  • US10127710B2 patent drawing
  • US10127710B2 patent drawing

AI summary

A processor and method for accelerating ray casting are disclosed herein. The processor for accelerating ray casting includes a computation unit, a sorting unit, an allocation unit, and an execution control unit. The computation unit calculates the length information of a section in which a ray corresponding to each of the pixels of a two-dimensional (2D) scene corresponding to a viewpoint intersects an effective volume in order to apply ray casting to the pixel. The sorting unit sorts the ray based on the length information of the section in which the ray intersects the effective volume. The allocation unit allocates the sorted rays to respective thread groups having a parallel multiprocessor structure in order of the sorting. The execution control unit transfers control instructions to the allocated thread groups so that the allocated thread groups execute ray casting for the sorted rays.