BPG, un nouveau format très prometteur pour les images

Nicolas Furno |

Le JPEG s’est imposé depuis plusieurs années comme le format de prédilection sur internet, mais aussi en local. Il faut dire que ce format, apparu au tournant des années 1990, a de nombreux avantages : il compresse les images et permet d’obtenir des fichiers de taille modeste tout en préservant la qualité du rendu final. Il souffre pourtant du poids des années et d’autres formats, plus efficaces, essaient régulièrement de le détrôner, jusque-là sans succès. Est-ce que le BPG fera mieux ? En tout cas, il a quelques solides arguments à faire valoir.

La même photo (prise avec un iPhone 6 Plus) pèse beaucoup moins lourd une fois convertie en BPG : dans notre exemple , le poids a été divisé par treize. Cliquer pour agrandir

Pour détrôner le JPEG, il faudra battre le fichier là où il est le plus fort, c'est-à-dire sur le taux de compression. Et c’est précisément le point fort du BPG : basé sur le H.265 — un codec vidéo qui doit succéder au H.264 —, il génère des fichiers beaucoup, beaucoup plus petits sans perte de compression majeure. Nous avons encodé une photo prise avec un iPhone 6 Plus qui pèse 2 Mo dans son format par défaut, le JPEG justement.

Une fois convertie en BPG, elle pèse environ 150 Ko, et comme vous pouvez en juger sur cette capture d’écran, la différence reste limitée. On peut noter que la photo perd légèrement en netteté sur certaines zones (notamment sur la purée verte), mais il faut vraiment regarder de près pour voir la différence. Et s’il s’agit de publier une image sur internet, la différence sera probablement oubliée, alors que le gain côté poids reste très important.

Photo originale en JPEG à gauche, la même photo convertie en BPG à droite. Cliquer pour agrandir et voir la différence

Certes, on comparait la photo directement prise avec un iPhone et on pourrait baisser le poids de l’image, sans réduire la qualité. Un passage dans JPEGmini puis dans ImageOptim plus tard, le fichier pèse 920 ko. C’est mieux, mais le BPG reste bien meilleur. Si on essaie maintenant de passer le JPEG dans la zone des 150 Ko sans toucher aux dimensions de l’image, l’intérêt de ce nouveau format est encore plus évident.

En exportant la même photo en JPEG en qualité minimale et en l’optimisant à nouveau, on obtient un fichier de 158 Ko. Et en comparant ce fichier à l’image convertie en BPG, on peut voir nettement la différence. Les artefacts liés à la compression commencent à vraiment se voir, là où le nouveau format reste d’excellente qualité.

Et encore, nous nous sommes contentés d’utiliser les réglages par défaut pour le BPG : on pourrait encore réduire considérablement le fichier final en modifiant les paramètres de la conversion. Comme le montre ce site qui permet de confronter le BPG à diverses variantes de JPEG et au WEBP de Google, ce nouveau format excelle pour les petites tailles. Quand on cherche à optimiser au maximum une image, le JPEG perd en qualité là où son concurrent reste à un bon niveau. Essayez, c’est vraiment bluffant !

JPEG compressé avec mozjpeg (le plus efficace à l’heure actuelle) à gauche, BPG à droite. Cliquer pour agrandir

Dans ces conditions, l’adoption du BPG devrait être une évidence… mais il y a encore quelques inconvénients majeurs à ce jour. D’une part, la compression est très lente : pour reprendre l’exemple de notre photo prise à l’iPhone qui pèse 2 Mo, il faut compter environ 50 secondes pour la conversion, avec les réglages par défaut. Et encore, il s’agit d’une conversion assez facile, puisque le fichier de base est assez petit : imaginez si vous avez à convertir des fichiers JPEG de plus de 10 Mo…

Ce problème de performances est toutefois temporaire : le H.265 est un format trop récent, qui n’est pas encore pris en charge par notre matériel, au contraire du H.264 qui est codé et décodé grâce aux composants présents dans nos Mac. À terme toutefois, ces composants seront améliorés pour gérer ce nouveau codec et on devrait avoir des performances bien meilleures. Au passage, notons que le décodage du fichier est beaucoup plus rapide : environ trois secondes avec notre fichier d'exemple. En sortie, on obtient uniquement un PNG à ce stade.

Pour convertir en BPG, la seule méthode pour le moment, c’est le terminal…

