SlideShare a Scribd company logo
www.crs4.it/vic/
Visual Computing Group
A Survey of Compressed GPU-based
Direct Volume Rendering
• Enrico Gobbetti
• Jose Díaz
• Fabio Marton
June 2015
www.crs4.it/vic/
Visual Computing Group
A Survey of Compressed GPU-based
Direct Volume Rendering
• Enrico Gobbetti
• Jose Díaz
• Fabio Marton
June 2015
E. Gobbetti, F. Marton and J. Diaz
Goal and motivation
• Massive volumetric models anywhere!
– Deal with time and memory limits
• Compute compact representation of volumetric
models suitable for fast GPU rendering
– Focus on rectilinear scalar grids
3
E. Gobbetti, F. Marton and J. Diaz
• Visualization
“The use of computer-supported,
interactive, visual representations
of (abstract) data to amplify
cognition.”
• Volume visualization
– Discrete data samples in the 3D
space
• Represented as a 3D rectilinear
grid
– Applications
• Medical science
• Engineering
• Earth science ……
3D grid of samples
Evidence to study
Output image
Visualization
Pipeline
Introduction
E. Gobbetti, F. Marton and J. Diaz
Introduction
http://gallery.ensight.com
http://www.vizworld.com
• Visualization
“The use of computer-supported,
interactive, visual representations
of (abstract) data to amplify
cognition.”
• Volume visualization
– Discrete data samples in the 3D
space
• Represented as a 3D rectilinear
grid
– Applications
• Medical science
• Engineering
• Earth science ……
E. Gobbetti, F. Marton and J. Diaz
Introduction
• Rendering methods
– Indirect Volume Rendering
• Isosurface extraction
• Data mapped to geometric
primitives
• Rendering of geometry
– Direct Volume Rendering (DVR)
• No need of isosurface extraction
• Data mapped to optical properties
• Direct visualization by compositing
optical properties (color, opacity)
E. Gobbetti, F. Marton and J. Diaz
Introduction
• Direct Volume Rendering
– Optical properties assigned by
transfer functions
• Color and opacity
– Illumination may be added
• Typically Phong shading model
– Most used method: ray casting
• Sampling along viewing rays
• Compositing optical properties
of the samples for each ray
E. Gobbetti, F. Marton and J. Diaz
Introduction
• Direct Volume Rendering
– Optical properties assigned by
transfer functions
• Color and opacity
– Illumination may be added
• Typically Phong shading model
– Most used method: ray casting
• Sampling along viewing rays
• Compositing optical properties
of the samples for each ray
E. Gobbetti, F. Marton and J. Diaz
Introduction
• Direct Volume Rendering
– Optical properties assigned by
transfer functions
• Color and opacity
– Illumination may be added
• Typically Phong shading model
– Most used method: ray casting
• Sampling along viewing rays
• Compositing optical properties
of the samples for each ray
E. Gobbetti, F. Marton and J. Diaz
Introduction
• Visualization challenges
– Present the information in a proper
way
• Transfer functions definition
• Highlight features of interest
• Deal with occlusions of outer elements
• Convey the spatial arrangement …
– Deal with the ever-increasing size of
the data
• Overcome hardware limitations
– Bandwith
– Memory consumption …
– Provide a real-time exploration of the
data …
E. Gobbetti, F. Marton and J. Diaz
Big Data
¨In information technology, big data is a collection of data sets
so large and complex that it becomes difficult to process using
on-hand database management tools or traditional data
processing applications.
The challenges include capture, curation, storage, search,
sharing, analysis and visualization.¨
• Our interest
– Very large 3D volume data
11
E. Gobbetti, F. Marton and J. Diaz
Big Data
• Volume data growth
12
64 x 64 x 64
[Sabella 1988]
256 x 256 x 256
[Krüger 2003]
21494 x 25790 x 1850
[Hadwiger 2012]
E. Gobbetti, F. Marton and J. Diaz
Data size examples
13
Year Paper Data size Comments
2002 Guthe et al. 512 x 512 x 999 (500 MB)
2,048 x 1,216 x 1,877 (4.4 GB)
multi-pass, wavelet compression,
streaming from disk
2003 Krüger & Westermann 256 x 256 x 256 (32 MB) single-pass ray-casting
2005 Hadwiger et al. 576 x 352 x 1,536 (594 MB) single-pass ray-casting (bricked)
2006 Ljung 512 x 512 x 628 (314 MB)
512 x 512 x 3396 (1.7 GB)
single-pass ray-casting,
multi-resolution
2008 Gobbetti et al. 2,048 x 1,024 x 1,080 (4.2 GB) ‘ray-guided’ ray-casting with
occlusion queries
2009 Crassin et al. 8,192 x 8,192 x 8,192 (512 GB) ray-guided ray-casting
2011 Engel 8,192 x 8,192 x 16,384 (1 TB) ray-guided ray-casting
2012 Hadwiger et al. 18,000 x 18,000 x 304 (92 GB)
21,494 x 25,790 x 1,850 (955 GB)
ray-guided ray-casting
visualization-driven system
2013 Fogal et al. 1,728 x 1,008 x 1,878 (12.2 GB)
8,192 x 8,192 x 8,192 (512 GB)
ray-guided ray-casting
E. Gobbetti, F. Marton and J. Diaz
Scalability
• Traditional HPC, parallel rendering definitions
– Strong scaling (more nodes are faster for same data)
– Weak scaling (more nodes allow larger data)
• Our interest/definition: output sensitivity
– Running time/storage proportional to size of output instead
of input
• Computational effort scales with visible data and screen
resolution
• Working set independent of original data size
14
E. Gobbetti, F. Marton and J. Diaz
Large-Scale Visualization Pipeline
15
E. Gobbetti, F. Marton and J. Diaz
Scalability Issues
16
Scalability issues Scalable method
Data representation and storage Multi-resolution data structures
Data layout, compression
Work/data partitioning In-core/out-of-core
Parallel, distributed
Work/data reduction Pre-processing
On-demand processing
Streaming
In-situ visualization
Query-based visualization
E. Gobbetti, F. Marton and J. Diaz
Compressed DVR Example
17
Chameleon: 1024^3@16bit (2.1GB); Supernova: 432^3×60timesteps@float (18GB)
Compression-domain Rendering from Sparse-Coded Voxel Blocks (EUROVIS2012)
E. Gobbetti, F. Marton and J. Diaz
Many use cases despite current
growth in graphics memory
• Still many «too large» datasets
– Hires models, multi-scalar data, time-varying data, multi-
volume visualization, …
• Mobile graphics
– Streaming, local rendering
• Need for loading entire datasets on graphics
memory
– Fast animation
– Cloud renderers with many clients
18
E. Gobbetti, F. Marton and J. Diaz
Overview
E. Gobbetti, F. Marton and J. Diaz
Compact Data Representation Models
20
E. Gobbetti, F. Marton and J. Diaz
Processing Methods and Architectures
21
E. Gobbetti, F. Marton and J. Diaz
Rendering Methods and Architectures
22
E. Gobbetti, F. Marton and J. Diaz
COMPACT DATA REPRESENTATION
MODELS AND PROCESSING
A Survey of Compressed GPU-based Direct Volume
Rendering
Next Session:
23
www.crs4.it/vic/
Visual Computing Group
• Enrico Gobbetti
• Jose Díaz
• Fabio Marton
June 2015
A Survey of Compressed GPU-based Direct Volume Rendering
Compact Data Representation Models
E. Gobbetti, F. Marton and J. Diaz
Compression-domain DVR
• Trade-off:
– achieve high compression ratio
– high image quality
• Reconstruct in real-time
– fast data access
– fast computations
25
E. Gobbetti, F. Marton and J. Diaz
Bases and Coefficients
26
show relationship
between bases and
original
E. Gobbetti, F. Marton and J. Diaz
Types of Bases
27
pre-defined bases learned bases
DFT, DCT, DWT eigenbases (KLT, TA),
dictionaries
E. Gobbetti, F. Marton and J. Diaz
Modeling Stages
28
stages that can
be applied
E. Gobbetti, F. Marton and J. Diaz
Compact Models in DVR
• Pre-defined bases
– discrete Fourier transform (1990;1993)
– discrete Hartley transform (1993)
– discrete cosine transform (1995)
– discrete wavelet transform (1993)
– laplacian pyramid/transform (1995;2003)
– Burrows-Wheeler transform (2007)
• Learned bases
– Karhunen-Loeve transform (2007)
– tensor approximation (2010;2011)
– dictionaries for vector quantization (1993;2003)
– dictionaries for sparse coding (2012)
– fractal compression (1996)
29
most models are lossy
or near lossless (best
achievement), but
often used in a lossy
version
E. Gobbetti, F. Marton and J. Diaz
Compact Models in DVR
• Pre-defined bases
– discrete Fourier transform
– discrete Hartley transform
– discrete cosine transform
– discrete wavelet transform
– laplacian pyramid/transform
– Burrows-Wheeler transform
• Learned bases
– Karhunen-Loeve transform
– tensor approximation
– dictionaries for vector quantization
– dictionaries for sparse coding
– fractal compression
30
E. Gobbetti, F. Marton and J. Diaz
Wavelet Transform
• Use a wavelet to represent data
– similar to Fourier transform (represent data with sines/cosines)
• A wavelet is a set of basis functions
– high-pass and low-pass filtering
• Data transform
– into frequency domain AND spatial domain
– enhanced compared to Fourier transform (only frequency
domain)
31
E. Gobbetti, F. Marton and J. Diaz
32
2D Wavelet Example
multilevel
DWT
low frequency coefficients of level l
high frequency coefficients of level l
E. Gobbetti, F. Marton and J. Diaz
Wavelet full reconstruction
34
E. Gobbetti, F. Marton and J. Diaz
Quantized wavelet reconstruction 1
35
E. Gobbetti, F. Marton and J. Diaz
Quantized wavelet reconstruction 2
36
E. Gobbetti, F. Marton and J. Diaz
Quantized wavelet reconstruction 3
37
E. Gobbetti, F. Marton and J. Diaz
Quantized wavelet reconstruction 4
38
E. Gobbetti, F. Marton and J. Diaz
39
Dictionaries
E. Gobbetti, F. Marton and J. Diaz
40
dictionary
Dictionaries
...
words
used to represent
an approximated
volume
E. Gobbetti, F. Marton and J. Diaz
41
Dictionaries
• Basic idea
– many subblocks have a similar pattern
– search for each subblock a codeword
that best represents this subblock
– volume is represented with index list
– fast decompression (table-lookup)
– codewords can be pre-defined or learned
– lossless or lossy
• Main challenge
– find good codewords
– find a fast algorithm for dictionary generation
store indices to codewords
M codewords
volume divided
into subblocks
E. Gobbetti, F. Marton and J. Diaz
42
Vector Quantization (VQ)
• Vector represents subblock
• Limit number of codewords M
E. Gobbetti, F. Marton and J. Diaz
DICTIONARY
Vector Quantization
43
E. Gobbetti, F. Marton and J. Diaz
Hierarchical VQ
• For each block store:
– Average Value
– ∆ Delta to first level
– ∆ Delta to second level
45
LaplacianFilter
E. Gobbetti, F. Marton and J. Diaz
• Store differences in a multiresolution data structure
– block-based two-level laplacian pyramid
• Produce blocks of different frequency bands
• High frequency bands are compressed using VQ
• Covariance approach for dictionary generation
– splitting by PCA
• Similar: VQ and Karhunen-Loeve transform (KLT)
46
Hierarchical VQ
E. Gobbetti, F. Marton and J. Diaz
Sparse Coding
• Data-specific representation in which each block is
represented by a sparse linear combination of few
dictionary elements
– State-of-the-art in sparse coding [Rubinstein et al. 10]
– Compression is achieved by storing just indices and their
magnitudes
47
E. Gobbetti, F. Marton and J. Diaz
DICTIONARY
Sparse Coding
48
Generalization of VQ:
data is represented with a linear
combination of codewords
B = c0 * D[a0] + c1 * D[a1] + c2 * D[a2]
E. Gobbetti, F. Marton and J. Diaz
Sparse Coding
• The problem
• Generalization of vector quantization
– Combine vectors instead of choosing single ones
– Overcomes limitations due to dictionary sizes
• Generalization of data-specific bases
– Dictionary is an overcomplete basis
– Sparse projection
49
E. Gobbetti, F. Marton and J. Diaz
Sparse Coding
• Represent each block as linear combination of s
blocks from an overcomplete dictionary
– The dictionary can be learned or predefined (e.g., wavelet)
– Learned dictionaries typically perform better (but optimal
ones are hard to compute)
• Basic idea is that the dictionary is sparsifying
– Few dictionary elements can be combined to get good
approximations
• Combines the benefits of
– Dictionaries
– Projection onto bases
50
E. Gobbetti, F. Marton and J. Diaz
53
• Higher-order singular value decomposition
– here: so-called Tucker model used for TA (eigenbases)
Tensor Approximation (TA)
coefficients
(core tensor)
bases
(factor matrices)
approximation
spatial dimensions multilinear ranks
E. Gobbetti, F. Marton and J. Diaz
55
Feature Extraction with WT and TA
2‘200‘000 coeff. 310‘000 coeff. 57‘500 coeff. 16’500 coeff.
original size:
2563 = 16’777‘216
T
multiscale dental growth structures
E. Gobbetti, F. Marton and J. Diaz
Truncation and Quantization
• Lossy
– typically, we loose most information during this stage
• Truncation
– threshold insignificant coefficients
– threshold insignificant bases
• Quantization
– floating point to integer conversion
– vector quantization (fewer codewords)
56
E. Gobbetti, F. Marton and J. Diaz
57
Example: Truncate TA Bases
truncate
high ranks
truncate
low ranks
E. Gobbetti, F. Marton and J. Diaz
K-SVD vs HVQ vs Tensor
• Comparison of state-of-the-art GPU-based
decompression methods
E. Gobbetti, F. Marton and J. Diaz
Sparse Coding vs HVQ vs Tensor
• Comparison of state-of-the-art GPU-based
decompression methods
SPARSE
CODING
HVQ
TA
E. Gobbetti, F. Marton and J. Diaz
Sparse Coding Compression Results
60
E. Gobbetti, F. Marton and J. Diaz
61
Encoding Models
• Lossless
• RLE
– count number of equal values
• Entropy encoding
– short code for frequent words; long code for infrequent words
– Huffman coding, arithmetic coding, ...
– avoid inconvenient data access
• fixed-length Huffman coding combined with RLE
• significance maps (wavelets)
• decode before rendering
• Many Hybrids
E. Gobbetti, F. Marton and J. Diaz
62
Hardware Encoding Models
• Block truncation coding (texture compression)
– volume texture compression (VTC); 3D extension of S3TC
– ETC2
– adaptive scalable texture (AST)
E. Gobbetti, F. Marton and J. Diaz
63
Time-varying Data
• Compression even needed more
• Three categories
– extend compression approach from 3D to 4D
– use other approach for 4th dimension
– encode each time step separately
• Hybrids of the above
E. Gobbetti, F. Marton and J. Diaz
64
Model Summary
• Wavelet transform ...
– is good for smoothed averaging (multiresolution)
• Vector quantization ...
– makes a very fast reconstruction possible
– fast data access
– can be combined with various methods to generate the
dictionary
• Sparse coding
– sparse linear combination of dictionary words
– fast decompression, high compression rates
• Tensor approximation ...
– is good for multiresolution and multiscale DVR
– feature extraction at multiple scales
E. Gobbetti, F. Marton and J. Diaz
65
Conclusions
• Recently mostly learned bases
– variants of eigenbases are popular
– hybrid forms of dictionaries (VQ, multiresolution, sparse
coding)
• Variable compression ratio
– from near lossless to extremely lossy
• Hardware accelerated models
– block truncation coding (texture compression models)
• Various stages of compact modeling CAN be
applied
– transform or decomposition
– truncation
– quantization
– encoding
www.crs4.it/vic/
Visual Computing Group
A Survey of Compressed GPU-based Direct Volume Rendering
Processing and Encoding
• Enrico Gobbetti
• Jose Díaz
• Fabio Marton
June 2015
E. Gobbetti, F. Marton and J. Diaz
Processing and Encoding
67
E. Gobbetti, F. Marton and J. Diaz
A scalable algorithm!
68
• Able to face huge datasets
– O(10^10) samples, and more
• Scalable approach in terms of
– Memory
– Times
• Required features:
– Out-of-Core
– Asymmetric codecs
– Parallel settings
– High quality coding (depends on
representation)
Input Volume
Bricked
Compressed
Volume
E. Gobbetti, F. Marton and J. Diaz
Static and time-varying data
• Static datasets
– Handle 3D volume
– typically uses 3D bricked representation
– Mostly octree or flat multires blocking
• Dynamic datasets
– Uses techniques similar to static dataset
– Three approaches
• Separate encoding of each timestep
• Static compression method extended from 3D to 4D data
• Treat in different way 3D data and the time dimension as in
video encoding
69
E. Gobbetti, F. Marton and J. Diaz
Output volume
• Bricked
– Fast local and transient decompression
– Visibility
– Empty space skipping
– Early ray termination
• Compressed
– Bandwidth
– GPU memory
• LOD
– adaptive rendering
70
Compressed block
E. Gobbetti, F. Marton and J. Diaz
Output volume
• Bricked
– Fast local and transient decompression
– Visibility
– Empty space skipping
– Early ray termination
• Compressed
– Bandwidth
– GPU memory
• LOD
– adaptive rendering
71
Compressed block
E. Gobbetti, F. Marton and J. Diaz
Processing: two phases
• Processing depends on data representation
– Pre-defined bases …
– Learned bases …
• Global processing (some methods)
– Access all the dataset (works on billions of samples)
– Learn some representation
• Local Processing (all methods)
– Access independent blocks
– Encode [possibly using global phase representation]
72
E. Gobbetti, F. Marton and J. Diaz
Processing: two phases
• Processing depends on data representation
– Pre-defined bases …
– Learned bases …
• Global processing (some methods)
– Access all the dataset (works on billions of samples)
– Learn some representation
• Local Processing (all methods)
– Access independent blocks
– Encode [possibly using global phase representation]
73
E. Gobbetti, F. Marton and J. Diaz
Global Processing
• Find representation by globally analyzing whole
dataset
– Early transform coding methods [Levoy’92, Malzbender’93]
• … but modern methods apply transforms to small regions
– All dictionary based methods
• Also combined with other transformations
• Main problems
– Analyze all data within available resources
– Huge dataset introduce numerical instability problems
74
E. Gobbetti, F. Marton and J. Diaz
Finding a dictionary for huge
datasets: solutions
• Online learning
– Streaming all blocks
• Splitting into manageable tiles
– Separate dictionary per tile
• Coreset / importance sampling
– Work on representative weighted subsets
75
E. Gobbetti, F. Marton and J. Diaz
Global phase: Online Learning
76
State
Processor
Dictionary
N Iterations
Streaming all input blocks
• How it works
– Does not require concurrent access to all elements
– Stream over all elements
– Keep only local statistics => bounded memory!
– Iterates streaming multiple times
E. Gobbetti, F. Marton and J. Diaz
Global phase: Online Learning
• Main example: Vector Quantization
– Find blocks representative of all the elements
• Classic approach: generalized Lloyd algorithm:
– [Linde 80, Lloyd 82]
– Based on 2 conditions:
• Given a codebook the optimal codevector is found with nearest
neighbor
• Given a codevector the optimal codebook is the centroid of the
partition
– Starting from initial partition and iterate until convergence:
• Associate all the vectors to corresponding cells
• Cells are updated to the centroids
77
E. Gobbetti, F. Marton and J. Diaz
Global phase: Online Learning
• Vector quantization: convergence depends on
initial partition
– Good starting point: initial codevectors
based on PCA analysis (also in streaming!)
[Schneider 03,Knittel et al. 09]
• Each new seed is inserted in cell with max
residual distortion; split plane selected with
PCA of the cell producing two cells with
similar residual distortion
– Also applied hierarchically [Schneider 03]
• Similar concepts applied to online learning for
sparse coding
– [Mairal 2010, Skretting 2010]
78
E. Gobbetti, F. Marton and J. Diaz
Global phase: Online Learning
• Pros
– Easy to implement
– Does not incur in memory limitations
• Cons
– Slow due to number of iterations on many data values (slow
convergence)
– Slow because of out-of-core operations
• Used by
– Vector quantization
– Sparse coding (but better results working on the full dataset)
– …
79
E. Gobbetti, F. Marton and J. Diaz
Global phase: Splitting
• Split dataset into
manageable tiles
– Process each tile
independently
– Produce representation
for each tile
80
Dictionary
Global
Processor
Dictionary
Global
Processor
Dictionary
Global
Processor
Dictionary
Global
Processor Dictionary
Global
Processor
Dictionary
Global
Processor
Dictionary
Global
Processor
Dictionary
Global
Processor
E. Gobbetti, F. Marton and J. Diaz
Global phase: Splitting
• Example: Transform Coding [Fout 07]
• Whole dataset subdivided in tiles, for each tile
– Transformed with Karhunen-Loeve
• Low frequencies contain significative representation
– Encode with VQ (then decoded)
– Residual encoded, iterated to store 3 representations:
• Low-pass
• Band-pass
• High-pass
– Low-pass enough to encode most of the elements
– Inverse transform computationally intensive:
• Data is reprojected during preprocessing.
• Reprojections stored into codebook instead of coefficients
81
E. Gobbetti, F. Marton and J. Diaz
Global phase: Splitting
• Pros
– Reasonably simple to implement
– Permit to solve with global algorithm
– High quality per tile
• Cons
– Discontinuity at tile boundaries
– Need to handle multiple contexts at rendering time
– Many active dictionary could lead to cache overflow at
rendering time
– Scalability limits
• Used by
– Most dictionary based methods
82
E. Gobbetti, F. Marton and J. Diaz
Dictionary
Global phase: Coreset/Importance
Sampling
• Build dictionary on smartly
subsampled and reweighted
subset of input data
– Coreset concept [Agarwal’05]
– Take a few representative subblocks
from original model
– Higher probability for more
representative samples
– Sample reweighting to remove bias
– Use global method on coreset
83
Global
Processor
Importance
sampler
E. Gobbetti, F. Marton and J. Diaz
Global phase: Coreset/Importance
Sampling
• Example: learning dictionary for sparse coding
of volume blocks
• K-SVD algorithm is extremely efficient on
moderate size data
– [Aharon et al. 2006]
– K-means generalization alternating
• sparse coding of signals in X, producing Γ given current D
• updates of D given the current sparse representations
– Update phase needs to solve linear systems of size
proportional to number of training signals!
• Use coreset concept!
– [Feldman & Langberg 11, Feigin et al. 11, Gobbetti ‘12]
84
E. Gobbetti, F. Marton and J. Diaz
Global phase: Coreset/Importance
Sampling
• We associate an importance to each of the
original blocks , being the standard
deviation of the entries in
– Picking C elements with probability proportional to
– See [Gobbetti 12] methods for coreset building and training
using few streaming passes
• Non-uniform sampling introduces a severe bias
– Scale each selected block by a weight where
is the associated probability
– Applying K-SVD to scaled coefficients will converge to a
dictionary associated with the original problem
85
E. Gobbetti, F. Marton and J. Diaz
Global phase: Coreset/Importance
Sampling
• Coreset scalability
86
E. Gobbetti, F. Marton and J. Diaz
Global phase: Coreset/Importance
Sampling
• Pros
– Proved to work extremely well for KSVD
– Extremely scalable
– No extra run-time overhead
• Cons
– Importance concept needs refinement especially for
structured data
– Tested so far only on limited datasets and few
representations.
– Needs more testing in multiple contexts
• Used by
– KSVD, VQ, HVQ
87
E. Gobbetti, F. Marton and J. Diaz
Processing: two phases
• Processing depends on data representation
– Pre-defined bases …
– Learned bases …
• Global processing (some methods)
– Access all the dataset (works on billions of samples)
– Learn some representation
• Local Processing (all methods)
– Access independent blocks
– Encode [possibly using global phase representation]
88
E. Gobbetti, F. Marton and J. Diaz
Local phase: Independent Block
Encoding
• Input model M is split into blocks B0…Bi
• For each block Bi
– Possibly use information gathered during the global phase (e.g.
dictionaries)
– Find the transformation/combination/representation that best fits
the data
– Store in the DB
89
Local
Processing
DB
B0 … Bi
M
B0
B1
B2
B3
E. Gobbetti, F. Marton and J. Diaz
Local phase: Compression models
• Pre-defined bases
– discrete Fourier transform (1990;1993)
– discrete Hartley transform (1993)
– discrete cosine transform (1995)
– discrete wavelet transform (1993)
– laplacian pyramid/transform (1995;2003)
– Burrows-Wheeler transform (2007)
• Learned bases
– Karhunen-Loeve transform (2007)
– tensor approximation (2010;2011)
– dictionaries for vector quantization (1993;2003)
– dictionaries for sparse coding (2012)
– fractal compression (1996)
90
E. Gobbetti, F. Marton and J. Diaz
Local phase: Compression models
• Pre-defined bases
– discrete Fourier transform (1990;1993)
– discrete Hartley transform (1993)
– discrete cosine transform (1995)
– discrete wavelet transform (1993)
– laplacian pyramid/transform (1995;2003)
– Burrows-Wheeler transform (2007)
• Learned bases
– Karhunen-Loeve transform (2007)
– tensor approximation (2010;2011)
– dictionaries for vector quantization (1993;2003)
– dictionaries for sparse coding (2012)
– fractal compression (1996)
91
E. Gobbetti, F. Marton and J. Diaz
Local phase: Discrete Wavelet
Transform
• Projecting into a set of pre-defined bases
– Concentrates most of the signal in a few low-frequency components
• Quantizing the transformed data can significantly
reduce data size
– Error threshold
• Entropy coding techniques are used for further
reducing size
– Exploiting data correlation
92
E. Gobbetti, F. Marton and J. Diaz
Local phase: Discrete Wavelet
Transform
• B-Spline wavelets [Lippert 97]
– Wavelet coefficients and positions (splatting)
– Delta encoding, RLE and Huffman coding
• Hierarchical partition (blocks/sub-blocks)
– 3D Haar wavelet, delta encoding, quantization, RLE and Huffman [Ihm ‘99,
Kim ‘99]
– Biorthogonal 9/7-tap Daubechies and biorthogonal spline wavelets
[Nguyen ‘01, Guthe ‘02]
– FPGA Hw deco [Wetekam ‘05]
– 3D dyadic wavelet transform [Wu ‘05]
• Separated correlated slices
– Temporal/spatial coherence [Rodler ‘99]
93
Wavelets are not trivial
to decode in GPU
E. Gobbetti, F. Marton and J. Diaz
Local phase: Tensor approximation
• Tensor decomposition is applied to N-dim input
dataset
– Tucker model [Suter ‘11]
– Product of N basis matrices and a N-dimensional core tensor
– HOSVD (Higher-order singular value decomposition)
• Applied along every direction of input data
• Iterative process for finding the core tensor
– Represents a projection of the input dataset
– Core tensor coefficients show the relationship between
original data and bases
94
E. Gobbetti, F. Marton and J. Diaz
Local phase: Tensor approximation
• Tensor decomposition (Tucker model)
TA = B x U(1) x U(2) x U(3)
– Decomposition obtained through HOSVD or HOOI (higher-order orthogonal
iteration)
– HOOI also produces rank-reduction
– Target is core tensor B (B is element of RR1xR2xR3 with Ri < Ii)
– After each iteration Ranki <= Ranki-1
– Core tensor is produced when the matrices cannot be further optimized
• [Suter 2011] Tensor decomposition coefficients are quantized:
8bit encoding for core tensor coefficients, 16bit encoding for
basis matrices
95
Convergence can be hard to achieve on large blocks
E. Gobbetti, F. Marton and J. Diaz
Local phase: Dictionary based
methods
• Vector Quantization
– Hierarchical Vector Quantization
– Local phase simple (nearest neighbor search)
• Sparse coding
– NP-hard problem
– Several efficient greedy pursuit approximation algorithms
[Elad ‘10]
– Order-Recursive Matching Pursuit(ORMP) via Choleski
Decomposition [Gobbetti ‘12]
96
E. Gobbetti, F. Marton and J. Diaz
Quantization and encoding
• Further reduce data size
– Quantization
– Variable/fixed length encoding
• Variable length encoding used in early compression algorithms
– High compression rates / typically decoded in CPU prior to GPU
data upload
– Good for leveraging network and disk access times
• Fixed length encoding is more well suited for GPU algorithms
– Regular memory access schema allows better GPU parallelization
• Fixed length Huffman + RLE provide high decompression speed
[Guthe ‘02, Shen ‘06, Ko ‘08]
97
E. Gobbetti, F. Marton and J. Diaz
Preprocessing of Time-varying Data
• Data structures combining spatial/temporal or
temporal/spatial domain grouping
– Time Space Partitioning Tree [Ma ‘00]
– Wavelet-based TSP [Wang ‘04, Shen ‘06]
– Hierarchical structure for each time step + spatial grouping
and encoding [Westermann ‘95, Wang ‘10]
98
E. Gobbetti, F. Marton and J. Diaz
Preprocessing of Time-varying Data
• Video-based encoding
– Delta encoding with respect to previous frame [Mensmann ‘10,
She ‘11] (+Quantization/LZO or HVQ)
– Intra coded frame or predictive frame (e.g. Haar wavelet / delta
encoding + wavelet) [Ko ‘08, Jang ‘12]
• Wavelet transform was frequently applied to time-
varying volume data
– [Westermann ‘95.. Many others, see paper for details]
99
E. Gobbetti, F. Marton and J. Diaz
Preprocessing summary
• Asymmetric codecs
– Most heavy work should be done at preprocessing time
• Specialized encoding techniques trade compression performance with
reconstruction speed (e.g., partial projections for KLT decoding)
• Global and local phases
– Most challenging part is global processing (heavy, hard)
• Recently coreset approaches in addition to online
learning or splitting
– Promising, need more research
• Many model specific methods
– Fixed bases relatively standard
– Recently more focus on computation methods for learned bases
(tensors, sparse coding)
– GPU decoding constrains type of transformations (e.g., variable
lenght codes still hard)
100
E. Gobbetti, F. Marton and J. Diaz
Next: Rendering
101
www.crs4.it/vic/
Visual Computing Group
A Survey of Compressed GPU-based Direct Volume Rendering
Decoding and Rendering
• Enrico Gobbetti
• Jose Díaz
• Fabio Marton
June 2015
E. Gobbetti, F. Marton and J. Diaz
Decoding and Rendering
• Introduction
• Architectures
• Decoding of compact representations
• Conclusions
E. Gobbetti, F. Marton and J. Diaz
Introduction
105
Slicing
[Guthe’04]
Raycasting
[Kaehler ‘06]
RenderingRuntimePreprocessing
0
L
Compressed
Multiresolution
Data Structure
Criteria:
transfer-function
view-dependent
 Small blocks
