Előre haladás

Az MTF algoritmus (a továbblépéshez  : "haladás előre") egy áramlás-transzformációs rendszer, amelyet különösen az informatika adattömörítésének területén használnak . Ez abból áll, hogy minden karaktert egy dinamikusan fejlődő tömb által megadott index váltja fel . Ez a technika különösen a Burrows-Wheeler transzformációval együtt használható .

Művelet

A tömböt először a kódoláshoz használt karakterek elrendezésével inicializálják:

Index 0 1 2 3 4 5. 6. ... 25
karakter NÁL NÉL B VS D E F G ... Z

Ha egy karaktert olvasunk, akkor annak indexe kibocsájtásra kerül, majd ez a karakter kerül az első pozícióba, és az összes többi karakter eltolódik (innen a Move to Front neve ). Például, ha az első kódolandó karakter egy E, akkor a tömbből a következő lesz:

Index 0 1 2 3 4 5. 6. ... 25
karakter E NÁL NÉL B VS D F G ... Z

Így amikor hasonló karakterek követik egymást (a Burrows-Wheeler transzformáció esete ), az átvitt adatfolyam sok 0-ot fog tartalmazni, ami statisztikai tömörítésben ( Huffman kódolási típus ) jelentősen megnöveli az adat tömörítési arányát . Ebben az esetben a 0 emissziója azonosnak hagyja a táblázatot, míg a többi esetben az átrendeződés csak a táblázat első elemeire vonatkozik.

Például az EEEEEA szekvenciát a 400001 szekvenciává alakítják át; a táblázat a következőképpen alakulna:

Index 0 1 2 3 4 5. 6. ... 25
Kezdeti állapot NÁL NÉL B VS D E F G ... Z
Az első E-vel módosított táblázat E NÁL NÉL B VS D F G ... Z
A következő 4 E-vel négyszer tartott asztal ...
A táblázat által módosított táblázat NÁL NÉL E B VS D F G ... Z

A dekódolás ugyanolyan egyszerű: ugyanabból a kezdeti tömbből elegendő kiadni az indexnek megfelelő karaktert, és a tömböt úgy rendezni, hogy először átadja ezt a karaktert. A táblázat pontosan úgy fejlődik, mint a kódolási szakaszban.