L’autre problème majeur, naturellement, c’est la prise en charge du fichier. Une fois que vous aurez créé un BPG, vous ne pourrez rien en faire : il ne s’affiche ni dans le Finder, ni avec Coup d’œil, Aperçu ne l’ouvre pas, ni aucun autre logiciel. Son concepteur a trouvé une solution astucieuse, mais malgré tout un peu bancale pour le web : un fichier JavaScript convertit les fichiers à la volée en Base64, ce qui permet de les afficher dans n’importe quel navigateur.

Ce n’est clairement pas une solution viable sur le long terme et le BPG est ainsi encore loin de s’imposer à la place du JPEG. Reste que le format est vraiment intéressant, bien plus que le WEBP, par sa capacité à compresser les images sans réduire leur qualité. Pour une publication sur internet, les fichiers obtenus suffisent 90 % du temps, si bien que de gros acteurs pourraient s’y intéresser à terme.

On est encore loin d’enterrer le JPEG, mais qui aurait pensé en 2000 que l’outil de compression vidéo FFMPEG allait avoir une telle importance (il est utilisé partout aujourd'hui) ? On le doit pourtant également à Fabrice Bellard, développeur français qui a aussi inventé ce nouveau format d’image. Dans ces conditions, l’espoir reste permis et le BPG est incontestablement un candidat intéressant pour remplacer le JPEG.

En attendant, si vous voulez vous amuser avec ce nouveau format, le code source est disponible sur le site du projet et vous trouverez tout ce qu’il faut pour compiler les sources et obtenir des exécutables. Si vous êtes sur Mac et que vous avez déjà installé le gestionnaire de paquets homebrew, il vous suffit de cette ligne pour l’installer : brew install libbpg. Une fois que c’est fait, vous pouvez convertir des fichiers en utilisant la commande bpgenc puis l’adresse de l’image originale.

Les fichiers BPG dans le Finder ? C’est possible et assez facile ! Cliquer pour agrandir

Par ailleurs, notre développeur a déjà mis à jour son plugin Coup d’oeil pour afficher les fichiers BPG. Téléchargez qlImageSize à cette adresse (lien direct), déplacez le fichier obtenu dans /Bibliothèque/QuickLook et rouvrez votre session. À partir de là, vous aurez un aperçu en utilisant la barre espace et même des icônes adaptées. Si vous voulez essayer sur votre Mac, la photo JPEG utilisée dans cet article et l’équivalent en BPG sont disponibles à cette adresse.

Malheureusement, vous ne pourrez pas faire beaucoup plus pour le moment. À notre connaissance, aucun éditeur d’image ne permet d’ouvrir ce format, encore moins le modifier. On est encore loin d’une utilisation aussi simple que le JPEG, mais il n’en reste pas moins que ce BPG mérite d’être suivi, car c’est un format vraiment intéressant. Sans compter qu’il a d’autres avantages que l’on n’a pas évoqués, comme la prise en charge de la transparence ou encore la possibilité d’aller au-delà de 8 bit par canal pour l’encodage des couleurs, deux fonctions réservées jusque-là au PNG.

Image de une : Kyle May

Source
Tags
avatar nova313 | 

Et le WebM ? ...

avatar RyDroid | 

C'est un format conteneur pour les vidéos. Il est utilisé avec les codecs vidéo VP8 et VP9 et les codecs audio Vorbis et Opus (je ne suis pas sur pour ce dernier). Bref, ça n'a rien à voir.

avatar JPTK | 

Ça pourrait être intéressant également pour les APN.

avatar oomu | 

pas avant un bond sur les processeurs intégrés.

avatar albanico | 

@JPTK

oui et en particulier pour les iphones, car les photos prennent de plus en plus de place sur le terminal (quand on a pas opté pour 1 stockage par le cloud)

avatar iPoivre | 

"la prise en charge de la transparence", effectivement il fallait commencer par ça, car cela devient un concurrent sérieux du PNG aussi.

avatar JPTK | 

Pas vraiment, le PNG restera imbattable pour les aplats de couleur et les transparence.

avatar Zouba | 
avatar GoldenPomme | 

"Malheureusement, vous ne pourrez pas faire beaucoup plus pour le moment. À notre connaissance, aucun éditeur d’image ne permet d’ouvrir ce format, encore moins le modifier."

Ca doit faire 15 jours que la 1ière version à été mis à dispo du public, faut pas déconner non plus.

Sinon macg/igen vont en faire l'utilisation pour réduire les Mo de bande passante que consomment les différentes images ?

avatar Cap.Achab | 

Marrant, je ne peux pas m'empêcher de repenser et de comparer au JPEG2000.
Ca avait aussi fait figure de codec révolutionnaire à l'époque de sa conception, avec le même genre de battage médiatique et d'article comparatif, avec la finalité que l'on connait...
Sinon un gros flop, du moins un format très (très) confidentiel, réservé aux pros, et quasiment absent du Web.

avatar Nicolas Furno | 
@ Cap.Achab : le gain apporté par ce format est bien plus important que celui du JPEG2000. Mais rien ne dit qu'il ne connaîtra pas une solution similaire, en effet.
avatar joneskind | 

@Cap.Achab

Le contexte est assez différent.

Le Jpg2000 n'offrait pas la même compression et ne gérait pas la couche Alpha (pourtant très utilisée)
Les écrans n'étaient pas Retina
Les APN n'étaient pas aussi précis
La capacité des disques durs à plateau était largement suffisante.

Aujourd'hui il y a une vraie problématique d'économies d'espace comme de bande passante et ce format paraît réellement prometteur.

En plus, elle s'appuie sur une technologie matérielle susceptible de rendre le hardware actuel obsolète (le temps d'encodage décodage va accentuer le gap entre machine ancienne et nouvelle) et donc potentiellement promue par les fabricants.

Maintenant, ce constat étant fait, on peut quand-même s'inquiéter.

avatar Cap.Achab | 

Je ne remettais pas en cause le format, je suis d'accord avec vous deux sur le fait qu'il soit prometteur.
C'est plus un constat : si le public n'adopte pas un format pourtant révolutionnaire et complet, il est voué à l'échec. En d'autres termes, si les outils les plus généralistes (Office, les browsers, les Facebook, Twitter, mais aussi les APN grands publiques, etc...) font l'impasse sur le format (ce qui s'est en gros passé avec le JPEG 2000), il est mort né ou confidentiel.
Le web est finalement assez conservateur, quand on voit la toute puissance, 20 ans après, du GIF, du JPG, du SWF.

avatar GoldenPomme | 

Pour les navigateurs c'est assez simple et c'est déjà fonctionnel, même si un support natif seriat mieux. Suffit juste aux sites web à le mettrent en place, pour l'utilisateur ça sera transparent.

Si les sites à tendances technophiles, au moins les français en soutien à notre génie national, s'y mettent ça donnera une visibilité qui pourrait pousser d'autres acteurs à s'y mettrent.

avatar oomu | 

jpeg2000 n'est pas un problème des "utilisateurs"

mais de ce que l'industrie accepte de payer ou libéraliser pour que les OUTILS les mettent en oeuvre.

Pas de jpeg2000 dans Mozilla et IE = Zéro Intérêt à l'époque.

avatar oomu | 

le problème de jpeg2000 était les brevets et exigences des ayants droits derrière.

Et.. c'est le même soucis avec H265. (pour la vidéo et l'urgence que pose la taille des films, ok l'industrie paie, mais pour remplacer jpeg où en gros ça convient à tous, pourquoi se fatiguer ?)

avatar olaola | 

Sauf que là ça tombe bien c'est justement basé sur H265, et la licensing est fait de telle sorte qu'il est probable que le licensing vidéo couvre l'usage pour bpg en particulier dans le cas du support matériel (le licensing du H265 est différent du H264).
Par ailleurs avec les écrans haute résolutions, avoir des images mieux compressées c'est un vrai besoin.

avatar MarcMame | 

@Cap.Achab :
Pas si confidentiel que ça le JPEG2000 si on prend en compte le fait que c'est le format d'encodage de facto pour les films numériques diffusés en salles dans le monde entier.

avatar joneskind | 

13 fois moins volumineux que le jpg et gestion de la couche Alpha ? En effet, c'est énorme. Je m'en vais me pencher sur la question, en espérant que le format trouve son public. Je m'en vais regarder ça de plus près.

Ça me rappelle L3ENC sur PC. Le premier créateur de MP3 qui compressait les wave et qui d'utilisation en ligne de commande sous DOS. Nostalgie...

avatar enzo0511 | 

s'ils font pareil pour les formats audio ce sera une sacrée révolution

avatar joneskind | 

