  Simulating turbulent smoke flows is computationally intensive due to their
intrinsic multiscale behavior, thus requiring relatively high resolution grids
to fully capture their complexity. For iterative editing or simply faster
generation of smoke flows, dynamic upsampling of an input low-resolution
numerical simulation is an attractive, yet currently unattainable goal. In this
paper, we propose a novel dictionary-based learning approach to the dynamic
upsampling of smoke flows. For each frame of an input coarse animation, we seek
a sparse representation of small, local velocity patches of the flow based on
an over-complete dictionary, and use the resulting sparse coefficients to
generate a high-resolution smoke animation sequence. We propose a novel
dictionary-based neural network which learns both a fast evaluation of sparse
patch encoding and a dictionary of corresponding coarse and fine patches from a
sequence of example simulations computed with any numerical solver. Our
upsampling network then injects into coarse input sequences physics-driven fine
details, unlike most previous approaches that only employed fast procedural
models to add high frequency to the input. We present a variety of upsampling
results for smoke flows and offer comparisons to their corresponding
high-resolution simulations to demonstrate the effectiveness of our approach.
