After 20 years, PNG is back with renewed vigor! A new PNG spec was just released.

    • LaggyKar@programming.dev
      link
      fedilink
      arrow-up
      7
      ·
      6 hours ago

      Lossless WebP is still gets way better compression than PNG though, this doesn’t change that. Although they mention they’re looking to improve it in the next version, so we’ll see then.

  • Irdial@lemmy.sdf.org
    link
    fedilink
    arrow-up
    79
    arrow-down
    3
    ·
    1 day ago

    Great news! PNG has always been my image format of choice due to its relatively good compression and support for transparency.

      • tal@lemmy.today
        link
        fedilink
        English
        arrow-up
        67
        arrow-down
        1
        ·
        edit-2
        23 hours ago

        PNG has terrible compression

        It’s fine if you’re using it for what it’s intended for, which is images with flat color or an ordered dither.

        It’s not great for compressing photographs, but then, that wasn’t what it was aimed at.

        Similarly, JPEG isn’t great at storing flat-color lossless images, which is PNG’s forte.

        Different tools for different jobs.

        • dormedas@lemmy.dormedas.com
          cake
          link
          fedilink
          arrow-up
          31
          arrow-down
          1
          ·
          edit-2
          23 hours ago

          JPEG isn’t great at storing flat-color lossless images, which is PNG’s forte.

          JPEG isn’t, but JPEG-XL, on the other hand, has come into existence and has great compression while being pixel-perfect lossless as compared to PNG (among a host of other improvements).

          If only it got the support it deserves (thanks Google for making that harder)

    • tal@lemmy.today
      link
      fedilink
      English
      arrow-up
      31
      ·
      24 hours ago

      WebP had been kind of moving in on its turf, based on what I’ve been seeing websites using.

        • Sorse@discuss.tchncs.de
          link
          fedilink
          arrow-up
          12
          ·
          13 hours ago

          The main advantage of webp is that it has good lossy compression, which makes it great for websites that show tens or hundreds of images on a single page

  • tal@lemmy.today
    link
    fedilink
    English
    arrow-up
    20
    arrow-down
    1
    ·
    edit-2
    9 hours ago

    What’s next?

    I know you all immediately wondered, better compression?. We’re already working on that. And parallel encoding/decoding, too! Just like this update, we want to make sure we do it right.

    We expect the next PNG update (Fourth Edition) to be short. It will improve HDR & Standard Dynamic Range (SDR) interoperability. While we work on that, we’ll be researching compression updates for PNG Fifth Edition.

    One thing I’d like to see from image formats and libraries is better support for very high resolution images. Like, images where you’re zooming into and out of a very large, high-resolution image and probably only looking at a small part of the image at any given point.

    I was playing around with some high resolution images a bit back, and I was quite surprised to find how poor the situation is. Try viewing a very high resolution PNG in your favorite image-viewing program, and it’ll probably choke.

    • At least on Linux, it looks like the standard native image viewers don’t do a great job here, and as best I can tell, the norm is to use web-based viewers. These deal with poor image format support support for high resolutions by generating versions of the image at multiple pre-scaled levels and then slicing the image into tiles, saving each tile as a separate image, so that a web browser just pulls down a handful of appropriate tiles from a web server. Viewers and library APIs need to be able to work with the image without having to decode the whole image.

      gliv used to do very smooth GPU-accelerated panning and zooming — I’d like to be able to do the same for very high-resolution images, decoding and loading visible data into video memory as required.

    • The only image format I could find that seemed to do reasonably well was pyramidal TIFF.

    I would guess that better parallel encoding and decoding support is likely associated with solving this, since limiting the portion of the image that one needs to decode is probably necessary both for parallel decoding and for efficient high-resolution processing.

    • DaPorkchop_@lemmy.ml
      link
      fedilink
      arrow-up
      8
      ·
      14 hours ago

      There is a reason why TIFF is one of the most popular formats for raster geographic datasets :)

      • DaPorkchop_@lemmy.ml
        link
        fedilink
        arrow-up
        7
        ·
        13 hours ago

        Again, that would be TIFF. TIFF images can be encoded either with each line compressed separately or with rectangular tiles compressed separately, and separately compressed blocks can be read and decompressed in parallel. I have some >100GiB TIFFs containing elevation maps for entire countries, and my very old laptop can happily zoom and pan around in them with virtually no delay.

  • mindbleach@sh.itjust.works
    link
    fedilink
    arrow-up
    12
    arrow-down
    3
    ·
    21 hours ago

    Possibly the final version. Quite Okay Imaging (QOI) achieved similar compression with none of the complexity. Lossy + difference = lossless formats are surely the better option where performance is not crucial. Even the fact they fffucking finally made APNG official is decades late to replace GIF, since several image formats are now literally video formats.

    The future is webp. And telling software patents to burn in hell.

        • bob_lemon@feddit.org
          link
          fedilink
          arrow-up
          7
          ·
          edit-2
          11 hours ago

          That’s because Google removed the support from chrome after only a few months, and Mozilla never added it to Firefox. And although there’s apparently an extension for both, (lossy) image formats need out of the box browser support to have any chance for any kind adoption.

    • Flipper@feddit.org
      link
      fedilink
      arrow-up
      9
      ·
      18 hours ago

      As cool and impressive as Qoi is, as long as I can’t just send it to someone it’s sadly not a replacement for PNG.

      • mindbleach@sh.itjust.works
        link
        fedilink
        arrow-up
        3
        ·
        8 hours ago

        Yeah, adoption’s not a feature you can design.

        The general idea may show up in any extensible format. Like a PNG encoder that only does Sub filter can encounter each pixel once.

        … wait, PNG filtering is byte-level? It doesn’t change with bit depth? Christ.

    • KiwiTB@lemmy.world
      link
      fedilink
      arrow-up
      18
      ·
      24 hours ago

      Crazy huh but APNG was so well done it just showed the first frame like a normal PNG in any non supported browser which was amazing. I used to have an avatar which has the TF2 engineer as the first frame and the spy as the second.

    • roadrunner_ex@lemmy.ca
      link
      fedilink
      English
      arrow-up
      7
      ·
      24 hours ago

      I’m glad it is now. I remember a decade or so ago, I wrote an APNG decoder, so I was deep in the world of APNG.

      And I remember reading various things that made me think MNG was the ‘more official’ flavour of “animated PNG”, and it was absurd to me, because APNG seemed like a much more approachable spec. I’m glad the winds have turned…

      • thingsiplay@beehaw.org
        link
        fedilink
        arrow-up
        5
        ·
        24 hours ago

        I remember MNG and never understood why APNG wasn’t officially recognized. I didn’t know it was widely supported already. Why do people still create and use GIF in the internet, if there is a superior format?

        • tal@lemmy.today
          link
          fedilink
          English
          arrow-up
          6
          ·
          edit-2
          23 hours ago

          At least at one point, GIF89a (animated GIF) support was universal among browsers, whereas animated PNG support was patchy. Could have changed.

          I’ve also seen “GIF” files served up online that are actually, internally, animated PNG files, so some may actually be animated PNGs. No idea why people do that.

  • tal@lemmy.today
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    1
    ·
    edit-2
    8 hours ago

    On the “better compression” front, I’d also add that I doubt that either PNG or WebP represent the pinnacle of image compression. IIRC from some years back, the best known general-purpose lossless compressors are neural-net based, and not fast.

    kagis

    https://fahaihi.github.io/NNLCB/

    These guys apparently ran a number of tests. They had a neural-net-based compressor named “NNCP” get their best compression ratio, beating out the also-neural-net-based PAC, which was the compressor I think I recall.

    The compression time for either was far longer than for traditional non-neural-net compressors like LZMA, with NNCP taking about 12 times as long as PAC and PAC taking about 127 times as long as LZMA.