overhead
E. Gobbetti, F. Marton and J. Diaz
Introduction
• Out-of-core GPU methods
– Adaptively traverse space-partitioned GPU data structures
covering the full working set
Flat-multiresolution blocking [Ljung’06]
E. Gobbetti, F. Marton and J. Diaz
Introduction
• Out-of-core GPU methods
– Adaptively traverse space-partitioned GPU data structures
covering the full working set
• Data structures
– Grids
• Uniform or non-uniform
– Hierarchical grids
• Pyramid of uniform grids
• Bricked 2D/3D mipmaps
Uniform grid
Bricked mipmap
E. Gobbetti, F. Marton and J. Diaz
Introduction
• Out-of-core GPU methods
– Adaptively traverse space-partitioned GPU data structures
covering the full working set
• Data structures
– Tree structures
• KD-tree
• Quadtree
• Octree
Octree
wikipedia.org
E. Gobbetti, F. Marton and J. Diaz
Introduction
• Out-of-core GPU structures
– Adaptively traverse space-partitioned GPU data structures
covering the full working set
Out-of-core GPU octree structure
[Gobbetti’08, Crassin‘09]
E. Gobbetti, F. Marton and J. Diaz
Introduction
• Per-block multiresolution
– Each block is encoded using a few levels-of-detail
• E.g. HVQ [Schneider’03]
• Global and per-block multiresolution
– FPGA Wavelet + Huffman encoding [Wetekam’05]
• DVR requires interactive performance
– We need decompression to be in real-time
• Asymmetric schemes oriented to work in GPU
– Interaction between decompression and rendering
• Bottleneck: GPU memory and bandwidth
110
E. Gobbetti, F. Marton and J. Diaz
Adaptive out-of-core octree DVR
111
E. Gobbetti, F. Marton and J. Diaz
Compressed DVR Example
112
Chameleon: 1024^3@16bit (2.1GB); Supernova: 432^3×60timesteps@float (18GB)
Compression-domain Rendering from Sparse-Coded Voxel Blocks (EUROVIS2012)
E. Gobbetti, F. Marton and J. Diaz
RENDERING ARCHITECTURES
113
E. Gobbetti, F. Marton and J. Diaz
Architecture
114
• Typical architecture for massive datasets
E. Gobbetti, F. Marton and J. Diaz
Working Set Determination
115
• Traditional methods
– Global attribute-based culling (view-independent)
• Cull against transfer function, iso value, enabled objects, etc.
– View frustum culling (view-dependent)
• Cull bricks outside the view frustum
– Occlusion culling?
• Modern methods
– Visibility determined during ray traversal
– Rays determine working set directly
E. Gobbetti, F. Marton and J. Diaz
Working Set Determination (Traditional)
116
• Global attribute-based
culling
– Cull bricks based on attributes;
view-independent
• Transfer function
• Iso value
• Enabled segmented objects
– Often based on min/max bricks
• Empty space skipping
• Skip loading of ‘empty’ bricks
• Speed up on-demand spatial
queries
E. Gobbetti, F. Marton and J. Diaz
Working Set Determination (Traditional)
117
• View frustum, occlusion culling
– Cull all bricks against view frustum
– Cull all occluded bricks
– View-dependent
E. Gobbetti, F. Marton and J. Diaz
Working Set Determination (Modern)
118
• Visibility determined during ray traversal
– Implicit view frustum culling (no extra step required)
– Implicit occlusion culling (no extra steps or occlusion buffers)
E. Gobbetti, F. Marton and J. Diaz
Working Set Determination (Modern)
119
• Rays determine working set directly
– Each ray writes out list of bricks it requires (intersects) front-
to-back
– Use modern OpenGL extensions
(GL_ARB_shader_storage_buffer_object, …)
E. Gobbetti, F. Marton and J. Diaz
Architecture
120
• Rendering
E. Gobbetti, F. Marton and J. Diaz
Rendering Techniques
121
• Texture slicing [Cullip and Neumann ’93, Cabral et
al. ’94, Rezk-Salama et al. ‘00]
–  Minimal hardware requirements (can run on WebGL)
–  Visual artifacts, less flexibility
E. Gobbetti, F. Marton and J. Diaz
Rendering Techniques
122
• GPU ray-casting
[Röttger et al. ‘03, Krüger and
Westermann ‘03]
–  standard image order
approach, embarrassingly
parallel
–  supports many performance
and quality enhancements
E. Gobbetti, F. Marton and J. Diaz
Rendering Techniques
123
• Large volume data rendering
– Octree rendering based on texture-slicing
• [LaMar et al. ’99, Weiler et al. ’00, Guthe et al. ’02]
– Bricked single-pass ray-casting
• [Hadwiger et al. ’05, Beyer et al. ’07]
– Bricked multi-resolution single-pass ray-casting
• [Ljung et al. ’06, Beyer et al. ’08, Jeong et al. ’09]
– Optimized CPU ray-casting
• [Knoll et al. ’11]
– GPU octree traversal single-pass ray-casting
• [Gobbetti et al. ’12]
E. Gobbetti, F. Marton and J. Diaz
Architecture
124
• Decompression on CPU before rendering
E. Gobbetti, F. Marton and J. Diaz
Decompression on CPU before rendering
• Decompression (generally lossless) of data
streams
– E.g. Wavelet-based time-space partitioning [Shen et al.
2006]
•  Reduces the storage needs
•  Support faster and remote access to data
125
E. Gobbetti, F. Marton and J. Diaz
Decompression on CPU before rendering
• Decompression (generally lossless) of data
streams
– E.g. Wavelet-based time-space partitioning [Shen et al.
2006]
•  Large memory resources needed
•  Inefficient use of the GPU memory bandwidth
•  CPU decompression is generally not sufficient
for time-varying datasets
• Common in hybrid architectures [Nagayasu’08, Mensmann’10]
126
E. Gobbetti, F. Marton and J. Diaz
Architecture
127
• Decompression on GPU before rendering
E. Gobbetti, F. Marton and J. Diaz
Decompression on GPU before rendering
•  Speed-up decompression by using the GPU
– Full working set decompression
• [Wetekam’05, Mensmann’10, Suter’11]
•  Works for time-varying data
– … but each single time step should fit in the GPU memory
and has to be decoded fast enough
•  Limit the maximum working set size …
– … to its size in uncompressed format
128
E. Gobbetti, F. Marton and J. Diaz
Architecture
129
• Decompression during rendering
E. Gobbetti, F. Marton and J. Diaz
Decompression during rendering
• Decoding occurs on-demand during the
rendering process
– The entire dataset is never fully decompressed
– Data travels in compressed format from the CPU to the GPU
•  Make the most of the available memory
bandwidth
• On-demand, fast and spatially independent
decompression on the GPU:
– Pure random-access
– Local and transient decoding
130
E. Gobbetti, F. Marton and J. Diaz
Pure random-access
• Data decompression is performed each time the
renderer needs to access to a single voxel
– Directly supported by the GPU
• Fixed-rate block-coding methods
– E.g. OpenGL VTC [Craighead’04], ASTC [Nystad’12]
• GPU implementations of per-block scalar quantization
– [Yela’08, Iglesias’10]
131
E. Gobbetti, F. Marton and J. Diaz
Pure random-access
• Data decompression is performed each time the
renderer needs to access to a single voxel
– Not supported by the GPU but easily implemented
over it
• GPU implementations of VQ and HVQ
– [Schneider’03, Fout’07]
•  Costly in performance
•  Rarely implement multisampling or HQ shading
– For this they rely on deferred filtering architectures
132
E. Gobbetti, F. Marton and J. Diaz
Local and transient decoding
• Partial working set decompression
• Interleaving of decoding and rendering
•  Exploit better the GPU memory resources
133
E. Gobbetti, F. Marton and J. Diaz
Deferred filtering
• Deferred filtering solutions [Fout’05, Wang’10]
– Exploit spatial coherence and supports high-quality shading
– Decompress groups of slices which can be reused during
rendering for gradient and shading computations
– Proposed as single resolution
134
E. Gobbetti, F. Marton and J. Diaz
Deferred filtering (single resolution)
135
Rendering from a Custom Memory Format
Using Deferred Filtering [Kniss’05]
Gradient computation using
central differences [Fout’05]
E. Gobbetti, F. Marton and J. Diaz
Deferred filtering (multiresolution)
• Extended deferred filtering to work with
multiresolution data structures [Gobbetti’12]
• Frame-buffer combination of partial portions of an octree
136
Deferred Filtering of an octree structure in GPU [Gobbetti’12]
136
E. Gobbetti, F. Marton and J. Diaz
Multiresolution deferred filtering in 3 passes
• Octree:
1. Adaptive refinement
• Multiresolution
2. Partitioning into subtrees
• Constraint: GPU cache size
• Bottom-up recombination of
subtrees in GPU cache
3. Subtree decompression,
raycasting and compositing
• Front-to-back octree traversal
– real-time
137137137
Framebuffer
1 2
3 4
5
6 7
E. Gobbetti, F. Marton and J. Diaz
COVRA: multiresolution deferred filtering
138138138
E. Gobbetti, F. Marton and J. Diaz
Deblocking
•Wide range of compressed GPU
volume renderers based on
block-transform coding
– Blocks are compressed and
decompressed individually
– Allow adaptive data loading
– Decoding performed in parallel
for different volume parts
– Real-time performance thanks
to parallel computing
•Main issue
– High compression ratios may
produce artifacts between
adjacent blocks
E. Gobbetti, F. Marton and J. Diaz
Deblocking
•Wide range of compressed GPU
volume renderers based on
block-transform coding
– Blocks are compressed and
decompressed individually
– Allow adaptive data loading
– Decoding performed in parallel
for different volume parts
– Real-time performance thanks
to parallel computing
•Main issue
– High compression ratios may
produce artifacts between
adjacent blocks
E. Gobbetti, F. Marton and J. Diaz
Deblocking
•Wide range of compressed GPU
volume renderers based on
block-transform coding
– Blocks are compressed and
decompressed individually
– Allow adaptive data loading
– Decoding performed in parallel
for different volume parts
– Real-time performance thanks
to parallel computing
•General issue
– High compression ratios may
produce artifacts between
adjacent blocks
E. Gobbetti, F. Marton and J. Diaz
• Filter decompressed data before rendering
– Smooth transition across boundaries
– Good balance artifact removal / feature preservation
– Low impact on performance
Main idea
E. Gobbetti, F. Marton and J. Diaz
Deblocking architecture
•Compressed data
– Volume octree of bricks divided into small blocks
•At run-time
– LOD selection and uploading of blocks to the GPU
E. Gobbetti, F. Marton and J. Diaz
Deblocking architecture
•For each frame
– Subdivision into slabs orthogonal to the main view direction
– Decompression / deblocking / rendering of each slab
– Accumulation of the result into the frame buffer
• Ray casting algorithm - Front-to-back order
E. Gobbetti, F. Marton and J. Diaz
Results
9/14
E. Gobbetti, F. Marton and J. Diaz
Results
Johns Hopkins Turbulence
simulation (512 time steps)
512 x 512 x 512 32 bit
256 GB uncompressed
K-SVD [Gobbetti et al. 10]
Compressed to 1.6 MB
(0.2 bps)
(block size = 8, K = 4, D = 1024)
E. Gobbetti, F. Marton and J. Diaz
Summary: Rendering Architectures
• Decompression on CPU before rendering
• Decompression on GPU before rendering
• Decompression during rendering
147
E. Gobbetti, F. Marton and J. Diaz
Conclusions
• Local and transient reconstruction is a key
factor in compression domain volume rendering
– Requires design at different levels
• Compact data model
• Rendering architectures
• Pure voxel-based random-access and
online/transient decoders avoid the full
working set decompression
• Efficient decompression is specially important
in lighter clients
– e.g. mobile, constrained network speeds
148
E. Gobbetti, F. Marton and J. Diaz
DECODING COMPACT
REPRESENTATIONS
149
E. Gobbetti, F. Marton and J. Diaz
Decoding Compact Representations
• Transform domain
– Pure compression-domain
– Operate directly in the transformed domain
– Decoding: through inverse stages of the forward encoding
• Per-voxel access
– Pure random-access
• Per-block accesses
– Amortize decompression computations for group of voxels
150
E. Gobbetti, F. Marton and J. Diaz
Transform Models (1/4)
• Fourier Transform: projection slice theorem
[Levoy’92]
151
Projection-slice theorem [Levoy’92]
One-dimensional case of the Fourier
forward transform (F) and its inverse (f)
E. Gobbetti, F. Marton and J. Diaz
Transform Models (1/4)
• Fourier Transform: projection slice theorem
[Levoy’92]
– GPU slice-based rendering [Viola’04]
–  Attenuation only renderings (e.g. X-Ray modalities)
152
[Viola’04]
E. Gobbetti, F. Marton and J. Diaz
Transform Models (1/4)
• Fourier Transform: projection slice theorem
[Levoy’92]
– GPU slice-based rendering [Viola’04]
–  Attenuation only renderings (e.g. X-Ray modalities)
153
[Viola’04]
E. Gobbetti, F. Marton and J. Diaz
Transform Models (1/4)
• Fourier Transform: projection slice theorem
[Levoy’92]
– GPU slice-based rendering [Viola’04]
–  Attenuation only renderings (e.g. X-Ray modalities)
• In the case of the Wavelet transform there also
exist an inverse transformation. It has been
commonly combined with …
– … multiresolution approaches
• [Westermann’94, Guthe’02]
– … other compression techniques
• RLE [Lippert’97], Rice-coding [Wu’05]
– … time-varying structures
• Wavelet-based Time-Space Partitioning [Wang’04]
154
E. Gobbetti, F. Marton and J. Diaz
Transform Models (2/4)
• Karhunen-Loeve Transform
– [Fout’07] optimized the inverse transform computation
• Precompute partial reprojections and store them in associated
codebooks
155
[Fout’07]
E. Gobbetti, F. Marton and J. Diaz
Transform Models (2/4)
• Karhunen-Loeve Transform
– [Fout’07] optimized the inverse transform computation
• Precompute partial reprojections and store them in associated
codebooks
156
[Fout’07]
E. Gobbetti, F. Marton and J. Diaz
Transform Models (3/4)
• Tensor Approximation
– [Wu’08] Hierarchical tensor-based transform. Summation of
incomplete tensor approximations at multiple levels
– [Suter’11] Combined with multiresolution octree hierarchy.
Reconstruction in GPU using tensor times matrix
multiplications
158
VS.
E. Gobbetti, F. Marton and J. Diaz
Transform Models (4/4)
• Dictionaries
– The decoding is much faster and simpler than the encoding
– GPU implementations:
• VQ , HVQ , M = number of dictionaries
– [Schneider’03, Fout’07]
• RVQ [Parys’09], FCHVQ [Zhao’12]
• Sparse coding , S = sparsity
– Parallel voxel decompression [Gobbetti’12]
– Dictionaries can be uploaded to GPU memory
• Just one additional memory indirection is needed
159
E. Gobbetti, F. Marton and J. Diaz
Thresholding and quantization
• Per-block scalar quantization [Yela’08,
Iglesias’10]
– Compute min and max values per block
• Difference based compression scheme
[Smelyanskiy’09]
• Hybrid schemes [Mensmann’10]
160
E. Gobbetti, F. Marton and J. Diaz
Encoding Models
• Fixed-rate block coding techniques
– e.g. VTC, S3TC
• Adaptive Scalable Texture Compression
162
Partitions and Multiple Color Spaces [Nystad’12]
E. Gobbetti, F. Marton and J. Diaz
Encoding Models
• Adaptive Scalable Texture Compression
163
Procedural partition
functions (HW-gen)
[Nystad’12]
E. Gobbetti, F. Marton and J. Diaz
Encoding Models
• General approach for applying sequential data
compression schemes to blocks of data
[Fraedrich’07]
• Decoding using an index texture to the beginning of each stripe
• Rendering using axis-aligned texture-based volume rendering
164
[Fraedrich’07]
E. Gobbetti, F. Marton and J. Diaz
Conclusions (1/2)
• Rendering directly in the transformed domain
– Reduced rendering complexity
– Have several limitations since do not support perspective
rendering, TF and complex shading
• Methods with real-time performance
– Tensor and sparse coding will improve using variable per-
block rank/sparsity (not available in GPU reconstructors)
165
E. Gobbetti, F. Marton and J. Diaz
Conclusions (2/2)
• Quality
– All block-based methods working at low bit-rates
• block-based artifacts among adjacent blocks
• Can be reduced using real-time deblocking
– Uncompressed multiresolution also have LOD artifacts
• Data replication schemes [Guthe’04]
• Interblock interpolation schemes [Hege’08]
166
E. Gobbetti, F. Marton and J. Diaz
Related Papers
• Real-time deblocked GPU rendering of compressed
volumes.
– Marton et al., VMV 2014
• COVRA: A compression-domain output-sensitive volume
rendering architecture based on a sparse representation of
voxel blocks.
– Gobbetti et al. in Eurovis 2012
• Interactive Multiscale Tensor Reconstruction for Multiresolution
Volume Visualization.
– Suter et al. in IEEE Visualization, 2011
167
E. Gobbetti, F. Marton and J. Diaz
Related Books and Surveys
• Real-Time Volume Graphics.
– Engel et al., 2006
• High-Performance Visualization.
– Bethel et al. 2012
• Parallel Visualization.
– Wittenbrink 1998, Bartz et al. 2000, Zhang et al. 2005
• Real Time Interactive Massive Model Visualization.
– Kasik et al. 2006
• Vis and Visual Analysis of Multifaceted Scientific Data.
– Kehrer and Hauser 2013
• Compressed GPU-Based Volume Rendering.
– Balsa et al. 2013
• A Survey of GPU-Based Large-Scale Volume Visualization.
– Beyer et al. 2014
168
E. Gobbetti, F. Marton and J. Diaz
Acknowledgments
• Work done within the DIVA Project
– Data Intensive Visualization and Analysis
– EU ITN FP7/2007-2013/ REA grant agreement
290227
169
www.crs4.it/vic/
Visual Computing Group
STAR CGF’14 original authors
CRS4 Visual Computing Group
– Marcos Balsa Rodriguez
– Enrico Gobbetti
– Fabio Marton
University of Zurich VMML
– Renato Pajarola
– Susanne K. Suter
University of Zaragoza
– José Antonio Iglesias Guitián
www.crs4.it/vic/
Visual Computing Group
• Acknowledgments:
• EU FP7 People Programme (Marie
Curie Actions) REA Grant
Agreement
• n°290227 (DIVA)
• n°290227 (GOLEM)
• Swiss National Science Foundation
(SNSF)
• n°200021_132521
171
•Contacts:
•gobbetti@crs4.it
•marton@crs4.it
•jdiaz@crs4.it
•http://www.crs4.it/vic

