Search code examples
imagecompressionjpegbaselineprogressive

What is the baseline architecture of JPEG?


I sometimes keep reading that baseline is used synonymously with the sequencial compression mode of a JPEG and I am confused by that.

On the german wiki page for JPEG there are listed four main compression modes:

  • sequential
  • progressive
  • hierarchical
  • lossless

Searching for "baseline" on that page returns zero hits.

Other sources call it baseline standard, baseline sequential and compare it to progressive. On another page about that topic I have found a comparison between baseline sequential and baseline progressive.

Can somebody explain me what "baseline" actually is?

I thought that baseline is the name of an architecture for sequential, progressive and hierarchical JPEG images which is a bare minimum of subprocesses (downsampling, DCT, etc.) a program (for example image viewer) has to implement such that he is able to view images of those modes. I have a book that states:

There are two main modes: lossy (also called baseline) and lossless (which typically produces compression ratios of around 0.5).


Solution

  • JPEG is a sprawling standing that contains a number of different compression methods. As written, it is impracticable to implement JPEG. Largely through the work of the IJG, a subset of the JPEG standard was implemented and has become settled up.

    THere are three types of JPEG (frames) that are in general use: 1. Baseline sequential 2. Extended sequential 3. Progressive

    Baseline sequential and extended sequential are decoded in exactly the same way. The only practicable difference is that baseline sequential is limited to 2 huffman tables and 2 quantization tables while extended sequential is limited to 4 of each. (There are 2 other difference in the standard but have no effect on JPEG in use.)

    Baseline Sequential JPEG is then a subset of Extended Sequential JPEG. However, the difference between the two is so small, there effectively is none.

    Progressive JPEG is related to sequential JPEG but is much more complicated to implement.

    That is the JPEG that is commonly in use.

    The JPEG standard defines a lossless compression technique. 12-bit, grayscale lossless images are used in medical applications. That is the only place I am aware they are used.

    Hierarchical JPEG is not used outside of academia.

    Using your list:

    • sequential
    • progressive
    • hierarchical
    • lossless

    It is more understandable as

    • sequential (Baseline or Extended-effectively the same)
    • progressive (Related to sequential but more complex)
    • hierarchical (Not used and unsupported)
    • lossless (Rarely used and few applications support)