Het is geen Pied Piper, maar er zijn overeenkomsten.
Het middle-out-algoritme dat zijn wortels heeft in de meest beruchte (en waarschijnlijk grappigste) scène in Silicon Valley van HBO mag dan fictief zijn geweest, zoiets kun je vinden in Lepton, een coole nieuwe verliesvrije beeldcompressor gemaakt door Dropbox.
Lepton verkleint de bestandsgrootte van JPEG-gecodeerde afbeeldingen (en dat zijn de meeste) met maar liefst 22 procent, maar zonder ook maar één stukje van het origineel te verliezen. Hoe is dit mogelijk? Midden-uit.
Nou ja, het is eigenlijk veel ingewikkelder dan dat. Lepton haalt een deel van zijn besparing uit het efficiënter coderen van helderheidswaarden die op een zeer deterministische manier in JPEG's worden opgeslagen. De details, die misschien wat moeilijk te volgen zijn voor de gemiddelde beer (of, als ik eerlijk ben, blogger), vind je in deze blogpost .
Het middle-out-bit komt tegen het einde van het decompressiebit. Het algoritme kijkt naar de grens tussen twee van de 8×8-pixelblokken die JPEG maakt, waar aan de ene kant de decodering al is voltooid. De niet-gedecodeerde zijde heeft de neiging een helderheidsgradiënt te volgen die wordt vastgesteld door de helderheidsgradiënt die wordt aangetroffen in de pixels die naar dat middelste gebied leiden, dus het algoritme maakt op basis daarvan een voorspelling. Vervolgens wordt alleen de delta tussen deze voorspelling en de werkelijke waarde opgeslagen, opgemaakt zodat deze goed past bij de rekenkundige codeerder VP8.
Vanuit het midden…….. naar buiten.
De op deze manier gecodeerde helderheidscoëfficiënten vormen gemiddeld zo'n 8 procent van de afbeeldingen die het team tegenkwam, maar ze hebben die 8 procent met ongeveer 61 procent verkleind, waardoor alleen al door deze methode de totale bestandsgrootte met 5 procent werd verkleind. De overige 17 procent (onthoud, het totaal is 22) besparingen komen voort uit diverse andere technieken die, als je het kunt geloven, een gelijkmatige besparing opleveren. minder vermakelijk verhaal erachter.
Hier merk je niets van; Lepton-compressie wordt alleen uitgevoerd op Dropbox-servers, waar uw gegevens in een koude opslag worden opgeslagen. Wanneer je erom vraagt, wordt het werk van Lepton omgekeerd (en snel) en krijg je de vanille-JPEG. Maar aan het einde van Dropbox bespaart het petabytes aan ruimte.
Lepton is open source en Dropbox heeft dat ook plaats de code ervoor op GitHub . Voel je vrij om eraan te sleutelen - en als je zo ver bent gekomen in dit artikel, zal dat waarschijnlijk ook gebeuren!