Obsédé par un Web toujours plus rapide, Google s'est attaqué au problème du poids des images JPEG. Un format d'image compressé avec perte qui demeure toujours très populaire sur le Web si ce n'est le plus populaire.

Google a choisi comme arme WebP, un format ouvert qui tire parti d'un algorithme de compression avec pertes en s'appuyant sur la technologie de VP8 (codec vidéo du format multimédia WebM). WebP améliore ainsi la compression proposée par JPEG sans altérer la qualité de l'image.

WebP permettrait de réduire de l'ordre de 25 à 34 % la taille des fichiers JPEG mais Mozilla est loin d'en être convaincu et n'est pas partisan de cette solution. Un avis qui n'a manifestement pas changé puisque Mozilla annonce son projet mozjpeg.

Mozilla part du principe que JPEG continuera d'être encore largement utilisé sur le Web et bénéficie d'une compatibilité quasi universelle tant au niveau des navigateurs que des logiciels de traitement d'images (notons au passage que Firefox ne prend pas en charge WebP). Plutôt que de le remplacer (des alternatives feront peut-être leur trou dans les années futures), Mozilla veut améliorer l'efficacité de la compression des encodeurs.

La finalité est la même que celle de WebP. Des fichiers de taille plus petite et dès lors des pages Web qui se chargent plus rapidement.

La solution de Mozilla repose sur le codec libjpeg-turbo qui exploite le calcul parallèle pour accélérer l'encodage et le décodage JPEG, et l'ajout d'une fonctionnalité jpgcrush. Cette dernière est un script Perl qui brasse un certain nombre d'options de compression pour sélectionner la plus adaptée afin de créer des fichiers de plus petite taille.

Sur un échantillon de 1 500 images JPEG de Wikimedia, Mozilla fait valoir une réduction sans pertes de l'ordre de 10 % pour la taille moyenne d'un fichier. mozjpeg est a priori le premier encodeur à intégrer jpgcrush.

La prochaine étape du projet est d'aller plus loin dans l'efficacité de l'encodage via le recours à la quantification sur les algorithmes en treillis adaptatifs.