Rice Coding
Die Rice-Kodierung ist der Spezialfall der Golomb-Kodierung mit m = 2^k, der Division durch Schiebeoperationen ersetzt; sie ist einfach und effizient und wird vielfach für die Restkodierung von Audio und Bildern eingesetzt.
Zweck
Erreicht nahezu optimale Kodierung mit minimalem Rechenaufwand für geometrische Verteilungen mit Zweierpotenz-Parameter, geeignet für Echtzeitsysteme.
Mechanismus
Für eine ganze Zahl n werden q = n >> k und r = n & (2^k - 1) berechnet; q wird unär kodiert (q Einsen gefolgt von einer Null) und r in k Binärbits. Der Parameter k wird adaptiv aus Verteilungsstatistiken gewählt.
Anwendungsfälle
- FLAC-Audio-Restkodierung
- JPEG-LS-Reste
- Kompression räumlicher Daten