More Related Content

What's hot

Image processing ppt
Image processing pptImage processing ppt
Image processing ppt
Naatchammai Ramanathan
 
Digital Image Processing_ ch1 introduction-2003
Digital Image Processing_ ch1 introduction-2003Digital Image Processing_ ch1 introduction-2003
Digital Image Processing_ ch1 introduction-2003
Malik obeisat
 
Ch1
Ch1Ch1
IRJET - Underwater Object Identification using Matlab and Machine
IRJET - Underwater Object Identification using Matlab and MachineIRJET - Underwater Object Identification using Matlab and Machine
IRJET - Underwater Object Identification using Matlab and Machine
IRJET Journal
 
Introduction to Image Processing:Image Modalities
Introduction to Image Processing:Image ModalitiesIntroduction to Image Processing:Image Modalities
Introduction to Image Processing:Image Modalities
Kalyan Acharjya
 
M.sc.iii sem digital image processing unit v
M.sc.iii sem digital image processing unit vM.sc.iii sem digital image processing unit v
M.sc.iii sem digital image processing unit v
Shri Shankaracharya College, Bhilai,Junwani
 
Multi-camera Time-of-Flight Systems | SIGGRAPH 2016
Multi-camera Time-of-Flight Systems | SIGGRAPH 2016Multi-camera Time-of-Flight Systems | SIGGRAPH 2016
Multi-camera Time-of-Flight Systems | SIGGRAPH 2016
StanfordComputationalImaging
 
