"Adaptive" segmenting image compression algorithm implementations?
- From: jjl@xxxxxxxxx (John J. Lee)
- Date: Mon, 07 May 2007 11:29:18 GMT
Hi
I'm looking for an implementation of this that's automatable
(commandline tool, COM or C API, or similar), cheap (< 100 UKP or so)
or open source. First I should explain what this image compression
scheme is, and what I already know. Apologies to those who already
know all this.
Companies like LuraTech and LizardTech, and apparently also Adobe
themselves, sell image compression software that very efficiently
compresses images of documents that are composed of both text and
"ordinary" image data. This is done using clever algorithms that
separate ("segment") the image into image-like and text-like
components (usually including an image-like text colour layer, and
perhaps an OCRed text layer), and then running something like JBIG2
(or TIFF G4) on the text-like layer and JPEG2000 wavelet-based
compression on the image-like layers. This is based on work done by
Leon Bottou et al at AT&T (not MS!):
http://research.microsoft.com/~patrice/PDF/jei.pdf
Apparently you can routinely get impressive compression ratios of
around 400 or so on big 25 Mb hi-res A4 page colour document scans
without losing text quality -- typical compressed size for a 25 Mb
uncompressed original with "acceptable" quality being around 64 kb. I
also like the claim that plain JBIG2 files sometimes become
simultaneously smaller and of higher quality at higher input/output
resolutions :-)
Often the result is encapsulated in a PDF >= 1.5 file. PDF 1.5 is
required to support JPEG2000 and JBIG2 compression methods. Adobe
apparently calls its segmentation algorithm "adaptive compression"
(seems you need Acrobat 6 or newer if you want this encoder, but not
such which flavour -- Professional / Standard / whatever). LuraTech
sells software to output both PDF and JPEG2000 (JPEG2000 "part 6",
which provides for the multiple layers each using different
compression techniques). LizardTech sells software that writes to a
somewhat PDF-like format called DjVu. DjVu's selling-point was
precisely its support for this kind of segmentation algorithm, so with
both PDF and JPEG2000 now supporting something very similar, the DjVu
format is certainly destined never to be widely popular:
http://www.planetdjvu.com/pdf_adaptive_compression_edges_close_to_djvu.htm
However, both LuraTech and LizardTech have the "phone us and explain
what you're doing and we'll quote you an 'enterprise' price" pricing
model (LuraTech do sell a few low-priced tools, but they're not
intended to be automatable). That's fine, but not much use to me as
an individual (I was considering scanning some paper documents with a
cheap ASF scanner from ebay). Acrobat is fairly pricey, too, IIRC (I
don't mind paying money, but I don't want to shell out more than 100
UKP or so). On a related issue, it's entirely unclear to me from
Adobe's web page which version of Acrobat I would need to buy to get
both this clever compression algorithm, and the ability to
conveniently perform the compression from a computer program, without
needing to manually click on things in the GUI. I also notice they
double their prices for the UK market :-(
So, does anybody know of open source software that implements this
kind of algorithm? Note I *don't* want to do OCR. I'm kind of
expecting that patent issues (?), unpublished detailed encoding
algorithms, and implementation complexity means that there's no open
source implementation of anything like this... There is the djvulibre
DjVu encoder, but after a quick look at the source code, I don't think
that does any image segmentation at all (though the *de*coder is
capable of decoding segmented data written by LizardTech's commercial
encoder).
Commercial software would be OK too, as long as its off-the-shelf,
cheap (<~ 100 UKP) and automatable. Doesn't sound likely.
I do realise there's an open source JBIG2 encoder and a few open
source JPEG2000 encoders (not sure which parts of JPEG2000 they
implement, though, or how good the JBIG2 implementation is -- it
sounds like one can write JBIG2 encoders that achieve varying
compression ratios, depending on the sophistication of the algorithms
one uses). What I haven't found and am looking for is a *combined*
JBIG2+JPEG2000 encoder. The missing (and tricky) part is a suitable
segmentation algorithm and the code to integrate the various pieces.
The details of the segmentation algorithm are obviously critical, and,
from Bottou's paper above, it would likely need to be quite
complicated, and would differ from image segmentation algorithms
designed for other fields, e.g. medical imaging.
Thanks for any pointers
John
.
- Follow-Ups:
- Prev by Date: cannot comment in Reader--commenting enabled in document
- Next by Date: merging pdfs automatically with keeping bookmarks and so on
- Previous by thread: cannot comment in Reader--commenting enabled in document
- Next by thread: Re: "Adaptive" segmenting image compression algorithm implementations?
- Index(es):
Relevant Pages
|