Transcript PowerPoint

Video Textures
Paper by Schodl et al.
Presentation by Lincoln Hamilton
Note: Video Clips borrowed from Video Textures Presentation
Outline
•
•
•
•
•
•
Motivation
What are video textures?
Analysis
Synthesis
Rendering
Extensions
Motivation
• Video has a finite duration
– Choppy if you loop it
• Video has a beginning, middle, and end.
– Specific Behavior
– Lacks “Timeless” Quality
What are video textures?
• Video Textures
– A continuous, infinitely varying stream of video
images.
– Synthesized from a finite set of images by
randomly rearranging frames from a source
video.
Creating Video Textures
• Challenges
–
–
–
–
Locate Potential Transition Points
Find Sequences
Smoothing Visual Discontinuities
Automatically Dividing Video Into Regions
Video Texture Representation
• Markov processes with each state
corresponding to a single frame
• Two Representations
– Matrix of probabilities
• Better when the matrix is dense
– Set of Links
• Better when the set of transitions is sparse
Analysis
• Compute L2 Distance to measure similarity
Dij = || Ii – Ij||2
• Goal is to create transitions whenever Di+1,j
is small
Analysis
• Map through probabilities
Pij = exp(- Dij / s)
Sigma determines what transitions are acceptable
High s
Low s
Dynamics
• Dynamics must be preserved
• Consider a pendulum
How to preserve dynamics
• Adjacent frames must also be similar
D’ij = (Sum: k=-m to m-1)wkDi+k,j+k
• Instead of matching frames, you match
subsequences
• This can be done by filtering the difference
matrix with a diagonal kernel with weights
[w-m,….,wm-1]
Avoiding dead ends
• Some transitions lead to dead ends
• Calculate Anticipated Future Cost
Go to board
Synthesis
• Two Algorithms
– Random Play
• Begins at any point and transitions to next
depending on the Probability matrix
– Video Loops
• Create video loops that repeat for a fixed period
Video Loops
• Primitive Loop
– Single Transition, source I  destination J
– The cost is D’ij
• Compound Loop
Optimal Loops
•
Dynamic Programming Algorithm
–
1.
2.
3.
4.
5.
Pre-compute set of loops
Schedule the transition that starts at the very end of the
sequence as the first transition to be taken.
The removal of this transition i j may break the
remaining primitive loops into one or more sets of
continuous ranges.
Repeat previous step until there are no more primitive
loops left in the first range.
Schedule any primitive loop in each of the following
ranges.
Go back to step 2 until all the loops are removed
Rendering
• Sometimes there are cases where there is no
such unnoticeable transition.
• Techniques to solve this problem
– Cross-fading
– Morphing
Cross-fading and Morphing
• Cross-fading
– Frames from the sequence near the source of
the transition are faded out while frames from
near the destination are faded in.
• Causes Temporary blurs
• Morphing
– Find a consensus position for the pixel
• Take weighted average of the corresponding
positions
Cross-fading and Morphing
Jump Cut Cross-fade
Morph
Parametric Motion Control
Slow
Variable
Fast
Time Compression and Dilation
Shorter
Original
Longer
Mouse-control