Datenkompression: Auf Googles Zopfli folgt Brotli

Google hat den Kompressionsalgorithmus Brotli vorgestellt(öffnet im neuen Fenster) , der als Nachfolger von Zopfli im Web etabliert werden soll, dabei jedoch mit der Abwärtskompatibilität früherer Algorithmen bricht. Um die Daten bei der Übertragung im Web möglichst gering zu halten, hat Google vor mehr als zwei Jahren mit Zopfli einen Algorithmus eingeführt , der kompatibel zu Gzip ist – aber eine bessere Kompression bietet.
Laut der Ankündigung handelt es sich bei Brotli um ein völlig neues Datenformat. Dieses erlaubt die Verbesserung der Kompressionsraten "um 20 bis 26 Prozent im Vergleich zu Zopfli" . Das neue Format hat Google bei der Ietf als Vorschlag zur Standardisierung(öffnet im neuen Fenster) eingereicht.
Bessere Komprimierung durch neue Ansätze
In einer von Google durchgeführten Studie(öffnet im neuen Fenster) kommen die Initiatoren von Brotli zu dem Ergebnis, dass die derzeitige Implementierung von Brotli fast genauso schnell sei wie die Umsetzung des Deflate-Algorithmus'(öffnet im neuen Fenster) in Zlib(öffnet im neuen Fenster) . Dabei komprimiere Brotli die Daten des oft für diese Vergleiche herangezogenen Canterbury Corpus(öffnet im neuen Fenster) stärker als etwa Lzma(öffnet im neuen Fenster) oder Bzip2(öffnet im neuen Fenster) .
Erreicht werde die bessere Komprimierung unter anderem durch eine zweistufige Kontextmodellierung, die Wiederverwendung von Entropiecodes oder auch ein größeres Speicherfenster für vergangene Daten. Der Selbstbeschreibung von Brotli zufolge werde für die Kompression eine Kombination aus LZ77-Algorithmus(öffnet im neuen Fenster) , Huffman-Kodierung(öffnet im neuen Fenster) und eben die zweistufige Kontextmodellierung verwendet.
Wie Zopfli ist auch Brotli nach einem schweizerischen Ausdruck für Gebäck benannt, in diesem Fäll also Brötli. Der Code steht auf Github unter Apache-Lizenz(öffnet im neuen Fenster) bereit.