This visualization is implementing Video Textures paper1. Video texture is a type of media. It aims to generate potentionally infinite video stream from analyzed input frames. In comparasion to a GIF, video textures are striving to minimalize repetativity.

GIF approach Video Texture approach
Video Texture explanation
Video Texture explanation

Another explanation is presented for example in following video.

The result

Live version of the Video texture player is available here, with list of all used examples including clock used in original paper 1.

DynTex database

Some examples used are from DynTex database 2.

Stairs1 Original Processed
stairs01
stairs1
Speed 0% 73%
Probability 73% 73%

Cartoon

Example cartoon is from caroon called Goopy Geer, released in the year 1932. Animation style used in those kinds of cartoons is called rubber hose animation. The idea of using it as input for video texture analysis comes from an observation of their periodic motion.

Matrices

To illustrate the process, similarity matrices and transition matrix were plotted.

Similarity matrices

To visualize data from analysis, similarity matrices were plotted using matplotlib. Following picture (of cartoon) is showing distance, dynamics a future cost matrices. Future costs matrix is then mapped as probabilities of transition. Those values are then pruned by keeping just the local maximumas and trimming values lesser than given threshold.

Similarity matrices

Transition matrix

Following picture shows stairs1 transiton matrix. Frame indexes are plotted on $x$ and $y$ axes. In contrast to similarity matrices, transition matrix has only binary values, meaning only True and False values are plotted. True means that transition is possible.

Similarity matrices

Implementation

Frame analysis was implemented in Python3. The code and usage is avalible at Github. Interactive frame synthesis player was implemented using library p5.js.


  1. Schödl, Arno, et al. “Video textures.” Proceedings of the 27th annual conference on Computer graphics and interactive techniques. 2000. link ↩︎

  2. DynTex: a Comprehensive Database of Dynamic Textures link ↩︎