[HN Gopher] JPEG XL ___________________________________________________________________ JPEG XL Author : tosh Score : 341 points Date : 2021-06-21 08:29 UTC (14 hours ago) (HTM) web link (jpegxl.info) (TXT) w3m dump (jpegxl.info) | JyrkiAlakuijala wrote: | Check it out with your own eyes with the most recent comparison | site for WebP, AVIF and JPEG XL: | | https://storage.googleapis.com/demos.webmproject.org/webp/cm... | | Most comparison links posted here are to older (almost a year | old) versions that don't reflect the current state of encoding. | Both JPEG XL and AVIF have improved tremendously. | algorithm314 wrote: | For some images like | https://storage.googleapis.com/demos.webmproject.org/webp/cm... | jpeg xl is really behind. | 0-_-0 wrote: | It seems to try really hard to preserve high frequencies, | where WebP just gives up. Hopefully it's just a question of | tuning the quantisation tables for low bitrate. | JyrkiAlakuijala wrote: | They originally chose to use x265 to calibrate the bitrates, | possibly something went wrong there and the 'Tiny', 'Big', | etc. are somewhat meaningless. | | At 'Large' and 'Big' settings of this image -- which are | still in much less than 1 bpp bitrates, i.e., below internet | image quality -- you can still observe significant | differences in the clouds even if balloons are relatively | well rendered. | jonsneyers wrote: | Nothing went wrong there, it's just what you get if you | configure an encoder using just some quantization setting | and not a visual target. The same will happen if you would | encode images with libjpeg quality 50 (and then derive all | other bitrates from there). In some cases the image will | look OK-ish at that setting, in other cases it will be | complete garbage. | | JPEG XL is the first codec to have a practical encoder that | can be configured by saying "I want the worst visual | difference to be X units of just-noticeable-difference". | All other encoders are basically configured by saying "I | want to use this scaling factor for the quantization | tables, and let's hope that the result will look OK". | astrange wrote: | > All other encoders are basically configured by saying | "I want to use this scaling factor for the quantization | tables, and let's hope that the result will look OK". | | crf in x264/x265 is smarter than that, but it's still a | closed-form solution. That's probably easier to work with | than optimizing for constant SSIM or whatever, it always | takes one pass and those objective metrics are not | actually very good. | ksec wrote: | JPEG XL isn't yet optimised for extremely low bpp. I thought | the label for tiny, large and medium etc are sort of | misleading without looking at bpp number. | | It is a bit like looking at bitrate for Video quality without | looking at video resolution. | JyrkiAlakuijala wrote: | The quality is normalized to x265 q24 setting. I believe | this process/setting is either not working for images or | something else went wrong there, because the observable | quality as well as the bitrates vary from image to image. | | Bitrates vary from 0.26 bpp (Nestor/AVIF) to 4+ bpp | (205/AVIF) at the finest setting. Nestor at lowest setting | is just 0.05 bpp, somewhat unusual for an internet image. A | full HD image at 0.05 bpp transfers over average mobile | speed in 5 ms and is 12 kB in size. I rather wait for a | full 100 ms and get a proper 1 bpp image. | gardaani wrote: | When is JPEG XL ready for use? Wikipedia [1] says that Part | 4 will be released in 2022? | | [1] https://en.wikipedia.org/wiki/JPEG_XL#Standardization_s | tatus | jonsneyers wrote: | Part 1 and 2 define the codestream and file format, | respectively. They are both finalized at the technical | level (the ISO process is still ongoing, but there is no | more opportunity for technical changes, the JPEG | committee has approved the final draft). So it is ready | for use now: the bitstream has been frozen since January, | free and open source reference software is available. | | Part 3 will describe conformance testing (how to verify | that an alternative decoder implementation is in fact | correct), and part 4 will just be just a snapshot of the | reference software that gets archived by ISO, but for all | practical purposes you should just get the most recent | git version. Parts 3 and 4 are not at all needed to start | using JPEG XL. | jonsneyers wrote: | The labels are indeed not very useful. It would have been | better to use bitrates based on the jxl encoder, which has | a perceptual-target based setting (--distance), as opposed | to setting it based on absolute HEVC quantization settings | (as was done here), which for some images causes 'Big' to | be great and for others makes 'Big' still kind of low | quality. | twotwotwo wrote: | Some notable features of JPEG XL that don't show up in side-by- | sides: | | 1) Progressive decoding. Like the original .jpg, .jxl can give | you a low-quality image when a fraction of the file is loaded, | then a decent-quality image, then the final image. This can | give JPEG XL the edge in perceived load speed even when the | full .avif is smaller than the full .jxl. (Old demo from a JXL | contributor at https://www.youtube.com/watch?v=UphN1_7nP8U ) | | 2) Fast conversion: JPEG XL encoding/decoding is fast without | dedicated hardware. Facebook found encode/decode speed and | progressive decoding to be points in favor of JPEG XL for their | use: https://bugzilla.mozilla.org/show_bug.cgi?id=1539075#c18 | | 3) .jpg repacking: JPEG XL can pack a JPEG1 about 20% smaller | without any additional loss; the original .jpg file can be | recovered bit-for-bit. | | 4) Lossless mode. JXL's lossless mode is the successor to | FLIF/FUIF, is really good, and also has progressive decoding. | AVIF has a lossless mode too, but JPEG XL seems ahead here. | | (I know the parent comment is from a JXL contributor, I'm | saying this for other folks.) | | I think those will give JPEG XL a niche on the Web. Meanwhile I | suspect e.g. Android phone cameras will save .avif someday, | like iPhones save .heic now. Phones want the encode hardware | anyway for video, and you can crunch a zillion megapixels down | to a smaller file with AVIF before attention-grabbing artifacts | crop up--at low bitrates AVIF seems good at preserving sharp | lines and mostly blurring low-contrast details (compare Tiny | images). | | Finally, worth noting the codecs are different due to a bunch | of rational choices by their devs. AVIF is the format for AV1 | video keyframes. Progressive decoding doesn't help there, and | doesn't jibe well with spatial prediction, which helps AV1 and | other video codecs preserve sharp lines. And video codecs need | hardware support to thrive anyway, so optimizing for fast | software encoding probably wasn't an early priority. Otherwise | the new formats have a lot of overlap in fundamentals--variable | size and shape DCTs, better entropy encoding, chroma-from-luma, | anti-ringing postfilters, etc. | | Glad to see support for both getting more widespread. | unlord wrote: | Note that AVIF is not just AV1 video keyframes. The entire | compliment of AV1 video coding tools (including inter | prediction with motion vectors) are available. This includes | spatial and temporal scaling. | | Note this means that animated images on the web (like GIF) | are significantly smaller with AVIF than JPEG-XL which has no | inter prediction. | twotwotwo wrote: | Good point. AV1 and AVIF could improve on how some sites | (like Twitter) turn actual GIFs into video now. | | Also a plus for saving phone snaps, since the camera often | saves a short video these days anyway. | jonsneyers wrote: | Yes, for animation a video codec like AV1 is much more | suitable than a still image codec like JPEG XL. | | JPEG XL does have some weak forms of inter prediction | though (but they were designed mostly for still image | purposes). One of them is patches: you can take any | rectangle from a previously 'saved' frame (there are four | 'slots' for that) and blit it at some arbitrary position in | the current frame, using some blend mode of choice (just | replace, add, alpha blend over, multiply, alpha blend | under, etc). This is obviously not as powerful as full | motion vectors etc, but it does bring some possibilities | for something like a simple moving sprite animation. This | coding tool is currently only used in the encoder for still | images, namely to extract repeating text-like elements in | an image (individual letters, icons etc) and store them in | a separate invisible frame, encoded with non-DCT methods | (which are more effective for that kind of thing) and then | patch-add them to the VarDCT image. The current jxl encoder | is not even trying to be good at animation because this is | not quite its purpose (it can do it, but 'reluctantly'). | | Anyway, I think that animation is in any case best done | with video codecs (this is what video codecs are made for), | and I wish browsers would just start accepting in an <img> | tag all the video codecs they accept in a <video> tag (just | played looping, muted, autoplay), so we can for once and | for all get rid of GIF. | twotwotwo wrote: | ++ to making it easier to use other codecs in place of | .gif! | lajamerr wrote: | Why does JPEG XL affect the image quality even in lossless | mode? | | I just compared the original tiger image to the lossless | version for JPEG XL but there's some small changes that it | makes. | Aardwolf wrote: | I think this is a quirk in the tool, even if you choose | Original on both sides there is some difference that looks | like a scaling that's off by a few pixels | [deleted] | hnbad wrote: | The differences IMO are even more impressive at higher | compression. WebP on "tiny" loses a lot of detail whereas JPEG | XL retains most details while still losing overall image | quality. | Paul_S wrote: | Is it just me or do all the comparisons linked from the page show | that webp actually looks better? | | Still, the JPEG recompression feature might be what helps | adoption. | exclipy wrote: | By golly, you're right. | | eg. https://eclipseo.github.io/image-comparison-web/#us- | open&WEB... The player is missing the corner of her mouth in | the JXL version. | | JXL Medium (32KB) is about the same quality as WebP Small | (19KB) | torgard wrote: | I'd say JXL Medium is slightly better than WebP Small - | compare e.g. the racket, face, and left hand. | | But it's also slightly worse than WepB Medium, e.g. with the | corner of her mouth. | LispWizard wrote: | JXL's design operating point is "no visible compression | artefacts". | | Most people do not want to have visible compression | artefacts on the images they put on their web pages. JXL | starts from this premise and tries to answer the question: | "How small can we then make the image?" | | Care must be taken when trying to compare the performance | of image codecs by increasing compression density until | there are very visible compression artefacts and then | evaluating whether A's or B's artefacts look worse: If both | A's and B's artefacts are so bad that one would not want to | put such an image on one's website, such an experiment | gives no insight on what one would pick for images that one | would actually put on one's website. | | Figuratively speaking, if I buy a shirt, my main criterion | is that it looks good in good condition, and not that it | still looks good if I put a coffee stain on it. | | So, before comparing codec quality at compression levels | where artefacts show, always ask yourself: At that level of | visual quality, would I actually want to put either of the | two options on my website? Now, it is of course tempting to | compare "away from the actual operating point", because it | is just so much easier to do comparisons if there are very | visible differences. Comparing near-identical images for | quality is hard. Doing this over and over again in a human | rater experiment is exhausting. But that's then answering | the actual performance questions that need to be answered. | torgard wrote: | Great point! | jonsneyers wrote: | ^^^ This. | | Comparing artifacts at 0.2 bpp is tempting because the | artifacts are big there. But it's like buying a car based | on how it performs when you are using only the first | gear. | maeln wrote: | Although the Moscow demo[0] look better (in my eyes) in jxl | than wepb. | | Note also that JXL is still being worked on. We have no | information also about which encoder was used (I am assuming | the reference encoder, since it is the only one that I know | off right now) and which version. | | Edit: the Citroen demo is also a clear win for JXL. | | [0] https://eclipseo.github.io/image-comparison- | web/#moscow&WEBP... | espadrine wrote: | One case where JXL is very noticeably more accurate is | here: https://storage.googleapis.com/demos.webmproject.org/ | webp/cm... | | The singer's left hand has wrinkles in the original image | that disappear in WebP2. | | Overall, WebP2 and especially AVIF are really good at very | low bitrates (<1 bit per pixel), but unlike video, images | on the Web will always be shown at the smallest bitrate | necessary to be indistinguishable from the original; there, | JXL tends to show all the details at a lower bitrate. | JyrkiAlakuijala wrote: | You can get a more up-to-date comparison from the WebP team's | comparison page: | https://storage.googleapis.com/demos.webmproject.org/webp/cm... | | Internet uses jpeg qualities that average around 2-3 bpp today, | and an improvement in compression density through a new format | that compresses 50 % better would push it down to 1-1.5 bpp. | The comparison tool displays the bitrates when you hover on the | images. | pavon wrote: | Yeah, I agree that webp looks better for many of the images. | For most of them it comes back to the subjective issue that | webp (and VP9) choose to err on the side of blurring detail | they can't encode, while jpeg XL (and x264, etc) try to keep | all the detail they can at the expense of more artifacts. There | are very vocal proponents of both approaches, and personally I | think it varies by the image content. | | For all these examples, I was comparing at Small (as with Tiny | they were both bad enough but in different ways that I often | couldn't decide which was least bad). For the Abandoned Factory | and Panthera Tigres, I think the extra detail of JXL looks | better than the blurring of WEBP. On the otherhand, I think | WEBP looks cleaner than JXL for Buenos Aires, Reykjavik, B-24 | Bombers without loosing significant detail. And Avenches is a | mix as JXL looks much better than WEBP for the trees and tile | roof, but has worse chroma artifacts near the edges of the hat | and clothing. | | But that isn't the whole story, as for some of the images WEBP | seems to both preserve more detail, and have fewer artifacts, | such as Air Force Academy Chapel, Pont de Quebec, Steinway and | White Dunes. What all these cases seem to have in common is a | smooth gradient adjacent to sharp detail. WEBP seems to do a | much better job of dealing with that boundary by blurring the | smooth part, put preserving the sharp lines. | | And if you bump up to WEBP2, the number of cases where it both | preserves more detail and has fewer artifacts than JXL | increases significantly. | astrange wrote: | > Yeah, I agree that webp looks better for many of the | images. For most of them it comes back to the subjective | issue that webp (and VP9) choose to err on the side of | blurring detail they can't encode, while jpeg XL (and x264, | etc) try to keep all the detail they can at the expense of | more artifacts. There are very vocal proponents of both | approaches, and personally I think it varies by the image | content. | | In VP9/WebP this wasn't a "choice" so much as they were | optimizing for good looking marketing graphs instead of | pictures. You get blurry images if you target a metric like | PSNR instead of actually looking at your output. x264 does | have a few different tunings, the film one will try to turn | detail to noise and the animation one won't. | dsego wrote: | What is the Weissman score? | yummybear wrote: | This is going to sound childish, but PIK (Google Pik) is | literally "dick" in my language. I can't help to chuckle at the | notion of using PIK-images - literally dickpics. | jonsneyers wrote: | I'm a native Dutch (of the Belgian variety) speaker and my | proposal was called FUIF (which means "party" in Dutch, but | it's also a backronym for Free Universal Image Format). | | I am very happy the result of combining PIK and FUIF was not | called PIKFUIF (or FUIFPIK). Some say JPEG XL is a bad name, | but it could have been so much worse... | dang wrote: | Related ongoing thread, complete with newly-added title | qualification: | | _JPEG XL would be Turing-complete without the 1024x1024 pixel | limitation_ - https://news.ycombinator.com/item?id=27559748 - | June 2021 (34 comments) | childintime wrote: | An important niche to consider might be face recognition. For | example the "US Open" image on medium JXL is significantly | distorted in the face. As the face area is critical to the | overall image quality perception, that area would benefit from | reduced compression. | | edit: This is also the case in other images with faces (and | especially the eyes). | tibbetts wrote: | My biggest image format question, which I haven't seen a clear | answer to, is as an iPhone camera user should I be keeping the | JPEG or the HEIC as my archival format? I theorized the HEIC had | more information, but I don't really know. Unfortunately keeping | both is a usability nightmare in all the tools I've seen. Anyone | have an informed opinion or good link? | jonsneyers wrote: | HEIC is in general better than JPEG (as a codec; not in terms | of interoperability), but the way Apple does HEIC, I strongly | suspect that JPEG is actually a better choice. Your files will | of course be larger, but the HEIC will be a bit overcompressed | compared to the JPEG: it will have some blurring/smearing | artifacts that the JPEG will not have. | | The reason is that they do fast hardware HEIC encoding at | relatively aggressive quality settings in order to get the file | size savings they want to boast about. They claim the quality | to be the same, but that's not actually true. It is a lower | quality. | | One advantage of HEIC though is that it can also contain the | depth map (in 'Portrait mode'), which I assume gets lost when | you use JPEG. This is the information that gives a rough | separation of foreground and background, so you can later do | effects like applying bokeh to the background only. | kalleboo wrote: | The Apple portrait depth map is also stored in a JPEG. I | believe they use MPO. The Google camera can do it too. | Apparently it uses XMP metadata for this purpose. | mceachen wrote: | The depth map is actually stored as an image: PhotoStructure | accidentally used them as preview images several versions | back (when depth maps were fairly novel) and I had some | interesting discussions with users complaining about "ghosts" | in their library: | | https://forum.photostructure.com/t/i-see-ghosts/41 | zaarn wrote: | If you want to preserve fidelity indefinitely, PNG or RAW might | be a better bet. Lossless formats usually are better for | archival, you can always get a lossy compression out of it | later and don't have to worry about generational losses. | pjc50 wrote: | .. but this is an iPhone, so the options for "original" are | HEIC, JPEG, and "proraw" https://support.apple.com/en- | gb/HT211965 | zaarn wrote: | I don't have an iPhone, hence a minor speculation on what | it supports, if you forgive that. | | If you're looking into archival, you'll probably want the | PRORAW then, sounds like that is the lossless format. | | Converting from JPEG/HEIV to lossless is a bit of a | pointless thing to do, you already incur generational loss | from that. | lazide wrote: | For archival, you need to worry about long term ability | to read the format easily. JPEG wins that fight out of | the three easily. | zaarn wrote: | RAW is a very old format that has been around for some | time, Apple's ProRAW is backwards compatible and has some | additional metadata attached (IIRC ProRaw attaches the | image pipeline the iphone would have used, so that image | software can recover this and produce the same image the | iphone would have after the image pipeline). RAW is older | (1988) than JPEG (1992), largely because RAW is largely | based on TIFF (and any vendor specific variation is | usually TIFF-like too) in it's mid-1980s state. The | latest standard RAW standard (TIFF/EP) is from 2001. | | So in terms of long term ability to read... RAW wins, | various versions aren't as old but JPEG got it's fair few | of extensions too. | | For long term readability, I don't think JPEG would win | on another standpoint; bitrot. It'll happen eventually, | even if you use ZFS, you will eventually loose some bits. | Maybe a sector of data. JPEG doesn't like loosing parts | of the file. | | On the other hand, a TIFF file can be recovered from | bitrot, if you don't mind loosing a part of the image. | Because there is no compression, loosing a sector of data | amounts to loosing the bits on that sector. The only | sensitive part of the file would be the header, which | isn't terribly complex and can be typed on notepad if | needed be. | thehappypm wrote: | If you convert the full-resolution JPEG/HEIC to PNG you | won't lose any information, right? | jonsneyers wrote: | Technically, you do lose _some_ information. PNG cannot | represent DCT coefficients nor YCbCr data, and the | conversion of those things to (8-bit) RGB is a (slightly) | lossy operation. | sp332 wrote: | Sure, but what's the advantage to blowing up the file | size to losslessly preserve all the lossy artifacts from | JPEG or HEIC? | MontagFTB wrote: | ProRAW is lossless, if you're willing to pay the size price | (~40MB/image.) | mceachen wrote: | Apple used to have a spectacular record with stable formats: | see HFS+. | | Unfortunately, over the last several years, that's gone out the | window. | | Mojave can't read some Big Sur volumes, even though both are | using "Apple File System". | | HEIC image formats coming out of iPhones have changed /several/ | times in the past couple years: witness the scrambling by the | libheif project as they find out they can't read images from | the latest iDevice. | | Apple's in-device conversion to JPEG is lossy, but I don't | expect you will notice. Most of the metadata it's retained (at | least with the current iOS), and I couldn't see egregious | artifacting. | | I'd personally keep the original and hope tooling keeps up with | Apple shenanigans, but disk is cheap, and if you're worried at | all, use `sips` (if you're on a Mac), the built-in | "compatibility mode" conversion, or `heif-convert` to transcode | to JPEG. | | (Source: building support for HEIC in PhotoStructure) | jbverschoor wrote: | The site doesn't state this, but https://jpeg.org/jpegxl/ says: | | JPEG XL further includes features such as: | | - animation | | - alpha channels | | - layers | | - thumbnails | | - lossless and progressive coding | | I wonder if progressive loading can halt loading (network I/O) at | certain resolutions. This would remove the need of img-sets. | | Edit: | | Interesting talk at https://www.youtube.com/watch?v=t63DBrQCUWc | and https://www.youtube.com/watch?v=RYJf7kelYQQ | | Esp. the "visual target" instead of "technical target" when | deciding the encoding quality. Also, the lossless and reversible | transcoding from JPEG, GIF and PNG. | phkahler wrote: | What about meta-data? | jonsneyers wrote: | The usual XMP and Exif metadata are supported in the file | format, as well as JUMBF extensible metadata. It can | optionally be Brotli-compressed too. | ksec wrote: | >I wonder if progressive loading can halt loading (network I/O) | at certain resolutions. This would remove the need of img-sets. | | Yes, not resolution but predetermined quality levels. | ZeroGravitas wrote: | I believe it can also resume from where it left off, if you | click a thumbnail to get a closer look. | fho wrote: | I guess you trade responsiveness for 'on-demand' data | transfers. I would guess that the moment you click the | button is too late to resume the loading. | | Otoh the low-res thumbnail might be just enough to show as | a (big) placeholder to bridge the (short) loading time to | bring the image to a resolution that the user won't notice | a difference. | | (brain off ... can't write coherently ...) | Retr0id wrote: | I was playing with progressive PNGs, and with an | "intelligent" web server, it's possible to halt image | transmission (either temporarily or permanently) at a server- | decided quality level. | | Here is a demo, which uses the different resolutions to | create a pseudo-animation: | | https://www.da.vidbuchanan.co.uk/adamation/image.png | | It would be theoretically possible to write a server with a | "give me the next quality level now" API endpoint, to enable | the client to signal that it's ready for the next resolution. | | This is far too janky to be used in production, but at least | its fun. | rdsubhas wrote: | Interesting, but doing it server side can screw up CDNs | (which are quite important for images). It's better if the | client takes care of that, so CDNs can cache the full | image. | ec109685 wrote: | There has to be some incoming header / query param to | indicate the resolution the browser is asking for in | order know when to stop delivering bytes, so that can be | used to vary the CDNs cache key. | lcnmrn wrote: | The only missing part is support in all browsers and operating | systems. | jerryX wrote: | Already in Chrome, Firefox, Edge: | https://www.ghacks.net/2021/05/11/find-out-if-your-browser-s... | phartenfeller wrote: | Yes but behind a Flag. With default settings, it hasn't | landed in any browser yet: https://caniuse.com/jpegxl | | I hope that Safari does not take as long to implement it as | with WEBP... | ByTheBook wrote: | I doubt it will be enabled by default until it reaches | version 1.0, it is currently at 0.3 IIRC | hulitu wrote: | This is only 1 browser with 3 distributors. | andrius4669 wrote: | firefox is chrome distribution? that's new to me | tgv wrote: | Firefox is a very different browser. Edge shares its base | with Chrome, and that's derived from WebKit. | vanderZwan wrote: | This may be my memory playing tricks on me (after all, time | perception changes as you get older), but if I think back to | the speed of adoption of just about any image format that came | after JPEG and GIF, then JPEG XL seems to be moving really fast | by comparison. | | EDIT: granted, computers being stuck on old versions of | Internet Explorer back in the day and therefore holding back | (for example) PNG adoption is a very different situation than | that of the modern web, which makes it a bit of an unfair | comparison. | em-bee wrote: | i don't think your memory is playing tricks. from all these | new formats, only PNG has really caught on yet. i don't think | jpegxl will be adopted any faster. | tosh wrote: | discussed at https://news.ycombinator.com/item?id=27559748 | [deleted] | ChrisMarshallNY wrote: | I really want this to work. | | As has been pointed out in the comments, it needs to be adopted | beyond the browser. And _easily_. | | Anyone hear of FlashPix[0]? | | Anyone? | | Bueller? | | It was a staged-resolution format that was introduced by a | consortium in the 1990s. | | The biggest problem (of many) was that, in order to read or write | the format, you needed to use the Microsoft Structured Storage[1] | library, which was a huge pig (at that time. I assume it's | better, these days). | | The format was basically strangled in the crib. It was actually a | fairly interesting idea, at the time, but files could be _huge_. | | [0] https://en.wikipedia.org/wiki/FlashPix | | [1] https://en.wikipedia.org/wiki/COM_Structured_Storage | kalleboo wrote: | > _The biggest problem (of many) was that, in order to read or | write the format, you needed to use the Microsoft Structured | Storage[1] library, which was a huge pig (at that time. I | assume it 's better, these days)._ | | HEIC and AVIF are based on the QuickTime file format, which | doesn't seem very svelte either. I can't find any reference on | the JPEG XL container format so it's probably it's own thing. | ChrisMarshallNY wrote: | Good chance it's TIFF, like JFIF. | jonsneyers wrote: | No thanks, the only TIFF you'll find in a JXL is the | (optional) Exif metadata. | jonsneyers wrote: | HEIC and AVIF are both based on HEIF, which is based on | ISOBMFF (just like for example MP4). | | The JPEG XL container (which is optional and only needed if | you want to attach metadata to an image) is also based (more | directly and with less header overhead) on ISOBMFF. | astrange wrote: | The ISO media file format is, like GP said, basically | QuickTime. | | This can be a problem if you're the kind of completionist | who needs to implement everything they see and make one C++ | class per QuickTime atom - a problem I saw with a lot of | mp4 codebases. | | But there's no need to do this because almost all the | things in the spec don't matter. Just don't read any of | them and handle the rest procedurally and it'll be fine. It | looks like JPEG XL also has too many features (like this | animation and patching thing) so maybe just ignore that | too. | keanebean86 wrote: | I was really excited about JPEG 2000 when I first heard about | it in the mid 2000s. As is tradition it was pretty much killed | by the possibility of patents that weren't part of the industry | agreement. | astrange wrote: | JPEG2000 just wasn't a great format either. Wavelets don't | compress well because they get blurry, which isn't pleasant | to look at, and it's slow to decode, so sticking with JPEG | was a good idea. Similar issues with WebP, it wasn't good | enough to move to. | Hypx_ wrote: | That might've been true at the time. But what about today? | Can't we use the higher settings for JPEG 2000? At least | speed shouldn't be an issue now. | ksec wrote: | Comment from Facebook Infra [1], | | > _Erik Andre from the Images Infra team at Facebook here. I 'd | like to share a bit of our view on JPEG XL in the context of new | image formats (e.g AVIF, JPEG XL, WEBP2, ...) and how browser | adoption will let us move forward with our plans to test and | hopefully roll out JPEG XL._ | | > _After spending the last 5 months investigating and evaluating | JPEG XL from both a performance and quality point of view, it 's | our opinion that JPEG XL has the most potential of the new | generation of image formats that are trying to succeed JPEG._ | | > _This opinion is based on the following findings:_ | | > _JPEG XL encoding at speed /effort 6 is as fast as JPEG | encoding (using MozJpeg with Trellis encoding enabled). This | means that it's practical to encode JPEG XL images on the fly and | serve to client. This can be compared with the encoding speed of | AVIF which necessitates offline encoding which offers much less | flexibility when it comes to delivering dynamically sized and | compressed content. Depending on the settings used, JPEG XL can | also be very fast to decode. Our mobile benchmarks show that we | can reach parity with JPEG when using multiple threads to decode. | This matches and in many cases surpasses the decoding performance | of other new image formats. The JPEG XL image format supports | progressive decoding, offering similar gains in perceived image | load performance we are already benefitting from with JPEG. This | is a feature lacking in the other new image formats which are all | derived from Video codecs where such features makes little sense | to support._ | | > _Having browser support from all the major browsers is going to | make our lives a lot easier in upcoming WWW experiments and | ensure that we can deliver a consistent experience across | platforms and browsers._ | | Blink Tracking Bug [2] currently behind a flag ,Firefox on both | [1] and [3], currently in about:preferences#experimental on | Firefox Nightly. If I remember correctly it is supported on Edge | behind a parameter as well. I thought it was all very quiet after | the standard was published, turns out both Chrome and Firefox | intent to support it. | | AFAIK, neither Webkit nor Safari has any plan or intention to | support JPEGXL. I think ( someone correct me if I am wrong ) | Safari uses macOS image decoding library. So supporting JPEGXL | may come from an OS update and not browser? | | Finally, an open standard, Royalty Free, open-source reference | implementation, and it is nearly better than all other | alternative. As an image format on the web it is quite possibly | close to _perfect_ [4]. It is exciting and I hope JPEG XL will | succeed. | | [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1539075 | | [2] | https://bugs.chromium.org/p/chromium/issues/detail?id=117805... | | [3] https://bugzilla.mozilla.org/show_bug.cgi?id=1707590 | | [4] I remember the conversion from a little more than 6 months | ago current encoder is not optimised for image quality below bpp | 1.0, those are going to be the focus once all the initial | reference encoder and decoder standards and issues are done. So | in case anyone wondering it doesn't look as good as other | competitors ( but still a lot better than JPEG ), those | improvements are coming later. | jonsneyers wrote: | That's correct, Safari does its image decoding via OS-level | image decoding | (https://developer.apple.com/documentation/coreimage). | | The only power Safari devs basically have is to decide which | OS-supported formats to enable/allow and which ones to disable | (e.g. JPEG 2000 is enabled but HEIC isn't). | | So getting JPEG XL supported in Safari will most likely first | require it to be supported in MacOS and iOS. If you have an | Apple device and would like it to get JPEG XL support, then | feel free to open a Feedback Assistant ticket (there's an OS- | level application to do that) to make a feature request. (I did | that 5 weeks ago but haven't heard back yet) | mayoff wrote: | You probably meant the Image I/O framework, not the CoreImage | framework. | | https://developer.apple.com/documentation/imageio/ | Eric_WVGG wrote: | Huh. So that explains why WEBP worked in Safari 14 for Big | Sur but not Catalina or Mojave. | layoutIfNeeded wrote: | Not gonna fly, unless it's supported by PDF. | lucasmullens wrote: | JPEG XL is available (in beta/with a flag) in Chrome, Edge, and | Firefox. Seems likely once it's no longer in beta that some web | developers will start conditionally using it depending on the | user's browser. | | It doesn't need to be useful everywhere to be useful. | ZeroGravitas wrote: | A few cynical comments so far about this being one more standard | to replace all the other standards a la the XKCD joke, but this | is an effort that I have some faith in to actually deliver on | that promise. | | Lots of technical, practical and and political reasons why this | could quickly replace a whole bunch of legacy formats in various | roles that have been hanging around for a while for one obscure | reason or another. | | A faster, better-looking, and simpler web, yes please! Please | support this so that it actually happens this time. | est31 wrote: | > this being one more standard to replace all the other | standards a la the XKCD joke | | Even if JPEG XL does not replace all other image formats, note | that as the computing industry is growing, so is the number of | use cases for image formats. There is no law that there has to | be one format to rule them all, how inconvenient that may be. | | E.g. some users might want to edit and encode extremely high | resolution images on their embedded smartphones with weak | processing power. They might not care if their images are 5% | larger, they don't want their friends to wait for the encode to | finish so that they can make another picture. | | Other users might only encode an image once and then distribute | it to millions of users. 5% improvement in bandwidth cost might | be quite significant here. On the other hand, they have lots of | and computational resources to throw at making the optimal | image. | | Can both use cases be served by the same format? Maybe. Maybe | JPEG XL is that format. But these use cases came up as | computers became embedded so you could carry them around, and | as websites sprung up with billions of visitors. This is a | development of the last 20 years. | | Often the response to such developments is an increase in | complexity: more formats, more tools, etc. | jandrese wrote: | Oh nice, it seems they learned from the JPEG2000 fiasco and | released this with an open source license. | | https://gitlab.com/wg1/jpeg-xl/-/blob/master/LICENSE | dreamlayers wrote: | Lossless JPEG transcoding making images 20% smaller is nice, | though you can already losslessly shrink many JPEG files by up to | 10% by using https://github.com/tjko/jpegoptim/ and making them | interlaced. | hoseja wrote: | Somewhat unfortunate naming for a format that presumably tries to | be as small as possible. | lovasoa wrote: | JPEG-XL can encode huge images, whereas JPEG is limited to a | maximum width and height of 65535 pixels. | hoseja wrote: | Is support for 5 gigapixel images really such a killer | feature to put it in the name? | jonsneyers wrote: | That's not where the name comes from :) | | https://en.wikipedia.org/wiki/JPEG_XL#Name | hnbad wrote: | I first thought the name must be a clever pun when I saw that | the original JPEG was dated 1992. But sadly my brain was off by | a decade, JPEG XL is in fact not JPEG 40. | | They could have gone with JPEG XXL or JPEG XXX but the former | is a bit too fanciful and the latter might cause some adoption | problems outside a certain niche industry. | jonsneyers wrote: | JPEG MMXXI ? | IshKebab wrote: | It's also very similar to JPEG-XR. | jonsneyers wrote: | And JPEG XT. And JPEG XS. | | I prefer calling it JXL (or jxl) which is visually | sufficiently unique to avoid confusion. | fleddr wrote: | A game changer delivered by JPEG XL that is often overlooked: | | https://www.youtube.com/watch?v=lqi5U6dxeZU&t=223s | | To summarize, JPEG XL has the potential to use a single file to | deliver many formats. This would deprecate the current practice | of web developers storing many versions of the same image to | optimize for different device types/sizes. | | The advantages are shockingly large: | | - It simply is much easier (time saved) | | - Huge storage/cost savings for media-heavy sites/apps | | - Significant world wide environmental benefit | | - Less need for huge platforms (Facebook, Twitter) to | aggressively compress photos | | - No need to constantly add new sizes, future-proof | | A dream feature, if you ask me. Do note that this feature | requires both browser and web server support, so don't hold your | breath. But one can dream. | lnyan wrote: | Chrome status: In developer trial (Behind a flag) | | FireFox status: Only in Nightly and behind a flag | | https://caniuse.com/?search=jpeg-xl | sp332 wrote: | The Firefox flag is "image.jxl.enabled" and the Chrome flag is | "enable-jxl", in case anyone else was searching for jpegxl or | something instead. | mmis1000 wrote: | You don't really need to alter the flags directly if you are | on Firefox nightly. Firefox nightly already has a dedicated | page for recent experiments in setting page. JPEG XL is | already on it for a few months. | sp332 wrote: | That's cool. I've been running Nightly for a while but I | haven't been keeping up on new things in that tab. | jug wrote: | Aldo, note that while Edge has initial support as well, it's | behind a command-like attribute rather than a flag. Not sure | why they didn't just do it like Chromium but I have a suspicion | they might want to remove it later and replace it with a JPEG | XL image extension like they've done recently for AVIF etc. The | reason is that this then benefits the entire system. | | But regardless. All main browsers but Safari will get it. The | jury's still out on Safari/WebKit. | nuclearsugar wrote: | Very curious to see if this codec gets implemented into After | Effects. I've been rendering out of Maya to a PNG sequence for | many years since it's lossless and includes an alpha channel. But | the decompression times leave me wishing for TIFF, TARGA, EXR, or | such... But the cumulative file size difference is dramatic. And | that matters when I'm rendering for example 10 tests, each with 2 | layers, and also each have 10,000 frames. | KMnO4 wrote: | Does After Effects support APNG? Most browsers do. | | https://en.wikipedia.org/wiki/APNG | CyberDildonics wrote: | This is not at all what it is for. Being an intermediary isn't | even what png is for. Exr is made for it and can zip compress | individual lines while having 16 or 32 bit floats per channel. | jonsneyers wrote: | JPEG XL can do lossless compression of 16-bit or 32-bit (or | even 24-bit and other custom float types) float data, just | like EXR. It can do pretty fast encode/decode (for mezzanine | use cases) and also (if you have time for encoding) it can do | the densest lossless compression. | CyberDildonics wrote: | The point here is that EXR has taken care of being an | intermediate format for 20 years but this person is using | pngs and is hoping jpegxl fills the same slot of a solved | problem. | | > It can do pretty fast encode/decode (for mezzanine use | cases) | | I'm not sure what this means, but zipping individual lines | takes care of the interactivity problem of working with | compressed intermediary frames. | traspler wrote: | One big problem I have with the image/video format zoo in the | browsers is that it becomes an incredible complicated task to get | the media out of the browser in a format all the other software | can work with. It would be amazing if the browsers offered a | built-in ,,Download & Convert" feature for images and videos. | | Pages automatically defaulting to webp so you try to send the | link through a messenger and you might notice that it doesn't | work for everyone, either iOS users can't see it or the messenger | interprets it strangely. So you try to save the image and send | that, same problem, you get the webp image... | [deleted] | Geee wrote: | What would be even more amazing, is that browsers would | compress / convert formats on upload. Especially video. It's | stupid to upload gigabytes of raw video to a server which then | compresses it to a few megabytes. | dylan604 wrote: | If you're willing for your video to suffer quality from bad | compression settings because your browser is a "dumb" tool | that just applies some preconfigured compression scheme, then | great. Also, how many people are going to accept that instead | of just uploading files and seeing immediate progress vs | waiting for a browser to compress a file from some sub-$500 | laptop? What codec is it encoding to? H.265? good luck | getting that to complete this week on that cheap laptop. | Osiris wrote: | Reminds me of the native plugin days where based on mine type, | a plugin would handle the content. | | Could WASM in an extension be good enough for some use cases | like this? | dangerface wrote: | Yea its awful the number of sites that use .jpg but its actualy | a webp with the wrong extension, like thanks I hate it. | slig wrote: | Thanks Clouflare for that. | vbezhenar wrote: | It is a bad idea with lossy compression. Every convertation | will make quality worse. | nine_k wrote: | Desktop Firefox already has it. | | Right click -- "Copy image" -- paste into any program that | supports PNG. | | On Android though this is not the case. | Pxtl wrote: | Really? I'm getting "your browser does not support JPEG XL" | in Firefox. | nine_k wrote: | I mean the way to export an arbitrary image in an open | format, not JPEG XL support yet. | philo23 wrote: | I've noticed sometimes that when Cloudflare optimises images | and serves up their own WebP versions of your existing images, | if you go to save it you get the original jpg/png back. | | Presumably the HTTP request that gets sent when you save an | image sends different Accept headers. | | Doesn't seem to work all the time, but presumably thats down to | a combination of different Cloudflare settings, origin server | configuration and what format the original image were in too. | tyingq wrote: | My guess is that the HTTP client request, when you do right | click "Save Image As", is sent with Cache-Control:no-cache | and Pragma:no-cache headers. Which bypasses Cloudflare. | jonsneyers wrote: | I think it just re-requests without the "Accept: | image/webp" in the request header, so you get whatever the | server would have sent to a browser that doesn't know about | WebP. | tyingq wrote: | That seems like it would have to be an unusual hardcoded | path in the browser's code. I can't figure out why it | would do that. | jandrese wrote: | Too many complaints that they downloaded a picture from | the web that their image viewer can't open maybe? | CyberShadow wrote: | > It would be amazing if the browsers offered a built-in | ,,Download & Convert" feature for images and videos. | | In a way, they already do for images: right-click and "Copy". | In some desktop environments, you can even paste that directly | into a folder to save it as a file. Dolphin allows choosing | which format (of those that the browser can convert to) to save | it in. | lostgame wrote: | Google Image search even does this! Incredibly annoying - only | to go to the source image itself and find it to be JPEG or PNG. | | Very confused as to why this is done - anyone? | p410n3 wrote: | I always hated when people sent me screenshots instead of just | downloading the images, but for the reasons you mentioned I | know often find myself screenshotting stuff.... | | At least I cut the image so it's not obvious | Daemon404 wrote: | Chrome does seem to save the JPEG version on some WebP or AVIF | URLs where there is also a JPEG version available too, although | it seems to be 'clever' about it rather than explicitly | offering the option, which can make saving the actual WebP or | AVIF mildly annoying. | krzyk wrote: | Really? I find browsers as a software that recognizes fewest | number of image formats. | | ImageMagick is just few keystroke away and you can convert to | almost any format you like. | h0nd wrote: | At the same time content providers are trying to make it as | difficult as possible to 'steal' their videos and images. | phkahler wrote: | >> At the same time content providers are trying to make it | as difficult as possible to 'steal' their videos and images. | | Well, screenshot is a thing for images. Video is another | story. | BEEdwards wrote: | OBS works great for screenshoting videos. | dylan604 wrote: | I like how you put steal in quotes to minimize the fact that | is what you are doing. If you walk into an art gallery or | musuem, you can't just take art of the wall and walk out with | it. Just because the gallery is a website, people feel like | they can just right-click and save as and walk out the door | with it. Yet, people understand that highlighting text | copy&pasting it into their own work is plagiarism. I honestly | do not understand the disconnect. If the website felt like | the imagery should be free for people to do what they want | with, then they would provide a link to a higher quality | image rather than a highly compressed one. | desiderantes wrote: | Wonky comparison, as plagiarism involves claiming | authorship/evading citing, not literally copying text and | keeping it somewhere else. I CAN go and copy text from any | textbook into my notebook without consequences, why | couldn't I download a copy of an image? | dylan604 wrote: | Did you ask for permission and were granted permission to | take that image from the server for any other use than | for viewing in a browser? What is the purpose of | downloading the image? To share with friends? Why not | send a link to the site? To use a desktop background? Did | you pay to license for that use? To store on your phone | for your own personal enjoyment? Again, why not reload | the website? | spider-mario wrote: | Some countries, like France <https://www.legifrance.gouv. | fr/codes/article_lc/LEGIARTI0000...> and Switzerland <htt | ps://www.fedlex.admin.ch/eli/cc/1993/1798_1798_1798/en#ti | ...>, cite several exceptions to copyright including | private copying. | NoSorryCannot wrote: | As a lowly end user not intending to widely redistribute | the content, I decline this absurd level of | responsibility, and the doctrine of fair use would tend | to agree. | | And as long as websites tend to modify, delete, move, or | otherwise play games with urls and content, I will see | value in saving a permanent copy. That I should be able | to do that is frankly how the internet was intended to | function; if that's not desirable for the content, then | perhaps it should not be published on the internet at | all. | dylan604 wrote: | >And as long as websites tend to modify, delete, move, or | otherwise play games with urls and content <snip> then | perhaps it should not be published on the internet at | all. | | Except an artist can deliberately decide to only make an | image publicly available for a limited time, and | therefore taken the image down from the website. Just | like art moves from museum to museum, an artist can allow | an image to be used within a pre-defined window. Just | because you have the technical know how to extract an | image that is not readibly downloadable via the UI does | not mean you should. | | Maybe one of the features of JXL would be a timebomb type | of setting where after a certain date the data is no | longer useable. | | I sympathize with both sides of this argument. I get that | info wants to be free blah blah, but I also understand | that artists are in a difficult situation with the | internet. I mean, an artist's work posted on the internet | is not the cure for cancer, or basic information on | algebra where the info should be evergreen. The group | think is more of "I want what I want" vs consideration | for what the artist's intentions are. If you enjoy an | image so much that you're willing to go to the effort to | get the image, why not acquire the image throuh legit | method? | Dylan16807 wrote: | If someone saves an image for private use, that doesn't | interfere with limited public availability. | | > If you enjoy an image so much that you're willing to go | to the effort to get the image, why not acquire the image | throuh legit method? | | Do you make the same argument when people use a VHS? If | you're willing to go through the effort to press the | record button, you should go buy a copy for $20? | dylan604 wrote: | Depends on the purpose the use of the VHS. Copying | something you brought home from Blockbuster would | definitely qualify. Recording something off of TV to | watch at a later more convenient time was just the | precursor to DVR. | | The image file you downloaded from someone's website | without their permission in miles better in quality than | the stupid VHS. It's more like the DVD/Blu-ray you ripped | from your buddy that actually paid for it. Just because | you can doesn't mean you should | Dylan16807 wrote: | Saving an image _is_ very high quality. But so is DVR. | Usually a DVR copy is perfect. | | DVR sounds like a very good analogy to me. The website is | showing you something, and you make a personal capture | that you can replay at any time. It was distributed to | you specifically, and you're time-shifting it. You're not | taking a personal copy held by one person and making it | two personal copies held by two people, which is what | happens when you rip someone else's DVD. And the same | way, you shouldn't take that image you saved and start | distributing it around. | Majestic121 wrote: | It's a bad metaphor, because if you take the image from the | gallery, other people cannot enjoy it anymore, while with | the right click/save you make a copy, so it's still there | for everyone. | | A better analogy would be if you make a painting of a | painting without paying the original artist, is it stealing | ? | | It's not : it can be construed as counterfeiting though, | and it might cause the artist to stop painting because he | does not make enough money, but calling it stealing is | simply wrong. | dylan604 wrote: | Okay, so you're one of those hung up on a definition. | What do you call it when you use something without | someone's explicit permission whether because you didn't | ask for it first or knowingly using it after it has been | posted on a website that you do not have permission to | use it? | adrianmonk wrote: | Normally, discussions about semantics are indeed | pointless. But this is a rare exception. | | The word "steal" is chosen _because_ it carries a strong | negative connotation. It is an example of loaded language | (https://en.wikipedia.org/wiki/Loaded_language). | | Regardless of whether it's ethical to copy whatever files | in whatever situation being discussed, the term "steal" | is intended to sidestep that question and make it _feel_ | unethical by drawing an equivalence between it and | something most people agree is unethical. | | It's a slightly underhanded rhetorical technique, so it's | reasonable to put the word "steal" in quotation marks to | call attention to it. | Majestic121 wrote: | Depends on the context. If the person loses access to | what I'm taking (typical in the physical world), | stealing. If the person does not loses access (typical in | the virtual world or with artificial scarcity items), | counterfeiting. | dylan604 wrote: | And you're okay with being an counterfeiter? | jonsneyers wrote: | I agree with this, and I think for this reason it is best if a | new codec gets wide adoption also outside browsers, instead of | having the approach of a "web codec" where it suffices that | servers and browsers know about it but the wider ecosystem | doesn't support it. | | WebP in particular, as the name suggests, was conceived as an | "image format for the web" and while I think it's good to have | the web in mind when designing an image codec, I think it's a | bad idea to limit the scope like that. Design decisions like | limiting the maximum dimensions and bit depth at the codec | level "because that's all the web needs" plus limited | attention/focus to adoption outside browsers does lead to the | phenomenon you describe where "it doesn't work for everyone", | causing the small gain of improved compression to be dwarfed by | the huge inconvenience of breaking workflows. | | Any new codec of course has this problem even if they do target | wide adoption (like JPEG XL): adoption is never instantaneous. | It is a fact that the release cycle of browsers is more | suitable for innovation than that of most other software, so it | does make sense to start there even when it will still cause | things to break in software that doesn't support it yet. | | To mitigate that, I think it would help a lot of browsers would | have a "Save As..." dialog box on images that gives users the | choice to save the actual image in whatever format it is in, or | to convert it to PNG or JPEG. | im3w1l wrote: | Another solution could be that "someone" creates a library | supporting all these formats that everyone else can then use. | If the supported formats are queried at run-time, this means | that just updating the library will automagically add support | into other programs. | bmn__ wrote: | I believe AmigaOS and BeOS had that, ROX Desktop too? We | could replicate the same nowadays via GStreamer, but | adoption is hampered by its plug-in system, meaning that | most installations are incomplete. | chungy wrote: | You are basically describing libavformat and libavcodec | (part of the ffmpeg project) | onedognight wrote: | This would significantly increases browser attack surface | area. Coders are usually much more complicated than decoders. | jonsneyers wrote: | Browsers already have to include an encoder for JPEG and | PNG. They need that anyway for things like toDataURL(), see | https://developer.mozilla.org/en- | US/docs/Web/API/HTMLCanvasE... | astrange wrote: | The input data to an encoder is very simple since it's just | pixels. It's possible to find a crash but it would be | surprising to find an exploitable one. | nine_k wrote: | The browser has to decompress the image into raw pixels to | display it anyway. | | Dumping these raw pixels into a trivial intermediate | format, like uncompressed PNG or BMP, should not increase | the attack surface in any noticeable way. | jacobolus wrote: | > _It is a fact that the release cycle of browsers is more | suitable for innovation than that of most other software,_ | | Also there is a huge financial incentive for large web | hosting companies (e.g. Google, Facebook) to adopt | compression formats that save bandwidth, using automated | tools to apply those wherever possible. | | People making e.g. image archives or building image capture | hardware are going to be slower. They don't want to use new | untested technologies that might not succeed, and they don't | want to switch more frequently than necessary. When they do | transition it will be by applying new technologies to new | images but not immediately transforming older images to use | the new technology. | jonsneyers wrote: | True -- which is one of the reasons why JPEG XL includes a | risk-free JPEG recompression option: if needed, you can | just undo it and get the bit-exact same JPEG files back. | | Applying lossy recompression on already-lossy-compressed | images is something you should avoid at all cost, since it | inevitably causes generation loss (and it is also likely to | not be very effective, since you're basically spending a | lot of bits in the new codec on replicating compression | artifacts of the old codec). | JyrkiAlakuijala wrote: | Happy users, faster growing userbase, more e-store revenue, | higher click-through rates, lower latency, better quality- | of-experience, or more 7-day-returning users can be more | important financial incentives than bandwidth. Humans are | more than thousands of times more valuable than a computer. | | When image quality and observed latency are at a level | where users don't care even subconsciously (say, images | look like camera originals and load in 100 ms), then | bandwidth cost optimization may become a good 2nd | objective. | dgb23 wrote: | We automatically convert user generated images to WebP if | feasible and then use the <picture> element to display | alternatives (the original format as the fallback). I'm | pretty sure that this might be a common pattern. | | Browsers could allow a selection of all sources provided by | the picture element (this would also include differently | scaled variants based on media queries) in a download dialog. | Zardoz84 wrote: | It's not a option doing that if you need to serve a TiB of | images and you need, yet, to support IE 11. | | JPEG XL on fly conversion to JPEG, offers a nice solution | for this use case. | dgb23 wrote: | We support IE11 with a polyfill. | | The images are converted and stored when they are | uploaded or changed. I can see this being an issue with | that kind of volume though. But it's a performance gain | for the clients while content doesn't need to worry about | it. | txtsd wrote: | I'm worried about whether it will get adoption outside of | browsers. | The_rationalist wrote: | While the collaboration between Google and Cloudinary is very | welcome and the JPEG standardisation will accelerate adoption, it | would be nice to see a comparison of JPEG XL versus FLIF/FUIF, it | doesn't seem to have improved over it and it is unclear if it | retains all features such as progressive decoding of animated | images Cf https://flif.info/animation.html | yoran wrote: | Not directly relevant to the discussion, but I'm glad to see some | (ex?) KU Leuven people involved in this. | kapsteur wrote: | No matter the technical quality of a product such as jpeg XL, it | is the adoption by browsers that will make it a concrete product | ? | dtech wrote: | Both chrome and Firefox have it in their nightlies. Similarly | to webp, as soon as they have it it will be usable with header | sniffing quickly. | sp332 wrote: | Facebook likes it too. And honestly that's a pretty big egg if | browsers are the chicken. What are you looking for to recognize | a "concrete" product? | bick_nyers wrote: | Been evaluating lossless alternatives to .PNG, the nice thing | about .webp is that it is multi-threadable (hard to come by as | far as lossless compression algorithms go), can JPEG-XL | (lossless) say the same? | janwas wrote: | Yes, JPEG XL lossy and lossless formats both enable parallel | and region of interest decoding by splitting the image into | "groups"/tiles. | | The parallel speedup for lossless mode depends on the speed | setting. | znpy wrote: | I'm looking at an original vs jpeg-xl in lossless and it seems | that jpeg-xl alters the colors (blue in particular) noticeably? | | https://eclipseo.github.io/image-comparison-web/#abandonned-... | | Not sure if this is a good or bad thing. | | EDIT: Looking at https://eclipseo.github.io/image-comparison- | web/#japan-expo&... some details about the metallic structure in | the background are noticeably worse (less defined) in the jpeg-xl | version. | jerryX wrote: | In Chrome it looks identical. | jonsneyers wrote: | If Original vs Lossless does not look the same, it is because | your browser does not do color management correctly. JPEG XL's | lossless is mathematically lossless, so there cannot be any | actual difference. | | What can happen though is that the "Original PNG" doesn't have | an ICC profile and gets treated by your browser in a different | way than the PNG produced by the jxl decoder. This is a problem | of your browser though, not of JPEG XL, and likely the image | you see for "lossless JPEG XL" is the correct one. | 0-_-0 wrote: | According to IrfanView, the Lossless JPEG XL one has 167959 | unique colors, while the original one has 233263. | | For me it looks different in Firefox, the same in Brave (the | uncompressed one in Firefox is the odd one out) | jonsneyers wrote: | I'm curious how IrfanView is counting colors then. | GrinningFool wrote: | Both comparisons appear identical to me in Firefox. | markdog12 wrote: | Looks identical on Windows, Chrome Canary 93.0.4549.0 | baal80spam wrote: | I wonder how relevant is this xkcd going to be here. | | https://xkcd.com/927/ | clouddrover wrote: | It's true that JPEG will hang around purely because a lot of | software and hardware supports it and they can't all be easily | updated. But existing JPEG images can be losslessly (and | reversibly) transcoded to JPEG XL and you still get reduced | file sizes: | | https://cloudinary.com/blog/legacy_and_transition_creating_a... | | JPEG XL will be successful for this reason alone. | blowski wrote: | It's kind of relevant, but it's probably relevant to half the | posts on HN. By this point, it's kind of a cliche to bring it | up. | andrius4669 wrote: | lossless reversible jpeg recompression seems to be a nod to the | fact that jpegs aren't going anywhere. | romanovcode wrote: | On the web you want to use WebP nowadays so I would not be so | sure. | p0nce wrote: | WebP has a bit less features, for example it's only 4:2:0 | (which looks great). | formerly_proven wrote: | Well that kinda depends, 4:2:0 is good enough for video | and photo uses, but falls over pretty hard when | confronted with synthetic images (e.g. UIs). | pabs3 wrote: | JPEG XL is allegedly better than WebP, so once browsers get | support, seems like it would be the future. | acdha wrote: | WebP is slower and frequently the size benefits are quite | small, even non-existent, as you'd expect for an old codec. | Anyone concerned about bandwidth or features is probably | going to want to support newer formats like HEIC which | offer better performance to offset the cost of managing | multiple formats. | lcnmrn wrote: | JPEG XL has a non backwards compatible mode too for highest | quality/compression and the bitstream can be improved with | better encoders in the future. | nabla9 wrote: | Very nice practical feature: "Existing JPEG data can be | represented as-is in JPEG XL: no lossy transcoding!" If you need | ever to convert huge amount of archieved jpeg, you can config the | conversion not to lose anything. | | https://docs.google.com/presentation/d/1LlmUR0Uoh4dgT3DjanLj... | jmiserez wrote: | I know it's not the same, but technically you could do that | with every format: just ship a JPEG decoder and detect if the | input is a JPEG. The other way round would be much cooler, i.e. | if each JPEG XL file also was a valid JPEG. | jokoon wrote: | Curious to see how it compares to BGP: | | https://bellard.org/bpg/ | | Comparison: | | http://xooyoozoo.github.io/yolo-octo-bugfixes/ | | But again, the main bottleneck with image compression is embedded | software, like smartphone, cameras, etc. There is a compromise | and cost/benefit between file size, transistor requirement, CPU | cycles, power required, etc. | | For example, I would be interested to see the size of binary code | required to compress JPG, JPG XL, BGP, WEBP, etc. | est31 wrote: | Quality wise, BPG is essentially the same thing as HEIF because | both base on HEVC. There are comparisons with HEIF in the | slides linked on the JPEG XL homepage: | https://docs.google.com/presentation/d/1LlmUR0Uoh4dgT3DjanLj... | formerly_proven wrote: | n.b. HEVC is not royalty-free, while JPEG XL is. | sp332 wrote: | Thanks for mentioning this, I was curious and I thought it | would be getting more discussion here. | londons_explore wrote: | Oh look, another barely used image format alongside WebP, | Animated PNG, AVIF, JPEG2000, and a bunch of others so obscure I | forgot them. | | It seems image formats have ossified. Nobody cares if the images | are 50% smaller because storage and network are cheap enough not | to deal with the hassle of using a non-standard image format. | mschuster91 wrote: | I would not call JPEG2000 being "barely used" - it is the | standard format for all digital cinema movie packages. | ianlevesque wrote: | What is a digital cinema movie package? | detaro wrote: | The data format used to send movies to cinemas. | layoutIfNeeded wrote: | https://en.m.wikipedia.org/wiki/Digital_Cinema_Package | speedgoose wrote: | Cinemas don't use consumer grave video compression like | h265, instead each frame is a jpeg 2000 image. It's heavy. | KaiserPro wrote: | To simplify its a tar with jpeg2000s as an image stream, | plus audio and some metadata. | | Its then (usually, but it is optional) encrypted to make | sure that its hard to copy. The keys are sent directly to | each projector to allow time limited, and or other limited | use. | | The reason why its used is because it optimized for | quality, rather than size. It also allows custom colour | spaces and other tweaks to maintain/enforce colour | correctness/image quality. | snovv_crash wrote: | Its also heavily used in the medical imaging field for | radiographs etc | detaro wrote: | also for aerial photography images. | jonsneyers wrote: | If nobody would care, then how do you explain all the effort | that went into MozJPEG, WebP, BPG, FLIF, HEIC, AVIF and JPEG | XL? | | Do you really think people are working on improved image | compression just for fun, and not because "somebody actually | cares"? | | Also, it is not just about compression, it is also about | functionality. HDR displays are a thing, images with alpha | transparency are also a thing. There just is no way to properly | do HDR and alpha without "dealing with the hassle of using a | non-standard image format", unless you think 16-bit PNGs are a | good idea for the web. | londons_explore wrote: | Neat... But the only image on this page (the logo) is still a | gif, an image format from 33 years ago, without any updates | for 32 years. | jonsneyers wrote: | Sure, if you don't need images, then that's fine and you | obviously don't need a new codec. There is a significant | chunk of the web though that does make significant use of | images. | tusharpandey13 wrote: | So just halt innovation because a fraction of the internet's | users have fast connection speeds? | hulitu wrote: | > So just halt innovation because a fraction of the | internet's users have fast connection speeds? | | Inovation ? Will it make life easier for people ? No. You | still need to update. Will the page load faster ? No page | still has 30 Mb at 50 kbps. Lossless ? Same as PNG. Lossy - | same as JPG. So what is the inovation ? That with 20 threads | on an Epyc is very fast ? How about my 1ghz phone with 4 | cores ? | lucasmullens wrote: | Lots of users in the world are still on 2G/3G and would | greatly benefit from a faster image format. | | > Lossless ? Same as PNG. Lossy - same as JPG. | | This is incorrect, JPEG XL is smaller. | | Also why do you put spaces before your question marks? It | makes your post look rushed. | ncann wrote: | I wonder how good the lossy quality and size is compared to JPEG | Mini. ___________________________________________________________________ (page generated 2021-06-21 23:01 UTC)