Efficient Parallel Algorithms for Covering Binary Images
Given a black and white image, represented by an array of $\surd$ n x $\surd$ n binary valued pixels, we wish to cover the black pixels with a minimal set of (possible overlapping) maximal squares. It was recently shown that obtaining a minimum cover with squares for a polygonal binary image having holes is NP-hard. We derive a processor-time-optional parallel algorithm for the minimal square cover problem, which for any desired computation time T is [log n, n] runs on an EREW-PRAM with (n/T) processors. We also outline an implementation on a mesh architecture which runs in O ($\surd$ n ) time, and is P-T-optimal. Finally, we also show how to obtain a speedup in the running time of our algorithm when polymorphic communication primitives are available on the mesh. The cornerstone of our algorithm is a novel data structure, the cover graph, which compactly represents the covering relationships between the maximal squares of the image. The size of the cover graph is linear in the number of pixels. This algorithm has applications to problems in VLSI mask generation, incremental update of raster displays, and image compression.
computer science; technical report
Previously Published As