@enzo0511

La révolution de l'audio est en cours. Mais le but n'est pas de créer des fichiers de moins en moins lourds mais des fichiers de plus en plus fidèles au non-compressé.

avatar GoldenPomme | 

On peut faire les 2 en même temps. Une version en OpenCL de l'encodeur flac donnait, avec un niveau 0, une taille un poil inferieur à l'encodeur normal avec un niveau de compression à 8.

avatar enzo0511 | 

@joneskind :
Encore faut il avoir de bons casques pour restituer ce son
Car si c'est pour écouter chez soi en hifi, alors il n'y a pas vraiment de problème de stockage ni de qualité
Par contre pour un successeur à l'iPod classic il y a un vrai enjeu... de poids

avatar olaola | 

Niveau audio les évolutions vont être limitées, il a été démontré que pour du non compressé on ferait jamais beaucoup mieux que ALAC / FLAC et pour le compressé les résultats de l'AAC ou ogg vorbis sont déjà excellents. On fera des codecs mieux taillées pour fichiers définis (24bits / et fréquence d'échantillonnage plus élevées) mais aujourd'hui ça sert à rien pour plus de 99,9% des usages en musique parce que pour en tirer partie il faut l'enregistrement et le mixage soit excellent, et la matériel et les conditions d'écoutes soient aussi de très bon niveau ce qui n'est quasiment jamais le cas.

avatar françois bayrou | 

Quand vous parler de la conversion, vous parlez de l'encodage, mais sur le décodage, ca donne quoi, en consommation de ressources ?

Sinon, le gain par rapport au JPEG est vraiment énorme !

avatar Nicolas Furno | 
@ françois bayrou : bonne question, j'ai testé du coup et mis à jour l'article. Et pour vous répondre directement : c'est beaucoup plus rapide. 50 secondes pour encoder, 3 secondes environ pour décoder.
avatar olaola | 

Comme c'est fait sur les mêmes bases qu'un codec vidéo ça tombe bien dans qq mois toutes les nouvelles machines supporteront ça matériellement (l'A8 et A8X supporte déjà la compression et la décompression du codec HEVC).

avatar TOONS56 | 

Le problème comme en musique, c'est que le format le plus populaire est le format le plus ancien et on en est resté là comme si aucune évolution ne pouvait exister. IL y a évidemment eu des essais bien meilleurs mais il y en a trop et au final personne ne s'accorde sur quel nouveau format adopter.

avatar oomu | 

aac

avatar sapropelet (non vérifié) | 

Sinon, elle était comment la purée ?

avatar Hoppy | 

@sapropelet :
On dirait du gloubiboulga.

avatar Vivid (non vérifié) | 

Compression avec perte ? oui je suppose.. Maintenant pour le web on peut balancer n'importe quelle merde :-)

avatar oomu | 

principe de base de toutes les compressions MPEG/JPEG (dont fait partie H265) : à perte.

avatar nicky_rabbit | 

A la fin de l'article on parle plus du BGP que du BPG. La rédaction se mélange déjà les doigts ? ;-)

avatar Kriskool | 

Mais quelle jolie photo que ce plat de purée de carottes !! on se régale

avatar Nicolas Furno | 

@Kriskool :
Je l'ai choisie entre mille, je savais que connaître le menu du midi de la rédaction vous emplirait de joie.

Ne me remerciez pas.

avatar Dethi | 

C'est fou le nombre de plugin QuickLook qui se sont mis à jour en si peu de temps. Si vous en voulez un minimaliste (entendez qui ne fait rien d'autre que décoder les BPG) : https://github.com/dethi/QuickLookBPG

avatar Stardustxxx | 

"D’une part, la compression est très lente : pour reprendre l’exemple de notre photo prise à l’iPhone qui pèse 2 Mo, il faut compter environ 50 secondes pour la conversion, avec les réglages par défaut. Et encore, il s’agit d’une conversion assez facile, puisque le fichier de base est assez petit : imaginez si vous avez à convertir des fichiers JPEG de plus de 10 Mo…"

La taille d'un fichier JPEG n'est pas totalement representatif de sa qualite et de ses dimensions. Un fichier de 2 Mo peut-etre un fichier haute resolution super compresse ou bien un fichier basse def avec la qualite au max.

Ce qui fait influe beaucoup sur la vitesse d'encodage c'est la resolution de la frame, c'est comme pour l'encodage video.

