Umysł na topie

Umysł na topie

dr Jaroslaw Duda

Metoda naukowca z Uniwersytetu Jagiellońskiego stała się językiem światowej elektroniki Dr Jarosław Duda – informatyk, matematyk i fizyk z Uniwersytetu Jagiellońskiego, wynalazca powszechnie używanej metody kompresji danych Platforma Nauki umieściła pańską metodę kompresji na pierwszym miejscu rankingu największych osiągnięć ostatnich czasów. To zaskakujące, że właściwie nic o tym nie było słychać. – Nie wiedziałem o tym, ale właśnie znalazłem tę informację – bardzo dziękuję. Czy kompresja danych, którą pan wzbogacił i usprawnił, jest rzeczywiście tak bardzo ważna dla technologii informatycznych? – Gdyby nie kompresja przesyłanych danych, sieć i komputery szybko by się zapchały. Kompresja to po prostu efektywny zapis danych – przedstawienie informacji możliwie krótkim ciągiem bitów: zer i jedynek. Taka optymalizacja zapisu jest względnie niedroga, dając oszczędności dla wielkości plików, kosztu i czasu ich przesłania, np. przez internet. W związku z tym prawie wszystkie używane i przesyłane przez nas dane są dzisiaj poddane kompresji. Przykładowo dla wideo zmniejsza się takie pliki nawet 1000 razy, co jest kluczowe np. dla wideokonferencji. Łatwo dostępne dziś oglądanie wideo w rozdzielczości 8K bez kompresji wymagałoby kilkuset typowych łączy internetowych. Ale pan nie wymyślił kompresji jako takiej? – Oczywiście, że nie. ANS to nowy sposób zapisu na ciągi bitów, tłumaczenie na ciągi symboli mających konkretne znaczenia. W kompresji trudnością jest to, że często pojawiające się symbole niosą mniej informacji niż te rzadkie. Historycznie podstawowa metoda to kodowanie Huffmana z 1952 r., bezpośrednio tłumacząca ciągi bitów na symbole np. 0 → A, 10 → B, 11 → C. Jest to tanie obliczeniowo, ale zazwyczaj nieoptymalne, ponieważ symbol może nieść ułamkową ilość, np. jedną dziesiątą bita informacji, podczas gdy Huffman potrzebowałby dla niego użyć przynajmniej 1 bit. Tę „rozrzutność” naprawiało zapoczątkowane ok. 1976 r. tzw. kodowanie arytmetyczne, ale znacznie większym kosztem obliczeniowym – było wolniejsze, potrzebowało więcej energii i sprzętu. Dopiero polski ANS pozwolił połączyć zalety tamtych metod – pracując z ułamkowymi bitami, jak kodowanie arytmetyczne, ma koszt obliczeniowy podobny do kodowania Huffmana; pozwala na to samo, co kodowanie arytmetyczne, ale nawet do 30 razy szybciej. Dzięki temu od 2015 r. nowe kompresory są już zwykle budowane na ANS i raczej tak już pozostanie. Jak pan wpadł na pomysł ANS? – To było w 2006 r., gdy wprowadziłem pierwszy wariant kodowania (uABS) w swojej pracy magisterskiej z fizyki (trzeciej po informatyce i matematyce). Potrzebowałem dobrej metody, a nie znałem jeszcze wtedy kodowania arytmetycznego, więc zrobiłem to po swojemu. ANS to Asymmetric Numeral Systems – czyli asymetryczne systemy liczbowe. Wyszedłem ze zwykłych, powszechnie używanych systemów liczbowych, jak dwójkowy w komputerach czy dziesiątkowy w życiu codziennym, one są optymalne, gdy wszystkie cyfry są tak samo częste. Ogólniejszy ANS intuicyjne „uasymetrycznia” je do dowolnych wybranych częstości cyfr. Szybkość zawdzięcza tej prostocie, jest to dość naturalny sposób, gdy już go się pozna: zapisz informację w jedną liczbę, zamiast w przedział w kodowaniu arytmetycznym. ANS jest dziś już właściwie rodziną metod. Praktyczniejszy wariant tANS (stablicowany) wprowadziłem w 2007 r., były wtedy jakiejś pierwsze dyskusje, ale dopiero pod koniec 2013 r. jego zalety zostały docenione przez praktyka: Yanna Colleta, który mniej więcej dwa lata później wprowadził kompresor Zstandard – obecnie wypierający klasyczny „zip”, ponieważ jest od trzech do pięciu razy szybszy i pozwala na znacznie lepszą kompresję. Kto teraz używa metody ANS? – Sam Zstandard (na tANS) jest oficjalnie używany przez dziesiątki firm, zaczynając od Facebooka, Amazona, IBM. Używa go także jądro systemu Linux, które zarządza m.in. naszymi smartfonami. Zainspirował również Apple do stworzenia kompresora LZFSE, który jest obecnie podstawowym dla ich sprzętu (iPhone, Mac, iWatch). Wariantu tANS używa również popularny w grach komputerowych kompresor Oodle Kraken, m.in. przetwarzający dane w sercu konsoli Sony Playstation 5. W 2013 r. wwprowadziłem wariant rANS (przedziałowy), którym m.in. prawdopodobnie będzie zapisany materiał genetyczny osoby poddającej się sekwencjonowaniu DNA (kompresor CRAM). Jest on także wykorzystywany w Google Draco w kompresorze 3D używanym m.in. przez Pixar. Stosuje go też bliski standaryzacji

Ten artykuł przeczytasz do końca tylko z aktywną subskrypcją cyfrową.
Aby uzyskać dostęp, należy zakupić jeden z dostępnych pakietów:
Dostęp na 1 miesiąc do archiwum Przeglądu lub Dostęp na 12 miesięcy do archiwum Przeglądu
Porównaj dostępne pakiety
Wydanie: 04/2021, 2021

Kategorie: Nauka