WebP (prononcé : weppy) est un format de fichier image qui fournit une compression avec et sans perte (compression réversible), dérivé du format d'encodage d'image VP8. Il est considéré comme un projet frère du format multimédia WebM, qui a été développé par Google après l'acquisition de On2 Technologies, et est publié sous la licence BSD. Publié sous licence BSD.
WebP a été initialement publié en 2010 dans le but de réduire la taille des fichiers tout en obtenant la même qualité d'image que JPEG, dans l'espoir de réduire le temps nécessaire pour envoyer un fichier image sur le réseau. Le 8 novembre 2011, Google a commencé à faire en sorte que WebP prenne en charge la compression sans perte et les couleurs transparentes (canal alpha), et le 16 août 2012, l'ouvrage de référence lib libP a été publié dans le but de réduire la taille des fichiers tout en obtenant la même qualité d'image que JPEG, dans l'espoir de réduire le temps nécessaire pour envoyer un fichier image sur le réseau. Le 8 novembre 2011, Google a commencé à faire en sorte que WebP prenne en charge la compression sans perte et la couleur transparente (canal alpha), et le 16 août 2012, l'implémentation de référence libwebp 0.2.0 l'a officiellement prise en charge. Selon les premiers tests de Google, la compression sans perte de WebP réduit la taille des fichiers de 45 % par rapport aux fichiers PNG trouvés sur le web, et même si ces fichiers PNG sont traités à l'aide de pngcrush et PNGOUT, WebP réduit encore la taille des fichiers de 28 %.
Le nombre maximum de pixels pris en charge par WebP est de 16383x16383. WebP avec perte ne prend en charge que le format YUV 4:2:0 8 bits. Le WebP sans perte (réversible) prend en charge l'encodage VP8L et l'espace colorimétrique ARGB 8 bits. La compression avec ou sans perte prend en charge les canaux transparents Alpha, les profils de couleur ICC et les données d'interprétation XMP.
WebP a des modes statiques et dynamiques. Le WebP animé prend en charge la compression avec et sans perte, la configuration des couleurs ICC, les données d'interprétation XMP et le canal transparent Alpha.
Technologie
L'algorithme de compression avec perte de WebP est basé sur l'encodage intra-trame du format vidéo VP8 avec RIFF comme format de conteneur. Il s'agit donc d'un schéma de conversion basé sur des blocs avec une profondeur de couleur de huit bits et un modèle de luminance-chrominance (YCbCr4:2:0) avec un sous-échantillonnage de la chrominance à un rapport de 1:2. Sans contenu, le conteneur RIFF ne nécessite que 20 octets de surcharge et contient encore des métadonnées supplémentaires (metadata).Les images WebP sont limitées à une longueur de côté de 16 383 pixels.
WebP est basé sur la prédiction de blocs. Chaque bloc est prédit en fonction des valeurs des trois blocs qui le précèdent et de la valeur du bloc situé à sa gauche (le décodage des blocs s'effectue dans l'ordre de balayage de la trame : de gauche à droite, de haut en bas). Il existe quatre modes de base pour la prédiction des blocs : horizontal, vertical, DC (monochrome) et TrueMotion. Les données incorrectement prédites et les blocs non prédits sont compressés en sous-blocs de 4×4 pixels à l'aide de la transformée en cosinus discrète ou de la transformation de Walsh-Adamar. Les deux transformations sont effectuées à l'aide d'une arithmétique en virgule fixe afin d'éviter les erreurs d'arrondi. La sortie est compressée à l'aide d'un codage entropique. WebP prend également explicitement en charge le décodage parallèle.
L'implémentation de référence contient un convertisseur pour un programme en ligne de commande Linux, ainsi que les mêmes bibliothèques de décodage que WebM. La communauté open source a rapidement réussi à porter le convertisseur sur d'autres plateformes, telles que Windows.
La compression sans perte de WebP utilise des techniques avancées telles que des codes d'entropie dédiés pour les différents canaux de couleur, une position 2D utilisant la distance de référence arrière et un cache des couleurs les plus récemment utilisées. Ces techniques complètent les techniques de base telles que le codage par dictionnaire, le codage Hoffman et la transformation de l'index des couleurs.
Support
Parmi les navigateurs web actuels, Google Chrome et Opera supportent nativement les formats WebP statiques et dynamiques, tandis que Google Chrome supporte le décodage progressif de WebP depuis la version 12. En outre, tous les navigateurs capables de lire des images WebM en mode natif peuvent également afficher des images WebP via javascript. Pale Moon 26+ ne prend en charge que les images WebP statiques, et Firefox prend en charge les images WebP à partir de la version 65.0.
Le navigateur web GNOME Web et la visionneuse d'images KDE Gwenview supportent également le WebP.
Parmi les logiciels d'image, Picasa (depuis la version 3.9), PhotoLine, Pixelmator, ImageMagick, XnView, IrfanView, GDAL, Aseprite et GIMP (depuis la version 2.10) prennent en charge le format WebP de manière native.
Apple a ajouté la prise en charge de WebP dans macOS Sierra et dans les premières versions bêta d'iOS 10. En revanche, la prise en charge de WebP a été supprimée dans la version du 7 septembre 2016 d'iOS 10 et de macOS Sierra GM seed versions.
Commentaire.
L'un des développeurs de x264 : Jason Garrett-Glaser, a fait quelques commentaires sur WebP, basé sur des tests avec d'autres encodeurs (JPEG, x264, Theora), il pense que WebP a la pire qualité d'image, principalement en termes de flou. Il a également déclaré que Google aurait dû attendre que le WebP surpasse le JPEG avant de le commercialiser. Toutefois, le 20 avril 2011, il a indiqué que le nouvel encodeur WebP fonctionnait très bien et que le dépassement du JPEG était imminent.
Définition du profil
Format d'image de nouvelle génération introduit par Google en 2010, supérieur au format JPEG actuel en termes de compression.
Selon Google, le principal avantage du format WebP est sa grande efficacité. Il a constaté que "les images au format WebP sont 40 % plus petites que les images au format JPEG pour la même qualité". Google Chrome supporte déjà le format webp, Opera l'a également ajouté après la version numérotée Opera11.10, cependant, Firefox et IE ne supportent pas le format webp pour le moment, vous pouvez utiliser le plugin flash pour afficher le webp, bien sûr, cela coûtera un peu de performance.
L'inconvénient est que le temps d'encodage des images au format WebP est "8 fois plus long que celui des images au format JPEG".
Les analystes estiment que, bien que le format WebP ne soit pas encore le même que le format JPEG, une variété de matériels et de logiciels sont largement pris en charge, mais c'est le navigateur Chrome qui permet à Google de promouvoir les avantages de ce format. Le navigateur développé par Google détient une part de marché de plus de 50 %.