It's somewhat odd to suddenly see lots of excitement in the 'continuous-tone still images' space, and I can't help but think that on some level, JPEG the group to wants to retain relevance at a time when the world is finally looking poised to move on from using its oldest work.
A still image file containing one frame of a video codec has been long theorized, pushed very aggressively since 2010 by Google as WebP (i.e. VP8-in-RIFF), and as a fully-functional thought experiment by ffmpeg's Fabrice Bellard since 2014 in BPG (HEVC-with-custom-header), the latter of which jumped the gun on HEIF before it was done.
Now that HEIF is here, we have a better container encapsulating an advanced codec, and suddenly we have hardware support with premium phones generating files in this format. The barrier is HEVC's hefty licensing pool, but a parallel effort exists in AVIF [1], which takes a frame of the royalty-free, HEVC-competitor AV1 video codec, and stuffs it into a HEIF container.
It seems a bit superfluous for JPEG to barge into this space right now; I'm confident they'll do technically solid, and even innovative work, but proliferating an incompatible implementation right when it looks like there's a realistic chance of a newer still-image codec replacing one that dates back to 1992 is a bit counterproductive.
But perhaps I should be more optimistic. Their calls-for-proposal document [2] lays out recent competitors, admits their technical merits, but concludes that they're not in widespread use. Then, it lays out that their vision to produce a state-of-the-art format that will achieve widespread adoption, helped by a "royalty-free baseline".
> lays out recent competitors, admits their technical merits, but concludes that they're not in widespread use.
So their argument is "this new technology that has just entered the market is not widely adopted, therefore our technology which does not even exist yet let alone is ready for usage is better"?
>A still image file containing one frame of a video codec has been long theorized
The I-frame encoding in MPEG-1 was basically identical to baseline JPEG. The compressed frames can be losslessly converted to JPEG and vice-versa. So, in a sense, we were already there.
Reusing the I-frame compression from a video codec is the only strategy that makes sense for a lossy still image codec. Video codecs are where the major innovation is happening, with wide participation from every player in the industry, and a large part of the innovation has been around improving I-frame efficiency. They're being hardware optimized and baked into software implementations. And even when patents are involved, still image codecs are usually able to piggyback on the video codec licenses that are already on the device.
It is interesting that H.262 ( MPEG 2 ) > H.263 ( Divx ) > H.264 ( AVC ) > H.265 (HEVC )
That is 4 generation a video codec improvement, and yet as an image format, MPEG 1 based Jpeg is still doing very well compared to latest HEIF. I mean four generation of improvement and we only got 50% reduction at similar quality. Why is it still image don't scale down as well as video?
Because many of the gains of successive video codecs comes from finding more efficient ways of encoding motion, which is something you clearly can't exploit with stills.
Or if you upload everything to Google Photos, and then realize that you can't download these pictures on windows after downloading them from Photos, because while GP supports HEIF, Windows does not.
Windows 10 has full HEIF support, but you need to install the official plugin from Microsoft separately from the store (presumably for licensing reasons).
All the default methods of transferring photos out of the iOS ecosystem will convert the photos to JPEG transparently. This is only a problem with third-party software or if you manually disable the compatibility option.
That shouldn't be a surprise, because in order for that to happen you'd have to disable the compatible export option in iOS that's on by default. Unless you used some 3rd party image transfer that wasn't as thoughtful?
The default Formats setting for the built-in camera app is "High efficiency", which saves as HEIF/HEIVC. You have to change it to "Most compatible" to use JPEG/H.264.
The default export option is ‘automatic’ which converts to jpeg when exporting to anything other than new Apple OS devices. The format for taking the photos is irrelevant.
That's in the Photos app settings. I have no idea if Google Photos does automatic conversion too.
I think someone mentioned before in this thread the syncing between Android and iPhone using Google Photos and finding the format incompatible on Android.
This has actually been a huge annoyance for me (an Android user). My wife (an iOS user) and I both use Google Photos, and we automatically can see each other's photos in our respective libraries through the `shared libraries` feature.
Her photos are all HEIF. My photos are all JPG. The Google Photos app on Android may be just about the _only_ Android app I've encountered that knows how to handle HEIF - which means any time I try to share one of my wife's photos to social media or a messaging app, it simply doesn't work. I have to convert them to JPGs on my own.
Doesn't Google Photos have an option to convert them automatically? iOS has an option to do that for any exports it does natively (sms, messages, airdrop, USB transfer etc).
Isn't part of the issue the network effect, not the file format?
(We can develop a whizzbang new compression algorithm, but unless Windows, macOS, iOS, Android, and all the flavors of Linux add support it can't go beyond the device)
I’d say so. That was one of the things that killed JPEG2000. Even if people bought encoders no one could view it anyway so it was useless.
EDIT: Comr to think of it this was the problem with APNG trying to replace GIF. Everything supports GIF, no one supported APNG (relative to GIF) so it never really gained traction.
Even though 75% of users have a browser that supports it the format has no mindshare so no one uses it.
It is interesting the JPEG CFP pdf note JPEG2000 as being widely successful, when it is barely used outside certain domain. And it names JPEG2000 being royalty free, but on Wikipedia they mention they problem of patents. And it is only free for baseline ( Whatever that means )
DICOM, a medical imaging format (meta-format? The spec is a beast) supports JPEG2000 compression. There are a lot of DICOM files kicking around, though annoying not every device can write files with JPEG2000 compression, nor can every reader actually interpret them.
I also had a no-name digital camera that inexplicably supported JPEG2000.
Other than that, I’m don’t think I’ve seen it much in the wild.
> And it is only free for baseline ( Whatever that means )
To be fair, the same was true of the original JPEG when it was released. JPEG also has an optional arithmetic coder based on IBM's Q-coder, which was heavily patented at the time. To this day, no one implements that, even though it does improve the compression and even though IBM's patents have long expired.
> no one supported APNG (relative to GIF) so it never really gained traction.
I think that the creators of PNG being against it and saying we should all use MNG instead didn't really help. Not to mention the fact that it took ages for plain PNGs to be supported by browsers.
There were patent concerns when they were first released, but AFAIK they were all eventually resolved. The issue really was lack of (perceived) quality. Despite their amazing PSNR scores, wavelets look terrible at low bitrates, in ways that DCT-based codecs do not. JPEG XR has a few more features than JPEG, but not really much better quality [1].
It's irrelevant what YouTube uses behind the scenes, since they don't (officially) offer a download service. It always plays in the browser or the app.
You can upload HEVC to YouTube just fine, and it works. So in the only way that counts, they do support it.
But they won't "encode" HEVC. They are only offering AVC, VP9 and very likely AV1. With any 4K or 2K+ content only available in VP9 / AV1.
The battle between AV1 and HEVC is not set. And so is the battle between HEIF and AVIF. HEVC have the upper hand right now. But that doesn't mean it has already won. iPhone does allow auto convert to Jpeg for compatibility reason.
So if you cant guarantee HEVC licensing issues revolved, and not having Google on board, HEIC will just be another internal format being used by Apple and Apple only. No Chrome, Firefox, Opera, Android support. ( Although Microsoft seems to be on board )
"This new JPEG activity aims to develop a new image coding standard that provides state-of-the-art image compression performance, and that addresses shortcomings in current standards. To encourage widespread adoption, an important goal for this standard is to support a royalty-free baseline." [1]
Only by virtue of Apple adopted it for its hundreds of millions of devices, but you could make the same case for anything Apple alone adopts. That alone doesn't make it a standard.
I for one hope the web will end up adopting the Netflix-backed, AV1-based, and royalty-free AVIF:
WebP is based on obsolete VP8 codec, which has already dead in the video space (replaced by VP9 & H.26[45]).
Next generation formats (HEIC/AVIC) are half size of WebP. So I'm hoping WebP won't get revived before we get AV1 going, and we'll be able to bury WebP, too.
JPEG2000 has a lossless mode. This isn’t crucial for snapshots, but it is important for things like medical imaging. We have a CT scanner that spits out JPEG2000 volumes (wrapped inside DICOM files).
Yes, this is also why JPEG 2000 is used for some image archiving applications. Pay the CPU costs up front and rake in the storage savings over many years.
It's somewhat odd to suddenly see lots of excitement in the 'continuous-tone still images' space, and I can't help but think that on some level, JPEG the group to wants to retain relevance at a time when the world is finally looking poised to move on from using its oldest work.
A still image file containing one frame of a video codec has been long theorized, pushed very aggressively since 2010 by Google as WebP (i.e. VP8-in-RIFF), and as a fully-functional thought experiment by ffmpeg's Fabrice Bellard since 2014 in BPG (HEVC-with-custom-header), the latter of which jumped the gun on HEIF before it was done.
Now that HEIF is here, we have a better container encapsulating an advanced codec, and suddenly we have hardware support with premium phones generating files in this format. The barrier is HEVC's hefty licensing pool, but a parallel effort exists in AVIF [1], which takes a frame of the royalty-free, HEVC-competitor AV1 video codec, and stuffs it into a HEIF container.
It seems a bit superfluous for JPEG to barge into this space right now; I'm confident they'll do technically solid, and even innovative work, but proliferating an incompatible implementation right when it looks like there's a realistic chance of a newer still-image codec replacing one that dates back to 1992 is a bit counterproductive.
But perhaps I should be more optimistic. Their calls-for-proposal document [2] lays out recent competitors, admits their technical merits, but concludes that they're not in widespread use. Then, it lays out that their vision to produce a state-of-the-art format that will achieve widespread adoption, helped by a "royalty-free baseline".
[1] https://news.ycombinator.com/item?id=16803363 [2] https://jpeg.org/downloads/jpegxl/jpegxl-draft_cfp.pdf
> lays out recent competitors, admits their technical merits, but concludes that they're not in widespread use.
So their argument is "this new technology that has just entered the market is not widely adopted, therefore our technology which does not even exist yet let alone is ready for usage is better"?
>A still image file containing one frame of a video codec has been long theorized
The I-frame encoding in MPEG-1 was basically identical to baseline JPEG. The compressed frames can be losslessly converted to JPEG and vice-versa. So, in a sense, we were already there.
Reusing the I-frame compression from a video codec is the only strategy that makes sense for a lossy still image codec. Video codecs are where the major innovation is happening, with wide participation from every player in the industry, and a large part of the innovation has been around improving I-frame efficiency. They're being hardware optimized and baked into software implementations. And even when patents are involved, still image codecs are usually able to piggyback on the video codec licenses that are already on the device.
It is interesting that H.262 ( MPEG 2 ) > H.263 ( Divx ) > H.264 ( AVC ) > H.265 (HEVC )
That is 4 generation a video codec improvement, and yet as an image format, MPEG 1 based Jpeg is still doing very well compared to latest HEIF. I mean four generation of improvement and we only got 50% reduction at similar quality. Why is it still image don't scale down as well as video?
Because many of the gains of successive video codecs comes from finding more efficient ways of encoding motion, which is something you clearly can't exploit with stills.
Because different things sitting next to each other in space are not as inherently predictable from each other as the same thing moving through time.
A lot of people have already (unknowingly) produced a ton of HEIF photos. It’s the default on newer versions of iOS I believe.
It's a great surprise to realize you've been shooting HEIFs for months and then can't open them on your MBP because you're "only" on El Capitan.
There is an option on iOS that says
TRANSFER TO MAC OR PC - Automatic - Keep Originals
Automatically transfer photos and videos in a compatible format, or always transfer the original file without checking for compatibility.
tl-dr; you can set it to automatic and when you backup via itunes the images will be jpegs
Or use this free software
https://imazing.com/heic
Or if you upload everything to Google Photos, and then realize that you can't download these pictures on windows after downloading them from Photos, because while GP supports HEIF, Windows does not.
Windows 10 has full HEIF support, but you need to install the official plugin from Microsoft separately from the store (presumably for licensing reasons).
All the default methods of transferring photos out of the iOS ecosystem will convert the photos to JPEG transparently. This is only a problem with third-party software or if you manually disable the compatibility option.
That shouldn't be a surprise, because in order for that to happen you'd have to disable the compatible export option in iOS that's on by default. Unless you used some 3rd party image transfer that wasn't as thoughtful?
The default Formats setting for the built-in camera app is "High efficiency", which saves as HEIF/HEIVC. You have to change it to "Most compatible" to use JPEG/H.264.
The default export option is ‘automatic’ which converts to jpeg when exporting to anything other than new Apple OS devices. The format for taking the photos is irrelevant.
That's in the Photos app settings. I have no idea if Google Photos does automatic conversion too.
I think someone mentioned before in this thread the syncing between Android and iPhone using Google Photos and finding the format incompatible on Android.
This has actually been a huge annoyance for me (an Android user). My wife (an iOS user) and I both use Google Photos, and we automatically can see each other's photos in our respective libraries through the `shared libraries` feature.
Her photos are all HEIF. My photos are all JPG. The Google Photos app on Android may be just about the _only_ Android app I've encountered that knows how to handle HEIF - which means any time I try to share one of my wife's photos to social media or a messaging app, it simply doesn't work. I have to convert them to JPGs on my own.
Doesn't Google Photos have an option to convert them automatically? iOS has an option to do that for any exports it does natively (sms, messages, airdrop, USB transfer etc).
I don’t understand this comment. Google Photos doesn’t support HEIF at all - the iOS app converts them to JPEG on the fly when you upload them.
Then that’s a problem that google photos should solve. iOS does this transparently. Dropbox even asks if I want to sync with heic or jpg.
Isn't part of the issue the network effect, not the file format?
(We can develop a whizzbang new compression algorithm, but unless Windows, macOS, iOS, Android, and all the flavors of Linux add support it can't go beyond the device)
I’d say so. That was one of the things that killed JPEG2000. Even if people bought encoders no one could view it anyway so it was useless.
EDIT: Comr to think of it this was the problem with APNG trying to replace GIF. Everything supports GIF, no one supported APNG (relative to GIF) so it never really gained traction.
Even though 75% of users have a browser that supports it the format has no mindshare so no one uses it.
It is interesting the JPEG CFP pdf note JPEG2000 as being widely successful, when it is barely used outside certain domain. And it names JPEG2000 being royalty free, but on Wikipedia they mention they problem of patents. And it is only free for baseline ( Whatever that means )
DICOM, a medical imaging format (meta-format? The spec is a beast) supports JPEG2000 compression. There are a lot of DICOM files kicking around, though annoying not every device can write files with JPEG2000 compression, nor can every reader actually interpret them.
I also had a no-name digital camera that inexplicably supported JPEG2000.
Other than that, I’m don’t think I’ve seen it much in the wild.
It's supported in Safari (c.f. JPEG XR in Edge and WebP in Chrome).
It is also used for digital cinema distribution. It was chosen for that role specifically because it was not in widespread use.
> And it is only free for baseline ( Whatever that means )
To be fair, the same was true of the original JPEG when it was released. JPEG also has an optional arithmetic coder based on IBM's Q-coder, which was heavily patented at the time. To this day, no one implements that, even though it does improve the compression and even though IBM's patents have long expired.
> no one supported APNG (relative to GIF) so it never really gained traction.
I think that the creators of PNG being against it and saying we should all use MNG instead didn't really help. Not to mention the fact that it took ages for plain PNGs to be supported by browsers.
Really? I’d never heard that.
To be fair I’m only vaguely aware of APNG. I thought it was called PNGA before I looked it up to see what browsers supported it for my comment.
Who remembers when ~~JPEG2000~~JPEG XR was going to be the next big thing?
Yeah, this is the real (non) story. JPEG has been turning out new standards for 20 years and the market has ignored all of them.
FWIW Patents killed those, not lack of quality or interest.
There were patent concerns when they were first released, but AFAIK they were all eventually resolved. The issue really was lack of (perceived) quality. Despite their amazing PSNR scores, wavelets look terrible at low bitrates, in ways that DCT-based codecs do not. JPEG XR has a few more features than JPEG, but not really much better quality [1].
[1] https://web.archive.org/web/20160404051240/http://people.moz...
HEIF already does similar compression to this JPEG XL now, which is at least 2 - 3 years away.
We need something even better, compressing 150Kb Jpeg, a common image size on the internet, to 50Kb with similar or better quality.
I hope we do better with next gen video codec VVC.
Heif is now the default camera format on iPhones, ensuring that it is the winner of the next gen format race before it even started.
Everything will have to support heif, or lose every iPhone owner as a user.
Well, that is assuming everyone will support HEVC, which Google seems to be the major force opposing it. Youtube won't use HEVC.
It's irrelevant what YouTube uses behind the scenes, since they don't (officially) offer a download service. It always plays in the browser or the app.
You can upload HEVC to YouTube just fine, and it works. So in the only way that counts, they do support it.
But they won't "encode" HEVC. They are only offering AVC, VP9 and very likely AV1. With any 4K or 2K+ content only available in VP9 / AV1.
The battle between AV1 and HEVC is not set. And so is the battle between HEIF and AVIF. HEVC have the upper hand right now. But that doesn't mean it has already won. iPhone does allow auto convert to Jpeg for compatibility reason.
So if you cant guarantee HEVC licensing issues revolved, and not having Google on board, HEIC will just be another internal format being used by Apple and Apple only. No Chrome, Firefox, Opera, Android support. ( Although Microsoft seems to be on board )
What's the patent situation for JPEG XL?
"This new JPEG activity aims to develop a new image coding standard that provides state-of-the-art image compression performance, and that addresses shortcomings in current standards. To encourage widespread adoption, an important goal for this standard is to support a royalty-free baseline." [1]
[1] https://jpeg.org/downloads/jpegxl/jpegxl-draft_cfp.pdf
So, per-device licenses. This is dead on arrival.
It turns out JPEG2000 is also royalty free baseline. So that statement changes nothing.
How badly patent encumbered is this one?
How’s it compare to a Guetzli’d JPEG?
JPEG XL is a new standard. Guetzli is a (extreme) compression approach for the existing standard.
I'm aware. I'm asking how image quality to file size compares.
How about JPEG2000? WebP? BPG?
* JPEG 2000 is basically dead in the water. It does not offer substantial advantages over JPEG for common use cases.
* WebP is a good alternative.
* BPG has potential licensing problems.
HEIF, same idea as BPG (use HEVC intra-frames as images) but by the HEVC group, and already supported natively by Windows, OSX, iOS and Android.
HEIF is already successful and in widespread usage.
Only by virtue of Apple adopted it for its hundreds of millions of devices, but you could make the same case for anything Apple alone adopts. That alone doesn't make it a standard.
I for one hope the web will end up adopting the Netflix-backed, AV1-based, and royalty-free AVIF:
https://aomediacodec.github.io/av1-avif/
Same argument for Google’s VP9. It has TONS of users because of YouTube.
People complain that’s a standard and Apple needs to support it.
No difference.
But as others have said, MS is supporting HEIF on Windows too.
With HEIF already being supported on Win/macOS/iOS/Android I doubt we are in for yet a change within the next 10 years.
The advantage of having 1b users.
HEIF is also part of the MPEG-H standard.
There are some licensing issues with it, but if you have HEVC hardware and a license, then you can probably use it.
WebP is based on obsolete VP8 codec, which has already dead in the video space (replaced by VP9 & H.26[45]).
Next generation formats (HEIC/AVIC) are half size of WebP. So I'm hoping WebP won't get revived before we get AV1 going, and we'll be able to bury WebP, too.
JPEG2000 has a lossless mode. This isn’t crucial for snapshots, but it is important for things like medical imaging. We have a CT scanner that spits out JPEG2000 volumes (wrapped inside DICOM files).
Yes, this is also why JPEG 2000 is used for some image archiving applications. Pay the CPU costs up front and rake in the storage savings over many years.