摘要:
A volume rendering processor renders a two-dimensional image from a volume data set of voxels constituting a three-dimensional representation of an object. Voxel memory interface logic retrieves the voxels from a voxel memory in a scanned order with respect to X, Y and Z coordinate axes, the Z axis being the axis most nearly parallel to a predefined viewing direction. The set of voxels having equal Z coordinate values are referred to as a “slice” of voxels. Interpolation logic calculates a sequence of samples from the retrieved voxels such that (i) each sample lies along a corresponding imaginary ray extending through the object parallel to the viewing direction, (ii) each sample results from interpolating the eight voxels surrounding the sample in the XYZ coordinate system. “Supersampling” in the Z dimension is performed such that the number of samples calculated for each ray is greater than the number of slices of voxels in the volume data set. Gradient calculation logic calculates for each sample respective gradients in the X, Y and Z directions for use by classification and illumination logic. The X and Y gradients are calculated from the samples emitted by the interpolation logic, and Z gradients are calculated by (i) calculating Z gradients at the voxel positions from voxel values retrieved from memory, and (ii) interpolating the voxel Z gradients to arrive at the Z gradients at the sample positions.
摘要:
A method renders a volume data set including a plurality of voxels. In the method, a). the volume data set is apportioned into a plurality of sections. Then, b). a first one of the plurality of sections is rendered by sequentially reading groups of voxels from an external memory and rendering the groups of voxels in the section. Then, c). any accumulated data from the rendering of the first one of the plurality of sections is stored in a temporary storage device. Then, a next one of the plurality of sections is rendered by sequentially reading groups of voxels of the next one of the plurality of sections from an external memory and rendering the groups of voxels, the rendering incorporating accumulated data from the temporary storage device, and then any accumulated data from the rendering of the next one of the plurality of sections is stored in the temporary storage device. Steps d and e are repeated until each of the plurality of sections of the volume data set have been rendered.
摘要:
A volume graphics device renders a volume data set. The volume data set is apportioned into blocks of volume data, and each of the blocks are apportioned into a plurality of mini-blocks, each mini-block includes at least two voxels of volume data. The volume graphics device includes memory apportioned into a plurality of portions, wherein neighboring blocks of the volume data set are each stored in different ones of the plurality of portions of the memory, and wherein the mini-blocks of each block are stored in consecutive locations in the portion of memory associated with the associated block.
摘要:
An apparatus renders a volume data set including a plurality of voxels stored in a voxel memory. The apparatus includes a plurality of pipelines operating in parallel. Each pipeline includes a buffer storing at least one block of at least two voxels of the volume data set. An interpolation stage reads the at least one block of at least two voxels from the buffer. A gradient estimation stage receives an output from the interpolation stage. A compositing stage receives an output from the gradient estimation stage. The apparatus also includes a plurality of interface devices, wherein each interface device couples a particular stage only to an adjacent identical stage in a neighboring pipeline so that identical stages of the pipelines are connected in a ring.
摘要:
Apparatus is provided to enable real-time volume rendering on a personal computer or a desktop computer in which a technique involving blocking of voxel data organizes the data so that all voxels within a block are stored at consecutive memory addresses within a single memory model, making possible fetching an entire block of data in a burst rather than one voxel at a time. This permits utilization of DRAM memory modules which provide high capacity and low cost with substantial space savings. Additional techniques including sectioning reduces the amount of intermediate storage in a processing pipeline to an acceptable level for semiconductor implementation. A multiplexing technique takes advantage of blocking to reduce the amount of data needed to be transmitted per block, thus reducing the number of pins and the rates at which data must be transmitted across the pins connecting adjacent processing modules with each other. A mini-blocking technique saves the time needed to process sections by avoiding reading entire blocks for voxels near the boundary between a section and previously processed sections.
摘要:
A volume rendering integrated circuit includes a plurality of interconnected pipelines having stages operating in parallel. The stages of the pipelines are interconnected in a ring, with data being passed in only one direction around the ring. The volume integrated circuit also includes a render controller for controlling the flow of volume data to and from the pipelines and for controlling rendering operations of the pipelines. The integrated circuit may further include interfaces for coupling the integrated circuit to various storage devices and to a host computer.
摘要:
A volume data set having voxels arranged according to an object coordinate system is shear-warp rendered by partitioning, relative to the object coordinate system, the volume data set into a plurality of axis aligned sets of voxels. The selected axis aligned sets of voxels are rendered as pixels in intermediate baseplanes. There is one intermediate baseplane for each selected set of axis aligned voxels. The intermediate baseplanes are combined and warped to an image.
摘要:
A plurality of identical rendering pipelines are connected in parallel to read an array of voxels and to write an array of pixels. Each pipeline processes one voxel in one processing cycle of the pipelines. Each pipeline includes a plurality of serially connected different stages. The stages can include interpolation, classification, gradient estimation, illumination, and compositing stages. Interfaces connect identical stages in adjacent pipelines as one-way rings to communicate information associated with spatially adjacent voxels, and delay buffers connected parallel to particular stages communicate information associated with temporally adjacent voxels.
摘要:
A volume rendering processor establishes a cut-plane region of a volume data set, the cut-plane region being defined by a plane equation and minimum and maximum distance values representing the values of the plane equation at outer faces of the cut-plane region. The plane equation is evaluated for each sample of the volume data, the result is compared with the minimum and maximum distance values to determine whether the sample is in the cut-plane region, and the visibility of the sample is adjusted depending on the comparison result. The plane equation is evaluated by continually accumulating the coefficient values in an order indicated by the ordering of the sequence of samples. Evaluation logic includes an accumulator, a 2-input adder, registers for saving intermediate accumulated values in corresponding dimensions of the volume data, multiplexers for selecting the adder inputs from among the coefficient values, the output of the accumulator and the values in the registers, and visibility calculation logic that adjusts the samples' visibility depending on the relationship between the output of the accumulator and the minimum and maximum distance values. In an inclusive operating mode, the visibility of the sample is set to zero if it is outside the cut-plane region, and in an exclusive mode the sample's visibility is set to zero if it lies in the cut-plane region. Falloff regions at each face of the cut-plane region are used to gradually adjust sample visibility to provide a smooth appearance.
摘要:
A method and system acquire and display light fields. A continuous light field is reconstructed from input samples of an input light field of a 3D scene acquired by cameras according to an acquisition parameterization. The continuous light is reparameterized according to a display parameterization and then prefiltering and sampled to produce output samples having the display parametrization. The output samples are displayed as an output light field using a 3D display device.