Results 1 to 8 of 8

Thread: Quo Vadis JPEG - Another update

  1. #1
    Member
    Join Date
    Apr 2012
    Location
    Stuttgart
    Posts
    437
    Thanks
    1
    Thanked 96 Times in 57 Posts

    Quo Vadis JPEG - Another update

    Hi folks, here is another update of the new JPEG standard in the making. There is a new version of a proposal for this recent JPEG call here: https://github.com/thorfdbg/libjpeg.git Basically, what is new here is that there is an optional experimental noise-shaping algorithm enabled by -N which will better spread quantization errors in the HDR residual signal. As there is also a call from VESA for a high-speed online compression for video signals, I also tried to answer that and included a very slim variant of SPIHT for answering this call. It is a lossy to lossless compression algorithm operating only on lines, using the 5/3 wavelet and an un-encoded line version of SPIHT to compress (actually truncate, since there is no entropy coding) the signal. Works fairly well given its simplicity. I should also say that Guido Vollbeding (one and only member of IJG) seems to follow a different route and tries to establish a not-backwards compatible codec for HDR or lossless compression. Why that is a good idea (that is, to loose backwards compatibility, and *not* picking one of the existing standards in this area, e.g. JPEG LS or so) is beyond me. After all, there are already more than enough lossless/HDR image formats to pick from, and I don't see the need for another (non-compatible) one. But judge yourself...

  2. #2
    Tester
    Stephan Busch's Avatar
    Join Date
    May 2008
    Location
    Bremen, Germany
    Posts
    872
    Thanks
    457
    Thanked 175 Times in 85 Posts
    Can anyone please provide compiled version so that I can test lossless compression? And where can I find Guido Vollbeding's lossless implementation?

  3. #3
    Member
    Join Date
    Apr 2012
    Location
    Stuttgart
    Posts
    437
    Thanks
    1
    Thanked 96 Times in 57 Posts
    Quote Originally Posted by Stephan Busch View Post
    Can anyone please provide compiled version so that I can test lossless compression? And where can I find Guido Vollbeding's lossless implementation?
    I can certainly send you a binary for Linux. I don't care about windows, and I don't care about wasting my time with Visual Studio. What I can also send you are measurement results on the JPEG test image set.

    However, before we proceed, let's make an important statement: The major goal of this development is backwards compatibility (e.g. old code can decode the images ok, though not 100% lossless). The Vollbeding implementation is not compatible (it is a new code) to JPEG. Requiring backwards compatibility has, however, important impact on the compression performance: If you need that feature, you cannot compress as good as you could without it. Basically, what you get is approximately the same compression performance as PNG with the backwards compatible implementation. This is of course not as good as JPEG 2000 or JPEG LS.

  4. #4
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,134
    Thanks
    179
    Thanked 921 Times in 469 Posts
    http://nishi.dreamhosters.com/u/jpeg_tr03_v0.rar

    Got me another bug in IntelC, but somehow that file wasn't necessary(?).

    Code:
    codestream/residualsequentialscan.cpp(93): internal error: assertion failed: lower_expr: bad kind (shared/cfe/edgcpfe/lower_il.c, line 17719)
    
        m_Stream.OpenForRead(io);

  5. #5
    Member
    Join Date
    Apr 2012
    Location
    Stuttgart
    Posts
    437
    Thanks
    1
    Thanked 96 Times in 57 Posts
    Quote Originally Posted by Shelwien View Post
    http://nishi.dreamhosters.com/u/jpeg_tr03_v0.rar Got me another bug in IntelC, but somehow that file wasn't necessary(?).
    Code:
     codestream/residualsequentialscan.cpp(93): internal error: assertion failed: lower_expr: bad kind (shared/cfe/edgcpfe/lower_il.c, line 17719)      m_Stream.OpenForRead(io);
    residualsequentialscan is not part of the distribution (or at least should not). It is indeed not needed. The logic for residual scans is in "residualscan" and "residualhuffmanscan" (the former for the AC coded, the latter for the Huffman coded version.)

  6. #6
    Member
    Join Date
    May 2008
    Location
    Antwerp , country:Belgium , W.Europe
    Posts
    487
    Thanks
    1
    Thanked 3 Times in 3 Posts
    Quote Originally Posted by Shelwien View Post
    Gives an error like :
    Code:
    the requested URL /u/jpeg_tr03_v0.rar was not found on this server.
    
    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

  7. #7
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,134
    Thanks
    179
    Thanked 921 Times in 469 Posts
    Apparently my server was restored from a week-old backup or something - I compiled it and uploaded again though.

  8. #8
    Member
    Join Date
    Apr 2012
    Location
    Stuttgart
    Posts
    437
    Thanks
    1
    Thanked 96 Times in 57 Posts
    Just updated the code today once more. I mostly cleaned up the scan management and removed a lot of code duplications - all "differential" scans have been merged into the regular scans since the differences are very minor anyhow. I also downloaded the 10918-2 test streams from ITU and made a complete test with the official JPEG streams. I had to make a couple of fixes, mostly in the lossless huffman and lossless arithmetic case (not in the residual huffman case, which is a backwards compatible extension). The resulting code should now be fully conforming to JPEG/10918-1 and is also fully tested with 10981-2.

Similar Threads

  1. Quo Vadis JPEG - an update
    By thorfdbg in forum Data Compression
    Replies: 8
    Last Post: 31st July 2012, 17:35
  2. Quo Vadis JPEG - New Movements in Still Image Compression
    By thorfdbg in forum Data Compression
    Replies: 37
    Last Post: 14th June 2012, 20:47
  3. zpaq 1.02 update
    By Matt Mahoney in forum Data Compression
    Replies: 11
    Last Post: 10th July 2009, 00:55
  4. Ocamyd Update!
    By LovePimple in forum Forum Archive
    Replies: 2
    Last Post: 29th March 2008, 22:28
  5. Prob/counter update
    By encode in forum Forum Archive
    Replies: 12
    Last Post: 28th November 2007, 22:34

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •