Topic: Twitter JPG vs Furaffinty PNG

Posted under General

Recently this post #4143394 upload with Twitter JPG in 2961x4096 resolution, same art also available on Furaffinity with PNG format, in lower resolution of 1632x2258

If e621 had to be choose, which image format and different resolution, from different platform should be upload to e621?

Updated

Watsit

Privileged

PNG is generally preferred since it's lossless. Even though JPGs might be higher resolution, they have more noise (compression artifacts) and color shifting (colors being subtly different, color banding, etc). The way JPG works means there's always an issue with noise and color loss regardless of the resolution difference from a matching PNG. At the minimum, a JPG has almost certainly been chroma-subsampled, meaning the color resolution is 1/4th the full image resolution (half width, half height), but even at 100% compression quality there's still some artifacts introduced on top of the color loss. So even if the JPG resolution was 4x the size of a PNG, there's still loss. And for Twitter in particular, it's very unlikely you'd get a high quality JPG from there; as long as the original file uploaded by the artist exceeds some file size threshold, including JPGs with higher quality settings, Twitter will silently recompress it with lower compression quality to get the file size down.

There may be instances where the PNG is so small compared to the JPG that the JPG should be kept, but IMO at that point either the PNG would be too small to be posted anyway, or they should both be posted.

Generally speaking, the .png is preferable in most cases, as Watsit says above. However, Twitter vs. FA is a special case.

Twitter converts the original picture into a .jpg, but otherwise doesn't do anything to the colors. FA doesn't convert the original picture, but it has limits to the file dimensions unless you pay (and even then there's limits; the days of the reupload trick are over) and plays hob with the color profile somehow. (I'm sure someone will be happy to spell that out below.) Even so, the FA .png is preferable unless there is a big difference in resolution sizes. We're not talking about a measly hundred or two hundred pixel difference. We're talking more along the lines of at least around a thousand pixels. The reason here is that, with such a huge difference in size, there is more information available in the .jpg than in the .png. Faucet recently tested this and found that the huge Twitter .jpg is indeed better looking than the dinky FA .png.

But again, I must emphasize that there needs to be at least around 1000 pixels difference on a dimension for this to apply. Between your 2961x4096 Twitter .jpg and your 1632x2258 FA .png, there's more than 1000 pixels difference between the dimensions, so the Twitter version is big enough to be the better version despite being a .jpg with its damaged pixel artifacts and color banding. Yeah, it drives up a tree, too.

The breakdown:

  • If there's not much difference in resolution size, go with the FA .png.
  • If you're not sure, go with the FA .png.
  • If there's a really big difference in resolution size (at least roughly 1000 pixels on a dimension is my rule of thumb), the Twitter .jpg is likely better.
  • If you can find it on another site (DA, Pixiv, Inkbunny, Weasyl, Itaku, etc.), upload the picture from there instead.

Updated

Watsit

Privileged

clawstripe said:
Twitter converts the original picture into a .jpg, but otherwise doesn't do anything to the colors. FA doesn't convert the original picture, but it has limits to the file dimensions unless you pay (and even then there's limits; the days of the reupload trick are over) and plays hob with the color profile somehow. (I'm sure someone will be happy to spell that out below.)

To clarify, Twitter itself doesn't do anything to the colors, but JPG itself. When you're compressing an image for smaller file sizes, subtle changes to some colors may be considered acceptable to the compression algorithm if it means it can create smaller files. This is the reason behind color banding, and compression artificats. If you normally have a smooth gradient from, say, red to black, a lossless PNG will keep each individual red value perfectly as it was. JPG doesn't, it'll clump some shades of red together, where instead of a smooth transition, you'll get more distinct bands of color, where it stays the same red color for a number of pixels then steps down more abruptly to a darker shade for a number of pixels, etc.

JPG was intended primarily for photography, where the captured images have so many microscopic details that the image will be somewhat "noisy" to begin with; the format was designed such that compression artifacts added to such a noisy image would be hard for the human eye to perceive. It's not designed for digital art, which uses a lot of flat colors, color gradients, and hard edges, where the artifacts become more apparent.

