JPEG XL

Info

rules 57
github 35276
reddit 647

JPEG XL

tools 4225
website 1655
adoption 20712
image-compression-forum 0

General chat

welcome 3810
introduce-yourself 291
color 1414
photography 3435
other-codecs 23765
on-topic 24923
off-topic 22701

Voice Channels

General 2147

Archived

bot-spam 4380

coverage

Post links to articles, blog posts, reddit / hackernews / forum posts, media coverage about or related to JXL here!

yoochan
2024-09-04 11:19:13
I see it as a recurring gag, a bit like gif vs gif
lonjil
2024-09-04 11:19:18
you know what looks coolest?
2024-09-04 11:19:19
JXL
Demiurge
yoochan And even if it shouldn't be a practical limit for web images, wuffs can not handle buffers bigger than max uint16 pixels
2024-09-04 11:21:17
So, no images wider/taller than 65,536 pixels? That's kinda tiny!!
CrushedAsian255
Demiurge So, no images wider/taller than 65,536 pixels? That's kinda tiny!!
2024-09-04 11:23:06
what about my 5 GPx images? 😦
Foxtrot
2024-09-04 11:57:02
Jpeg xl sounds like the image will be larger than regular jpeg. So I prefer JXL
2024-09-04 11:58:11
I mean, when will user see next to each other jpeg xl and jpeg xs they will think xs will be smaller 😄
CrushedAsian255
2024-09-04 12:46:03
are my jpeg xl images being sen to google?
username
2024-09-04 12:48:11
the comments section on Phoronix is commonly unhinged
lonjil
2024-09-04 12:48:12
I have never seen him reply to people pointing out his mistakes.
yoochan
2024-09-04 01:31:37
too much work ?
Foxtrot
2024-09-04 02:08:04
making youtube video = money reply to people pointing out mistakes = not money 😄
Meow
2024-09-04 03:01:09
That typeface almost made me vomit honestly
2024-09-04 03:02:56
The reliability of contents using Comic Sans-like typefaces is always questionable
VcSaJen
username honestly I think "JPEG-XL" looks cooler then "JPEG XL" so I don't mind too much, also it seems to be something that some people have done in the past when talking prior JPEG standards as well so this isn't exclusive to JPEG XL
2024-09-04 06:18:57
"JPEG-XL" is actually searchable. Trying to search JPEG XL or JXL results in "too few symbols" error in most sites
afed
2024-09-04 06:19:37
"JPEG XL"
VcSaJen
2024-09-04 06:19:57
Does not work in some sites, sadly
_wb_
2024-09-04 06:22:38
https://letmegooglethat.com/?q=JPEG+XL
Quackdoc
2024-09-04 06:28:45
it's not bad for search engines, but discord's god awful search still messes it up a lot
_wb_
2024-09-04 06:28:49
If a search engine can manage to produce results for "hot dog" that are not all about sweating pitbulls, it should also be able to return sensible results for "jpeg xl".
VcSaJen
2024-09-04 06:31:09
You overestimate most site engines. Many don't even use Elastic(Open)Search/Lucene, just plain SQL.
Quackdoc
2024-09-04 06:33:04
every search engine should support three modes of operation, Grep, Fuzzy, and whatever discord does, I don't know why on earth people want that, but apparently some do
yoochan
_wb_ If a search engine can manage to produce results for "hot dog" that are not all about sweating pitbulls, it should also be able to return sensible results for "jpeg xl".
2024-09-04 06:33:16
there was a campaign at the time for the lycos search engine (Lycos !) which put side by side Enceinte (speaker) and Enceinte (pregnant) to brag about their context aware search engine
afed
2024-09-04 06:36:23
yeah, for discord even "jpegli" is unsearchable, it will be anything that contains jpeg or something even worse
KKT
2024-09-05 03:02:13
OK, some decent news! ATP read the follow-up email I sent in to them. Episode 603, 16:10 https://atp.fm
jonnyawsom3
2024-09-05 03:19:35
A pretty good followup, wasn't expecting effort levels to be mentioned but they seemed to like it. Might've been worth getting some more ideas here before sending the email, but still good to hear them talk about it nonetheless
KKT
2024-09-05 03:32:10
So it started out VERY long and it was suggested I trim it waayyy down, which I did. I ran it by <@794205442175402004> quickly. Unfortunately they didn't read it all (not surprisingly). I knew John would be into the tech details of cjxl, so I tried to throw in as many of those as I could.
jonnyawsom3
2024-09-05 05:00:59
Ahh right, fair
daniilmaks
Of all the images to see in an article, I didn't expect that one
2024-09-05 06:12:19
huh, trying to generate this image on browser throws `R is undefined` error on firefox
2024-09-05 06:13:58
and then on chromium it throws `Cannot read properties of undefined (reading 'byteLength')`
Meow
2024-09-05 07:07:29
JPEG-XL is comparable to Iphone and MacOS
2024-09-05 07:08:01
Seeing them always makes me disgusted
spider-mario
2024-09-05 07:15:20
what about “Archlinux”?
afed
2024-09-05 07:18:12
X.264/X.265
spider-mario
2024-09-05 07:23:06
xHTML
jonnyawsom3
2024-09-05 07:25:33
x.com
Meow
2024-09-05 07:32:03
Even Apple is wrong by spelling USB 4
2024-09-05 07:33:49
If the trend can't be stopped, we will see JPGX, jpegXL, etc.
_wb_
2024-09-05 07:45:55
Jpeg_Xl
jonnyawsom3
2024-09-05 07:47:02
JxL
_wb_
2024-09-05 07:47:44
J.P.E.G. extra-large
2024-09-05 07:51:16
Actually to get really pedantic, the correct spelling is "JPEG XL"
2024-09-05 07:51:38
That's a non-breaking space between the JPEG and the XL, not a regular space
spider-mario
2024-09-05 07:51:49
I’d just like to interject for a moment…
2024-09-05 07:52:57
(Stallman’s response to the text is almost funnier than the original https://www.gnu.org/gnu/incorrect-quotation.en.html)
_wb_
2024-09-05 07:53:17
JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL see how it never breaks the line at the wrong spot JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL JPEG XL
yoochan
2024-09-05 07:56:14
lol, a failed test for me as it cutted nonetheless between *it* and *never*
spider-mario
2024-09-05 07:56:30
you can play around with resizing the window
yoochan
2024-09-05 07:57:02
I did, but the defaut rendering was funny
_wb_
2024-09-05 08:00:08
Having the linebreak between JPEG and XL is kind of awkward, and I suspect one of the reasons some people like to write "JPEG-XL" is that it is easier to type (or to remember how to type) a hyphen than a non-breaking-space.
jonnyawsom3
2024-09-05 08:01:10
Almost certainly, I wasn't even aware non-breaking spaces existed
yoochan
2024-09-05 08:01:38
really ? but what to you put between text and colon : or text and exclamation mark !? or text and question mark ?!
_wb_
2024-09-05 08:05:43
In English there is no space before exclamation/question mark, so it's not an issue. In French there is, but I expect most layout engines would be smart enough not to do the linebreak just before the punctuation, even if a regular space is being used?
spider-mario
2024-09-05 08:07:01
Facebook’s layout engine is most definitely not smart
2024-09-05 08:07:10
it even goes as far as replacing my non-breaking spaces with normal ones
2024-09-05 08:07:10
I hate it
yoochan
2024-09-05 08:07:12
Word/Libreoffice just auto replace the space with a non breaking space while you type IIRC, I don't even know the shortcut to insert one with a fr keyboard layout 😄 (ubuntu one)
lonjil
2024-09-05 08:07:59
whydoweevenbothertohavespaces?
spider-mario
2024-09-05 08:08:09
in bépo, it’s Shift+Space for a non-breaking space and Shift+Alt Gr+Space for a thin non-breaking space
yoochan
2024-09-05 08:08:15
bépo !
2024-09-05 08:08:18
indeed
spider-mario
2024-09-05 08:08:22
(you’re actually supposed to use the thin kind before punctuation)
yoochan
lonjil whydoweevenbothertohavespaces?
2024-09-05 08:08:48
japanesestyle
spider-mario
2024-09-05 08:08:52
well, not quite “before”, but rather “inside”
2024-09-05 08:09:18
which, for colons, semi-colons and exclamation and question marks, is before
lonjil
2024-09-05 08:09:27
reminds me of the SI units library for LaTeX, which has the amazing feature of putting the correct amount of space between the number and the unit
spider-mario
2024-09-05 08:09:43
yes, I love that package
2024-09-05 08:09:56
also the correct dash for ranges
yoochan
2024-09-05 08:10:20
I love typography for its infinite possible amount of pedantism 😄 (without offending anybody)
spider-mario
yoochan I love typography for its infinite possible amount of pedantism 😄 (without offending anybody)
2024-09-05 08:10:45
https://thejenkinscomic.wordpress.com/2024/05/02/pedants-club/
lonjil
2024-09-05 08:11:08
TeX is probably the only place in the whole universe that still puts more space after sentences than between words
spider-mario
2024-09-05 08:11:27
nah, some people put two spaces after full stops
_wb_
lonjil whydoweevenbothertohavespaces?
2024-09-05 08:19:03
You sovnd like an ancient Greek or Roman.
lonjil
2024-09-05 08:19:33
😄
2024-09-05 08:19:51
let's bring back roman cursive and using wax tablets for note taking
_wb_
2024-09-05 08:20:47
Breaking news: Apple announces the iWax!
2024-09-05 08:22:16
It may look a bit old-fashioned, but it's gonna be a very hip thing to carry around. And the battery life is amazing!
lonjil
2024-09-05 08:23:09
warning: users may experience issues in warmer climates
spider-mario
_wb_ You sovnd like an ancient Greek or Roman.
2024-09-05 08:25:06
or a Fortran programmer
2024-09-05 08:25:51
(in fixed form, spaces are optional)
_wb_
2024-09-05 08:25:52
Of course it comes with a very expensive iStylus with a gold-plated tip, and an iScratcher made of precision-milled aluminum that you can use to wipe the wax to reset it to a perfectly clean state.
spider-mario
2024-09-05 08:26:02
```fortran programbcch implicitnone externalcch reala,b,tol,cch integeribis,nmax read*,a,b,tol,nmax callbis(a,b,cch,tol,nmax,ibis) print*,a,b,cch(a),cch(b),ibis endprogrambcch ```
2024-09-05 08:26:21
well, almost, you do need the initial 6 spaces so that the code starts on the 7th column
lonjil
2024-09-05 08:26:37
o.o
spider-mario
2024-09-05 08:28:16
I like how it causes Discord’s syntax highlighting to only recognise “print”
drkt
_wb_ Having the linebreak between JPEG and XL is kind of awkward, and I suspect one of the reasons some people like to write "JPEG-XL" is that it is easier to type (or to remember how to type) a hyphen than a non-breaking-space.
2024-09-05 10:02:00
JPEG&nbsp;XL
WAZAAAAA
2024-09-06 02:26:30
just shorten it, JPG-XL <:megapog:816773962884972565>
CrushedAsian255
spider-mario which, for colons, semi-colons and exclamation and question marks, is before
2024-09-06 02:31:32
is this for one of those languages that puts question marks around the whole sentence?
_wb_ Of course it comes with a very expensive iStylus with a gold-plated tip, and an iScratcher made of precision-milled aluminum that you can use to wipe the wax to reset it to a perfectly clean state.
2024-09-06 02:32:16
planned obsolescence: you can only use it so much before you reach a metal block in the middle that could have easily not existed
2024-09-06 02:44:33
x-post from AV1 for Dummies https://www.macitynet.it/jpeg-xl-jxl/
jonnyawsom3
2024-09-06 03:22:07
It's actually a pretty comprehensive explanation, I'm impressed
CrushedAsian255
2024-09-06 03:50:25
apparently fab wrote it
2024-09-06 03:50:41
i would read it but firefox's internal translator sucks
Meow
lonjil whydoweevenbothertohavespaces?
2024-09-06 03:57:25
In early days there's no space in article titles on Wikipedia
2024-09-06 03:57:49
Such as WhatsTheRelationshipBetweenWikipediaAndNupedia
CrushedAsian255
Meow Such as WhatsTheRelationshipBetweenWikipediaAndNupedia
2024-09-06 03:58:21
ListofListsofLists
2024-09-06 03:59:13
imagine this article https://en.wikipedia.org/wiki/Cneoridium_dumosum_(Nuttall)_Hooker_F._Collected_March_26,_1960,_at_an_Elevation_of_about_1450_Meters_on_Cerro_Quemaz%C3%B3n,_15_Miles_South_of_Bah%C3%ADa_de_Los_Angeles,_Baja_California,_M%C3%A9xico,_Apparently_for_a_Southeastward_Range_Extension_of_Some_140_Miles
Meow
2024-09-06 04:00:54
The old wiki software is the easiest to add JXL support however
CrushedAsian255
2024-09-06 04:03:09
MediaWiki JXL?
Meow
2024-09-06 04:03:29
No, UseModWiki
2024-09-06 04:03:59
Just add jxl in one line and it's done
CrushedAsian255
2024-09-06 04:04:21
Is it basically just registering it as an image format?
Meow
2024-09-06 04:05:14
As there's zero process on handling images like most of other softwares
CrushedAsian255
2024-09-06 04:05:47
So it’s literally as simple as adding a new MIME type to EngineX?
Meow
2024-09-06 04:07:00
$ImageExtensions = "(gif|jpg|png|bmp|jpeg)";
2024-09-06 04:11:10
Also for MediaWiki https://phabricator.wikimedia.org/T270855
TheBigBadBoy - 𝙸𝚛
2024-09-06 06:15:41
JPEG-XL JPEGーXL JPEG—XL JPEG⸺XL JPEG⸻XL All one symbol dashes <:YEP:808828808127971399> 3rd one actually looks good
Demiurge
2024-09-06 10:47:50
I wasn't aware of the existence of a non-breaking space
2024-09-06 10:47:55
until now
2024-09-06 10:48:30
Wonder if the next codec will be called JPEG XXL
2024-09-06 10:48:39
and then JPEG XXXL
CrushedAsian255
2024-09-06 10:49:17
sony and philips may hear about JPEG-XL and make their own slightly different format called JPEG+XL
Demiurge
2024-09-06 10:49:20
JPEG Super Extra Extremely Bigger Edition
CrushedAsian255
Demiurge JPEG Super Extra Extremely Bigger Edition
2024-09-06 10:49:34
maybe JPEG 1 should be the one named JPEG XL
2024-09-06 10:50:05
and the format this server is focused on should be JPEG XS and what is currently JPEG XS , im not sure what we could call that, as it's not really a distribution format
Oleksii Matiash
Demiurge I wasn't aware of the existence of a non-breaking space
2024-09-06 10:50:05
Often used in wikipedia
CrushedAsian255
TheBigBadBoy - 𝙸𝚛 JPEG-XL JPEGーXL JPEG—XL JPEG⸺XL JPEG⸻XL All one symbol dashes <:YEP:808828808127971399> 3rd one actually looks good
2024-09-06 10:50:49
em dash?
Demiurge
TheBigBadBoy - 𝙸𝚛 JPEG-XL JPEGーXL JPEG—XL JPEG⸺XL JPEG⸻XL All one symbol dashes <:YEP:808828808127971399> 3rd one actually looks good
2024-09-06 11:01:47
i dunno, I like JPEG extremely-long XL
TheBigBadBoy - 𝙸𝚛
CrushedAsian255 em dash?
2024-09-06 11:05:54
longest is "three em dash" yeah <https://en.wikipedia.org/wiki/Dash#Unicode>
spider-mario
CrushedAsian255 sony and philips may hear about JPEG-XL and make their own slightly different format called JPEG+XL
2024-09-06 01:15:57
and then the FSF will create JPEG/XL
2024-09-06 01:16:22
a JPEG system with XL kernel
CrushedAsian255
2024-09-06 01:18:12
Apple's gonna call it "JPEG ProXL" or something stupid
_wb_
2024-09-06 01:58:56
on the Google Pixel 9 it will be called it "Ultra XL" and on the Samsung Galaxy S25 it will be "Super XL"
CrushedAsian255
2024-09-06 02:17:48
Nintendo will probably write XL in such tiny font that it looks like a slight revision over the original JPEG
jonnyawsom3
2024-09-06 02:27:34
My phone already has `JPG-L` for a jpeg at the actual sensor resolution, I was very dissapointed when I tried it after a firmware update and imagined an X in there too :P
novomesk
2024-09-06 02:43:07
an article in German. Mentions XnConvert and IrfanView https://www.chip.de/news/Das-Ende-von-JPG-Wer-den-Bilder-Koenig-vom-Thron-stossen-koennte_185424775.html
𐑛𐑦𐑕𐑣𐑸𐑥𐑩𐑯𐑦 | 最不調和の伝播者 | 異議の元素
CrushedAsian255 Apple's gonna call it "JPEG ProXL" or something stupid
2024-09-06 04:18:23
iJPEG XL
Oleksii Matiash
novomesk an article in German. Mentions XnConvert and IrfanView https://www.chip.de/news/Das-Ende-von-JPG-Wer-den-Bilder-Koenig-vom-Thron-stossen-koennte_185424775.html
2024-09-06 04:39:06
IrfanView plugin is buggy and limited, unfortunately
Meow
2024-09-07 09:41:38
Reminded me the chaos between DVD-R/RW and DVD+R/RW
Traneptora
2024-09-08 04:14:48
(that was indeed the joke)
Meow
2024-09-08 04:28:01
The fourth result of "jpeg xl" on DuckDuckGo is JPEG XL, the New Image Format Nobody Wanted or Needed
CrushedAsian255
2024-09-08 04:28:56
For me it’s entry 9
2024-09-08 04:30:33
> nobody needed or wanted Meta, Intel, Apple, Shopify, The Guardian, Cloudinary, 3/4 of Google
Meow
2024-09-08 04:30:38
spider-mario
2024-09-08 04:30:54
it’s not even among the first ~70 results for me
CrushedAsian255
Meow
2024-09-08 04:31:01
What region are you set to?
Meow
2024-09-08 04:31:22
I've disabled the region option
CrushedAsian255
2024-09-08 04:31:39
I turned mine on and it’s now 16th
Meow
2024-09-08 04:32:16
Safe search disabled too
CrushedAsian255
2024-09-08 04:32:40
Never use it personally
spider-mario
CrushedAsian255 What region are you set to?
2024-09-08 04:33:02
Switzerland, French language
Meow
2024-09-08 04:33:21
Wow that reaches top 3 when safe search is set to moderate
spider-mario
2024-09-08 04:33:46
I’m curious as to what result was downgraded due to safe search
Meow
2024-09-08 04:34:43
caniuse
CrushedAsian255
2024-09-08 04:35:18
Ah yes, CanIUse, the most objectionable site ever
Meow
2024-09-08 04:35:41
Sometimes results may be slightly different after refreshing
2024-09-09 04:18:13
The following post https://x.com/stalman/status/1832957792187261415
Demiurge
2024-09-09 11:57:17
Hmm... The "Signature Dish" comparison between JPEG and JXL, when you select "compare size" and it's normalized to SSIMU2=50, low quality... the JXL version is clearly visually inferior to the JPEG in terms of visual acuity and retention of details, despite the matching SSIMU2 score.
2024-09-09 11:58:36
Someone ought to look into that as that's an obvious fault with ssimu2. Maybe a better comparison image can be chosen too, in order to better illustrate the strengths of the libjxl encoder for particular types of images.
2024-09-09 12:00:11
The press website for jxl/libjxl should be as positive as possible and easy for journalists to understand the benefits even when the journalists lack the training and discipline to understand the complicated nuances of lossy codec comparison
CrushedAsian255
2024-09-09 12:00:26
This is probably another instance where JPEG XL is overblurring high-distance images
Demiurge
2024-09-09 12:01:55
It's more of an issue with ssimu2 failing to recognize that the JXL image is extremely blurred and nowhere close to matching the same level of detail and fidelity as the JPEG.
2024-09-09 12:03:20
This is tricky for algorithms to recognize because it's hard for a computer to distinguish between distortion that interferes with human perception and changes the nature of the image, and uncorrelated high-frequency noise that's easy for a human brain to filter out and see through.
2024-09-09 12:06:57
The JPEG probably contains more absolute, objective "noise" or "distortion" compared to the original, than the JXL version does... The difference is that in the JPEG the noise is almost invisible to human eyes and brain because it's mostly-uncorrelated HF noise, whereas the JXL blurs and pixellates the image which is extremely noticeable to the human brain and changes the image in a fundamental way.
2024-09-09 12:08:38
This, in my opinion, is the most painful Achilles of libjxl and ssimu2 right now
CrushedAsian255
2024-09-09 12:10:44
agreed
Demiurge
2024-09-09 12:13:39
Scrolling down further, to the AVIF comparison, the same failure can be observed, where the AVIF image consistently has sharper defined features and more texture compared to the JXL counterpart at the same SSIMU2 score.
CrushedAsian255
2024-09-09 12:14:16
if this is about https://jpegxl.info, we should probably talk about this in <#1256302117379903498>
Demiurge
2024-09-09 12:14:49
I realize this might not be the most well received comment, in a server about JXL, but I am only bringing it up because I'm also a fan of JXL and I hope it succeeds and becomes the new universal image interchange.
jonnyawsom3
2024-09-09 12:15:09
Yeah, we talked about it before there that anything above e4 blurs it to oblivion
Demiurge
2024-09-09 12:15:28
Yeah, <#1256302117379903498> could be better. But it's mostly a problem with the ssimu2 scoring software, actually.
CrushedAsian255
2024-09-09 12:17:06
4152
Demiurge
2024-09-09 12:17:47
Since the image comparisons are normalized with it, and it consistently fails in most of these comparisons to give a reasonable estimate of what is considered "equal quality"
2024-09-09 12:19:09
Maybe it would be better to hand-select some images where the difference and the advantages of libjxl would be most obvious at a glance to a layman or member of the press.
2024-09-09 12:19:59
I don't want to get too off topic here so that's all that I'll say in this channel. I hope my feedback manages to be constructive.
2024-09-09 12:23:12
On the topic of <#822105409312653333> though, I will say this: I think more frequent releases, with more emphasis in the release notes on quality improvements, with before-and-after comparisons, would do wonders for positive press coverage and awareness of libjxl, since news outlets often report on whatever interesting-looking highlights they see in the release notes.
2024-09-09 12:47:31
It's like the classic case where applying a small amount of uniform noise throughout an image is considered by the algorithm to be worse than changing a photo of a dog into a photo of a cat... In audio codecs there is a well established theory and practice of psychoacoustic "masking" and the same theory also works with images as well... but I don't think it's really applied and exploited to the same extent as it is in audio. Visual metrics don't seem to be capable of recognizing when uncorrelated noise is masked by the original input signal and thereby rendered imperceptible.
_wb_
Demiurge Hmm... The "Signature Dish" comparison between JPEG and JXL, when you select "compare size" and it's normalized to SSIMU2=50, low quality... the JXL version is clearly visually inferior to the JPEG in terms of visual acuity and retention of details, despite the matching SSIMU2 score.
2024-09-09 12:55:13
I agree, the 38 kb JPEG does preserve more detail than the 22 kb JXL. Then again it also has pretty noticeable ringing artifacts around most edges, and some obvious blockiness. I personally prefer the JPEG over the JXL (it preserves more information), but I also think it's true that if you don't have access to the original image and just see an image on a website, the JXL looks blurry but has no _obvious_ compression artifacts, while the blockiness and ringing of the JPEG makes it obviously compressed too much. Just to say: I'm not sure if this is an obvious fault with ssimu2. The JPEG and JXL are very different at ssimu2=50. I'm not sure if it's true that the JXL is clearly visually inferior. To me it is, but not by a huge margin — I dislike the loss of detail of the jxl (and I would never use distance=6.4 on my own images), but I also dislike the mosquitoes around the edges in the jpeg, and the blocking. Different people have different tastes when it comes to artifacts: some people don't seem to mind smoothing/blur much but they hate ringing, while other people like ringing ("looks sharper") and hate blur.
Demiurge
2024-09-09 12:58:21
I agree with you, Jon, when you said in the past that fidelity to the original, and preservation of information, should be the priority, not things like appeal or smoothing that would fundamentally alter the nature of the original image.
2024-09-09 01:00:23
I would prefer artifacts that are easier for the human visual system to "see through" or "cancel out" to get a better idea of what was underneath the artifacts.
_wb_ I agree, the 38 kb JPEG does preserve more detail than the 22 kb JXL. Then again it also has pretty noticeable ringing artifacts around most edges, and some obvious blockiness. I personally prefer the JPEG over the JXL (it preserves more information), but I also think it's true that if you don't have access to the original image and just see an image on a website, the JXL looks blurry but has no _obvious_ compression artifacts, while the blockiness and ringing of the JPEG makes it obviously compressed too much. Just to say: I'm not sure if this is an obvious fault with ssimu2. The JPEG and JXL are very different at ssimu2=50. I'm not sure if it's true that the JXL is clearly visually inferior. To me it is, but not by a huge margin — I dislike the loss of detail of the jxl (and I would never use distance=6.4 on my own images), but I also dislike the mosquitoes around the edges in the jpeg, and the blocking. Different people have different tastes when it comes to artifacts: some people don't seem to mind smoothing/blur much but they hate ringing, while other people like ringing ("looks sharper") and hate blur.
2024-09-09 01:02:00
The same issue can be consistently observed in the AVIF comparison images too. SSIMU2 consistently gives equal scores to images that preserve a lot less information and that look "obviously worse" to my own eyes.
2024-09-09 01:04:56
I long for a day where modern psychovisual models are as good as modern psychoacoustic models, and images with obvious compression artifacts are as rare as audio with obvious compression artifacts.
_wb_
2024-09-09 01:05:50
At lower scores, ssimu2 is more about appeal than about fidelity. It was tuned with cid22, tid13 and kadid10k. Cid22 is mostly about higher qualities and fidelity, the two others are mostly about low quality and appeal. So the end result is a bit of a mix of those two things...
2024-09-09 01:07:14
I think ssimu2 < 60 should just be avoided in most use cases.
Demiurge
2024-09-09 01:07:59
Nothing wrong with appeal, in my book, as long as it doesn't come at the expense of preferring a completely different image to a slightly-noisy image, otherwise we're back at the embarrassing cat vs dog situation again
2024-09-09 01:09:00
It looks more like a failure to take into account the effects of noise masking to lessen the impact of certain types of distortion
_wb_
2024-09-09 01:09:44
You're not gonna get cat vs dog with ssimu2, but yes, it will prefer blur over less appealing artifacts. In particular it really dislikes banding and blocking.
Demiurge
2024-09-09 01:10:32
Like for example, if someone uses a filter to remove the film grain from an image, and then they add the film grain back by using synthetic film grain, that would probably get a huge score penalty from algorithms like this, even though a human wouldn't really notice or care.
_wb_
2024-09-09 01:12:24
yes, synthetic noise is something all classical metrics have a really hard time with
Demiurge
2024-09-09 01:13:23
Banding and blocking are really bad and it's good that ssimu2 punishes them severely. But blurring is basically just as bad, to most people's eyes I would think, especially since it also has potential to alter the image insidiously. If blurring was punished just as harshly as the others, and decorrelated and masked noise was punished less, that would be perfect.
2024-09-09 01:14:38
Well, maybe not just as harshly... But at least half as harshly.
_wb_
2024-09-09 01:16:51
I hope with AIC-3 we'll at some point get more good subjective data to tune metrics, so I can make a ssimu2.2 or ssimu3 that does a better job. For now, I mostly had to use old datasets like tid13 where blur is not punished very harshly due to the testing methodology they used — side by side comparisons, as opposed to the in-place ones we're using in AIC-3. When doing in-place comparisons, blur is way more visible/problematic than when doing side-by-side comparisons.
Demiurge
_wb_ yes, synthetic noise is something all classical metrics have a really hard time with
2024-09-09 01:20:53
It's very crucial to the future of image compression that the noise problem is addressed some day... In the audio world at least, it seems to be a long-solved problem...
_wb_
2024-09-09 01:39:12
The livestream where the iPhone 16 will be announced: https://www.youtube.com/watch?v=uarNiSl_uh4 (10am PT / 7pm CEST, in about 4h20m)
Demiurge
2024-09-09 01:41:52
Could always have an optional "metric mode" that loves blurring and a "psycho mode" that completely throws metric scores out of the window and does worse than JPEG according to metrics but uses uses a lot of noise masking techniques to retain the most texture and fidelity better than anything else out there.
CrushedAsian255
2024-09-09 01:41:55
today was september 8th though
Demiurge Could always have an optional "metric mode" that loves blurring and a "psycho mode" that completely throws metric scores out of the window and does worse than JPEG according to metrics but uses uses a lot of noise masking techniques to retain the most texture and fidelity better than anything else out there.
2024-09-09 01:42:10
i think this is a great idea
2024-09-09 01:42:26
like further psycovisual tuning but at the detriment of the objective metrics?
2024-09-09 01:42:32
sounds like svt-av1-psy
2024-09-09 01:42:35
all for the idea
Demiurge
2024-09-09 01:44:00
Honestly I think tuning for metrics is a wasted effort in the first place unless you're optimizing for manipulating the press and manipulating the results of (common but lazy) automated evaluation.
CrushedAsian255
2024-09-09 01:44:25
objective measurements will never be as good at saying what looks better than your eyes
2024-09-09 01:44:32
(unless you're me)
Demiurge
2024-09-09 01:46:52
Maybe you could call the one optimized for humans "psycho mode" and the one optimized for computers "sicko mode" :)
Oleksii Matiash
_wb_ I agree, the 38 kb JPEG does preserve more detail than the 22 kb JXL. Then again it also has pretty noticeable ringing artifacts around most edges, and some obvious blockiness. I personally prefer the JPEG over the JXL (it preserves more information), but I also think it's true that if you don't have access to the original image and just see an image on a website, the JXL looks blurry but has no _obvious_ compression artifacts, while the blockiness and ringing of the JPEG makes it obviously compressed too much. Just to say: I'm not sure if this is an obvious fault with ssimu2. The JPEG and JXL are very different at ssimu2=50. I'm not sure if it's true that the JXL is clearly visually inferior. To me it is, but not by a huge margin — I dislike the loss of detail of the jxl (and I would never use distance=6.4 on my own images), but I also dislike the mosquitoes around the edges in the jpeg, and the blocking. Different people have different tastes when it comes to artifacts: some people don't seem to mind smoothing/blur much but they hate ringing, while other people like ringing ("looks sharper") and hate blur.
2024-09-09 01:48:15
This again returns me to the question about what is changing on e4 -> e5, because all that blurring starts on e5, and with e4 jxl image looks much more like jpeg 🤷‍♂️
Demiurge Maybe you could call the one optimized for humans "psycho mode" and the one optimized for computers "sicko mode" :)
2024-09-09 01:51:14
Humans are too different 😦 Jon says he does not like ringing and blockines on par with blur (if I get him correct), but for me blurring out details is much worse than ringing
Demiurge
2024-09-09 01:53:33
Most humans are accustomed to ringing artifacts without even realizing they are there, because ringing is common in a lot of digital cameras. In the built in digital filters that you can't even disable. In a lot of image resizing and sharpening filters. Most humans can't even notice excessive amounts of ringing until you point it out to them several times.
2024-09-09 01:55:05
Blockiness is very bad but not as bad as banding, and arguably equally bad as blurring. Both blockiness and blurring can usually be eliminated by resizing the image. Blockiness usually retains information better than blurring though.
Oleksii Matiash
2024-09-09 01:55:10
They're grown on low quality jpeg 🙂 Especially older people who saw dial-up internet and floppies
Demiurge
2024-09-09 01:55:23
When viewed in 1:1 scale, blockiness is harder to notice than blurring.
2024-09-09 01:57:12
I don't think it's as complicated as it sounds to optimize for human perception, as long as you stay focused on the task of optimizing for detail retention and fidelity as the ultimate goal.
2024-09-09 01:57:20
Instead of appeal.
2024-09-09 01:58:14
If you ignore what looks best to your eyes and your own subjective sense of appeal, and only ask yourself, which one contains more information about the original image and less deceit, then it's a much, much simpler task to optimize for human perception.
CrushedAsian255
Demiurge Most humans are accustomed to ringing artifacts without even realizing they are there, because ringing is common in a lot of digital cameras. In the built in digital filters that you can't even disable. In a lot of image resizing and sharpening filters. Most humans can't even notice excessive amounts of ringing until you point it out to them several times.
2024-09-09 02:00:00
What’s ringing again?
Demiurge
2024-09-09 02:00:33
Halo-like waves around sharp edges
CrushedAsian255
2024-09-09 02:00:55
DCT rings?
Demiurge
2024-09-09 02:02:15
Yes, or think about an exaggerated edge-sharpening filter.
2024-09-09 02:02:34
https://en.wikipedia.org/wiki/Ringing_artifacts
CrushedAsian255
2024-09-09 02:03:18
Yeah, ringing is kinda a general thing for any form of signal processing not even just digital, where as banding and blocking is really digital looking
Demiurge
2024-09-09 02:08:45
Anyways, as long as you're NOT aiming to please everyone's visual preferences or sensibilities, and only aiming for "maximum preservation - minimum deceit," judging which version of an image is "better" becomes incredibly straightforward and obvious. Like Jon has said in the past, the purpose of a codec is preservation of the original signal, not an instagram filter.
CrushedAsian255
2024-09-09 02:09:58
But then what counts as “more information”?
2024-09-09 02:10:16
Also HEIC and AVIF be the skin smoothing filter
Demiurge
CrushedAsian255 But then what counts as “more information”?
2024-09-09 02:11:40
More information = The human is able to know more about how the original signal looked.
A homosapien
Demiurge The same issue can be consistently observed in the AVIF comparison images too. SSIMU2 consistently gives equal scores to images that preserve a lot less information and that look "obviously worse" to my own eyes.
2024-09-09 02:14:41
This is why you compare with multiple metrics like butteraugli and dssim, these metrics punish blurring more heavily
Demiurge
2024-09-09 02:14:42
Less information = The human can't perceive as much of the original image. Or worse, misled about what the original image looked like.
2024-09-09 02:16:03
Oh, dssim is by the pngquant guy. Cool!
A homosapien
2024-09-09 02:16:38
Yeah, Kornel has made some cool stuff!
Demiurge
2024-09-09 02:18:17
indeed. I hope he plays around with jxl coding :)
2024-09-09 02:18:55
he makes amazing tools
A homosapien
2024-09-09 02:24:27
I use pngquant & dssim a lot <:Stonks:806137886726553651>
_wb_
2024-09-09 02:48:16
^ <@826537092669767691>
Meow
_wb_ The livestream where the iPhone 16 will be announced: https://www.youtube.com/watch?v=uarNiSl_uh4 (10am PT / 7pm CEST, in about 4h20m)
2024-09-09 02:55:30
Time for the real coverage in about 2.5 hours later
dogelition
_wb_ The livestream where the iPhone 16 will be announced: https://www.youtube.com/watch?v=uarNiSl_uh4 (10am PT / 7pm CEST, in about 4h20m)
2024-09-09 04:58:17
fyi, the event seems to be in HDR again like the last one probably just works™ on apple's site on apple devices, but it also works on windows on the apple tv app (no account required)
Meow
2024-09-09 05:04:00
Tim Apple comes
Demiurge
2024-09-09 05:13:27
Who the hell is Steve Jobs?
Meow
2024-09-09 05:18:33
The hell knows
2024-09-09 05:20:51
No mention of JPEG XL for Apple Watch
lonjil
2024-09-09 05:22:27
not entirely unsurprising
_wb_
2024-09-09 05:32:36
Also the noise-cancelling earbuds do not support JXL, disappointing...
2024-09-09 05:52:13
So cringe how they use "Apple Intelligence" instead of AI
lonjil
2024-09-09 06:00:13
even before they introduced that term, they never used the terms "AI" or "artificial intelligence", I think. Only "machine learning".
_wb_
2024-09-09 06:05:23
Hm, the segment on the camera is done, no mention of jxl yet?
lonjil
2024-09-09 06:06:01
maybe they think image formats are too boring and it'll just silently be available when the phone launches
jonnyawsom3
2024-09-09 06:06:11
If they just tack it on a whiteboard at the end again....
veluca
lonjil maybe they think image formats are too boring and it'll just silently be available when the phone launches
2024-09-09 06:07:38
that would not be surprising tbh
lonjil
2024-09-09 06:08:07
quick someone pre-order an iphone the millisecond the store comes back
_wb_
2024-09-09 06:09:21
Clearly new pastel colors for the phone case are more exciting than new image formats.
lonjil
2024-09-09 06:10:03
https://tenor.com/bw15F.gif
_wb_
2024-09-09 06:15:03
Oh, they have a separate thing about the iPhone 16 Pro? Ugh why am I watching this hype nonsense
lonjil
2024-09-09 06:18:26
inb4 jxl is iphone pro exclusive
Meow
_wb_ Oh, they have a separate thing about the iPhone 16 Pro? Ugh why am I watching this hype nonsense
2024-09-09 06:20:37
Always like that
sklwmp
2024-09-09 06:22:05
heef
lonjil
2024-09-09 06:22:18
global shutter? neat
_wb_
2024-09-09 06:29:33
Also nothing on jxl in the Pro segment, it seems.
jonnyawsom3
2024-09-09 06:30:42
Could just be me, but they've certainly done a good job hiding any hint of what format the photos were taken in... Then again Apple have always hidden the camera format settings
lonjil
2024-09-09 06:32:38
i like how the livestream video compression makes the high quality video footage look terrible
2024-09-09 06:35:20
>meters i thought this was america
2024-09-09 06:40:17
well nothing at all about jxl
Meow
2024-09-09 06:40:31
Nope
jonnyawsom3
2024-09-09 06:40:36
Yeah, a lot of changes to the camera though
lonjil
2024-09-09 06:41:29
maybe the DNGs will contain JXL
Meow
2024-09-09 06:42:20
So that's false rumour
jonnyawsom3
2024-09-09 06:43:03
Who would've guessed every news outlet reporting on a single rumor wouldn't end well
lonjil
Meow Nope
2024-09-09 06:43:19
where's that info?
Meow
lonjil where's that info?
2024-09-09 06:43:39
https://www.apple.com/iphone-16-pro/specs/
lonjil
2024-09-09 06:43:55
ty
_wb_
2024-09-09 06:47:22
Now I am curious where the rumors came from
username
2024-09-09 06:48:28
could be a case of old info getting mixed up with new then spread around?
Meow
2024-09-09 06:49:11
Created the largest hype ever of JXL server
lonjil
2024-09-09 06:50:02
I could easily see it being someone in the chain of the rumour misunderstanding a move to the newer DNG spec
2024-09-09 06:50:30
or maybe someone just made it up
_wb_
2024-09-09 06:51:50
Well if they are using jxl payloads in DNG, I guess the rumor is still kind of true.
spider-mario
lonjil >meters i thought this was america
2024-09-09 06:53:07
it is, or they would have spelt it “metre”
_wb_
2024-09-09 06:53:24
How can we find out what kind of DNG the new iPhone is producing?
lonjil
2024-09-09 06:53:42
i guess we have to wait until someone gets a hold of one and tries it
2024-09-09 06:54:06
if i know someone who gets one of the new iphones ill ask them to try it
Meow
2024-09-09 06:56:48
https://support.apple.com/en-us/119916 about ProRAW
jonnyawsom3
2024-09-09 07:01:00
Assuming they are, I'm mostly curious if they're just using the Adobe SDK or if they made their own, actually logical, implementation
Meow
2024-09-09 07:12:14
iOS 18, iPadOS 18, macOS Sequoia and watchOS 11 will be available on Sep 16
lonjil
2024-09-09 07:16:56
I have the beta installed already
2024-09-09 07:18:15
unfortunately ipad air apparently doesn't allow raw capture
_wb_
2024-09-09 07:19:29
Timing-wise, I was surprised by those rumors about jxl in iPhone 16. To me it made more sense to do it next year, when likely there will be a hardware encoder available and when at least within the Apple ecosystem jxl decode support will be universal (currently it isn't quite yet, not everyone has upgraded already). But within DNG it would make sense, like Samsung did... Curious if they're doing that, or just the old DNG.
lonjil
2024-09-09 07:21:36
Should we expect the hardware encoder to be competitive with hardware encoded HEIC? Since it's likely to only use a subset of simpler to implement parts of the spec.
_wb_
2024-09-09 07:28:31
It will be similar to libjxl-tiny
2024-09-09 07:29:19
At camera quality it shouldn't be much worse than libjxl e4 or so
2024-09-09 07:29:54
(software encoding mostly makes a big difference at web quality and lower)
lonjil
2024-09-09 07:37:41
I wonder how HW encoders for JXL will do all the math. Going full fp32 would probably either be too expensive (if fully pipelined) or too slow (if just a couple of fp32 units are used in a loop for everything)
_wb_
2024-09-09 07:39:55
They do it in fixedpoint arithmetic
2024-09-09 07:40:07
Probably 18 bit or so
2024-09-09 07:41:38
Maybe number of bits will be different in different parts of the pipeline
2024-09-09 07:43:12
Also the big DCT transforms are just not implemented, probably only 8x8, 16x8, 8x16, 16x16 or so. That also helps to keep the math easier in fixedpoint.
lonjil
2024-09-09 07:44:53
for fancy 14-bit camera sensors, I hope (i don't actually know) that 4 bits of headroom is enough to have very little in the way of rounding errors
_wb_
2024-09-09 07:49:10
Well the hw encoder would be for lossy in XYB, not for storing Bayer data
2024-09-09 07:51:54
But yeah, 13-14 bit XYB is plenty even for wide gamut HDR, and then a few bits extra for the DCT, basically.
2024-09-09 07:56:03
Anyway, whatever Apple is gonna do right now, is gonna be in software. Unless they secretly designed their own hw jxl encoder (I doubt it).
2024-09-09 07:57:39
I guess it will be either jxl-in-DNG, or no jxl at all for now. Or maybe jxl after all, as an option they for some reason don't want to brag about.
lonjil
2024-09-09 08:00:55
would be weird to not have it in the spec sheet even if they didn't care to advertize it
jonnyawsom3
_wb_ Well the hw encoder would be for lossy in XYB, not for storing Bayer data
2024-09-09 08:07:26
Although if it were to be lossless, it would use the fast lossless currently used in cjxl e1, so up to 16 bit ints if I recall
lonjil
_wb_ Well the hw encoder would be for lossy in XYB, not for storing Bayer data
2024-09-09 08:10:45
Hm, but pretty much everything that stores Bayer data these days is some form of lossy designed for photos (DCT, wavelets, etc)
2024-09-09 08:11:36
So if you want to do hardware accelerated encoding for, say, JXL-DNG, you'd want to do VarDCT, not Modular
_wb_
2024-09-09 08:14:32
Yeah, basically something like d0.5 to replace camera-quality jpeg and d0.1 to do "lossy raw". For lossless raw you can probably do libjxl e1 in software on a phone and it is fast enough.
lonjil
2024-09-09 08:16:31
Would it be best to convert R, B, and average G to XYB, and then G-diff as a modular extra channel, or to store RGGB as four separate grayscale VarDCT frames?
_wb_
2024-09-09 08:17:23
For "lossy raw" you just store a debayered image.
lonjil
2024-09-09 08:20:17
storing lossy bayer data is very common AFAIK
_wb_
2024-09-09 08:20:45
Storing a debayered image is what Apple's ProRAW has been doing for a while if I understand correctly. Don't bother with storing actual raw RGGB, just store a debayered image with enough precision. People care about having dynamic range available, being able to adjust color without getting hit by blown up compression artifacts.
lonjil
2024-09-09 08:20:55
I know that some high end film cameras store lossy jpeg2000, 4 grayscale frames per actual frame
_wb_ Storing a debayered image is what Apple's ProRAW has been doing for a while if I understand correctly. Don't bother with storing actual raw RGGB, just store a debayered image with enough precision. People care about having dynamic range available, being able to adjust color without getting hit by blown up compression artifacts.
2024-09-09 08:21:53
yeah I think it makes sense. A few of photographers have told me that they want to have control over the debayering process so they don't want such "raws"
2024-09-09 08:22:21
But personally I prefer to not have to think about Bayer stuff, so high precision debayered data sounds good to me
spider-mario
2024-09-09 08:23:34
debayered DNG has occasionally been called “Linear DNG”
2024-09-09 08:23:41
if you’ve ever come across that term, that’s what it refers to
_wb_
2024-09-09 08:25:26
I wonder to what extent it really makes sense to do custom debayering as a photographer, as opposed to leaving it to the camera to do it in a good way — and allowing camera vendors to innovate in how exactly they do things, since 2x2 Bayer patterns is certainly not the only way to do it.
lonjil
2024-09-09 08:26:28
I think some vendor camera software implements the exact algorithms actually used on board the camera
2024-09-09 08:27:37
And I *believe* that some raw files from some cameras can't be handled by open source tooling due to having weird bayer stuff that hasn't been implemented in those open source tools yet, so I think there's some innovation (maybe)
jonnyawsom3
2024-09-09 08:27:48
I'm still very annoyed Adobe didn't use the CFA channel type to store JXL DNGs, or tile size properly...
_wb_
2024-09-09 08:29:29
It kind of makes sense from the DNG spec point of view to use jxl as just a 'dumb' payload encoding so they can treat it symmetrically with the already existing encodings...
2024-09-09 08:31:09
I wish we could move to just using JXL files instead of DNG though, with just a box for whatever proprietary camera maker stuff they want to add but a main image that is just a standard, interoperable image.
jonnyawsom3
2024-09-09 08:32:47
As far as I can tell, there's not really any reason we couldn't. It's just image data, either RGB Linear or a greyscale bayer, then a lot of metadata. The real hurdle would be getting the RAW editing software to read the JXL files properly with the presence of the metadata or the CFA channel
KKT
Demiurge I realize this might not be the most well received comment, in a server about JXL, but I am only bringing it up because I'm also a fan of JXL and I hope it succeeds and becomes the new universal image interchange.
2024-09-09 08:35:37
I tested LOTS of images. I picked the ones that performed the best on paper, since it was just too time consuming to do full a/b comparisons for every set.
_wb_
2024-09-09 08:46:34
We can always tweak it further. Probably we are currently going a bit too low quality, and doing the comparisons at d1-3 instead of up to d6, with 2x zoom, would be a better way to show the difference between jxl and jpeg/avif.
2024-09-09 08:50:52
Anyway, I have to admit I am a bit disappointed that the rumors about jxl in iPhone 16 turned out to be either false or only about DNG. It's not going to give the visibility to jxl I was hoping for. Then again even the rumors did help to spark some interest, and maybe it will still help to get Apple to add it later, in an iOS update or in the iPhone 17...
2024-09-09 08:55:00
Now the speculation can start about where these rumors came from: was it just baseless speculation, was it something they were actually planning to do but couldn't finish in time, was it cancelled last minute for some political reasons, ... ? I guess we'll never know the full story.
jonnyawsom3
2024-09-09 08:57:57
Not sure why so many were citing it as a confirmed thing either...
KKT
_wb_ Now the speculation can start about where these rumors came from: was it just baseless speculation, was it something they were actually planning to do but couldn't finish in time, was it cancelled last minute for some political reasons, ... ? I guess we'll never know the full story.
2024-09-09 09:00:17
Software rumors have often been off by a year in the past too <:AngryCry:805396146322145301>
jonnyawsom3
2024-09-09 09:11:19
Ah well, at least now we have time to get the website looking it's best
_wb_
2024-09-09 09:14:26
and to get Firefox and Chrome to catch up 🙂
KKT
2024-09-09 09:18:10
If someone could get the 2-3x zoom back into the comparison tools, that would be awesome. We pulled them cause they were causing havoc on the mobile sizes. We also wanted to implement a "compare to original" we never got around to
_wb_
2024-09-09 09:22:16
Maybe we could reuse this three-way comparison interface from the webp folks: https://storage.googleapis.com/demos.webmproject.org/webp/cmp/2024_09_04/visualizer.html?bimg=..%2Fclic_validation_2021_2022_2024%2Fimages%2Fcasey-fyfe-999.png&btxt=original&rimg=encoded%2Fcasey-fyfe-999.444e8q034.jxl.png&rtxt=JPEG+XL+4%3A4%3A4+effort+8&limg=encoded%2Fcasey-fyfe-999.444e6q033.avif&ltxt=AVIF+4%3A4%3A4+speed+6
KKT
2024-09-09 09:54:09
Yes, that's what I'd hoped for for the full page comparison tool
CrushedAsian255
_wb_ We can always tweak it further. Probably we are currently going a bit too low quality, and doing the comparisons at d1-3 instead of up to d6, with 2x zoom, would be a better way to show the difference between jxl and jpeg/avif.
2024-09-09 10:20:50
If you don’t show the CFA layer or the green extra channel does it still look normal after colour correction?
KKT Software rumors have often been off by a year in the past too <:AngryCry:805396146322145301>
2024-09-09 10:22:16
Who knows, maybe iOS 18.1
lonjil unfortunately ipad air apparently doesn't allow raw capture
2024-09-09 10:27:35
I’m installing it on my iP14pm
2024-09-09 10:30:01
Does Exiftool tell you what format it’s using?
lonjil
CrushedAsian255 Does Exiftool tell you what format it’s using?
2024-09-09 10:34:17
I don't know but you could upload the DNG here or elsewhere and we'll try to check?
jonnyawsom3
CrushedAsian255 If you don’t show the CFA layer or the green extra channel does it still look normal after colour correction?
2024-09-09 10:44:08
That was in response to the image comparisons on the new website, but if I recall yes, RAW JXLs would display using RGB bayer offset to align, with the extra G stored in a CFA extra channel only used when decoding as RAW data. Been a long time since this was mentioned though, so I could be wrong
CrushedAsian255 Does Exiftool tell you what format it’s using?
2024-09-09 10:45:39
Yeah, it also says the encode parameters with Adobe's implementation
CrushedAsian255
2024-09-09 10:51:12
I’ll Exiftool a RAW image
2024-09-09 10:55:21
It’s odd that every other format has a badge but not JXL
2024-09-09 10:55:29
KKT
2024-09-09 11:18:06
Wake up <@794205442175402004> ! https://www.macrumors.com/2024/09/09/iphone-16-pro-supports-jpeg-xl-format/
RaveSteel
2024-09-09 11:20:18
nice
lonjil
2024-09-09 11:35:36
"according to code found in" presumably hints at someone stumbling on something in publically released materials, rather than a leak, which means that there should be a source they should be able to link to. But "journalists", for some reason, seem allergic to this practice.
KKT Wake up <@794205442175402004> ! https://www.macrumors.com/2024/09/09/iphone-16-pro-supports-jpeg-xl-format/
2024-09-09 11:37:53
oh! I notice that they linked to the new website, nice :)
afed
2024-09-09 11:40:13
<:Thonk:805904896879493180> https://news.ycombinator.com/item?id=41484914
Demiurge
KKT I tested LOTS of images. I picked the ones that performed the best on paper, since it was just too time consuming to do full a/b comparisons for every set.
2024-09-09 11:44:11
Of course. I just hope I can be useful or constructive by my examining and giving feedback. :)
afed <:Thonk:805904896879493180> https://news.ycombinator.com/item?id=41484914
2024-09-09 11:48:53
I noticed even one of the comments here on ycombinator is expressing confusion over how the JXL images look noticeably worse in the comparisons.
HCrikki
2024-09-09 11:49:39
if it mentions the pro iphones specifically, couldnt it be about proraw (proraw max in particular)
Demiurge
2024-09-09 11:49:41
I promise it wasn't me :)
HCrikki
2024-09-09 11:51:01
proraw was dng 1.6 earlier, perhaps they upgraded to 1.7 and also added jxl as a codec for dng 1.7 (under high efficiency mode?)
2024-09-09 11:52:17
if anyone knows a reviewer with a device they can talk about, might be worth asking about and get sample files from
KKT
2024-09-10 12:00:23
iPhone 13 Pro Max after today's iOS 18 update:
lonjil
2024-09-10 12:04:22
> Bits Per Sample : 12 12 12 > Compression : JPEG
2024-09-10 12:10:36
someone pointed me to the OS package for iOS 18 for iPhone 16 Pro and a decryption tool, wish me luck
2024-09-10 12:10:56
with any luck I'll be able to grep the binaries for relevant strings
Demiurge
KKT I tested LOTS of images. I picked the ones that performed the best on paper, since it was just too time consuming to do full a/b comparisons for every set.
2024-09-10 12:22:22
Were you using libjpeg-turbo for jpeg?
lonjil
2024-09-10 12:42:38
actually, I think I'm missing some tooling to run this stuff. If anyone is on mac and has Xcode installed, please download this: <https://updates.cdn-apple.com/2024FallFCS/mobileassets/032-87820/49E96347-486E-47BD-858A-202BD5A90E0B/com_apple_MobileAsset_SoftwareUpdate/d9faf503145b73e746c27e075c48af44bfa02f15731649242930e38c98c5fe39.aea> and then decrypt it with this tool: <https://github.com/dhinakg/aeota>
2024-09-10 01:15:01
nevermind this other tool worked <https://github.com/blacktop/ipsw>
CrushedAsian255
lonjil someone pointed me to the OS package for iOS 18 for iPhone 16 Pro and a decryption tool, wish me luck
2024-09-10 01:16:49
My testing gives bit depth of 10 instead of 12
2024-09-10 01:16:50
Weird
lonjil
lonjil nevermind this other tool worked <https://github.com/blacktop/ipsw>
2024-09-10 01:27:50
oh, double nevermind, the dylib cache can only be extracted if you're on macos...
KKT
2024-09-10 02:37:15
Working on it!
Meow
KKT Wake up <@794205442175402004> ! https://www.macrumors.com/2024/09/09/iphone-16-pro-supports-jpeg-xl-format/
2024-09-10 02:56:07
Why are media people obsessed with that hyphen?
jonnyawsom3
2024-09-10 02:58:47
When asking my friend about the site they used `jpxl`
Meow
2024-09-10 03:01:46
Not true. > HEIC is a lossy format, and while it retains better quality than JPG images, pros will likely prefer JPEG-XL for zero image degradation.
2024-09-10 03:04:28
Similar to AVIF, HEIC can be lossless too
KKT
Demiurge Were you using libjpeg-turbo for jpeg?
2024-09-10 03:15:29
Yeah, I think so but I'll have to go through my notes. I originally compressed them back in May, so getting foggy. I only used mozjpeg for testing the progressive decoding I think.
Meow
lonjil > Bits Per Sample : 12 12 12 > Compression : JPEG
2024-09-10 03:32:55
Did a bit search and it's been like that for years
monad
2024-09-10 04:16:09
.jpgxl
_wb_
KKT Wake up <@794205442175402004> ! https://www.macrumors.com/2024/09/09/iphone-16-pro-supports-jpeg-xl-format/
2024-09-10 06:33:31
So we went from rumors to an announcement that doesn't mention jxl and now back to rumors? I feel like I am getting trolled 🙂
jonnyawsom3
2024-09-10 06:41:58
An announcement about news of a rumour, in an announcement that didn't have the rumour, which now has a rumour about news of JXL being in the 16 Pro exclusively
CrushedAsian255
2024-09-10 06:49:56
Istg if they release it and it’s iPhone 16 only
Meow
2024-09-10 06:56:51
https://x.com/jyzg/status/1833223807416381624
Oleksii Matiash
_wb_ I wonder to what extent it really makes sense to do custom debayering as a photographer, as opposed to leaving it to the camera to do it in a good way — and allowing camera vendors to innovate in how exactly they do things, since 2x2 Bayer patterns is certainly not the only way to do it.
2024-09-10 07:47:19
Most people would not care, I will 🤷‍♂️ Also software algorithms are improving with time, camera firwmare are not. And do not forget file size difference
CrushedAsian255 If you don’t show the CFA layer or the green extra channel does it still look normal after colour correction?
2024-09-10 07:47:39
Rephrase your question, please
CrushedAsian255
Oleksii Matiash Rephrase your question, please
2024-09-10 08:00:50
You know how there is 2 greens per each red and blue, right? If the green pixel is stored in an extra channel, but is not rendered, does the image look fine with only the R,B and one of the Gs?
Oleksii Matiash
CrushedAsian255 You know how there is 2 greens per each red and blue, right? If the green pixel is stored in an extra channel, but is not rendered, does the image look fine with only the R,B and one of the Gs?
2024-09-10 08:03:51
It is used for demosaic, without it you would have square without one quarter of information. It is first point, and second - idk the reason, but manufacturers some time have *different* green channel specs. I.e. slightly different dye, for example
CrushedAsian255
2024-09-10 08:04:22
so you can't render the R,G,B data before demosaicing?
Oleksii Matiash
CrushedAsian255 so you can't render the R,G,B data before demosaicing?
2024-09-10 08:06:40
No, of course. Demosaic is the process of 'guessing' 2 channels for each camera pixel, to create RGB value. One pixel in camera has only one 'channel'. And in the simplest approach demosaic is performed by squares of R, G, G, B (or any other bayer layout variant)
CrushedAsian255
2024-09-10 08:07:19
can't you just desample the image 2x each way and use the R,B and one of the Gs?
Oleksii Matiash
2024-09-10 08:08:40
You will get 1/4 of possible resolution. I.e. for 24 mp sensor you would have 6 mp rgb image. It is possible, but noone would be happy with it
2024-09-10 08:09:12
Also it leads to some very special artifacts in rgb image
CrushedAsian255
2024-09-10 08:18:29
weird colour aliasing?
Oleksii Matiash
CrushedAsian255 weird colour aliasing?
2024-09-10 08:21:00
Yes
CrushedAsian255 weird colour aliasing?
2024-09-10 08:59:31
Left - normal demosaic, downsize by 50%, right - demosaic by joining rggb squares to one pixel. Zoom to 200% to see difference
CrushedAsian255
Oleksii Matiash Left - normal demosaic, downsize by 50%, right - demosaic by joining rggb squares to one pixel. Zoom to 200% to see difference
2024-09-10 09:04:33
image isn't loading, what format is it?
Oleksii Matiash
2024-09-10 09:04:59
Lossless jxl 🤷‍♂️
CrushedAsian255
2024-09-10 09:05:38
oh yeah, those colour artifacting
_wb_
2024-09-10 10:20:58
Joining RGGB into one pixel is effectively doing nearest-neighbor subsampling (mostly for R and B) with a wrong offset of half a pixel. It's ok-ish for a rough preview but not really great. I think for lossless raw, you just need to store the bayer data as it is (as 4 separate channels, maybe with avgG and deltaG to decorrelate those two), that's the only effective way to do it if you insist on mathematically lossless and keeping the sensor data exactly as it is. We _could_ represent it as RGB + deltaG so it's viewable at half resolution and with some artifacts on naive decoders (assuming the channels can be rescaled appropriately via some ICC profile), but I think it makes more sense to do it as lossy preview + four CFA channels. For 'lossy raw', I think it makes the most sense to properly demosaic and white balance first to create a normal RGB image (at full resolution) and then use high-precision lossy compression. It's not going to be as good as real lossless raw, but it can be way better than doing some additional processing and producing an 8-bit JPEG. I'd assume that for 98% of the use cases where people now use raw, 'lossy raw' would be good enough. And I think that with jxl, we could basically do 'lossy raw' in about the same file sizes as camera jpegs, but with enough precision to preserve the dynamic range and keep it editable.
CrushedAsian255
_wb_ Joining RGGB into one pixel is effectively doing nearest-neighbor subsampling (mostly for R and B) with a wrong offset of half a pixel. It's ok-ish for a rough preview but not really great. I think for lossless raw, you just need to store the bayer data as it is (as 4 separate channels, maybe with avgG and deltaG to decorrelate those two), that's the only effective way to do it if you insist on mathematically lossless and keeping the sensor data exactly as it is. We _could_ represent it as RGB + deltaG so it's viewable at half resolution and with some artifacts on naive decoders (assuming the channels can be rescaled appropriately via some ICC profile), but I think it makes more sense to do it as lossy preview + four CFA channels. For 'lossy raw', I think it makes the most sense to properly demosaic and white balance first to create a normal RGB image (at full resolution) and then use high-precision lossy compression. It's not going to be as good as real lossless raw, but it can be way better than doing some additional processing and producing an 8-bit JPEG. I'd assume that for 98% of the use cases where people now use raw, 'lossy raw' would be good enough. And I think that with jxl, we could basically do 'lossy raw' in about the same file sizes as camera jpegs, but with enough precision to preserve the dynamic range and keep it editable.
2024-09-10 10:22:10
Lossy preview in the preview frame?
_wb_ Joining RGGB into one pixel is effectively doing nearest-neighbor subsampling (mostly for R and B) with a wrong offset of half a pixel. It's ok-ish for a rough preview but not really great. I think for lossless raw, you just need to store the bayer data as it is (as 4 separate channels, maybe with avgG and deltaG to decorrelate those two), that's the only effective way to do it if you insist on mathematically lossless and keeping the sensor data exactly as it is. We _could_ represent it as RGB + deltaG so it's viewable at half resolution and with some artifacts on naive decoders (assuming the channels can be rescaled appropriately via some ICC profile), but I think it makes more sense to do it as lossy preview + four CFA channels. For 'lossy raw', I think it makes the most sense to properly demosaic and white balance first to create a normal RGB image (at full resolution) and then use high-precision lossy compression. It's not going to be as good as real lossless raw, but it can be way better than doing some additional processing and producing an 8-bit JPEG. I'd assume that for 98% of the use cases where people now use raw, 'lossy raw' would be good enough. And I think that with jxl, we could basically do 'lossy raw' in about the same file sizes as camera jpegs, but with enough precision to preserve the dynamic range and keep it editable.
2024-09-10 10:22:58
So “lossy raw” is effectively ProRes and Log colour space?
_wb_
CrushedAsian255 Lossy preview in the preview frame?
2024-09-10 10:25:18
nah just use the main color channels for the lossy preview (a regular vardct image, e.g. at half resolution and d2 or something) and put the RGGB in four extra channels.
CrushedAsian255 So “lossy raw” is effectively ProRes and Log colour space?
2024-09-10 10:27:30
I think ProRAW is more or less like that
CrushedAsian255
2024-09-10 10:27:30
"kCFA 5 Channel used to represent Colour Filter Array data (Bayer mosaic)"?
_wb_ I think ProRAW is more or less like that
2024-09-10 10:27:41
yeah, it's just lossless JPEG
_wb_
CrushedAsian255 "kCFA 5 Channel used to represent Colour Filter Array data (Bayer mosaic)"?
2024-09-10 10:29:51
yeah, four extra channels of that type, with a channel name that follows some naming convention so applications know what kind of subpixel it is
CrushedAsian255
2024-09-10 10:30:19
would it make sense to apply some kind of RCT to them to decorrelate?
_wb_
2024-09-10 10:30:50
anyway, that's what _could_ be done, for now the only thing that exists in practice is DNG which just uses jxl as a grayscale code
2024-09-10 10:31:49
yes, RCTs could be used to do things like converting G1 G2 to avgG deltaG
CrushedAsian255
2024-09-10 10:33:39
at this point, this format can do so much, can JXL help me pay my taxes or look for a career?
_wb_ yeah, four extra channels of that type, with a channel name that follows some naming convention so applications know what kind of subpixel it is
2024-09-10 10:45:44
you wouldn't even need to use channel names
2024-09-10 10:46:05
you can use the `cfa_channel` entry from Table D.8
_wb_
2024-09-10 10:49:51
ah right, that would be enough to identify which subpixel it is. Just need to store some other stuff somewhere, like what the Bayer layout is, what the scale is for each subpixel, etc
CrushedAsian255
_wb_ ah right, that would be enough to identify which subpixel it is. Just need to store some other stuff somewhere, like what the Bayer layout is, what the scale is for each subpixel, etc
2024-09-10 10:50:29
maybe a `dbyr` Debayer info box?
_wb_
2024-09-10 10:51:30
probably there is metadata from DNG that can just be reused and put in some box
CrushedAsian255
_wb_ nah just use the main color channels for the lossy preview (a regular vardct image, e.g. at half resolution and d2 or something) and put the RGGB in four extra channels.
2024-09-10 10:51:42
the reason why i was thinking of the main channels is so that vardct could be used, as as far as I am aware you can't use VarDCT for extra channels, is that correct?
_wb_
2024-09-10 10:52:05
correct, extra channels are modular-only
CrushedAsian255
2024-09-10 10:52:10
is there specific reason?
_wb_
2024-09-10 10:53:02
vardct is kind of deeply hardcoded for dealing with 3 channels
CrushedAsian255
2024-09-10 10:53:39
if you really wanted to use it for extra channels, could you do some weird RCT permutation?
2024-09-10 10:53:50
like have 3 empty Modular extra channels and RCT swap them with the VarDCT channels?
_wb_
2024-09-10 10:57:44
RCT only applies to the modular-encoded channels
CrushedAsian255
2024-09-10 10:57:57
oh ok
Oleksii Matiash
_wb_ probably there is metadata from DNG that can just be reused and put in some box
2024-09-10 11:31:11
It is: CFA Pattern : [Red,Green][Green,Blue]
lonjil
KKT Wake up <@794205442175402004> ! https://www.macrumors.com/2024/09/09/iphone-16-pro-supports-jpeg-xl-format/
2024-09-10 11:42:33
wouldn't it be funny if this "code found in iOS 18" is just the same code that was in iOS 17 to support JXL in Safari and other apps?
dogelition
2024-09-10 11:44:19
i tried searching on apple's developer site for any new API stuff related to jxl or dng, but didn't find anything (jxl isn't mentioned anywhere in the docs, as far as i can tell)
2024-09-10 11:47:18
https://developer.apple.com/documentation/avfoundation/avvideocodectype/4354004-jpegxl
2024-09-10 11:47:21
what
2024-09-10 11:47:45
regular jpeg is also a video codec, apparently
2024-09-10 11:48:23
AVVideoCodecType A set of constants that describe the codecs the system supports for video capture.
Tirr
2024-09-10 11:48:24
like, it's closer to video than audio
dogelition
2024-09-10 11:48:45
so this does seem to indicate support for capturing video (photo?) in jpeg xl, at least on the api level
2024-09-10 11:51:24
anyone familiar with these APsI know what this constant being present actually means? can you actually use it for something?
CrushedAsian255
2024-09-10 11:56:20
Maybe they want to make Motion JXL?
dogelition
2024-09-10 11:57:01
for photo capture it seems like you'd pass it to this function: <https://developer.apple.com/documentation/avfoundation/avcapturephotosettings/1648673-init> anyone happen to have an ios device with ios 18 + a development environment? should be straightforward enough to take some camera capture sample code and just put jpeg xl in there, probably?
CrushedAsian255 Maybe they want to make Motion JXL?
2024-09-10 11:57:41
idk, just looks like they don't distinguish between video and photo capture formats in these APIs.. wonder what happens if you tell it that you e.g. want to record a jpeg video though, presumably it would return an error?
CrushedAsian255
2024-09-10 11:58:40
ProRes as a photo format?
2024-09-10 11:58:46
Could work…
dogelition idk, just looks like they don't distinguish between video and photo capture formats in these APIs.. wonder what happens if you tell it that you e.g. want to record a jpeg video though, presumably it would return an error?
2024-09-10 11:59:04
Could be Motion JPEG
dogelition idk, just looks like they don't distinguish between video and photo capture formats in these APIs.. wonder what happens if you tell it that you e.g. want to record a jpeg video though, presumably it would return an error?
2024-09-10 12:00:43
It’s not listed in https://developer.apple.com/documentation/coremedia/cmvideocodectype
lonjil
2024-09-10 12:01:48
that's CoreMedia rather than AVFoundations though
dogelition
2024-09-10 12:01:50
<https://developer.apple.com/documentation/avfoundation/avcapturephotooutput/2991116-availablephotopixelformattypes> this should tell you whether the OS supports jpeg xl for photo capture
CrushedAsian255
2024-09-10 12:02:56
We need someone to run this function on iOS 18 https://developer.apple.com/documentation/avfoundation/avcapturephotooutput/1648654-availablephotocodectypes
dogelition <https://developer.apple.com/documentation/avfoundation/avcapturephotooutput/2991116-availablephotopixelformattypes> this should tell you whether the OS supports jpeg xl for photo capture
2024-09-10 12:03:26
I think that’s for raw data not for compressed codecs
dogelition
2024-09-10 12:03:30
oh yeah, i don't think the function i linked is the right thing
lonjil
2024-09-10 12:03:42
ugh, apparently these doc pages are dynamically loaded with JS, so older versions don't show up properly in the Wayback Machine
CrushedAsian255
2024-09-10 12:06:54
That original AVVideoCodecType is what’s returned, but that probably also be for decoding
2024-09-10 12:07:11
Although it was added in 18.0 instead of 17.0 so it’s new
2024-09-10 12:07:49
It’s probably what that news article meant when they said they “found JPEG XL in the code of iOS 18”
_wb_
2024-09-10 01:02:57
Can't some journalist just ask someone at Apple to confirm or deny that there will be jxl capture support? I know Apple tends to be secretive but I would imagine that _after_ the launch they should be able to answer such a question...
Meow
2024-09-10 01:16:25
tcook@apple.com
KKT
2024-09-10 05:05:38
I can say some people who write some pretty well known photography software on iOS had not heard anything about JXL support.
lonjil
2024-09-10 07:06:22
I was sent this: ```bash % plutil -p System/Library/PreferenceBundles/CameraSettings.bundle/CameraSettings-JpegXL.loctable { [snip] "en" => { "CAM_PRO_RAW_ENCODING_FOOTER" => "JPEG-XL offers improved compression over JPEG, resulting in smaller file sizes. JPEG-XL support is available on iOS 17 and later, and macOS 14 and later." "CAM_PRO_RAW_ENCODING_JPEG_LOSSLESS" => "JPEG Lossless (Most Compatible)" "CAM_PRO_RAW_ENCODING_JPEG_XL_LOSSLESS" => "JPEG-XL Lossless" "CAM_PRO_RAW_ENCODING_JPEG_XL_LOSSY" => "JPEG-XL Lossy" "CAM_PRO_RAW_ENCODING_TITLE" => "ProRAW Format" "CAM_SECONDARY_PHOTO_FORMAT_FOOTER_RAW12_JPEG_XL_LOSSLESS" => "• 18 MB for ProRAW at 12 MP" "CAM_SECONDARY_PHOTO_FORMAT_FOOTER_RAW12_JPEG_XL_LOSSY" => "• 11 MB for ProRAW at 12 MP" "CAM_SECONDARY_PHOTO_FORMAT_FOOTER_RAW48_JPEG_XL_LOSSLESS" => "• 46 MB for ProRAW at 48 MP" "CAM_SECONDARY_PHOTO_FORMAT_FOOTER_RAW48_JPEG_XL_LOSSY" => "• 20 MB for ProRAW at 48 MP" } } ```
2024-09-10 07:07:45
<@794205442175402004> JXL-in-ProRaw confirmed (seemingly)
username
lonjil I was sent this: ```bash % plutil -p System/Library/PreferenceBundles/CameraSettings.bundle/CameraSettings-JpegXL.loctable { [snip] "en" => { "CAM_PRO_RAW_ENCODING_FOOTER" => "JPEG-XL offers improved compression over JPEG, resulting in smaller file sizes. JPEG-XL support is available on iOS 17 and later, and macOS 14 and later." "CAM_PRO_RAW_ENCODING_JPEG_LOSSLESS" => "JPEG Lossless (Most Compatible)" "CAM_PRO_RAW_ENCODING_JPEG_XL_LOSSLESS" => "JPEG-XL Lossless" "CAM_PRO_RAW_ENCODING_JPEG_XL_LOSSY" => "JPEG-XL Lossy" "CAM_PRO_RAW_ENCODING_TITLE" => "ProRAW Format" "CAM_SECONDARY_PHOTO_FORMAT_FOOTER_RAW12_JPEG_XL_LOSSLESS" => "• 18 MB for ProRAW at 12 MP" "CAM_SECONDARY_PHOTO_FORMAT_FOOTER_RAW12_JPEG_XL_LOSSY" => "• 11 MB for ProRAW at 12 MP" "CAM_SECONDARY_PHOTO_FORMAT_FOOTER_RAW48_JPEG_XL_LOSSLESS" => "• 46 MB for ProRAW at 48 MP" "CAM_SECONDARY_PHOTO_FORMAT_FOOTER_RAW48_JPEG_XL_LOSSY" => "• 20 MB for ProRAW at 48 MP" } } ```
2024-09-10 07:09:44
> "JPEG Lossless (Most Compatible)" is this option just to encode to JPEG then transcode to JXL?
Foxtrot
2024-09-10 07:09:55
RAW compressed by JXL? sounds like a dream
veluca
2024-09-10 07:10:27
so similar to what DNG does, but different?
lonjil
username > "JPEG Lossless (Most Compatible)" is this option just to encode to JPEG then transcode to JXL?
2024-09-10 07:12:13
I would assume that that just refers to standard oldschool Lossless JPEG as supported by DNG for a long time.
_wb_
2024-09-10 07:12:23
Those are just some strings, but they look quite promising: if they are offering both lossy and lossless settings, and the lossy setting is at a high bpp like that, I think both settings will be quite nice!
lonjil
veluca so similar to what DNG does, but different?
2024-09-10 07:12:47
ProRaw is just DNG with a few extras, so probably it's exactly the same as what DNG does
veluca
2024-09-10 07:12:57
ah I see
2024-09-10 07:13:00
then it makes sense
2024-09-10 07:13:16
I'm going to bet that the lossless mode is e1
2024-09-10 07:13:49
but I guess we will find out 😛
2024-09-10 07:14:28
I assume that's for images, or is that for video too? if so the CPU they have is quite impressive xD
_wb_
2024-09-10 07:14:43
ProRAW is for still images
veluca
2024-09-10 07:14:52
yeah makes sense
_wb_
2024-09-10 07:16:42
it seems to be basically a subflavor of DNG 1.6+, looking at https://www.loc.gov/preservation/digital/formats/fdd/fdd000594.shtml
2024-09-10 07:18:02
At e1 they should be able to do 48 MP easily — remember that's grayscale only, or rather, four channels of 12 MP each.
lonjil
2024-09-10 07:18:27
Does anyone know precisely which method of compression ProRaw uses? If the table of options above lists all possibilities, it seems that they are only using Lossless JPEG right now, so I presume JXL will be a pretty decent improvement?
veluca
2024-09-10 07:18:37
so probably less than 100ms or so
_wb_
2024-09-10 07:19:03
from the LoC article: > On iPhone 14 Pro, Apple ProRAW images can be captured at two resolutions: 12 megapixels (approximately 25MB in size) or 48 megapixels (approximately 75MB).
veluca
2024-09-10 07:19:06
if it matches some data I saw in the past... yup, pretty substantial improvement
2024-09-10 07:19:42
1.5x to 2x or 3x depending on resolution I guess
2024-09-10 07:19:45
not bad at all
lonjil
2024-09-10 07:20:02
If they want to do their fancy processing with JXL, I assume they're still going to store debayered data
_wb_
2024-09-10 07:21:56
it will be interesting to see some samples of this
jonnyawsom3
2024-09-10 07:26:38
In my old testing, Abode's implementation was 20% smaller than lossless jpeg, but they also had strange tile sizes and were using effort 7 with decode speed 4. This morning I was telling Jyrki about it on twitter, 672 x 752 tiles https://discord.com/channels/794206087879852103/805176455658733570/1259094540082741338
2024-09-10 07:27:13
So it really comes down to if they're using a custom implementation or are just reusing the Adobe SDK with additions
_wb_ from the LoC article: > On iPhone 14 Pro, Apple ProRAW images can be captured at two resolutions: 12 megapixels (approximately 25MB in size) or 48 megapixels (approximately 75MB).
2024-09-10 07:30:07
That also doesn't seem right, unless they're being stored uncompressed by default. My phone also takes 12 megapixel RAWs but they're 24 MB uncompressed DNGs
lonjil
KKT iPhone 13 Pro Max after today's iOS 18 update:
2024-09-10 07:32:51
seems to match the image whose metadata was posted eariler
jonnyawsom3
lonjil I was sent this: ```bash % plutil -p System/Library/PreferenceBundles/CameraSettings.bundle/CameraSettings-JpegXL.loctable { [snip] "en" => { "CAM_PRO_RAW_ENCODING_FOOTER" => "JPEG-XL offers improved compression over JPEG, resulting in smaller file sizes. JPEG-XL support is available on iOS 17 and later, and macOS 14 and later." "CAM_PRO_RAW_ENCODING_JPEG_LOSSLESS" => "JPEG Lossless (Most Compatible)" "CAM_PRO_RAW_ENCODING_JPEG_XL_LOSSLESS" => "JPEG-XL Lossless" "CAM_PRO_RAW_ENCODING_JPEG_XL_LOSSY" => "JPEG-XL Lossy" "CAM_PRO_RAW_ENCODING_TITLE" => "ProRAW Format" "CAM_SECONDARY_PHOTO_FORMAT_FOOTER_RAW12_JPEG_XL_LOSSLESS" => "• 18 MB for ProRAW at 12 MP" "CAM_SECONDARY_PHOTO_FORMAT_FOOTER_RAW12_JPEG_XL_LOSSY" => "• 11 MB for ProRAW at 12 MP" "CAM_SECONDARY_PHOTO_FORMAT_FOOTER_RAW48_JPEG_XL_LOSSLESS" => "• 46 MB for ProRAW at 48 MP" "CAM_SECONDARY_PHOTO_FORMAT_FOOTER_RAW48_JPEG_XL_LOSSY" => "• 20 MB for ProRAW at 48 MP" } } ```
2024-09-10 07:34:24
They must have a *lot* of extra data, because 18 MB at 12 megapixels is almost 3x larger than the JXL compressed DNGs I get from those 12 megapixel files from my phone Or thinking about it, a much lower effort maybe with the decode speed filesize bloat
lonjil
2024-09-10 07:35:05
does anyone have typical compression ratio figures for JPEG-LL?
jonnyawsom3
Compared to my uncompressed source DNGs, JXL reaches 77% compression, and the old lossless with full compatibility is roughly 70%, or in terms of improvement 22.5 MB, 6.67 MB, 5.25 MB respectively. Final filesize is 20% smaller with JXL Unfortunately the effort setting does nothing, so I can't test effort 1 or 9
2024-09-10 07:36:11
Might be vaguely useful
_wb_
2024-09-10 07:38:23
12 megapixels is 24 megabytes uncompressed if you assume the data is 16-bit bayer data; if it's 12 megapixels of debayered RGB pixels in 16-bit then it would be 72 MB uncompressed
jonnyawsom3
2024-09-10 07:42:48
Riight, forgot they use Linear
_wb_
lonjil does anyone have typical compression ratio figures for JPEG-LL?
2024-09-10 07:43:33
which kind of lossless JPEG is DNG even using? There's the lossless mode from the original 1992 jpeg spec (which is basically just like a DC-only jpeg with some slightly better prediction, iirc), but there's also JPEG LS from 1999, and in particular JPEG LS part 2 from 2003.
2024-09-10 07:44:15
I would assume/hope they're using JPEG LS part 2, which is actually pretty decent as far as lossless compression goes. IIRC it is also used in DICOM.
2024-09-10 07:44:44
as in: about as good as lossless JPEG 2000
lonjil
2024-09-10 07:45:27
I think it's the original 1992 one but I'm far from sure
_wb_
2024-09-10 07:45:29
(for photographic images — none of these are any good at nonphoto)
2024-09-10 07:46:12
guess I'll have to read a bit of https://helpx.adobe.com/content/dam/help/en/photoshop/pdf/DNG_Spec_1_7_1_0.pdf
lonjil I think it's the original 1992 one but I'm far from sure
2024-09-10 07:52:23
looks like you're right. So in that case there should be a pretty nice improvement when moving from lossless JPEG to lossless JXL
lonjil
2024-09-10 08:00:35
25 MB to 18 MB according to Apple's own numbers. 28% reduction. Or 75 to 46 for 48 MP, 39%.
_wb_
2024-09-10 08:23:37
Not bad for on-device gains. I suppose you could later do a re-encode at higher effort for archiving.
CrushedAsian255
2024-09-10 08:50:18
Not sure if already said but I use Apple ProRAW and this is what I found
2024-09-10 08:50:25
It’s a DNG with extra metadata
2024-09-10 08:50:33
It’s been debayered
2024-09-10 08:50:56
It uses 10 / 12 (not sure) big Lossless JPEG (1992)
2024-09-10 08:51:26
File sizes: 12 MPx: 20-35 MB 48 MPx: 70-130 MB
lonjil I was sent this: ```bash % plutil -p System/Library/PreferenceBundles/CameraSettings.bundle/CameraSettings-JpegXL.loctable { [snip] "en" => { "CAM_PRO_RAW_ENCODING_FOOTER" => "JPEG-XL offers improved compression over JPEG, resulting in smaller file sizes. JPEG-XL support is available on iOS 17 and later, and macOS 14 and later." "CAM_PRO_RAW_ENCODING_JPEG_LOSSLESS" => "JPEG Lossless (Most Compatible)" "CAM_PRO_RAW_ENCODING_JPEG_XL_LOSSLESS" => "JPEG-XL Lossless" "CAM_PRO_RAW_ENCODING_JPEG_XL_LOSSY" => "JPEG-XL Lossy" "CAM_PRO_RAW_ENCODING_TITLE" => "ProRAW Format" "CAM_SECONDARY_PHOTO_FORMAT_FOOTER_RAW12_JPEG_XL_LOSSLESS" => "• 18 MB for ProRAW at 12 MP" "CAM_SECONDARY_PHOTO_FORMAT_FOOTER_RAW12_JPEG_XL_LOSSY" => "• 11 MB for ProRAW at 12 MP" "CAM_SECONDARY_PHOTO_FORMAT_FOOTER_RAW48_JPEG_XL_LOSSLESS" => "• 46 MB for ProRAW at 48 MP" "CAM_SECONDARY_PHOTO_FORMAT_FOOTER_RAW48_JPEG_XL_LOSSY" => "• 20 MB for ProRAW at 48 MP" } } ```
2024-09-10 08:51:44
Also “JPEG-XL”
_wb_ Not bad for on-device gains. I suppose you could later do a re-encode at higher effort for archiving.
2024-09-10 08:57:11
I also hope you can recompress older images, I have almost 600 TB of DNG images that could benefit from being JXL-ified
2024-09-10 08:57:21
Also I don’t mean using Adobe’s tools. They suck
jonnyawsom3
2024-09-11 01:38:51
Part of me wonders if extracting, merging, encoding with cjxl and then implanting the new single tile would work at all
CrushedAsian255
2024-09-11 02:02:46
you would also have to fix the offsets
Oleksii Matiash
CrushedAsian255 I also hope you can recompress older images, I have almost 600 TB of DNG images that could benefit from being JXL-ified
2024-09-11 06:15:58
600 TB? O_o
CrushedAsian255
2024-09-11 07:21:26
GB*
2024-09-11 07:21:29
Oops
2024-09-11 07:21:37
Wish I have 600 TB
TheBigBadBoy - 𝙸𝚛
2024-09-11 09:01:19
but not 600 TB of DNGs <:KekDog:805390049033191445>
2024-09-11 09:01:45
that would be a fucking pain to deal with it
CrushedAsian255
2024-09-11 09:04:24
lol
Meow
2024-09-11 05:23:19
> AVIF for the foreseeable future better for animated images and etc making it more likely not replaced by JPEG-XL for such use cases. Is that true? https://forums.macrumors.com/threads/iphone-16-pro-supports-jpeg-xl-format.2435587/page-4?post=33381563#post-33381563
lonjil
2024-09-11 05:25:10
animated AVIF is AV1 video, so yeah, obviously it works better if you want video since JXL doesn't do video
HCrikki
2024-09-11 06:09:12
'animated' avif is just av1 video and still has the same limits and inadequacies for lossless animations. avif in such context seems to *require* any form of hardware acceleration (at the cost of unavoidable latency if hw versions of codecs used), whereas animated jxl decodes fine and fast in software
RaveSteel
2024-09-11 06:23:15
AVIF has the advantage of an existing encoder in FFmpeg for animations, as well as the dedicated avifenc encoder that better handles animations compared to cjxl. cjxl still requires an intermediate APNG at this time
2024-09-11 06:31:00
Also, in my limited testing, AVIF uses less CPU than JXL
spider-mario
2024-09-11 06:31:14
`cjxl` supports GIF and APNG input
2024-09-11 06:31:17
whether that’s intermediate depends on the source
2024-09-11 06:31:29
I’d say those two cover quite a bit of ground already
RaveSteel
2024-09-11 06:33:09
True, but I'd argue that for most cases GIF as intermediate Format is not really useful due to its limitations. And APNG has no support for the YUV colourspace, so colours may differ depending on the input
RaveSteel Also, in my limited testing, AVIF uses less CPU than JXL
2024-09-11 06:34:32
Just a single datapoint, but compare the following files and their CPU usage while playing