Results 1 to 5 of 5

Thread: Faustian Bargain for JPEG 2000 Supremacy

  1. #1
    Member
    Join Date
    May 2014
    Location
    Canada
    Posts
    141
    Thanks
    71
    Thanked 21 Times in 12 Posts

    Faustian Bargain for JPEG 2000 Supremacy

    I have solved the last technical hurdle for my JPEG 2000 OpenCL encoder: I am now getting over
    50 FPS T1 single tile, 5 resolution, 32x32 code block encoding for 2K RGB 4:4:4 images
    on my three year old, mid-range HD 7700 graphics card.

    Cards coming out this year from AMD should have at least 10 times more compute power and at least
    5 times more memory bandwidth than the 7700. Since encoding on the GPU is mostly memory-bound,
    I expect to get at least 50 FPS for 4K encoding with these cards, something only achievable
    with custom FPGA hardware at the moment.

    And no, I didn't sell my soul to get these speeds, although I was sorely tempted during my struggle with the MQ
    coder.

    I am planning on open-sourcing my project once it is complete and producing ISO/IEC 15444-1 compliant compressed
    images - hopefully some time in the spring.

    Cheers,
    Aaron

  2. #2
    Member
    Join Date
    Sep 2007
    Location
    Denmark
    Posts
    925
    Thanks
    57
    Thanked 116 Times in 93 Posts
    But how is the quality ? When talking lossy format quality is a important factor speaking performance. look at intel quicksynx h.264 encoder it was fast but quality was bad compared to x.264 (unless you tried to make x.264 as fast as quicksync)

  3. #3
    Member
    Join Date
    May 2014
    Location
    Canada
    Posts
    141
    Thanks
    71
    Thanked 21 Times in 12 Posts
    By quality, are you referring to the compression ratio, or to differences between decoded image and original image?

    For either case, I can't comment on the quality yet, since I haven't actually created any compressed files.
    I've only finished the tier 1 coding (the computationally expensive part), tier 2 remains.

    I will be following the standard approach for lossy jpeg 2000 compression:

    1) colour transform
    2) DWT and quantization - single precision floating point operations
    3) Context formation and MQ coding for all bit planes <= most significant bit plane
    4) Post compression rate distortion to find optimal rate distortion per code block

    My initial release will support 32x32 code blocks ( a reasonable size), and no tiling (tiling can introduce artifacts
    at boundaries).

    So, I hope to be able to maintain excellent performance, image quality, and compression quality.

  4. #4
    Member
    Join Date
    Sep 2007
    Location
    Denmark
    Posts
    925
    Thanks
    57
    Thanked 116 Times in 93 Posts
    By quality i refer to the perceived quality of the picture compared to the input picture for a spectrum of different bitrates. Speed is nothing if the output is terrible

  5. #5
    Member
    Join Date
    May 2014
    Location
    Canada
    Posts
    141
    Thanks
    71
    Thanked 21 Times in 12 Posts
    Well, all I can say is that so far, I have not had to make any image quality sacrifices to gain speed.
    Luckily, I have been able to create some new approaches that, while giving the identical output of
    the standard serial encoding, take full advantage of the massively parallel GPU architecture. In short,
    my philosophy has been that of "Doing Not-Doing". This will be clearer when I open up my repository.

Similar Threads

  1. JPEG XT Demo software available on jpeg.org
    By thorfdbg in forum Data Compression
    Replies: 40
    Last Post: 16th September 2015, 15:30
  2. Replies: 9
    Last Post: 11th June 2015, 23:28
  3. Open source OpenCL jpeg 2000 library
    By boxerab in forum Data Compression
    Replies: 12
    Last Post: 26th May 2014, 06:18
  4. JPEG Metadata
    By lorents17 in forum Data Compression
    Replies: 13
    Last Post: 27th April 2014, 21:29
  5. Replies: 32
    Last Post: 24th September 2013, 00:57

Posting Permissions

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