An image's color profile can be fixed or restored with relatively little hassle, if it was messed with. You can add/change the color profile stored in a PNG without touching the pixels themselves. Restoring the original image from a JPG is impossible without recreating the image.

clawstripe said:
Even so, the FA .png is preferable unless there is a big difference in resolution sizes. We're not talking about a measly hundred or two hundred pixel difference. We're talking more along the lines of at least around a thousand pixels. The reason here is that, with such a huge difference in size, there is more information available in the .jpg than in the .png. Faucet recently tested this and found that the huge Twitter .jpg is indeed better quality than the dinky FA .png.

1000 is nowhere near enough. 1000x1000 to 1000x1001 is an increase of 1000 pixels. As mentioned, the color information in a JPG is 1/4th the resolution of the image, so the number of pixels lost for color scales with the image size. For a 2961x4096 JPG, the color resolution is actually about 1480x2048, which is smaller than the 1632x2258 PNG. That's excluding the compression artifacts and color banding, which will exist regardless of the size difference.

Updated

I found the relevant discussion from the Discord. It seems FA tends to downscale pictures, both fattening the file size and making them blurrier.

Discord Excerpt — With Apologies to faucet

faucet — 06/23/2023 2:56 AM
Half the time when downscaling it makes the filesize bigger (who would really expect anything better from FA) as well as just making it look... blurrier, post #4104156 and its pending replacement is a good example of that

faucet — 06/23/2023 2:57 AM
Resized from 1600x2400 (2.1708 MB, png) to 1567x2351 (3.2517 MB, png)
I feel like a high quality jpg stands a good chance of doing less damage to the image than that resize and that's only a tiny number of pixels difference

faucet — 06/23/2023 3:44 AM
I was being facetious with that remark, but I actually tried it out of curiosity, and resaving the raw version at jpg90 actually looks more representative of the original than FA's rescale. That only makes me think that a 4000x4000jpg should be preferred over a 2000x2000png even more.

Whenever I want to post PNG art from Furaffinity, someone already posted the same JPG art from Twitter, I'm not sure I should double post or not, because the Twitter JPG always had more resolution than Furaffinity PNG

Watsit

Privileged

clawstripe said:
I found the relevant discussion from the Discord. It seems FA tends to downscale pictures, both fattening the file size and making them blurrier.

Yes, non-integer scaling factors cause problems with keeping an image's clarity, creating softer edges. Twitter has problems here too, since if it determines it needs to recompress an image, it may also resize it (if the Twitter image has a width or height of 2048 or 4096, there's a high chance Twitter resized it). Exactly how and when it decides to resize it instead of just recompressing it is anyone's guess, I've seen images get recompressed but not resized, and I've seen images get recompressed and resized. Areas of flat colors or color gradients can still come through fine enough despite a non-integer scaling, though, which PNG can still preserve.

clawstripe said:
faucet — 06/23/2023 2:57 AM
Resized from 1600x2400 (2.1708 MB, png) to 1567x2351 (3.2517 MB, png)
I feel like a high quality jpg stands a good chance of doing less damage to the image than that resize and that's only a tiny number of pixels difference

That really depends on the image, and whether you're talking purely perceptual quality or closeness to the original image. JPG is designed to keep the perceptual quality of an image despite the added noise, so a high quality JPG can look good (with the addendum that Twitter isn't a place for high quality JPGs either; higher quality JPGs will be larger files, which will trip Twitter's size threshold and get recompressed with lower quality settings to bring the file size down). This is why it will readily cut the color resolution by 1/4th, since the human eye is less sensitive to changes in color than changes in brightness, and the artifacts it adds is harder to notice when the image is noisy to begin with.

With e6 being an archive to preserve art as best it can, rather than a gallery for people to just look at it, I'd expect keeping the image as close to the original as possible would be the goal. A resized image isn't ideal, but a PNG preserves the resized image exactly. A JPG will add an amount of noise that can't be removed, on top of cutting the color resolution by 1/4th.

