Multi-threaded texture modulation for axis-aligned volume...

Computer graphics processing and selective visual display system – Computer graphics processing – Attributes

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C345S467000, C345S471000, C345S472000

Reexamination Certificate

active

06317137

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to computer data processing and graphics, and in particular, to computational tasks including, but not limited to, volume rendering and image processing operations.
2. Related Art
Volumetric data representing spatial volumes arises in many applications. Computed tomography (CT) and magnetic resonance imaging (MRI) scanners create a volume by imaging a series of cross-sections, also called slices or samples. Astrophysical, meteorological, and geophysical measurements, and business or economics data also naturally lead to a volumetric data set. Computer graphics systems use a volume rendering algorithm to display a visualization of volumetric data. See, Watt and Watt,
Advanced Animation and Rendering Techniques: Theory and Practice,
(ACM Press: New York, N.Y. 1992), Chapter 13, pages 297-321; Foley et al.,
Computer Graphics,
Second Ed. In C, Addison-Wesley Publishers, U.S.A. (1996), pp. 1034-39; R. Drebin, L. Carpenter, and P. Hanrahan, “Volume Rendering,”
Computer Graphics,
Vol. 22, No. 4, (SIGGRAPH '88, Atlanta, Ga.), August 1988, pp. 65-74; and B. Cabral, N. Cam and J. Foran, “Accelerated Volume Rendering and Tomographic Reconstruction Using Texture Mapping Hardware,”
Proceedings of ACM/IEEE Symposium on Volume Visualization
(IEEE CS Press), pp. 91-98, 1994 (Order No. PR07067, 1995) (each of which is incorporated in its entirety herein by reference).
In axis-aligned volume rendering, volumetric data is represented by three sets of two-dimensional textures or images. Each set typically corresponds to a cardinal view (i.e., a view along an x, y, or z direction). To render a volume image an axis-aligned volume rendering (VR) algorithm volume renders each set of data relative to a current viewpoint. Typically, an axis-aligned VR algorithm begins with the set most nearly perpendicular to a view from eye point. Blending and accumulation operations are performed on samples along the selected axis to obtain a final frame buffer image. The frame buffer image is then output for display. See, e.g., the Volume Imaging application programming interface (also called OPENGL VOLUMIZER) released by Silicon Graphics, Inc.
Clinicians and other users want to modulate texture to accentuate different features in the volumetric data. For example, a radiologist observing a volume rendered display view of a human head may want to analyze only soft tissue. Such texture modulation, however, is difficult to perform in real-time on most graphics platforms. Indeed, on low-end graphics machines (platforms without three-dimensional (3-D) texturing), texture modulation is the single biggest performance limiting factor. Performance is further limited in the case of axis-aligned volume rendering as three copies of the volume data (that is, all three orthogonal sets of 2-D textures)need to be modulated.
These performance limitations slow texture modulation. In axis-aligned volume rendering, a user must wait until texture is modulated in each copy of the volume data. In addition, control is also lost during this time of texture modulation. In other words, a user cannot interact with the current volume rendered image until the texture modulation of all three copies of the volume data and the volume rendering of the current view based on a copy of the modulated volume data is complete.
As recognized by the inventor, what is needed is a technique which allows faster texture modulation in axis-aligned volume rendering even on lower end graphics platforms. Control needs to be returned to a user during texture modulation processing. A user needs to be able to interact with a volume rendered image after a texture modulation request is made, that is, while texture modulation processing is being performed. A user needs to be able to see an intermediate texture modulated view, that is, a view which is rendered and displayed while texture modulation is proceeding.
SUMMARY OF THE INVENTION
A method, system, and computer program product provide multi-threaded texture modulation in axis-aligned volume rendering. Three sets of volumetric data are provided. Each set corresponds to a different view.
In one embodiment, when a texture modulation request is made an image set (also called a copy of the volumetric data) is selected. Image sets are sorted based on an angle between the respective image set planes and a current viewpoint. The image set which is selected first is determined to be the most orthogonal to a current viewpoint. For example, an x-y image set is selected for current viewpoints closest to a surface normal from the x-y plane (that is, points closest to the z axis). Alternatively, a y-z image set is selected first for current viewpoints points closest to the x axis. A x-z image set is selected first for current viewpoints closest to the y axis. In this way, the first image set which is to be texture-modulated is the image set that is likely to provide the most helpful and informative display view (with the most relevant foreground or front surface information).
This sorting then identifies the order in which the copies of the volumetric data will be modulated. More specifically, this sorting identifies the order in which three threads will be executed to modulate texture in their respective image sets (i.e., the respective copies of the volumetric data). Depending upon the results of the sorting operation then different threads will be executed first, second and third.
After sorting, a main rendering thread and a first texture modulation thread are executed. The first texture modulation thread is simply the thread that corresponds to the selected image set. The first texture modulation thread executes to modulate texture of a first set of the volumetric data in accordance with a texture modulation request.
Control returns from the first texture modulation thread to the main rendering thread while the first texture modulation thread is executing. In this way, a user can interact with a display view while the first texture modulation thread runs. Second and third texture modulation threads also execute to modulate texture of second and third sets of the volumetric data in accordance with the texture modulation request.
Such multi-threaded processing, according to the present invention, de-couples rendering and texture modulation operations and leverages processing in multiple threads. The time to satisfy an input texture modulation request is reduced to one-third the time required in conventional axis-aligned volume rendering.
When the first texture modulation thread completes, a final texture modulated view can be rendered. The rendering has the final texture modulated result for the current view. A final display view representative of the input texture modulation request is drawn based on a copy of a set of texture modulated volumetric data. Preferably, the set of texture modulated volumetric data used corresponds to the current view, that is, the set having a cardinal axis most parallel with a line of sight from an eyepoint of the current view.
According to a further feature of the present invention, an intermediate texture modulated view can be displayed before modulation of an image set is complete, that is, while the first texture modulation thread is executing. This is possible because the main rendering thread and texture modulation threads are de-coupled from each other. In an intermediate texture modulated display view, a user sees immediate feedback on the changes in the image wrought by the input texture modulation request. Such feedback is visually compelling and informative. A user remains engaged. A user can gauge the effect of the texture modulation even before the view is complete. For instance, by observing the intermediate texture modulated view, a user can without delay plan the next texture modulation request he or she wants to study or can move to another viewpoint while the first texture modulation thread continues to execute.
Thread semaphores are used to block and unblock the texture modulation

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Multi-threaded texture modulation for axis-aligned volume... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Multi-threaded texture modulation for axis-aligned volume..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Multi-threaded texture modulation for axis-aligned volume... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2591932

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.