Digital Image Processing
Digital Image ProcessingDigital Image Processing
Digital Image Processing
Athanasios Anastasiou
 
Radar speckle reduction and derived texture measures for land cover/use class...
Radar speckle reduction and derived texture measures for land cover/use class...Radar speckle reduction and derived texture measures for land cover/use class...
Radar speckle reduction and derived texture measures for land cover/use class...
rsmahabir
 
Digital image processing
Digital image processingDigital image processing
Digital image processing
DEEPASHRI HK
 
Lecture 21 - Image Categorization - Computer Vision Spring2015
Lecture 21 - Image Categorization -  Computer Vision Spring2015Lecture 21 - Image Categorization -  Computer Vision Spring2015
Lecture 21 - Image Categorization - Computer Vision Spring2015
Jia-Bin Huang
 
Unsupervised Deconvolution Neural Network for High Quality Ultrasound Imaging
Unsupervised Deconvolution Neural Network for High Quality Ultrasound ImagingUnsupervised Deconvolution Neural Network for High Quality Ultrasound Imaging
Unsupervised Deconvolution Neural Network for High Quality Ultrasound Imaging
Shujaat Khan
 
Extended Co-occurrence HOG with Dense Trajectories for Fine-grained Activity ...
Extended Co-occurrence HOG with Dense Trajectories for Fine-grained Activity ...Extended Co-occurrence HOG with Dense Trajectories for Fine-grained Activity ...
Extended Co-occurrence HOG with Dense Trajectories for Fine-grained Activity ...
Hirokatsu Kataoka
 
Variational formulation of unsupervised deep learning for ultrasound image ar...
Variational formulation of unsupervised deep learning for ultrasound image ar...Variational formulation of unsupervised deep learning for ultrasound image ar...
Variational formulation of unsupervised deep learning for ultrasound image ar...
Shujaat Khan
 
Introduction to image processing-Class Notes
Introduction to image processing-Class NotesIntroduction to image processing-Class Notes
Introduction to image processing-Class Notes
Dr.YNM
 
Image processing1 introduction
Image processing1 introductionImage processing1 introduction
Image processing1 introduction
Preeti Gupta
 
Unsupervised Deep Learning for Accelerated High Quality Echocardiography
Unsupervised Deep Learning for Accelerated High Quality EchocardiographyUnsupervised Deep Learning for Accelerated High Quality Echocardiography
Unsupervised Deep Learning for Accelerated High Quality Echocardiography
Shujaat Khan
 

What's hot (17)

Image processing ppt
Image processing pptImage processing ppt
Image processing ppt
 
Digital Image Processing_ ch1 introduction-2003
Digital Image Processing_ ch1 introduction-2003Digital Image Processing_ ch1 introduction-2003
Digital Image Processing_ ch1 introduction-2003
 
Ch1
Ch1Ch1
Ch1
 
IRJET - Underwater Object Identification using Matlab and Machine
IRJET - Underwater Object Identification using Matlab and MachineIRJET - Underwater Object Identification using Matlab and Machine
IRJET - Underwater Object Identification using Matlab and Machine
 
Introduction to Image Processing:Image Modalities
Introduction to Image Processing:Image ModalitiesIntroduction to Image Processing:Image Modalities
Introduction to Image Processing:Image Modalities
 
M.sc.iii sem digital image processing unit v
M.sc.iii sem digital image processing unit vM.sc.iii sem digital image processing unit v
M.sc.iii sem digital image processing unit v
 
Multi-camera Time-of-Flight Systems | SIGGRAPH 2016
Multi-camera Time-of-Flight Systems | SIGGRAPH 2016Multi-camera Time-of-Flight Systems | SIGGRAPH 2016
Multi-camera Time-of-Flight Systems | SIGGRAPH 2016
 
Digital Image Processing
Digital Image ProcessingDigital Image Processing
Digital Image Processing
 
Radar speckle reduction and derived texture measures for land cover/use class...
Radar speckle reduction and derived texture measures for land cover/use class...Radar speckle reduction and derived texture measures for land cover/use class...
Radar speckle reduction and derived texture measures for land cover/use class...
 
Digital image processing
Digital image processingDigital image processing
Digital image processing
 
Lecture 21 - Image Categorization - Computer Vision Spring2015
Lecture 21 - Image Categorization -  Computer Vision Spring2015Lecture 21 - Image Categorization -  Computer Vision Spring2015
Lecture 21 - Image Categorization - Computer Vision Spring2015
 
Unsupervised Deconvolution Neural Network for High Quality Ultrasound Imaging
Unsupervised Deconvolution Neural Network for High Quality Ultrasound ImagingUnsupervised Deconvolution Neural Network for High Quality Ultrasound Imaging
Unsupervised Deconvolution Neural Network for High Quality Ultrasound Imaging
 
Extended Co-occurrence HOG with Dense Trajectories for Fine-grained Activity ...
Extended Co-occurrence HOG with Dense Trajectories for Fine-grained Activity ...Extended Co-occurrence HOG with Dense Trajectories for Fine-grained Activity ...
Extended Co-occurrence HOG with Dense Trajectories for Fine-grained Activity ...
 
Variational formulation of unsupervised deep learning for ultrasound image ar...
Variational formulation of unsupervised deep learning for ultrasound image ar...Variational formulation of unsupervised deep learning for ultrasound image ar...
Variational formulation of unsupervised deep learning for ultrasound image ar...
 
Introduction to image processing-Class Notes
Introduction to image processing-Class NotesIntroduction to image processing-Class Notes
Introduction to image processing-Class Notes
 
Image processing1 introduction
Image processing1 introductionImage processing1 introduction
Image processing1 introduction
 
Unsupervised Deep Learning for Accelerated High Quality Echocardiography
Unsupervised Deep Learning for Accelerated High Quality EchocardiographyUnsupervised Deep Learning for Accelerated High Quality Echocardiography
Unsupervised Deep Learning for Accelerated High Quality Echocardiography
 

Similar to A Survey of Compressed GPU-based Direct Volume Rendering

2015 crs4-seminar-massive-models-full
2015 crs4-seminar-massive-models-full2015 crs4-seminar-massive-models-full
2015 crs4-seminar-massive-models-full
CRS4 Research Center in Sardinia
 
Fault Enhancement Using Spectrally Based Seismic Attributes -- Dewett and Hen...
Fault Enhancement Using Spectrally Based Seismic Attributes -- Dewett and Hen...Fault Enhancement Using Spectrally Based Seismic Attributes -- Dewett and Hen...
Fault Enhancement Using Spectrally Based Seismic Attributes -- Dewett and Hen...
Dustin Dewett
 
AAPG GTW 2017: Deep Water and Shelf Reservoirs
AAPG GTW 2017: Deep Water and Shelf ReservoirsAAPG GTW 2017: Deep Water and Shelf Reservoirs
AAPG GTW 2017: Deep Water and Shelf Reservoirs
Dustin Dewett
 
Research and activity report
Research and activity reportResearch and activity report
Research and activity report
Marco Cagnazzo
 
RemoteSensing_DeepLearning_v2.pptx
RemoteSensing_DeepLearning_v2.pptxRemoteSensing_DeepLearning_v2.pptx
RemoteSensing_DeepLearning_v2.pptx
Elise Colin
 
Bring Satellite and Drone Imagery into your Data Science Workflows
Bring Satellite and Drone Imagery into your Data Science WorkflowsBring Satellite and Drone Imagery into your Data Science Workflows
Bring Satellite and Drone Imagery into your Data Science Workflows
Databricks
 
Using Pleiades Very High Resolution Images for planning activities in feasib...
Using Pleiades  Very High Resolution Images for planning activities in feasib...Using Pleiades  Very High Resolution Images for planning activities in feasib...
Using Pleiades Very High Resolution Images for planning activities in feasib...
Argongra Gis
 
Crowd sourcing gis for global urban area mapping
Crowd sourcing gis for global urban area mappingCrowd sourcing gis for global urban area mapping
Crowd sourcing gis for global urban area mapping
Hiroyuki Miyazaki
 
Big data
Big dataBig data
PPT s11-machine vision-s2
PPT s11-machine vision-s2PPT s11-machine vision-s2
PPT s11-machine vision-s2
Binus Online Learning
 
Mobile Visual Search: Object Re-Identification Against Large Repositories
Mobile Visual Search: Object Re-Identification Against Large RepositoriesMobile Visual Search: Object Re-Identification Against Large Repositories
Mobile Visual Search: Object Re-Identification Against Large Repositories
United States Air Force Academy
 
Nye forskninsgresultater inden for geo-spatiale data af Christian S. Jensen, AAU
Nye forskninsgresultater inden for geo-spatiale data af Christian S. Jensen, AAUNye forskninsgresultater inden for geo-spatiale data af Christian S. Jensen, AAU
Nye forskninsgresultater inden for geo-spatiale data af Christian S. Jensen, AAU
InfinIT - Innovationsnetværket for it
 
Digital image processing
Digital image processingDigital image processing
Digital image processing
gayathrysatheesan1
 
Dense Image Matching - Challenges and Potentials (Keynote 3D-ARCH 2015)
Dense Image Matching - Challenges and Potentials (Keynote 3D-ARCH 2015) Dense Image Matching - Challenges and Potentials (Keynote 3D-ARCH 2015)
Dense Image Matching - Challenges and Potentials (Keynote 3D-ARCH 2015)
Konrad Wenzel
 
Image processing ppt
Image processing pptImage processing ppt
Image processing ppt
Raviteja Chowdary Adusumalli
 
Automatic Image Annotation (AIA)
Automatic Image Annotation (AIA)Automatic Image Annotation (AIA)
Automatic Image Annotation (AIA)
Farzaneh Rezaei
 
KOMPSAT-5 Applications Workshop
KOMPSAT-5 Applications WorkshopKOMPSAT-5 Applications Workshop
KOMPSAT-5 Applications Workshop
Dong IL CHO
 
Introduction to Binocular Stereo in Computer Vision
Introduction to Binocular Stereo in Computer VisionIntroduction to Binocular Stereo in Computer Vision
Introduction to Binocular Stereo in Computer Vision
othersk46
 
MapInfo Professional 12.5 and Discover3D 2014 - A brief overview
MapInfo Professional 12.5 and Discover3D 2014 - A brief overviewMapInfo Professional 12.5 and Discover3D 2014 - A brief overview
MapInfo Professional 12.5 and Discover3D 2014 - A brief overview
Prakher Hajela Saxena
 
Ocean Sciences 2016 Presentation
Ocean Sciences 2016 PresentationOcean Sciences 2016 Presentation
Ocean Sciences 2016 Presentation
Vicki Ferrini
 

Similar to A Survey of Compressed GPU-based Direct Volume Rendering (20)

2015 crs4-seminar-massive-models-full
2015 crs4-seminar-massive-models-full2015 crs4-seminar-massive-models-full
2015 crs4-seminar-massive-models-full
 
Fault Enhancement Using Spectrally Based Seismic Attributes -- Dewett and Hen...
Fault Enhancement Using Spectrally Based Seismic Attributes -- Dewett and Hen...Fault Enhancement Using Spectrally Based Seismic Attributes -- Dewett and Hen...
Fault Enhancement Using Spectrally Based Seismic Attributes -- Dewett and Hen...
 
AAPG GTW 2017: Deep Water and Shelf Reservoirs
AAPG GTW 2017: Deep Water and Shelf ReservoirsAAPG GTW 2017: Deep Water and Shelf Reservoirs
AAPG GTW 2017: Deep Water and Shelf Reservoirs
 
Research and activity report
Research and activity reportResearch and activity report
Research and activity report
 
RemoteSensing_DeepLearning_v2.pptx
RemoteSensing_DeepLearning_v2.pptxRemoteSensing_DeepLearning_v2.pptx
RemoteSensing_DeepLearning_v2.pptx
 
Bring Satellite and Drone Imagery into your Data Science Workflows
Bring Satellite and Drone Imagery into your Data Science WorkflowsBring Satellite and Drone Imagery into your Data Science Workflows
Bring Satellite and Drone Imagery into your Data Science Workflows
 
Using Pleiades Very High Resolution Images for planning activities in feasib...
Using Pleiades  Very High Resolution Images for planning activities in feasib...Using Pleiades  Very High Resolution Images for planning activities in feasib...
Using Pleiades Very High Resolution Images for planning activities in feasib...
 
Crowd sourcing gis for global urban area mapping
Crowd sourcing gis for global urban area mappingCrowd sourcing gis for global urban area mapping
Crowd sourcing gis for global urban area mapping
 
Big data
Big dataBig data
Big data
 
PPT s11-machine vision-s2
PPT s11-machine vision-s2PPT s11-machine vision-s2
PPT s11-machine vision-s2
 
Mobile Visual Search: Object Re-Identification Against Large Repositories
Mobile Visual Search: Object Re-Identification Against Large RepositoriesMobile Visual Search: Object Re-Identification Against Large Repositories
Mobile Visual Search: Object Re-Identification Against Large Repositories
 
Nye forskninsgresultater inden for geo-spatiale data af Christian S. Jensen, AAU
Nye forskninsgresultater inden for geo-spatiale data af Christian S. Jensen, AAUNye forskninsgresultater inden for geo-spatiale data af Christian S. Jensen, AAU
Nye forskninsgresultater inden for geo-spatiale data af Christian S. Jensen, AAU
 
Digital image processing
Digital image processingDigital image processing
Digital image processing
 
Dense Image Matching - Challenges and Potentials (Keynote 3D-ARCH 2015)
Dense Image Matching - Challenges and Potentials (Keynote 3D-ARCH 2015) Dense Image Matching - Challenges and Potentials (Keynote 3D-ARCH 2015)
Dense Image Matching - Challenges and Potentials (Keynote 3D-ARCH 2015)
 
Image processing ppt
Image processing pptImage processing ppt
Image processing ppt
 
Automatic Image Annotation (AIA)
Automatic Image Annotation (AIA)Automatic Image Annotation (AIA)
Automatic Image Annotation (AIA)
 
KOMPSAT-5 Applications Workshop
KOMPSAT-5 Applications WorkshopKOMPSAT-5 Applications Workshop
KOMPSAT-5 Applications Workshop
 
Introduction to Binocular Stereo in Computer Vision
Introduction to Binocular Stereo in Computer VisionIntroduction to Binocular Stereo in Computer Vision
Introduction to Binocular Stereo in Computer Vision
 
MapInfo Professional 12.5 and Discover3D 2014 - A brief overview
MapInfo Professional 12.5 and Discover3D 2014 - A brief overviewMapInfo Professional 12.5 and Discover3D 2014 - A brief overview
MapInfo Professional 12.5 and Discover3D 2014 - A brief overview
 
Ocean Sciences 2016 Presentation
Ocean Sciences 2016 PresentationOcean Sciences 2016 Presentation
Ocean Sciences 2016 Presentation
 

More from CRS4 Research Center in Sardinia

The future is close
The future is closeThe future is close
The future is close
The future is closeThe future is close
Presentazione Linea B2 progetto Tutti a Iscol@ 2017
Presentazione Linea B2 progetto Tutti a Iscol@ 2017Presentazione Linea B2 progetto Tutti a Iscol@ 2017
Presentazione Linea B2 progetto Tutti a Iscol@ 2017
CRS4 Research Center in Sardinia
 
Iscola linea B 2016
Iscola linea B 2016Iscola linea B 2016
Sequenziamento Esomico. Maria Valentini (CRS4), Cagliari, 18 Novembre 2015
Sequenziamento Esomico. Maria Valentini (CRS4), Cagliari, 18 Novembre 2015Sequenziamento Esomico. Maria Valentini (CRS4), Cagliari, 18 Novembre 2015
Sequenziamento Esomico. Maria Valentini (CRS4), Cagliari, 18 Novembre 2015
CRS4 Research Center in Sardinia
 
Near Surface Geoscience Conference 2015, Turin - A Spatial Velocity Analysis ...
Near Surface Geoscience Conference 2015, Turin - A Spatial Velocity Analysis ...Near Surface Geoscience Conference 2015, Turin - A Spatial Velocity Analysis ...
Near Surface Geoscience Conference 2015, Turin - A Spatial Velocity Analysis ...
CRS4 Research Center in Sardinia
 
GIS partecipativo. Laura Muscas e Valentina Spanu (CRS4), Cagliari, 21 Ottobr...
GIS partecipativo. Laura Muscas e Valentina Spanu (CRS4), Cagliari, 21 Ottobr...GIS partecipativo. Laura Muscas e Valentina Spanu (CRS4), Cagliari, 21 Ottobr...
GIS partecipativo. Laura Muscas e Valentina Spanu (CRS4), Cagliari, 21 Ottobr...
CRS4 Research Center in Sardinia
 
Alfonso Damiano (Università di Cagliari) ICT per Smart Grid
Alfonso Damiano (Università di Cagliari) ICT per Smart Grid Alfonso Damiano (Università di Cagliari) ICT per Smart Grid
Alfonso Damiano (Università di Cagliari) ICT per Smart Grid
CRS4 Research Center in Sardinia
 
