Two-Dimensional Block Trees

Nieves Brisaboa, Travis Gagie, Adrián Gómez-Brandón, and Gonzalo Navarro

The Block Tree is a data structure for representing repetitive sequences in compressed space, which reaches space comparable to that of Lempel-Ziv compression while retaining fast direct access to any position in the sequence. In this paper we generalize Block Trees to two dimensions, in order to exploit repetitive patterns in the representation of images, matrices, and other kinds of bidimensional data. We demonstrate the practicality of the two-dimensional Block Trees (2D-BTs) in representing the adjacency matrices of Web graphs, and raster images in GIS applications. For this purpose, we integrate our 2D-BT with the k^2-tree --an efficient structure that exploits clustering and sparseness to compress adjacency matrices-- so that it also exploits repetitive patterns. Our experiments show that this structure uses 60%-80% of the space of the original k^2-tree, while being from 30% faster to 3 times slower when accessing cells.