Channels ▼

Dr. Dobb's Data Compression Newsletter - Issue #17 - April 2001

DDJ Data Compression Newsletter Issue #17

Welcome to this issue of the DDJ Data Compression Newsletter.

Although the Web gets most of the press devoted to the Internet, we old-timers still rely on Usenet newsgroups for some forms of information. The newsgroup comp.compression regularly hosts intelligent comments, breaking news, and timely information that keeps me up to date on the world of data compression.

Early this month, a post from David Taubman caught my eye. David was plugging a commercial library he created that implements the JPEG-2000 standard. Here is a copy of his post:

Those of you interested in the new JPEG2000 image compression standard may find the Kakadu software tools very interesting. Kakadu is a fully compliant (barring any remaining bugs) implementation of JPEG2000 Part-1, optimized for speed, memory consumption and flexibility. Kakadu may well be the fastest and least memory hungry implementation of the standard currently available.

This C++ implementation is created by D. Taubman, the initial and principle author of the official JPEG2000 verification model software (VM) and author, with M. Marcellin, of a forthcoming comprehensive book on image processing and JPEG2000. Dr. Taubman has made numerous contributions to the development of the JPEG2000 standard, including the EBCOT (Embedded Block Coding with Optimized Truncation) algorithm, from which many of the standard's key ingredients are drawn. The Kakadu software benefits from Dr. Taubman's intimate familiarity with the principles, the text and the implementation of this new standard.

Comprehensive software development tools are available for a modest license fee, while some interesting demonstration applications (including a highly functional interactive viewer) are freely downloadable. For more details, visit the Kakadu web site at

Although the JPEG-2000 standard has been widely discussed, we haven't seen too much in the way of commercial products that support it. So this announcement was pretty interesting to me.

Like many of its users, Usenet goes back a long time, and part of its heritage is a decidedly anti-commercial bent. It isn't that Usenet posters are against free enterprise, but there is a prevalent feeling that using this part of the Internet for purely commercial purposes is in bad taste.

So naturally, a post of this nature resulted in a few quibbles about whether a commercial JPEG-2000 library was a good thing.

Amid the noise, however, the following comment caught my eye:

From: Tom Lane
Subject: Re: JPEG2000 -- Kakadu: Comprehensive new software tools
Date: Friday, April 06, 2001 12:08 AM

Ken Prager writes:
> You are paying for his *implementation* which has been optimized for
> speed and memory consumption. If you don't want to pay the fees then get
> a copy of the freely available standard and write the code yourself.

"Freely available standard"? Since when have ISO standards been available for free? They've always charged for them (and quite a lot, too).

But that's just a quibble. Here's my two cents on the main point:

I have no objection to people charging whatever they think the market will bear for the products of their labor. However, you seem to be paying insufficient attention to the question of how big that market will be. Do you really believe that those folk who made money from proprietary implementations of JPEG would have stayed in business if only proprietary implementations were available? Face it: they'd have sunk without a trace, because the market would have been tiny or nonexistent. The fact that there was a pretty good freely available implementation is what allowed the market for JPEG to be large enough to support proprietary implementations. Let me give you just one illustration of that fact: without the IJG library, JPEG would be a non-presence on the World Wide Web. The browser makers would have settled on some other image format(s) instead. How many people would give a damn about JPEG if it weren't in use on the Internet?

I don't think the JPEG 2000 group has really absorbed this point, and in consequence I suspect that JPEG 2000 may go the way of a lot of other not-so-successful standards. It'll be used in a few marginal products, and it may or may not make a few people money, but it won't take over the world.

In five or ten years, we'll see who was right. Want to make a side bet on whose code is still in use on the Web in 2005?

tom lane
organizer, Independent JPEG Group

For those who don't know, Tom Lane is a big kahuna in the Independent JPEG Group, who wrote an incredibly influential library of JPEG routines. The IJG library is used high and low by anyone who wants to render or create JPEG images.

Given Tom's stature, this post should be considered thoughtfully. Is Tom right? Can the absence of high-quality, free code stop a technically superior technology dead in its tracks?

That's a pretty big question, and I only have enough time to pose it this month. Next month I'm planning to talk to Tom a little bit about his position, and what he's learned from history. I also hope to check out the Taubman library, and let you know whether it might have a chance to help advance the JPEG-2000 standard.

I'd love to hear your opinions on the matter. Is a high-quality, free implementation of JPEG-2000 required to get the standard off the ground? If so, who's going to take on the admittedly thankless job of making that happen? Let me know what you think! As always, your comments are welcome at


Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.