Big Data Infrastructures - Hadoop ecosystem, M. E. Piras
Big Data Infrastructures - Hadoop ecosystem, M. E. PirasBig Data Infrastructures - Hadoop ecosystem, M. E. Piras
Big Data Infrastructures - Hadoop ecosystem, M. E. Piras
CRS4 Research Center in Sardinia
 
Big Data Analytics, Giovanni Delussu e Marco Enrico Piras
 Big Data Analytics, Giovanni Delussu e Marco Enrico Piras  Big Data Analytics, Giovanni Delussu e Marco Enrico Piras
Big Data Analytics, Giovanni Delussu e Marco Enrico Piras
CRS4 Research Center in Sardinia
 
Dinamica Molecolare e Modellistica dell'interazione di lipidi col recettore P...
Dinamica Molecolare e Modellistica dell'interazione di lipidi col recettore P...Dinamica Molecolare e Modellistica dell'interazione di lipidi col recettore P...
Dinamica Molecolare e Modellistica dell'interazione di lipidi col recettore P...
CRS4 Research Center in Sardinia
 
Innovazione e infrastrutture cloud per lo sviluppo di applicativi web e mobil...
Innovazione e infrastrutture cloud per lo sviluppo di applicativi web e mobil...Innovazione e infrastrutture cloud per lo sviluppo di applicativi web e mobil...
Innovazione e infrastrutture cloud per lo sviluppo di applicativi web e mobil...
CRS4 Research Center in Sardinia
 
ORDBMS e NoSQL nel trattamento dei dati geografici parte seconda. 30 Sett. 2015
ORDBMS e NoSQL nel trattamento dei dati geografici parte seconda. 30 Sett. 2015ORDBMS e NoSQL nel trattamento dei dati geografici parte seconda. 30 Sett. 2015
ORDBMS e NoSQL nel trattamento dei dati geografici parte seconda. 30 Sett. 2015
CRS4 Research Center in Sardinia
 
Sistemi No-Sql e Object-Relational nella gestione dei dati geografici 30 Sett...
Sistemi No-Sql e Object-Relational nella gestione dei dati geografici 30 Sett...Sistemi No-Sql e Object-Relational nella gestione dei dati geografici 30 Sett...
Sistemi No-Sql e Object-Relational nella gestione dei dati geografici 30 Sett...
CRS4 Research Center in Sardinia
 
Elementi di sismica a riflessione e Georadar (Gian Piero Deidda, UNICA)
Elementi di sismica a riflessione e Georadar (Gian Piero Deidda, UNICA)Elementi di sismica a riflessione e Georadar (Gian Piero Deidda, UNICA)
Elementi di sismica a riflessione e Georadar (Gian Piero Deidda, UNICA)
CRS4 Research Center in Sardinia
 
Near Surface Geoscience Conference 2014, Athens - Real-­time or full­‐precisi...
Near Surface Geoscience Conference 2014, Athens - Real-­time or full­‐precisi...Near Surface Geoscience Conference 2014, Athens - Real-­time or full­‐precisi...
Near Surface Geoscience Conference 2014, Athens - Real-­time or full­‐precisi...
CRS4 Research Center in Sardinia
 
SmartGeo/Eiagrid portal (Guido Satta, CRS4)
SmartGeo/Eiagrid portal (Guido Satta, CRS4)SmartGeo/Eiagrid portal (Guido Satta, CRS4)
SmartGeo/Eiagrid portal (Guido Satta, CRS4)
CRS4 Research Center in Sardinia
 
Luigi Atzori Metabolomica: Introduzione e review di alcune applicazioni in am...
Luigi Atzori Metabolomica: Introduzione e review di alcune applicazioni in am...Luigi Atzori Metabolomica: Introduzione e review di alcune applicazioni in am...
Luigi Atzori Metabolomica: Introduzione e review di alcune applicazioni in am...
CRS4 Research Center in Sardinia
 
Mobile Graphics (part2)
Mobile Graphics (part2)Mobile Graphics (part2)
Mobile Graphics (part2)
CRS4 Research Center in Sardinia
 
Mobile Graphics (part1)
Mobile Graphics (part1)Mobile Graphics (part1)
Mobile Graphics (part1)
CRS4 Research Center in Sardinia
 

More from CRS4 Research Center in Sardinia (20)

The future is close
The future is closeThe future is close
The future is close
 
The future is close
The future is closeThe future is close
The future is close
 
Presentazione Linea B2 progetto Tutti a Iscol@ 2017
Presentazione Linea B2 progetto Tutti a Iscol@ 2017Presentazione Linea B2 progetto Tutti a Iscol@ 2017
Presentazione Linea B2 progetto Tutti a Iscol@ 2017
 
Iscola linea B 2016
Iscola linea B 2016Iscola linea B 2016
Iscola linea B 2016
 
Sequenziamento Esomico. Maria Valentini (CRS4), Cagliari, 18 Novembre 2015
Sequenziamento Esomico. Maria Valentini (CRS4), Cagliari, 18 Novembre 2015Sequenziamento Esomico. Maria Valentini (CRS4), Cagliari, 18 Novembre 2015
Sequenziamento Esomico. Maria Valentini (CRS4), Cagliari, 18 Novembre 2015
 
Near Surface Geoscience Conference 2015, Turin - A Spatial Velocity Analysis ...
Near Surface Geoscience Conference 2015, Turin - A Spatial Velocity Analysis ...Near Surface Geoscience Conference 2015, Turin - A Spatial Velocity Analysis ...
Near Surface Geoscience Conference 2015, Turin - A Spatial Velocity Analysis ...
 
GIS partecipativo. Laura Muscas e Valentina Spanu (CRS4), Cagliari, 21 Ottobr...
GIS partecipativo. Laura Muscas e Valentina Spanu (CRS4), Cagliari, 21 Ottobr...GIS partecipativo. Laura Muscas e Valentina Spanu (CRS4), Cagliari, 21 Ottobr...
GIS partecipativo. Laura Muscas e Valentina Spanu (CRS4), Cagliari, 21 Ottobr...
 
Alfonso Damiano (Università di Cagliari) ICT per Smart Grid
Alfonso Damiano (Università di Cagliari) ICT per Smart Grid Alfonso Damiano (Università di Cagliari) ICT per Smart Grid
Alfonso Damiano (Università di Cagliari) ICT per Smart Grid
 
Big Data Infrastructures - Hadoop ecosystem, M. E. Piras
Big Data Infrastructures - Hadoop ecosystem, M. E. PirasBig Data Infrastructures - Hadoop ecosystem, M. E. Piras
Big Data Infrastructures - Hadoop ecosystem, M. E. Piras
 
Big Data Analytics, Giovanni Delussu e Marco Enrico Piras
 Big Data Analytics, Giovanni Delussu e Marco Enrico Piras  Big Data Analytics, Giovanni Delussu e Marco Enrico Piras
Big Data Analytics, Giovanni Delussu e Marco Enrico Piras
 
Dinamica Molecolare e Modellistica dell'interazione di lipidi col recettore P...
Dinamica Molecolare e Modellistica dell'interazione di lipidi col recettore P...Dinamica Molecolare e Modellistica dell'interazione di lipidi col recettore P...
Dinamica Molecolare e Modellistica dell'interazione di lipidi col recettore P...
 
Innovazione e infrastrutture cloud per lo sviluppo di applicativi web e mobil...
Innovazione e infrastrutture cloud per lo sviluppo di applicativi web e mobil...Innovazione e infrastrutture cloud per lo sviluppo di applicativi web e mobil...
Innovazione e infrastrutture cloud per lo sviluppo di applicativi web e mobil...
 
ORDBMS e NoSQL nel trattamento dei dati geografici parte seconda. 30 Sett. 2015
ORDBMS e NoSQL nel trattamento dei dati geografici parte seconda. 30 Sett. 2015ORDBMS e NoSQL nel trattamento dei dati geografici parte seconda. 30 Sett. 2015
ORDBMS e NoSQL nel trattamento dei dati geografici parte seconda. 30 Sett. 2015
 
Sistemi No-Sql e Object-Relational nella gestione dei dati geografici 30 Sett...
Sistemi No-Sql e Object-Relational nella gestione dei dati geografici 30 Sett...Sistemi No-Sql e Object-Relational nella gestione dei dati geografici 30 Sett...
Sistemi No-Sql e Object-Relational nella gestione dei dati geografici 30 Sett...
 
Elementi di sismica a riflessione e Georadar (Gian Piero Deidda, UNICA)
Elementi di sismica a riflessione e Georadar (Gian Piero Deidda, UNICA)Elementi di sismica a riflessione e Georadar (Gian Piero Deidda, UNICA)
Elementi di sismica a riflessione e Georadar (Gian Piero Deidda, UNICA)
 
Near Surface Geoscience Conference 2014, Athens - Real-­time or full­‐precisi...
Near Surface Geoscience Conference 2014, Athens - Real-­time or full­‐precisi...Near Surface Geoscience Conference 2014, Athens - Real-­time or full­‐precisi...
Near Surface Geoscience Conference 2014, Athens - Real-­time or full­‐precisi...
 
SmartGeo/Eiagrid portal (Guido Satta, CRS4)
SmartGeo/Eiagrid portal (Guido Satta, CRS4)SmartGeo/Eiagrid portal (Guido Satta, CRS4)
SmartGeo/Eiagrid portal (Guido Satta, CRS4)
 
Luigi Atzori Metabolomica: Introduzione e review di alcune applicazioni in am...
Luigi Atzori Metabolomica: Introduzione e review di alcune applicazioni in am...Luigi Atzori Metabolomica: Introduzione e review di alcune applicazioni in am...
Luigi Atzori Metabolomica: Introduzione e review di alcune applicazioni in am...
 
Mobile Graphics (part2)
Mobile Graphics (part2)Mobile Graphics (part2)
Mobile Graphics (part2)
 
Mobile Graphics (part1)
Mobile Graphics (part1)Mobile Graphics (part1)
Mobile Graphics (part1)
 

Recently uploaded

Randomised Optimisation Algorithms in DAPHNE
Randomised Optimisation Algorithms in DAPHNERandomised Optimisation Algorithms in DAPHNE
Randomised Optimisation Algorithms in DAPHNE
University of Maribor
 
