Heeger and Bergin [1]} were among the earliest to design a texture synthesis algorithm of this type; generating textures by starting from an image filled with random noise, constructing from it a pyramid of steerable filters, then independently matching the 1d histogram of pyramid coefficients for each oriented filter to the corresponding histogram of coefficients extracted from the texture exemplar. Zhu et al. [2]} provided a formal framework encompassing and extending the algorithm of [1]}, proving that an uncountable number of marginals over feature coefficients could define an arbitrary distribution of image textures. They also proposed an algorithm based on Gibbs sampling that allowed synthesis based on non-linear features, and an algorithm for feature selection given a texture exemplar which reduced the tremendous computational cost of their synthesis algorithm. Portilla and Simoncelli [4]} proposed a more efficient synthesis algorithm, essentially using gradient descent with exact line search on the output image's pixels to sequentially satisfy constraints on the output image's feature distribution. They also proposed a universal set of 710 textural feature constraints based on wavelet coefficient marginals, local wavelet auto-correlations, local wavelet magnitude auto-correlations, and cross-scale phase statistics. This effort provided a formalized starting point for evaluating the original hypothesis of Julesz, that texture could be discriminated based on the Nth-Order statistics (for small N) of a limited set of visual features. Despite the intellectual appeal of these methods, their reliance on a limited number of hand-crafted features makes them poorly suited to synthesizing textures with complex structure (see Figure REF ). This limitation would eventually inspired Gatys et al. [5]} to propose a spiritually similar algorithm for texture synthesis using features extracted by a pre-trained neural network. A refinement of Gatys' texture synthesis algorithm would become the first 'neural style transfer' algorithm [6]}.
<FIGURE><FIGURE>