Quel est l'algorithme de compression utilisé par Facebook?


8

Je voudrais savoir quel est l'algorithme de compression utilisé par Facebook pour compresser les images? J'ai téléchargé une image de taille 242 Ko et j'ai téléchargé la même image depuis mon album Facebook. La taille de l'image téléchargée est de 46 Ko et la qualité subjective est similaire, je n'ai pas pu faire la différence entre l'image originale (téléchargée) et téléchargée (depuis Facebook). L'image téléchargée a cependant été sous-échantillonnée, de 1226 x 1600à 552 x 720. Facebook compresse donc l'image à un bon rapport pendant que nous la téléchargeons sur notre compte Facebook sans affecter la qualité subjective.

Je me demande quel algorithme de compression ils utilisent à cet effet. Quelle serait votre meilleure estimation?

                           Original image: tamil_girl_painting (size 1226 x 1600)

Image originale

                  Downloaded (from Facebook) image: tamil_girl_painting (size 552 x 720)

Image compressée


1
Je parie que c'est propriétaire.
John

1
Demandez à Mark Zuckerburg, je suis sûr qu'il vous le dira. : P
Tarin Ziyaee

3
Eh bien, s'il était propriétaire, votre navigateur ne pourrait pas l'afficher! Probablement juste une qualité inférieure de JPEG ... Peut-être pourriez-vous publier votre fichier d'origine et le télécharger sur Facebook?
pichenettes

3
Je suggère un JPEG vanille. Au mieux JPEG + un diff perceptuel sophistiqué dans la boucle pour voir à quel point ils peuvent aller avec les paramètres de qualité sans nuire beaucoup à un score de qualité perceptuelle ... Mais je doute qu'ils se donnent la peine de le faire.
pichenettes

1
@JasonR Je viens de vérifier .. Oui, l'image a été sous-échantillonnée .. Image originale dim: 1226 x 1600 et l'image téléchargée dim: 552 x 720 ..
Premnath D

Réponses:


6

D'après les images que vous avez publiées, il est tout à fait clair que l'image a été sous-échantillonnée et recompressée avec des paramètres jpeg de qualité inférieure. Si vous regardez autour de la bouche, vous pouvez clairement voir des artefacts de type JPEG.


Je le pense aussi .. J'ai téléchargé différents formats de fichiers, c'est-à-dire) tiff, png, etc. et tous ont été convertis en JPEG .. Je n'ai pas pu les enregistrer dans un autre format que JPEG. Existe-t-il un autre algorithme plus efficace que JPEG ?? Pourquoi JPEG2000 n'est pas largement utilisé?
Premnath D du

Je crois que JPEG2000 est peu utilisé car il est grevé de brevets.
John

1
@PremnathD: jpeg2000 est couvert par des brevets, oui, mais AFAIK le truc jpeg2000 de base peut être utilisé sans redevance. Le fait est que le support JPEG2000 est faible et c'est un format plus complexe. Fondamentalement, l'ancien JPEG est "assez bon". Et si vous voulez extraire quelques bits supplémentaires, cela vaut la peine de sous-échantillonner l'image avant qu'elle ne semble trop polyédrique - ce qui est apparemment ce que Facebook fait
sellibitze

TBH JPEG 2K n'en vaut vraiment la peine que lorsque vous passez à des niveaux de compression extrêmes. Malheureusement, lorsque vous atteignez de tels niveaux, la perte de qualité est déjà si mauvaise qu'elle n'en vaut pas la peine. J'ai utilisé une compression d'ondelettes similaire pour avoir une compression de 100+: 1 mais je n'étais vraiment pas du tout inquiet par les artefacts ...
Goz

2

"Identifier -verbose" d'ImageMagick dit que c'est JPEG. L'image d'exemple ici a la qualité 77, tandis que plusieurs des miennes récentes que j'ai vérifiées viennent d'avoir "qualité 71" ou "qualité 74". Tous ont 2x sous-échantillonnage des canaux de chrominance. La plupart du temps, j'ai téléchargé des fichiers JPEG de haute qualité (qualité IJG 92) sans donwsampling.

Certains ont le profil "tinysrgb" de Facebook tandis que d'autres ont l'un des profils sRGB de color.org. Je n'ai pas encore compris comment ces choix sont faits, ni comment les influencer.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.