Et qu'en est-il de la vitesse de decodage ? On encode l'image une fois, alors qu'on la regarde beaucoup plus.

avatar Nicolas Furno | 
@ Startustxx : c'est pour ça que le fichier original est disponible au téléchargement, si vous souhaitez plus d'informations. :-) J'ai ajouté dans un deuxième temps des éléments sur le décodage.
avatar Stanley Lubrik | 

@ nicky_rabbit

"A la fin de l'article on parle plus du BGP que du BPG. La rédaction se mélange déjà les doigts ? ;-)"

Tan que cela ne finit pas en LGBT avec une nouvelle querelle, pro et anti mariage pour tous.... Pression des cons et compression peuvent-ils faire bon ménage ? :-)

A jour pour le BCG ?

avatar Vivid (non vérifié) | 

@Stanley Lubrik
"Pression des cons et compression peuvent-ils faire bon ménage ? :-)

A jour pour le BCG ?"

une très bon fin d'article ++++ ;-)

avatar hawker | 

cree par le fondateur de ffmpeg, ça viens pas de n'importe qui.

pour que ce soit le nouveau format d'image ultime il faut les options suiviante :

-un mode lossless compressé efficace
-gestion de la couche alpha
-possiblite de gere le 32bit/channel
-metadonnés customs
-une implémentation optimisée
-opensource

ne me dites pas l'animation type gif (!!!)

Bonne chance a son dev !

Rien de plus

avatar jackhal | 

"-possiblite de gere le 32bit/channel"
on peut aussi se contenter d'encoder des images pour les humains.
tu voulais dire "pixel", peut-être ? ;-)

avatar hawker | 

non je parlais de gestion des images de type high dynamic range mais avec une compression a perte qui permettrait de profiter des qualites ce ces dernieres avec une legere perte mais avec l'avantage d'un poids de fichier fortement reduit.

avatar DarKOrange | 

Une petite sieste après tout ça ?

avatar Che | 

Des photos de purées !?! Vraiment ?
Pour comparer la netteté d'un rendu visuel, vous n'avez pas trouver d'autre sujet qu'une bouillie de pix... euh, de légumes ? Allons !

avatar Yuku | 

Perso je préfèrerais voir des améliorations sur les formats non destructifs comme PNG... Quels que soient les progrès faits sur les formats destructifs comme celui ci, ça reste destructif, et ça c'est dommage en 2015...
Idem en audio (FLAC et WAVPACK par exemple).
En vidéo, j'imagine que c'est plus compliqué, mais j'adorerais qu'à terme il n'y ait plus du tout de destructif nulle part, sur le web ou sur nos écrans (y compris ciné)...
AMHA.

avatar MarcMame | 

@Yuku : "En vidéo, j'imagine que c'est plus compliqué, mais j'adorerais qu'à terme il n'y ait plus du tout de destructif nulle part, sur le web ou sur nos écrans (y compris ciné)..."
--------------------
Ce n'est pas tellement que c'est compliqué, c'est surtout que cela impose des volumes data beaucoup trop élevés pour un gain pas si important.
Même dans le domaine pro on compresse à tour de bras.
Les petites tentatives de magnétoscope sans compression (dans les années 90/2000) n'ont pas fait long feu.
Trop gros (une bonne machine à laver)
Trop cher (>1 000 000 FF)
Trop fragile

Aujourd'hui même le magnétoscope le plus élaboré (HDCAM-SR) enregistre en compressé dans un format destructif.

avatar gazeleau | 

Ca me gêne que vous convertissiez du JPEG en BPG :
Vous rajoutez les pertes dues à l'algorithme JPEG à celles dues au nouvel algorithme !
Pour mieux comparer, vous auriez dû partir d'un fichier RAW d'un vrai APN, et comparez sa conversion dans les 2 formats. Cela aurait été plus objectif et plus parlant.

Cordialement

avatar EBLIS | 

@Macg
Vos méthodes de test sont complètement erronées. On ne passe pas à la moulinette un fichier qui est déjà compressé afin de comparer justement ces méthodes de compression, c'est complètement absurde. Aller d'un jpeg vers un autre fichier compressé par une autre méthode est aberrant. Partez plutôt de fichiers bruts, raw ou illustrations contenant des aplats, degradés et même textes et comparer alors les résultats.

Pages

CONNEXION UTILISATEUR