it should be worth noting that, in this particular instance, the extra resolution is just from a recompression and the resolution of the art itself is identical (the bigger res of the twitter ver is only to make way for jpeg artifacting)

post #4148023 (FA PNG) vs post #4148017 (Twitter JPG, larger resolution), which e621 prefer?

This is what happens if I wanted to post FA PNG, and then someone already posted the Twitter JPG, same thing happened before at post #4114239, e621 decided to keep the FA PNG tho

Updated

Update: Looks like the FA PNG version has been deleted, e621 really need to set the standard for image quality vs resolution

jonathanwolf said:
post #4148023 (FA PNG) vs post #4148017 (Twitter JPG, larger resolution), which e621 prefer?

This is what happens if I wanted to post FA PNG, and then someone already posted the Twitter JPG, same thing happened before at post #4114239, e621 decided to keep the FA PNG tho

Image quality is always compared visually.
Where the image originated from has no impact on that. File type is also only marginally relevant.
What matters is which of the images looks better. Visually.

You determine it by looking at the two images with your eyes.
https://i.imgur.com/GbOWHNe.gif
https://i.imgur.com/lsjgRKU.png

JPG vs PNG matters in marginal cases, usually when the JPG file is slightly higher-res than the PNG.
Getting a slightly larger image at the cost of compression artifacts is just not worth it.
But the posts you are citing aren't like that. The JPG versions are significantly better.

jonathanwolf said:
Update: Looks like the FA PNG version has been deleted, e621 really need to set the standard for image quality vs resolution

You've already had the standard explained to you.
Which part are you not getting?

Watsit

Privileged

cinder said:
You've already had the standard explained to you.
Which part are you not getting?

That it seems inconsistent. post #4114239 (a 1772x2080 PNG) was accepted in favor of post #4114237 (a 3000x3500 JPG), while post #4148023 (a 2118x1740 PNG) was deleted in favor of post #4148017 (a 3500x2876 JPG). The former case (accepting a smaller PNG) has been far more common in my experience, so seeing post #4148023 get deleted doesn't seem right.

Updated

mairo said:
...are you using bilinear non-integer scaling when zooming and comparing images?
The smaller resolution PNG has so much better color detail which is completely destroyed in larger JPG, I would reverse this.

What color detail? Could you be more specific, provide examples?
I see the PNG version losing quality in the brushstrokes, for example here: https://i.imgur.com/A9PBR5o.png

cinder said:
What color detail? Could you be more specific, provide examples?
I see the PNG version losing quality in the brushstrokes, for example here: https://i.imgur.com/A9PBR5o.png

If you look at stuff like blushing, they just bleed all over the place.
You have to remember that even if Twitter version is higher resolution, it's chroma subsampled, meaning that color resolution is half the dimensions (from 3500x2876 to 1750x1438, which is much lower from PNGs 2118x1740 and the way image looks actually depents on what method your viewing software uses to scale the chroma back up).
Brush texture does have single pixel detail in it, which is much more visible to human eye thanks to it being pure white on pure black, so contrast is immidiately visible, but looking at other drawing detail areas, the compression is also eating up so much that I see less overall detail of the actual image.

Also I absolutely hate dealing with this specific artist, because of how large resolutions they use, basically all of their works has been in constant limbo like this where it goes to subjective area which one is better. Do you like that brush texture is more visible or that color and overall detail is more visible?
It's also frustrating because they clearly shared high resolution PNG on both platforms, but both platforms destroy it in their own way and rules disallow getting patreon copy which would be identical file they uploaded on these platforms, so we are stuck unless artist provides those files other ways or uploads it themselves here.
Technically we could get new chroma and upscale it manually with better filtering to combine with JPG version to get as close to original version possible, but that would go to edit territory.

Also when comparing, use integer zoom values and nearest neighbor, always! Othervice higher resolution will always win by default as the other image would need to be scaled differendly and all of smaller detail and compression artifacts just smush into colored blobs.

Original this post #4160379 with Twitter high resolution JPG has been replaced with FA lower resolution PNG, it's according to e621 standard, or just prefer by e621 Janitors/Admins flavor?