(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...
(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...
(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...
Scintica Instrumentation
 
Applied Science: Thermodynamics, Laws & Methodology.pdf
Applied Science: Thermodynamics, Laws & Methodology.pdfApplied Science: Thermodynamics, Laws & Methodology.pdf
Applied Science: Thermodynamics, Laws & Methodology.pdf
University of Hertfordshire
 
waterlessdyeingtechnolgyusing carbon dioxide chemicalspdf
waterlessdyeingtechnolgyusing carbon dioxide chemicalspdfwaterlessdyeingtechnolgyusing carbon dioxide chemicalspdf
waterlessdyeingtechnolgyusing carbon dioxide chemicalspdf
LengamoLAppostilic
 
Sharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Sharlene Leurig - Enabling Onsite Water Use with Net Zero WaterSharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Sharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Texas Alliance of Groundwater Districts
 
GBSN - Biochemistry (Unit 6) Chemistry of Proteins
GBSN - Biochemistry (Unit 6) Chemistry of ProteinsGBSN - Biochemistry (Unit 6) Chemistry of Proteins
GBSN - Biochemistry (Unit 6) Chemistry of Proteins
Areesha Ahmad
 
SAR of Medicinal Chemistry 1st by dk.pdf
SAR of Medicinal Chemistry 1st by dk.pdfSAR of Medicinal Chemistry 1st by dk.pdf
SAR of Medicinal Chemistry 1st by dk.pdf
KrushnaDarade1
 
11.1 Role of physical biological in deterioration of grains.pdf
11.1 Role of physical biological in deterioration of grains.pdf11.1 Role of physical biological in deterioration of grains.pdf
11.1 Role of physical biological in deterioration of grains.pdf
PirithiRaju
 
The cost of acquiring information by natural selection
The cost of acquiring information by natural selectionThe cost of acquiring information by natural selection
The cost of acquiring information by natural selection
Carl Bergstrom
 
The debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically youngThe debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically young
Sérgio Sacani
 
Bob Reedy - Nitrate in Texas Groundwater.pdf
Bob Reedy - Nitrate in Texas Groundwater.pdfBob Reedy - Nitrate in Texas Groundwater.pdf
Bob Reedy - Nitrate in Texas Groundwater.pdf
Texas Alliance of Groundwater Districts
 
NuGOweek 2024 Ghent programme overview flyer
NuGOweek 2024 Ghent programme overview flyerNuGOweek 2024 Ghent programme overview flyer
NuGOweek 2024 Ghent programme overview flyer
pablovgd
 
Micronuclei test.M.sc.zoology.fisheries.
Micronuclei test.M.sc.zoology.fisheries.Micronuclei test.M.sc.zoology.fisheries.
Micronuclei test.M.sc.zoology.fisheries.
Aditi Bajpai
 
在线办理(salfor毕业证书)索尔福德大学毕业证毕业完成信一模一样
在线办理(salfor毕业证书)索尔福德大学毕业证毕业完成信一模一样在线办理(salfor毕业证书)索尔福德大学毕业证毕业完成信一模一样
在线办理(salfor毕业证书)索尔福德大学毕业证毕业完成信一模一样
vluwdy49
 
molar-distalization in orthodontics-seminar.pptx
molar-distalization in orthodontics-seminar.pptxmolar-distalization in orthodontics-seminar.pptx
molar-distalization in orthodontics-seminar.pptx
Anagha Prasad
 
Sciences of Europe journal No 142 (2024)
Sciences of Europe journal No 142 (2024)Sciences of Europe journal No 142 (2024)
Sciences of Europe journal No 142 (2024)
Sciences of Europe
 
Immersive Learning That Works: Research Grounding and Paths Forward
Immersive Learning That Works: Research Grounding and Paths ForwardImmersive Learning That Works: Research Grounding and Paths Forward
Immersive Learning That Works: Research Grounding and Paths Forward
Leonel Morgado
 
Basics of crystallography, crystal systems, classes and different forms
Basics of crystallography, crystal systems, classes and different formsBasics of crystallography, crystal systems, classes and different forms
Basics of crystallography, crystal systems, classes and different forms
MaheshaNanjegowda
 
快速办理(UAM毕业证书)马德里自治大学毕业证学位证一模一样
快速办理(UAM毕业证书)马德里自治大学毕业证学位证一模一样快速办理(UAM毕业证书)马德里自治大学毕业证学位证一模一样
快速办理(UAM毕业证书)马德里自治大学毕业证学位证一模一样
hozt8xgk
 
Pests of Storage_Identification_Dr.UPR.pdf
Pests of Storage_Identification_Dr.UPR.pdfPests of Storage_Identification_Dr.UPR.pdf
Pests of Storage_Identification_Dr.UPR.pdf
PirithiRaju
 

Recently uploaded (20)

Randomised Optimisation Algorithms in DAPHNE
Randomised Optimisation Algorithms in DAPHNERandomised Optimisation Algorithms in DAPHNE
Randomised Optimisation Algorithms in DAPHNE
 
(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...
(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...
(June 12, 2024) Webinar: Development of PET theranostics targeting the molecu...
 
Applied Science: Thermodynamics, Laws & Methodology.pdf
Applied Science: Thermodynamics, Laws & Methodology.pdfApplied Science: Thermodynamics, Laws & Methodology.pdf
Applied Science: Thermodynamics, Laws & Methodology.pdf
 
waterlessdyeingtechnolgyusing carbon dioxide chemicalspdf
waterlessdyeingtechnolgyusing carbon dioxide chemicalspdfwaterlessdyeingtechnolgyusing carbon dioxide chemicalspdf
waterlessdyeingtechnolgyusing carbon dioxide chemicalspdf
 
Sharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Sharlene Leurig - Enabling Onsite Water Use with Net Zero WaterSharlene Leurig - Enabling Onsite Water Use with Net Zero Water
Sharlene Leurig - Enabling Onsite Water Use with Net Zero Water
 
GBSN - Biochemistry (Unit 6) Chemistry of Proteins
GBSN - Biochemistry (Unit 6) Chemistry of ProteinsGBSN - Biochemistry (Unit 6) Chemistry of Proteins
GBSN - Biochemistry (Unit 6) Chemistry of Proteins
 
SAR of Medicinal Chemistry 1st by dk.pdf
SAR of Medicinal Chemistry 1st by dk.pdfSAR of Medicinal Chemistry 1st by dk.pdf
SAR of Medicinal Chemistry 1st by dk.pdf
 
11.1 Role of physical biological in deterioration of grains.pdf
11.1 Role of physical biological in deterioration of grains.pdf11.1 Role of physical biological in deterioration of grains.pdf
11.1 Role of physical biological in deterioration of grains.pdf
 
The cost of acquiring information by natural selection
The cost of acquiring information by natural selectionThe cost of acquiring information by natural selection
The cost of acquiring information by natural selection
 
The debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically youngThe debris of the ‘last major merger’ is dynamically young
The debris of the ‘last major merger’ is dynamically young
 
Bob Reedy - Nitrate in Texas Groundwater.pdf
Bob Reedy - Nitrate in Texas Groundwater.pdfBob Reedy - Nitrate in Texas Groundwater.pdf
Bob Reedy - Nitrate in Texas Groundwater.pdf
 
NuGOweek 2024 Ghent programme overview flyer
NuGOweek 2024 Ghent programme overview flyerNuGOweek 2024 Ghent programme overview flyer
NuGOweek 2024 Ghent programme overview flyer
 
Micronuclei test.M.sc.zoology.fisheries.
Micronuclei test.M.sc.zoology.fisheries.Micronuclei test.M.sc.zoology.fisheries.
Micronuclei test.M.sc.zoology.fisheries.
 
在线办理(salfor毕业证书)索尔福德大学毕业证毕业完成信一模一样
在线办理(salfor毕业证书)索尔福德大学毕业证毕业完成信一模一样在线办理(salfor毕业证书)索尔福德大学毕业证毕业完成信一模一样
在线办理(salfor毕业证书)索尔福德大学毕业证毕业完成信一模一样
 
molar-distalization in orthodontics-seminar.pptx
molar-distalization in orthodontics-seminar.pptxmolar-distalization in orthodontics-seminar.pptx
molar-distalization in orthodontics-seminar.pptx
 
Sciences of Europe journal No 142 (2024)
Sciences of Europe journal No 142 (2024)Sciences of Europe journal No 142 (2024)
Sciences of Europe journal No 142 (2024)
 
Immersive Learning That Works: Research Grounding and Paths Forward
Immersive Learning That Works: Research Grounding and Paths ForwardImmersive Learning That Works: Research Grounding and Paths Forward
Immersive Learning That Works: Research Grounding and Paths Forward
 
Basics of crystallography, crystal systems, classes and different forms
Basics of crystallography, crystal systems, classes and different formsBasics of crystallography, crystal systems, classes and different forms
Basics of crystallography, crystal systems, classes and different forms
 
快速办理(UAM毕业证书)马德里自治大学毕业证学位证一模一样
快速办理(UAM毕业证书)马德里自治大学毕业证学位证一模一样快速办理(UAM毕业证书)马德里自治大学毕业证学位证一模一样
快速办理(UAM毕业证书)马德里自治大学毕业证学位证一模一样
 
Pests of Storage_Identification_Dr.UPR.pdf
Pests of Storage_Identification_Dr.UPR.pdfPests of Storage_Identification_Dr.UPR.pdf
Pests of Storage_Identification_Dr.UPR.pdf
 

A Survey of Compressed GPU-based Direct Volume Rendering

  • 1. www.crs4.it/vic/ Visual Computing Group A Survey of Compressed GPU-based Direct Volume Rendering • Enrico Gobbetti • Jose Díaz • Fabio Marton June 2015
  • 2. www.crs4.it/vic/ Visual Computing Group A Survey of Compressed GPU-based Direct Volume Rendering • Enrico Gobbetti • Jose Díaz • Fabio Marton June 2015
  • 3. E. Gobbetti, F. Marton and J. Diaz Goal and motivation • Massive volumetric models anywhere! – Deal with time and memory limits • Compute compact representation of volumetric models suitable for fast GPU rendering – Focus on rectilinear scalar grids 3
  • 4. E. Gobbetti, F. Marton and J. Diaz • Visualization “The use of computer-supported, interactive, visual representations of (abstract) data to amplify cognition.” • Volume visualization – Discrete data samples in the 3D space • Represented as a 3D rectilinear grid – Applications • Medical science • Engineering • Earth science …… 3D grid of samples Evidence to study Output image Visualization Pipeline Introduction
  • 5. E. Gobbetti, F. Marton and J. Diaz Introduction http://gallery.ensight.com http://www.vizworld.com • Visualization “The use of computer-supported, interactive, visual representations of (abstract) data to amplify cognition.” • Volume visualization – Discrete data samples in the 3D space • Represented as a 3D rectilinear grid – Applications • Medical science • Engineering • Earth science ……
  • 6. E. Gobbetti, F. Marton and J. Diaz Introduction • Rendering methods – Indirect Volume Rendering • Isosurface extraction • Data mapped to geometric primitives • Rendering of geometry – Direct Volume Rendering (DVR) • No need of isosurface extraction • Data mapped to optical properties • Direct visualization by compositing optical properties (color, opacity)
  • 7. E. Gobbetti, F. Marton and J. Diaz Introduction • Direct Volume Rendering – Optical properties assigned by transfer functions • Color and opacity – Illumination may be added • Typically Phong shading model – Most used method: ray casting • Sampling along viewing rays • Compositing optical properties of the samples for each ray
  • 8. E. Gobbetti, F. Marton and J. Diaz Introduction • Direct Volume Rendering – Optical properties assigned by transfer functions • Color and opacity – Illumination may be added • Typically Phong shading model – Most used method: ray casting • Sampling along viewing rays • Compositing optical properties of the samples for each ray
  • 9. E. Gobbetti, F. Marton and J. Diaz Introduction • Direct Volume Rendering – Optical properties assigned by transfer functions • Color and opacity – Illumination may be added • Typically Phong shading model – Most used method: ray casting • Sampling along viewing rays • Compositing optical properties of the samples for each ray
  • 10. E. Gobbetti, F. Marton and J. Diaz Introduction • Visualization challenges – Present the information in a proper way • Transfer functions definition • Highlight features of interest • Deal with occlusions of outer elements • Convey the spatial arrangement … – Deal with the ever-increasing size of the data • Overcome hardware limitations – Bandwith – Memory consumption … – Provide a real-time exploration of the data …
  • 11. E. Gobbetti, F. Marton and J. Diaz Big Data ¨In information technology, big data is a collection of data sets so large and complex that it becomes difficult to process using on-hand database management tools or traditional data processing applications. The challenges include capture, curation, storage, search, sharing, analysis and visualization.¨ • Our interest – Very large 3D volume data 11
  • 12. E. Gobbetti, F. Marton and J. Diaz Big Data • Volume data growth 12 64 x 64 x 64 [Sabella 1988] 256 x 256 x 256 [Krüger 2003] 21494 x 25790 x 1850 [Hadwiger 2012]
  • 13. E. Gobbetti, F. Marton and J. Diaz Data size examples 13 Year Paper Data size Comments 2002 Guthe et al. 512 x 512 x 999 (500 MB) 2,048 x 1,216 x 1,877 (4.4 GB) multi-pass, wavelet compression, streaming from disk 2003 Krüger & Westermann 256 x 256 x 256 (32 MB) single-pass ray-casting 2005 Hadwiger et al. 576 x 352 x 1,536 (594 MB) single-pass ray-casting (bricked) 2006 Ljung 512 x 512 x 628 (314 MB) 512 x 512 x 3396 (1.7 GB) single-pass ray-casting, multi-resolution 2008 Gobbetti et al. 2,048 x 1,024 x 1,080 (4.2 GB) ‘ray-guided’ ray-casting with occlusion queries 2009 Crassin et al. 8,192 x 8,192 x 8,192 (512 GB) ray-guided ray-casting 2011 Engel 8,192 x 8,192 x 16,384 (1 TB) ray-guided ray-casting 2012 Hadwiger et al. 18,000 x 18,000 x 304 (92 GB) 21,494 x 25,790 x 1,850 (955 GB) ray-guided ray-casting visualization-driven system 2013 Fogal et al. 1,728 x 1,008 x 1,878 (12.2 GB) 8,192 x 8,192 x 8,192 (512 GB) ray-guided ray-casting
  • 14. E. Gobbetti, F. Marton and J. Diaz Scalability • Traditional HPC, parallel rendering definitions – Strong scaling (more nodes are faster for same data) – Weak scaling (more nodes allow larger data) • Our interest/definition: output sensitivity – Running time/storage proportional to size of output instead of input • Computational effort scales with visible data and screen resolution • Working set independent of original data size 14
  • 15. E. Gobbetti, F. Marton and J. Diaz Large-Scale Visualization Pipeline 15
  • 16. E. Gobbetti, F. Marton and J. Diaz Scalability Issues 16 Scalability issues Scalable method Data representation and storage Multi-resolution data structures Data layout, compression Work/data partitioning In-core/out-of-core Parallel, distributed Work/data reduction Pre-processing On-demand processing Streaming In-situ visualization Query-based visualization
  • 17. E. Gobbetti, F. Marton and J. Diaz Compressed DVR Example 17 Chameleon: 1024^3@16bit (2.1GB); Supernova: 432^3×60timesteps@float (18GB) Compression-domain Rendering from Sparse-Coded Voxel Blocks (EUROVIS2012)
  • 18. E. Gobbetti, F. Marton and J. Diaz Many use cases despite current growth in graphics memory • Still many «too large» datasets – Hires models, multi-scalar data, time-varying data, multi- volume visualization, … • Mobile graphics – Streaming, local rendering • Need for loading entire datasets on graphics memory – Fast animation – Cloud renderers with many clients 18
  • 19. E. Gobbetti, F. Marton and J. Diaz Overview
  • 20. E. Gobbetti, F. Marton and J. Diaz Compact Data Representation Models 20
  • 21. E. Gobbetti, F. Marton and J. Diaz Processing Methods and Architectures 21
  • 22. E. Gobbetti, F. Marton and J. Diaz Rendering Methods and Architectures 22
  • 23. E. Gobbetti, F. Marton and J. Diaz COMPACT DATA REPRESENTATION MODELS AND PROCESSING A Survey of Compressed GPU-based Direct Volume Rendering Next Session: 23
  • 24. www.crs4.it/vic/ Visual Computing Group • Enrico Gobbetti • Jose Díaz • Fabio Marton June 2015 A Survey of Compressed GPU-based Direct Volume Rendering Compact Data Representation Models
  • 25. E. Gobbetti, F. Marton and J. Diaz Compression-domain DVR • Trade-off: – achieve high compression ratio – high image quality • Reconstruct in real-time – fast data access – fast computations 25
  • 26. E. Gobbetti, F. Marton and J. Diaz Bases and Coefficients 26 show relationship between bases and original
  • 27. E. Gobbetti, F. Marton and J. Diaz Types of Bases 27 pre-defined bases learned bases DFT, DCT, DWT eigenbases (KLT, TA), dictionaries
  • 28. E. Gobbetti, F. Marton and J. Diaz Modeling Stages 28 stages that can be applied
  • 29. E. Gobbetti, F. Marton and J. Diaz Compact Models in DVR • Pre-defined bases – discrete Fourier transform (1990;1993) – discrete Hartley transform (1993) – discrete cosine transform (1995) – discrete wavelet transform (1993) – laplacian pyramid/transform (1995;2003) – Burrows-Wheeler transform (2007) • Learned bases – Karhunen-Loeve transform (2007) – tensor approximation (2010;2011) – dictionaries for vector quantization (1993;2003) – dictionaries for sparse coding (2012) – fractal compression (1996) 29 most models are lossy or near lossless (best achievement), but often used in a lossy version
  • 30. E. Gobbetti, F. Marton and J. Diaz Compact Models in DVR • Pre-defined bases – discrete Fourier transform – discrete Hartley transform – discrete cosine transform – discrete wavelet transform – laplacian pyramid/transform – Burrows-Wheeler transform • Learned bases – Karhunen-Loeve transform – tensor approximation – dictionaries for vector quantization – dictionaries for sparse coding – fractal compression 30
  • 31. E. Gobbetti, F. Marton and J. Diaz Wavelet Transform • Use a wavelet to represent data – similar to Fourier transform (represent data with sines/cosines) • A wavelet is a set of basis functions – high-pass and low-pass filtering • Data transform – into frequency domain AND spatial domain – enhanced compared to Fourier transform (only frequency domain) 31
  • 32. E. Gobbetti, F. Marton and J. Diaz 32 2D Wavelet Example multilevel DWT low frequency coefficients of level l high frequency coefficients of level l
  • 33. E. Gobbetti, F. Marton and J. Diaz Wavelet full reconstruction 34
  • 34. E. Gobbetti, F. Marton and J. Diaz Quantized wavelet reconstruction 1 35
  • 35. E. Gobbetti, F. Marton and J. Diaz Quantized wavelet reconstruction 2 36
  • 36. E. Gobbetti, F. Marton and J. Diaz Quantized wavelet reconstruction 3 37
  • 37. E. Gobbetti, F. Marton and J. Diaz Quantized wavelet reconstruction 4 38
  • 38. E. Gobbetti, F. Marton and J. Diaz 39 Dictionaries
  • 39. E. Gobbetti, F. Marton and J. Diaz 40 dictionary Dictionaries ... words used to represent an approximated volume
  • 40. E. Gobbetti, F. Marton and J. Diaz 41 Dictionaries • Basic idea – many subblocks have a similar pattern – search for each subblock a codeword that best represents this subblock – volume is represented with index list – fast decompression (table-lookup) – codewords can be pre-defined or learned – lossless or lossy • Main challenge – find good codewords – find a fast algorithm for dictionary generation store indices to codewords M codewords volume divided into subblocks
  • 41. E. Gobbetti, F. Marton and J. Diaz 42 Vector Quantization (VQ) • Vector represents subblock • Limit number of codewords M
  • 42. E. Gobbetti, F. Marton and J. Diaz DICTIONARY Vector Quantization 43
  • 43. E. Gobbetti, F. Marton and J. Diaz Hierarchical VQ • For each block store: – Average Value – ∆ Delta to first level – ∆ Delta to second level 45 LaplacianFilter
  • 44. E. Gobbetti, F. Marton and J. Diaz • Store differences in a multiresolution data structure – block-based two-level laplacian pyramid • Produce blocks of different frequency bands • High frequency bands are compressed using VQ • Covariance approach for dictionary generation – splitting by PCA • Similar: VQ and Karhunen-Loeve transform (KLT) 46 Hierarchical VQ
  • 45. E. Gobbetti, F. Marton and J. Diaz Sparse Coding • Data-specific representation in which each block is represented by a sparse linear combination of few dictionary elements – State-of-the-art in sparse coding [Rubinstein et al. 10] – Compression is achieved by storing just indices and their magnitudes 47
  • 46. E. Gobbetti, F. Marton and J. Diaz DICTIONARY Sparse Coding 48 Generalization of VQ: data is represented with a linear combination of codewords B = c0 * D[a0] + c1 * D[a1] + c2 * D[a2]
  • 47. E. Gobbetti, F. Marton and J. Diaz Sparse Coding • The problem • Generalization of vector quantization – Combine vectors instead of choosing single ones – Overcomes limitations due to dictionary sizes • Generalization of data-specific bases – Dictionary is an overcomplete basis – Sparse projection 49
  • 48. E. Gobbetti, F. Marton and J. Diaz Sparse Coding • Represent each block as linear combination of s blocks from an overcomplete dictionary – The dictionary can be learned or predefined (e.g., wavelet) – Learned dictionaries typically perform better (but optimal ones are hard to compute) • Basic idea is that the dictionary is sparsifying – Few dictionary elements can be combined to get good approximations • Combines the benefits of – Dictionaries – Projection onto bases 50
  • 49. E. Gobbetti, F. Marton and J. Diaz 53 • Higher-order singular value decomposition – here: so-called Tucker model used for TA (eigenbases) Tensor Approximation (TA) coefficients (core tensor) bases (factor matrices) approximation spatial dimensions multilinear ranks
  • 50. E. Gobbetti, F. Marton and J. Diaz 55 Feature Extraction with WT and TA 2‘200‘000 coeff. 310‘000 coeff. 57‘500 coeff. 16’500 coeff. original size: 2563 = 16’777‘216 T multiscale dental growth structures
  • 51. E. Gobbetti, F. Marton and J. Diaz Truncation and Quantization • Lossy – typically, we loose most information during this stage • Truncation – threshold insignificant coefficients – threshold insignificant bases • Quantization – floating point to integer conversion – vector quantization (fewer codewords) 56
  • 52. E. Gobbetti, F. Marton and J. Diaz 57 Example: Truncate TA Bases truncate high ranks truncate low ranks
  • 53. E. Gobbetti, F. Marton and J. Diaz K-SVD vs HVQ vs Tensor • Comparison of state-of-the-art GPU-based decompression methods
  • 54. E. Gobbetti, F. Marton and J. Diaz Sparse Coding vs HVQ vs Tensor • Comparison of state-of-the-art GPU-based decompression methods SPARSE CODING HVQ TA
  • 55. E. Gobbetti, F. Marton and J. Diaz Sparse Coding Compression Results 60
  • 56. E. Gobbetti, F. Marton and J. Diaz 61 Encoding Models • Lossless • RLE – count number of equal values • Entropy encoding – short code for frequent words; long code for infrequent words – Huffman coding, arithmetic coding, ... – avoid inconvenient data access • fixed-length Huffman coding combined with RLE • significance maps (wavelets) • decode before rendering • Many Hybrids
  • 57. E. Gobbetti, F. Marton and J. Diaz 62 Hardware Encoding Models • Block truncation coding (texture compression) – volume texture compression (VTC); 3D extension of S3TC – ETC2 – adaptive scalable texture (AST)
  • 58. E. Gobbetti, F. Marton and J. Diaz 63 Time-varying Data • Compression even needed more • Three categories – extend compression approach from 3D to 4D – use other approach for 4th dimension – encode each time step separately • Hybrids of the above
  • 59. E. Gobbetti, F. Marton and J. Diaz 64 Model Summary • Wavelet transform ... – is good for smoothed averaging (multiresolution) • Vector quantization ... – makes a very fast reconstruction possible – fast data access – can be combined with various methods to generate the dictionary • Sparse coding – sparse linear combination of dictionary words – fast decompression, high compression rates • Tensor approximation ... – is good for multiresolution and multiscale DVR – feature extraction at multiple scales
  • 60. E. Gobbetti, F. Marton and J. Diaz 65 Conclusions • Recently mostly learned bases – variants of eigenbases are popular – hybrid forms of dictionaries (VQ, multiresolution, sparse coding) • Variable compression ratio – from near lossless to extremely lossy • Hardware accelerated models – block truncation coding (texture compression models) • Various stages of compact modeling CAN be applied – transform or decomposition – truncation – quantization – encoding
  • 61. www.crs4.it/vic/ Visual Computing Group A Survey of Compressed GPU-based Direct Volume Rendering Processing and Encoding • Enrico Gobbetti • Jose Díaz • Fabio Marton June 2015
  • 62. E. Gobbetti, F. Marton and J. Diaz Processing and Encoding 67
  • 63. E. Gobbetti, F. Marton and J. Diaz A scalable algorithm! 68 • Able to face huge datasets – O(10^10) samples, and more • Scalable approach in terms of – Memory – Times • Required features: – Out-of-Core – Asymmetric codecs – Parallel settings – High quality coding (depends on representation) Input Volume Bricked Compressed Volume
  • 64. E. Gobbetti, F. Marton and J. Diaz Static and time-varying data • Static datasets – Handle 3D volume – typically uses 3D bricked representation – Mostly octree or flat multires blocking • Dynamic datasets – Uses techniques similar to static dataset – Three approaches • Separate encoding of each timestep • Static compression method extended from 3D to 4D data • Treat in different way 3D data and the time dimension as in video encoding 69
  • 65. E. Gobbetti, F. Marton and J. Diaz Output volume • Bricked – Fast local and transient decompression – Visibility – Empty space skipping – Early ray termination • Compressed – Bandwidth – GPU memory • LOD – adaptive rendering 70 Compressed block
  • 66. E. Gobbetti, F. Marton and J. Diaz Output volume • Bricked – Fast local and transient decompression – Visibility – Empty space skipping – Early ray termination • Compressed – Bandwidth – GPU memory • LOD – adaptive rendering 71 Compressed block
  • 67. E. Gobbetti, F. Marton and J. Diaz Processing: two phases • Processing depends on data representation – Pre-defined bases … – Learned bases … • Global processing (some methods) – Access all the dataset (works on billions of samples) – Learn some representation • Local Processing (all methods) – Access independent blocks – Encode [possibly using global phase representation] 72
  • 68. E. Gobbetti, F. Marton and J. Diaz Processing: two phases • Processing depends on data representation – Pre-defined bases … – Learned bases … • Global processing (some methods) – Access all the dataset (works on billions of samples) – Learn some representation • Local Processing (all methods) – Access independent blocks – Encode [possibly using global phase representation] 73
  • 69. E. Gobbetti, F. Marton and J. Diaz Global Processing • Find representation by globally analyzing whole dataset – Early transform coding methods [Levoy’92, Malzbender’93] • … but modern methods apply transforms to small regions – All dictionary based methods • Also combined with other transformations • Main problems – Analyze all data within available resources – Huge dataset introduce numerical instability problems 74
  • 70. E. Gobbetti, F. Marton and J. Diaz Finding a dictionary for huge datasets: solutions • Online learning – Streaming all blocks • Splitting into manageable tiles – Separate dictionary per tile • Coreset / importance sampling – Work on representative weighted subsets 75
  • 71. E. Gobbetti, F. Marton and J. Diaz Global phase: Online Learning 76 State Processor Dictionary N Iterations Streaming all input blocks • How it works – Does not require concurrent access to all elements – Stream over all elements – Keep only local statistics => bounded memory! – Iterates streaming multiple times
  • 72. E. Gobbetti, F. Marton and J. Diaz Global phase: Online Learning • Main example: Vector Quantization – Find blocks representative of all the elements • Classic approach: generalized Lloyd algorithm: – [Linde 80, Lloyd 82] – Based on 2 conditions: • Given a codebook the optimal codevector is found with nearest neighbor • Given a codevector the optimal codebook is the centroid of the partition – Starting from initial partition and iterate until convergence: • Associate all the vectors to corresponding cells • Cells are updated to the centroids 77
  • 73. E. Gobbetti, F. Marton and J. Diaz Global phase: Online Learning • Vector quantization: convergence depends on initial partition – Good starting point: initial codevectors based on PCA analysis (also in streaming!) [Schneider 03,Knittel et al. 09] • Each new seed is inserted in cell with max residual distortion; split plane selected with PCA of the cell producing two cells with similar residual distortion – Also applied hierarchically [Schneider 03] • Similar concepts applied to online learning for sparse coding – [Mairal 2010, Skretting 2010] 78
  • 74. E. Gobbetti, F. Marton and J. Diaz Global phase: Online Learning • Pros – Easy to implement – Does not incur in memory limitations • Cons – Slow due to number of iterations on many data values (slow convergence) – Slow because of out-of-core operations • Used by – Vector quantization – Sparse coding (but better results working on the full dataset) – … 79
  • 75. E. Gobbetti, F. Marton and J. Diaz Global phase: Splitting • Split dataset into manageable tiles – Process each tile independently – Produce representation for each tile 80 Dictionary Global Processor Dictionary Global Processor Dictionary Global Processor Dictionary Global Processor Dictionary Global Processor Dictionary Global Processor Dictionary Global Processor Dictionary Global Processor
  • 76. E. Gobbetti, F. Marton and J. Diaz Global phase: Splitting • Example: Transform Coding [Fout 07] • Whole dataset subdivided in tiles, for each tile – Transformed with Karhunen-Loeve • Low frequencies contain significative representation – Encode with VQ (then decoded) – Residual encoded, iterated to store 3 representations: • Low-pass • Band-pass • High-pass – Low-pass enough to encode most of the elements – Inverse transform computationally intensive: • Data is reprojected during preprocessing. • Reprojections stored into codebook instead of coefficients 81
  • 77. E. Gobbetti, F. Marton and J. Diaz Global phase: Splitting • Pros – Reasonably simple to implement – Permit to solve with global algorithm – High quality per tile • Cons – Discontinuity at tile boundaries – Need to handle multiple contexts at rendering time – Many active dictionary could lead to cache overflow at rendering time – Scalability limits • Used by – Most dictionary based methods 82
  • 78. E. Gobbetti, F. Marton and J. Diaz Dictionary Global phase: Coreset/Importance Sampling • Build dictionary on smartly subsampled and reweighted subset of input data – Coreset concept [Agarwal’05] – Take a few representative subblocks from original model – Higher probability for more representative samples – Sample reweighting to remove bias – Use global method on coreset 83 Global Processor Importance sampler
  • 79. E. Gobbetti, F. Marton and J. Diaz Global phase: Coreset/Importance Sampling • Example: learning dictionary for sparse coding of volume blocks • K-SVD algorithm is extremely efficient on moderate size data – [Aharon et al. 2006] – K-means generalization alternating • sparse coding of signals in X, producing Γ given current D • updates of D given the current sparse representations – Update phase needs to solve linear systems of size proportional to number of training signals! • Use coreset concept! – [Feldman & Langberg 11, Feigin et al. 11, Gobbetti ‘12] 84
  • 80. E. Gobbetti, F. Marton and J. Diaz Global phase: Coreset/Importance Sampling • We associate an importance to each of the original blocks , being the standard deviation of the entries in – Picking C elements with probability proportional to – See [Gobbetti 12] methods for coreset building and training using few streaming passes • Non-uniform sampling introduces a severe bias – Scale each selected block by a weight where is the associated probability – Applying K-SVD to scaled coefficients will converge to a dictionary associated with the original problem 85
  • 81. E. Gobbetti, F. Marton and J. Diaz Global phase: Coreset/Importance Sampling • Coreset scalability 86
  • 82. E. Gobbetti, F. Marton and J. Diaz Global phase: Coreset/Importance Sampling • Pros – Proved to work extremely well for KSVD – Extremely scalable – No extra run-time overhead • Cons – Importance concept needs refinement especially for structured data – Tested so far only on limited datasets and few representations. – Needs more testing in multiple contexts • Used by – KSVD, VQ, HVQ 87
  • 83. E. Gobbetti, F. Marton and J. Diaz Processing: two phases • Processing depends on data representation – Pre-defined bases … – Learned bases … • Global processing (some methods) – Access all the dataset (works on billions of samples) – Learn some representation • Local Processing (all methods) – Access independent blocks – Encode [possibly using global phase representation] 88
  • 84. E. Gobbetti, F. Marton and J. Diaz Local phase: Independent Block Encoding • Input model M is split into blocks B0…Bi • For each block Bi – Possibly use information gathered during the global phase (e.g. dictionaries) – Find the transformation/combination/representation that best fits the data – Store in the DB 89 Local Processing DB B0 … Bi M B0 B1 B2 B3
  • 85. E. Gobbetti, F. Marton and J. Diaz Local phase: Compression models • Pre-defined bases – discrete Fourier transform (1990;1993) – discrete Hartley transform (1993) – discrete cosine transform (1995) – discrete wavelet transform (1993) – laplacian pyramid/transform (1995;2003) – Burrows-Wheeler transform (2007) • Learned bases – Karhunen-Loeve transform (2007) – tensor approximation (2010;2011) – dictionaries for vector quantization (1993;2003) – dictionaries for sparse coding (2012) – fractal compression (1996) 90
  • 86. E. Gobbetti, F. Marton and J. Diaz Local phase: Compression models • Pre-defined bases – discrete Fourier transform (1990;1993) – discrete Hartley transform (1993) – discrete cosine transform (1995) – discrete wavelet transform (1993) – laplacian pyramid/transform (1995;2003) – Burrows-Wheeler transform (2007) • Learned bases – Karhunen-Loeve transform (2007) – tensor approximation (2010;2011) – dictionaries for vector quantization (1993;2003) – dictionaries for sparse coding (2012) – fractal compression (1996) 91
  • 87. E. Gobbetti, F. Marton and J. Diaz Local phase: Discrete Wavelet Transform • Projecting into a set of pre-defined bases – Concentrates most of the signal in a few low-frequency components • Quantizing the transformed data can significantly reduce data size – Error threshold • Entropy coding techniques are used for further reducing size – Exploiting data correlation 92
  • 88. E. Gobbetti, F. Marton and J. Diaz Local phase: Discrete Wavelet Transform • B-Spline wavelets [Lippert 97] – Wavelet coefficients and positions (splatting) – Delta encoding, RLE and Huffman coding • Hierarchical partition (blocks/sub-blocks) – 3D Haar wavelet, delta encoding, quantization, RLE and Huffman [Ihm ‘99, Kim ‘99] – Biorthogonal 9/7-tap Daubechies and biorthogonal spline wavelets [Nguyen ‘01, Guthe ‘02] – FPGA Hw deco [Wetekam ‘05] – 3D dyadic wavelet transform [Wu ‘05] • Separated correlated slices – Temporal/spatial coherence [Rodler ‘99] 93 Wavelets are not trivial to decode in GPU
  • 89. E. Gobbetti, F. Marton and J. Diaz Local phase: Tensor approximation • Tensor decomposition is applied to N-dim input dataset – Tucker model [Suter ‘11] – Product of N basis matrices and a N-dimensional core tensor – HOSVD (Higher-order singular value decomposition) • Applied along every direction of input data • Iterative process for finding the core tensor – Represents a projection of the input dataset – Core tensor coefficients show the relationship between original data and bases 94
  • 90. E. Gobbetti, F. Marton and J. Diaz Local phase: Tensor approximation • Tensor decomposition (Tucker model) TA = B x U(1) x U(2) x U(3) – Decomposition obtained through HOSVD or HOOI (higher-order orthogonal iteration) – HOOI also produces rank-reduction – Target is core tensor B (B is element of RR1xR2xR3 with Ri < Ii) – After each iteration Ranki <= Ranki-1 – Core tensor is produced when the matrices cannot be further optimized • [Suter 2011] Tensor decomposition coefficients are quantized: 8bit encoding for core tensor coefficients, 16bit encoding for basis matrices 95 Convergence can be hard to achieve on large blocks
  • 91. E. Gobbetti, F. Marton and J. Diaz Local phase: Dictionary based methods • Vector Quantization – Hierarchical Vector Quantization – Local phase simple (nearest neighbor search) • Sparse coding – NP-hard problem – Several efficient greedy pursuit approximation algorithms [Elad ‘10] – Order-Recursive Matching Pursuit(ORMP) via Choleski Decomposition [Gobbetti ‘12] 96
  • 92. E. Gobbetti, F. Marton and J. Diaz Quantization and encoding • Further reduce data size – Quantization – Variable/fixed length encoding • Variable length encoding used in early compression algorithms – High compression rates / typically decoded in CPU prior to GPU data upload – Good for leveraging network and disk access times • Fixed length encoding is more well suited for GPU algorithms – Regular memory access schema allows better GPU parallelization • Fixed length Huffman + RLE provide high decompression speed [Guthe ‘02, Shen ‘06, Ko ‘08] 97
  • 93. E. Gobbetti, F. Marton and J. Diaz Preprocessing of Time-varying Data • Data structures combining spatial/temporal or temporal/spatial domain grouping – Time Space Partitioning Tree [Ma ‘00] – Wavelet-based TSP [Wang ‘04, Shen ‘06] – Hierarchical structure for each time step + spatial grouping and encoding [Westermann ‘95, Wang ‘10] 98
  • 94. E. Gobbetti, F. Marton and J. Diaz Preprocessing of Time-varying Data • Video-based encoding – Delta encoding with respect to previous frame [Mensmann ‘10, She ‘11] (+Quantization/LZO or HVQ) – Intra coded frame or predictive frame (e.g. Haar wavelet / delta encoding + wavelet) [Ko ‘08, Jang ‘12] • Wavelet transform was frequently applied to time- varying volume data – [Westermann ‘95.. Many others, see paper for details] 99
  • 95. E. Gobbetti, F. Marton and J. Diaz Preprocessing summary • Asymmetric codecs – Most heavy work should be done at preprocessing time • Specialized encoding techniques trade compression performance with reconstruction speed (e.g., partial projections for KLT decoding) • Global and local phases – Most challenging part is global processing (heavy, hard) • Recently coreset approaches in addition to online learning or splitting – Promising, need more research • Many model specific methods – Fixed bases relatively standard – Recently more focus on computation methods for learned bases (tensors, sparse coding) – GPU decoding constrains type of transformations (e.g., variable lenght codes still hard) 100
  • 96. E. Gobbetti, F. Marton and J. Diaz Next: Rendering 101
  • 97. www.crs4.it/vic/ Visual Computing Group A Survey of Compressed GPU-based Direct Volume Rendering Decoding and Rendering • Enrico Gobbetti • Jose Díaz • Fabio Marton June 2015
  • 98. E. Gobbetti, F. Marton and J. Diaz Decoding and Rendering • Introduction • Architectures • Decoding of compact representations • Conclusions
  • 99. E. Gobbetti, F. Marton and J. Diaz Introduction 105 Slicing [Guthe’04] Raycasting [Kaehler ‘06] RenderingRuntimePreprocessing 0 L Compressed Multiresolution Data Structure Criteria: transfer-function view-dependent  Small blocks overhead
  • 100. E. Gobbetti, F. Marton and J. Diaz Introduction • Out-of-core GPU methods – Adaptively traverse space-partitioned GPU data structures covering the full working set Flat-multiresolution blocking [Ljung’06]
  • 101. E. Gobbetti, F. Marton and J. Diaz Introduction • Out-of-core GPU methods – Adaptively traverse space-partitioned GPU data structures covering the full working set • Data structures – Grids • Uniform or non-uniform – Hierarchical grids • Pyramid of uniform grids • Bricked 2D/3D mipmaps Uniform grid Bricked mipmap
  • 102. E. Gobbetti, F. Marton and J. Diaz Introduction • Out-of-core GPU methods – Adaptively traverse space-partitioned GPU data structures covering the full working set • Data structures – Tree structures • KD-tree • Quadtree • Octree Octree wikipedia.org
  • 103. E. Gobbetti, F. Marton and J. Diaz Introduction • Out-of-core GPU structures – Adaptively traverse space-partitioned GPU data structures covering the full working set Out-of-core GPU octree structure [Gobbetti’08, Crassin‘09]
  • 104. E. Gobbetti, F. Marton and J. Diaz Introduction • Per-block multiresolution – Each block is encoded using a few levels-of-detail • E.g. HVQ [Schneider’03] • Global and per-block multiresolution – FPGA Wavelet + Huffman encoding [Wetekam’05] • DVR requires interactive performance – We need decompression to be in real-time • Asymmetric schemes oriented to work in GPU – Interaction between decompression and rendering • Bottleneck: GPU memory and bandwidth 110
  • 105. E. Gobbetti, F. Marton and J. Diaz Adaptive out-of-core octree DVR 111
  • 106. E. Gobbetti, F. Marton and J. Diaz Compressed DVR Example 112 Chameleon: 1024^3@16bit (2.1GB); Supernova: 432^3×60timesteps@float (18GB) Compression-domain Rendering from Sparse-Coded Voxel Blocks (EUROVIS2012)
  • 107. E. Gobbetti, F. Marton and J. Diaz RENDERING ARCHITECTURES 113
  • 108. E. Gobbetti, F. Marton and J. Diaz Architecture 114 • Typical architecture for massive datasets
  • 109. E. Gobbetti, F. Marton and J. Diaz Working Set Determination 115 • Traditional methods – Global attribute-based culling (view-independent) • Cull against transfer function, iso value, enabled objects, etc. – View frustum culling (view-dependent) • Cull bricks outside the view frustum – Occlusion culling? • Modern methods – Visibility determined during ray traversal – Rays determine working set directly
  • 110. E. Gobbetti, F. Marton and J. Diaz Working Set Determination (Traditional) 116 • Global attribute-based culling – Cull bricks based on attributes; view-independent • Transfer function • Iso value • Enabled segmented objects – Often based on min/max bricks • Empty space skipping • Skip loading of ‘empty’ bricks • Speed up on-demand spatial queries
  • 111. E. Gobbetti, F. Marton and J. Diaz Working Set Determination (Traditional) 117 • View frustum, occlusion culling – Cull all bricks against view frustum – Cull all occluded bricks – View-dependent
  • 112. E. Gobbetti, F. Marton and J. Diaz Working Set Determination (Modern) 118 • Visibility determined during ray traversal – Implicit view frustum culling (no extra step required) – Implicit occlusion culling (no extra steps or occlusion buffers)
  • 113. E. Gobbetti, F. Marton and J. Diaz Working Set Determination (Modern) 119 • Rays determine working set directly – Each ray writes out list of bricks it requires (intersects) front- to-back – Use modern OpenGL extensions (GL_ARB_shader_storage_buffer_object, …)
  • 114. E. Gobbetti, F. Marton and J. Diaz Architecture 120 • Rendering
  • 115. E. Gobbetti, F. Marton and J. Diaz Rendering Techniques 121 • Texture slicing [Cullip and Neumann ’93, Cabral et al. ’94, Rezk-Salama et al. ‘00] –  Minimal hardware requirements (can run on WebGL) –  Visual artifacts, less flexibility
  • 116. E. Gobbetti, F. Marton and J. Diaz Rendering Techniques 122 • GPU ray-casting [Röttger et al. ‘03, Krüger and Westermann ‘03] –  standard image order approach, embarrassingly parallel –  supports many performance and quality enhancements
  • 117. E. Gobbetti, F. Marton and J. Diaz Rendering Techniques 123 • Large volume data rendering – Octree rendering based on texture-slicing • [LaMar et al. ’99, Weiler et al. ’00, Guthe et al. ’02] – Bricked single-pass ray-casting • [Hadwiger et al. ’05, Beyer et al. ’07] – Bricked multi-resolution single-pass ray-casting • [Ljung et al. ’06, Beyer et al. ’08, Jeong et al. ’09] – Optimized CPU ray-casting • [Knoll et al. ’11] – GPU octree traversal single-pass ray-casting • [Gobbetti et al. ’12]
  • 118. E. Gobbetti, F. Marton and J. Diaz Architecture 124 • Decompression on CPU before rendering
  • 119. E. Gobbetti, F. Marton and J. Diaz Decompression on CPU before rendering • Decompression (generally lossless) of data streams – E.g. Wavelet-based time-space partitioning [Shen et al. 2006] •  Reduces the storage needs •  Support faster and remote access to data 125
  • 120. E. Gobbetti, F. Marton and J. Diaz Decompression on CPU before rendering • Decompression (generally lossless) of data streams – E.g. Wavelet-based time-space partitioning [Shen et al. 2006] •  Large memory resources needed •  Inefficient use of the GPU memory bandwidth •  CPU decompression is generally not sufficient for time-varying datasets • Common in hybrid architectures [Nagayasu’08, Mensmann’10] 126
  • 121. E. Gobbetti, F. Marton and J. Diaz Architecture 127 • Decompression on GPU before rendering
  • 122. E. Gobbetti, F. Marton and J. Diaz Decompression on GPU before rendering •  Speed-up decompression by using the GPU – Full working set decompression • [Wetekam’05, Mensmann’10, Suter’11] •  Works for time-varying data – … but each single time step should fit in the GPU memory and has to be decoded fast enough •  Limit the maximum working set size … – … to its size in uncompressed format 128
  • 123. E. Gobbetti, F. Marton and J. Diaz Architecture 129 • Decompression during rendering
  • 124. E. Gobbetti, F. Marton and J. Diaz Decompression during rendering • Decoding occurs on-demand during the rendering process – The entire dataset is never fully decompressed – Data travels in compressed format from the CPU to the GPU •  Make the most of the available memory bandwidth • On-demand, fast and spatially independent decompression on the GPU: – Pure random-access – Local and transient decoding 130
  • 125. E. Gobbetti, F. Marton and J. Diaz Pure random-access • Data decompression is performed each time the renderer needs to access to a single voxel – Directly supported by the GPU • Fixed-rate block-coding methods – E.g. OpenGL VTC [Craighead’04], ASTC [Nystad’12] • GPU implementations of per-block scalar quantization – [Yela’08, Iglesias’10] 131
  • 126. E. Gobbetti, F. Marton and J. Diaz Pure random-access • Data decompression is performed each time the renderer needs to access to a single voxel – Not supported by the GPU but easily implemented over it • GPU implementations of VQ and HVQ – [Schneider’03, Fout’07] •  Costly in performance •  Rarely implement multisampling or HQ shading – For this they rely on deferred filtering architectures 132
  • 127. E. Gobbetti, F. Marton and J. Diaz Local and transient decoding • Partial working set decompression • Interleaving of decoding and rendering •  Exploit better the GPU memory resources 133
  • 128. E. Gobbetti, F. Marton and J. Diaz Deferred filtering • Deferred filtering solutions [Fout’05, Wang’10] – Exploit spatial coherence and supports high-quality shading – Decompress groups of slices which can be reused during rendering for gradient and shading computations – Proposed as single resolution 134
  • 129. E. Gobbetti, F. Marton and J. Diaz Deferred filtering (single resolution) 135 Rendering from a Custom Memory Format Using Deferred Filtering [Kniss’05] Gradient computation using central differences [Fout’05]
  • 130. E. Gobbetti, F. Marton and J. Diaz Deferred filtering (multiresolution) • Extended deferred filtering to work with multiresolution data structures [Gobbetti’12] • Frame-buffer combination of partial portions of an octree 136 Deferred Filtering of an octree structure in GPU [Gobbetti’12] 136
  • 131. E. Gobbetti, F. Marton and J. Diaz Multiresolution deferred filtering in 3 passes • Octree: 1. Adaptive refinement • Multiresolution 2. Partitioning into subtrees • Constraint: GPU cache size • Bottom-up recombination of subtrees in GPU cache 3. Subtree decompression, raycasting and compositing • Front-to-back octree traversal – real-time 137137137 Framebuffer 1 2 3 4 5 6 7
  • 132. E. Gobbetti, F. Marton and J. Diaz COVRA: multiresolution deferred filtering 138138138
  • 133. E. Gobbetti, F. Marton and J. Diaz Deblocking •Wide range of compressed GPU volume renderers based on block-transform coding – Blocks are compressed and decompressed individually – Allow adaptive data loading – Decoding performed in parallel for different volume parts – Real-time performance thanks to parallel computing •Main issue – High compression ratios may produce artifacts between adjacent blocks
  • 134. E. Gobbetti, F. Marton and J. Diaz Deblocking •Wide range of compressed GPU volume renderers based on block-transform coding – Blocks are compressed and decompressed individually – Allow adaptive data loading – Decoding performed in parallel for different volume parts – Real-time performance thanks to parallel computing •Main issue – High compression ratios may produce artifacts between adjacent blocks
  • 135. E. Gobbetti, F. Marton and J. Diaz Deblocking •Wide range of compressed GPU volume renderers based on block-transform coding – Blocks are compressed and decompressed individually – Allow adaptive data loading – Decoding performed in parallel for different volume parts – Real-time performance thanks to parallel computing •General issue – High compression ratios may produce artifacts between adjacent blocks
  • 136. E. Gobbetti, F. Marton and J. Diaz • Filter decompressed data before rendering – Smooth transition across boundaries – Good balance artifact removal / feature preservation – Low impact on performance Main idea
  • 137. E. Gobbetti, F. Marton and J. Diaz Deblocking architecture •Compressed data – Volume octree of bricks divided into small blocks •At run-time – LOD selection and uploading of blocks to the GPU
  • 138. E. Gobbetti, F. Marton and J. Diaz Deblocking architecture •For each frame – Subdivision into slabs orthogonal to the main view direction – Decompression / deblocking / rendering of each slab – Accumulation of the result into the frame buffer • Ray casting algorithm - Front-to-back order
  • 139. E. Gobbetti, F. Marton and J. Diaz Results 9/14
  • 140. E. Gobbetti, F. Marton and J. Diaz Results Johns Hopkins Turbulence simulation (512 time steps) 512 x 512 x 512 32 bit 256 GB uncompressed K-SVD [Gobbetti et al. 10] Compressed to 1.6 MB (0.2 bps) (block size = 8, K = 4, D = 1024)
  • 141. E. Gobbetti, F. Marton and J. Diaz Summary: Rendering Architectures • Decompression on CPU before rendering • Decompression on GPU before rendering • Decompression during rendering 147
  • 142. E. Gobbetti, F. Marton and J. Diaz Conclusions • Local and transient reconstruction is a key factor in compression domain volume rendering – Requires design at different levels • Compact data model • Rendering architectures • Pure voxel-based random-access and online/transient decoders avoid the full working set decompression • Efficient decompression is specially important in lighter clients – e.g. mobile, constrained network speeds 148
  • 143. E. Gobbetti, F. Marton and J. Diaz DECODING COMPACT REPRESENTATIONS 149
  • 144. E. Gobbetti, F. Marton and J. Diaz Decoding Compact Representations • Transform domain – Pure compression-domain – Operate directly in the transformed domain – Decoding: through inverse stages of the forward encoding • Per-voxel access – Pure random-access • Per-block accesses – Amortize decompression computations for group of voxels 150
  • 145. E. Gobbetti, F. Marton and J. Diaz Transform Models (1/4) • Fourier Transform: projection slice theorem [Levoy’92] 151 Projection-slice theorem [Levoy’92] One-dimensional case of the Fourier forward transform (F) and its inverse (f)
  • 146. E. Gobbetti, F. Marton and J. Diaz Transform Models (1/4) • Fourier Transform: projection slice theorem [Levoy’92] – GPU slice-based rendering [Viola’04] –  Attenuation only renderings (e.g. X-Ray modalities) 152 [Viola’04]
  • 147. E. Gobbetti, F. Marton and J. Diaz Transform Models (1/4) • Fourier Transform: projection slice theorem [Levoy’92] – GPU slice-based rendering [Viola’04] –  Attenuation only renderings (e.g. X-Ray modalities) 153 [Viola’04]
  • 148. E. Gobbetti, F. Marton and J. Diaz Transform Models (1/4) • Fourier Transform: projection slice theorem [Levoy’92] – GPU slice-based rendering [Viola’04] –  Attenuation only renderings (e.g. X-Ray modalities) • In the case of the Wavelet transform there also exist an inverse transformation. It has been commonly combined with … – … multiresolution approaches • [Westermann’94, Guthe’02] – … other compression techniques • RLE [Lippert’97], Rice-coding [Wu’05] – … time-varying structures • Wavelet-based Time-Space Partitioning [Wang’04] 154
  • 149. E. Gobbetti, F. Marton and J. Diaz Transform Models (2/4) • Karhunen-Loeve Transform – [Fout’07] optimized the inverse transform computation • Precompute partial reprojections and store them in associated codebooks 155 [Fout’07]
  • 150. E. Gobbetti, F. Marton and J. Diaz Transform Models (2/4) • Karhunen-Loeve Transform – [Fout’07] optimized the inverse transform computation • Precompute partial reprojections and store them in associated codebooks 156 [Fout’07]
  • 151. E. Gobbetti, F. Marton and J. Diaz Transform Models (3/4) • Tensor Approximation – [Wu’08] Hierarchical tensor-based transform. Summation of incomplete tensor approximations at multiple levels – [Suter’11] Combined with multiresolution octree hierarchy. Reconstruction in GPU using tensor times matrix multiplications 158 VS.
  • 152. E. Gobbetti, F. Marton and J. Diaz Transform Models (4/4) • Dictionaries – The decoding is much faster and simpler than the encoding – GPU implementations: • VQ , HVQ , M = number of dictionaries – [Schneider’03, Fout’07] • RVQ [Parys’09], FCHVQ [Zhao’12] • Sparse coding , S = sparsity – Parallel voxel decompression [Gobbetti’12] – Dictionaries can be uploaded to GPU memory • Just one additional memory indirection is needed 159
  • 153. E. Gobbetti, F. Marton and J. Diaz Thresholding and quantization • Per-block scalar quantization [Yela’08, Iglesias’10] – Compute min and max values per block • Difference based compression scheme [Smelyanskiy’09] • Hybrid schemes [Mensmann’10] 160
  • 154. E. Gobbetti, F. Marton and J. Diaz Encoding Models • Fixed-rate block coding techniques – e.g. VTC, S3TC • Adaptive Scalable Texture Compression 162 Partitions and Multiple Color Spaces [Nystad’12]
  • 155. E. Gobbetti, F. Marton and J. Diaz Encoding Models • Adaptive Scalable Texture Compression 163 Procedural partition functions (HW-gen) [Nystad’12]
  • 156. E. Gobbetti, F. Marton and J. Diaz Encoding Models • General approach for applying sequential data compression schemes to blocks of data [Fraedrich’07] • Decoding using an index texture to the beginning of each stripe • Rendering using axis-aligned texture-based volume rendering 164 [Fraedrich’07]
  • 157. E. Gobbetti, F. Marton and J. Diaz Conclusions (1/2) • Rendering directly in the transformed domain – Reduced rendering complexity – Have several limitations since do not support perspective rendering, TF and complex shading • Methods with real-time performance – Tensor and sparse coding will improve using variable per- block rank/sparsity (not available in GPU reconstructors) 165
  • 158. E. Gobbetti, F. Marton and J. Diaz Conclusions (2/2) • Quality – All block-based methods working at low bit-rates • block-based artifacts among adjacent blocks • Can be reduced using real-time deblocking – Uncompressed multiresolution also have LOD artifacts • Data replication schemes [Guthe’04] • Interblock interpolation schemes [Hege’08] 166
  • 159. E. Gobbetti, F. Marton and J. Diaz Related Papers • Real-time deblocked GPU rendering of compressed volumes. – Marton et al., VMV 2014 • COVRA: A compression-domain output-sensitive volume rendering architecture based on a sparse representation of voxel blocks. – Gobbetti et al. in Eurovis 2012 • Interactive Multiscale Tensor Reconstruction for Multiresolution Volume Visualization. – Suter et al. in IEEE Visualization, 2011 167
  • 160. E. Gobbetti, F. Marton and J. Diaz Related Books and Surveys • Real-Time Volume Graphics. – Engel et al., 2006 • High-Performance Visualization. – Bethel et al. 2012 • Parallel Visualization. – Wittenbrink 1998, Bartz et al. 2000, Zhang et al. 2005 • Real Time Interactive Massive Model Visualization. – Kasik et al. 2006 • Vis and Visual Analysis of Multifaceted Scientific Data. – Kehrer and Hauser 2013 • Compressed GPU-Based Volume Rendering. – Balsa et al. 2013 • A Survey of GPU-Based Large-Scale Volume Visualization. – Beyer et al. 2014 168
  • 161. E. Gobbetti, F. Marton and J. Diaz Acknowledgments • Work done within the DIVA Project – Data Intensive Visualization and Analysis – EU ITN FP7/2007-2013/ REA grant agreement 290227 169
  • 162. www.crs4.it/vic/ Visual Computing Group STAR CGF’14 original authors CRS4 Visual Computing Group – Marcos Balsa Rodriguez – Enrico Gobbetti – Fabio Marton University of Zurich VMML – Renato Pajarola – Susanne K. Suter University of Zaragoza – José Antonio Iglesias Guitián
  • 163. www.crs4.it/vic/ Visual Computing Group • Acknowledgments: • EU FP7 People Programme (Marie Curie Actions) REA Grant Agreement • n°290227 (DIVA) • n°290227 (GOLEM) • Swiss National Science Foundation (SNSF) • n°200021_132521 171 •Contacts: •gobbetti@crs4.it •marton@crs4.it •jdiaz@crs4.it •http://www.crs4.it/vic