MP Singh - Agent Communication Languages: Rethinking the

Automata for bilevel image
compression
K. Culik II, V. Valenta: Finite Automata Based Compression of Bilevel images
K. Culik II, V. Valenta: Finite Automata Based Compression of Bilevel and
Simple Color Images
M. Mindek: Finite State Automata and Image Recognition
Alessandro Giusti
April, 28 2006
Quadtrees for multiresolution
b&w images
•
Quadtree-based addressing scheme for image areas
3203
L   ,   0,1,2,3
•
•
Language specifies addresses of black pixels
Multiresolution: addresses can have arbitrary length (possibly infinite)
Quadtrees for multiresolution
b&w images (2)
•
•
•
•
•
A state represents an image.
•
The image is defined quadrant by quadrant by outgoing transitions to other states (4 subimages)
The color of an (infinite resolution) pixel is found by feededing the automaton with the
(potentially infinite) pixel address
•
•
If the pixel is white, the string will not be recognized
The evaluation can be stopped early for a lower-resolution image (rough approximation)
Zooming is straightforward
•
just replace the initial state with the state obtained by feeding the automaton with the area
address
Note how language concatenation works
Note how a black square is defined (final state)
Quadtrees for multiresolution
b&w images (3)
• Another example
Last example
• Re-use the triangle T and make a fractal
out of it.
Multiresolution black and white
images
• Automata easily define
• images which can be defined vectorially, but not
rasterized
• recursively-defined images (fractal-like), self-similar at
various scales, with infinite resolution.
Automaton construction
procedure
•
•
•
Goal: given multiresolution image I as input, build the minimal
automaton perfectly defining it.
Approach: recursively create new states for each subimage, unless
that subimage is already represented in an existing state.
Will not terminate when no automaton perfectly defines the input
(e.g. a triangle with an irrational number as slope).
Automaton construction
procedure (example)
Generalized finite automata
• The procedure becomes more powerful if we
allow image transformations in transitions:
• Rotation by 0°, 90°, 180°, 270°
• Optional mirroring
• Optional color negation
• Add one of the 4x2x2=16 possible transformations as
an additional transition label
Generalized finite automata (2)
Meaning
•
•
•
•
Quadrant 0:
Quadrant 1:
Quadrant 2:
Quadrant 3:
I q1
t3 ( I q1 )
t1 ( I q1 )
t 2 ( I q1 )
Full example
0
1,2,3,4
Another example
•
•
Divide et impera applied to images
Note how the stripes are recursively defined, and how transformations
partecipate in the definition (result are infinite resolution, perfect lines).
•
•
Lines are not explicitly defined, and emerge from cross-resolution constraints
 “fractal” definition of lines.
Find n small errors in the figure (n≥2)
Generalized automaton
construction procedure
• Goal: given multiresolution image I as input,
•
•
•
build an automaton approximating it.
News: recursively create new states for each
subimage, unless the subimage is already
approximated within a given error, by any
transformation of an existing state.
Will always terminate
Interesting implementation-related observations
About color images
• Consider only “graphic” images, not
•
•
•
photographs  no gradients.
Quantize to 2 n colors (n=3)  n bilevel
bitplanes
Approach: apply algorithm separately to each
bitplane.
News?
• Share the states between different bitplanes: exploit
cross-color self-similarity.
Results showcase
Results
• Remarkable (while not state of the art)
compression ability, but:
• Read the fine print! 8x8 subimages are vector
quantized (“traditional” compression mechanism).
• Nothing more precise (e.g. number of quantized
vectors) is stated about this last step: this could even
account for most of the compression power!
• Compression algorithm exploits:
• Quadtree decomposition (Color-homogeneous areas)
• (Cross-resolution) self-similarity
Critique
• Imprecise bilevel images are
easily
•  Lossy compression of bilevel images has very
limited applications w.r.t. more general compression
techniques
• The proposed method is an interesting
application of automata, but
• very limited flexibility and generality
• Much better approaches exist in order to
compress bilevel, non-fractal images (vectorial
graphics, tracing...)
Generality
• Self-similarity at different scales not frequent in
•
everyday graphical images
Quadrant-based notation is arbitrary and too
rigid to be taken advantage of in practice
• Needs perfect alignment of replicas
 Even if self-similarity was present, most probably it
would not be possible to exploit it
• Example images are artificial and ad-hoc. Almost
everything else is not representable with the same
elegance
• Why only 16 trasformations?
• Will the approach scale well if we improve it?
Art (?)
• Also context-free grammars can generate
beautiful pictures:
 www.contextfreeart.org