Updated

jonathanwolf said:
Original this post #4160379 with Twitter high resolution JPG has been replaced with FA lower resolution PNG, it's according to e621 standard, or just prefer by e621 Janitors/Admins flavor?

It's really difficult to tell which to post now. Until reading this topic, I didn't know color can be a different resolution than the rest of the image either, if I read that right.

Twitter sometimes has images twice the resolution of FA PNGs. It's pretty clear cut when the other sites come into play. I wonder why FA has been so much more limited, even with the subscription for uploads. Perhaps because it's so big they can't afford to allow the huge sizes like the smaller furry galleries can.

I suppose even a formula wouldn't work to decide on which because not all JPG compression is equal.

zeorp said:
It's really difficult to tell which to post now. Until reading this topic, I didn't know color can be a different resolution than the rest of the image either, if I read that right.

Twitter sometimes has images twice the resolution of FA PNGs. It's pretty clear cut when the other sites come into play. I wonder why FA has been so much more limited, even with the subscription for uploads. Perhaps because it's so big they can't afford to allow the huge sizes like the smaller furry galleries can.

I suppose even a formula wouldn't work to decide on which because not all JPG compression is equal.

I always question why fa won't use filesize instead of pixel size for the upload restrictions. In theory, I could generate a file that fits fa's specifications in terms of width and height, but have it be 1 to 2 gigabytes in size.

Watsit

Privileged

jonathanwolf said:
One of my post are replace pending from higher resolution JPG to lower resolution PNG, on the other hand, my post #4169312 low resolution PNG flagged by higher resolution JPG, this is getting ridiculous😡

Do note that flagging a post is a user action, not a moderator action. A user can mistake the idea that higher res is always better or preferred, without consideration of compression artifacts or color accuracy. It doesn't mean the site will take the JPG version just because the PNG version was flagged. In both of those cases, Mairo deleted the JPG in favor of the PNG, so there's no inconsistency with those two.

watsit said:
Do note that flagging a post is a user action, not a moderator action. A user can mistake the idea that higher res is always better or preferred, without consideration of compression artifacts or color accuracy. It doesn't mean the site will take the JPG version just because the PNG version was flagged. In both of those cases, Mairo deleted the JPG in favor of the PNG, so there's no inconsistency with those two.

I'm getting tired of choosing which version should upload to e621, sometimes artists upload their art to Twitter first, not long after or the next few hours, they upload to FA or any other websites with PNG, and then replace or repost to e621

Updated

I just discovered that one of my post has been replaced by smaller resolution PNG (original Twitter higher resolution JPG) again

I'm starting to getting the idea of repost smaller resolution PNG, and flag any posts with Twitter higher resolution JPG

jonathanwolf said:
I just discovered that one of my post has been replaced by smaller resolution PNG (original Twitter higher resolution JPG) again

I'm starting to getting the idea of repost smaller resolution PNG, and flag any posts with Twitter higher resolution JPG

What's concerning about that though is at least one of those examples was nearly twice the resolution on Twitter. I'd think at some point the lost detail is worse than having lossless compression, but without a clear guideline it's a flagging free for all.

If I see a 4000xSomething Twitter image I'd typically choose that over a PNG half the resolution. This is giving me pause.

Watsit

Privileged

zeorp said:
What's concerning about that though is at least one of those examples was nearly twice the resolution on Twitter. I'd think at some point the lost detail is worse than having lossless compression, but without a clear guideline it's a flagging free for all.

If I see a 4000xSomething Twitter image I'd typically choose that over a PNG half the resolution. This is giving me pause.

The additional problem is that not all JPGs are created equal, the compression quality has a significant effect on the resulting JPG. Being 2x or 4x bigger in resolution doesn't ensure details and colors are accurately kept with lower quality compression, and Twitter being what it is, it really likes to use lower quality compression to keep the file size a low as possible. Even if an artist only uploads JPGs using good/decent quality compression, Twitter may still silently recompress it with lower quality to squeeze the file size down a smidge more, subtley worsening the image compared to other sites that didn't need to recompress it. Twitter is just all around terrible as an art source.

watsit said:
The additional problem is that not all JPGs are created equal, the compression quality has a significant effect on the resulting JPG. Being 2x or 4x bigger in resolution doesn't ensure details and colors are accurately kept with lower quality compression, and Twitter being what it is, it really likes to use lower quality compression to keep the file size a low as possible. Even if an artist only uploads JPGs using good/decent quality compression, Twitter may still silently recompress it with lower quality to squeeze the file size down a smidge more, subtley worsening the image compared to other sites that didn't need to recompress it. Twitter is just all around terrible as an art source.

I suppose it's just going to have to be subjective which hopefully doesn't result in too many flagging disagreements. A highly detailed painting for example is going to be subjective, because a much lower resolution PNG will lose all kinds of texture.

In this case the FA one isn't a PNG, but if it was it would be an excellent example:
For https://e621.net/posts/3270773

The used Twitter source:
https://static1.e621.net/data/61/aa/61aaf2b4a3680746db15d0b6010dabe3.jpg
vs.
https://d.furaffinity.net/art/neungsonie/1649515978/1649515978.neungsonie_blaidd_armored.jpg

And for even more fun, a higher data size image slightly lower resolution than the Twitter source:
https://cdna.artstation.com/p/assets/images/images/048/276/186/large/jae-pil-lee-blaidd.jpg

But what if the FA image was a PNG? I did not upload that image, but this is the kind of situation where I'd have probably chosen Twitter. I suppose it just has to be a subjective comparison every time?

watsit said:
The additional problem is that not all JPGs are created equal, the compression quality has a significant effect on the resulting JPG. Being 2x or 4x bigger in resolution doesn't ensure details and colors are accurately kept with lower quality compression, and Twitter being what it is, it really likes to use lower quality compression to keep the file size a low as possible. Even if an artist only uploads JPGs using good/decent quality compression, Twitter may still silently recompress it with lower quality to squeeze the file size down a smidge more, subtley worsening the image compared to other sites that didn't need to recompress it. Twitter is just all around terrible as an art source.

Yup, some of my posts did replaced by FA JPG, even on same resolution, Twitter JPG has less data compared to FA JPG

That's why I hate the artists not posting on FA or any other websites first, before they post it on Twitter

Updated

God, at this pace we might as well not delete them for inferior until artist/commissioner/etc. comes in and just replaces them all with less awful sore-cess? :facepalm:

I figured this would be the right thread to talk about this,

I had a couple instances where I tried to replace a Twitter JPG, with notable compression artifacting, with a FurAffinity PNG that was smaller (not the infamous 1280px) but without artifacts. Which didn't pass moderation. (post #4194531) I personally find the Twitter JPG artifacts to be more destructive, as they add visible crust to the art, directly harming its appearance.
Another time, I tried posting a Twitter JPG to replace a 1280px-resized FurAffinity PNG that still had clear JPG artifacts and looked like the Twitter-artifacted image gone through the FA resizing, which blurred said artifacts, making them less visible but was also further destructive to the art piece. That also got rejected/deleted. (post #4057517)

Maybe I really was in the wrong for both, you can check the sources on both posts I linked to compare the versions and assess that to me.
Because the takeaway is that there are seemingly no guidelines anywhere for cases like this, so I wouldn't know. The moderation is inconsistent and can give you Deleted Post penalties even for iffy judgements like my 2 exemples - that you wouldn't have the option to make a case for when flagging a post for inferior quality. Flagging a post to replace it is also pretty awkward to begin with, especially when it results in an aforementioned Deleted Post penalty to either you or another user. And to top it all off, there's the Post Replacement feature that exists and would help sort these problems but is unavailable to regular users.

Basically, the awkward flagging and the inconsistent guidelines/moderation with penalties is discouraging for trying to replace posts you think aren't in their best quality. It is a bit of a bother when this website serves as somewhat of an art preservation/archive. Sometimes I know there are better versions of some posts than the ones displayed on the site, but don't feel like flagging a bunch of someone else's old posts to correct that.

  • 1