Dipublikasikan: 10 Desember 2025
Terakhir diperbarui: 27 Desember 2025
Dipublikasikan: 10 Desember 2025
Terakhir diperbarui: 27 Desember 2025
Raymond Kelvin Nando — ANS (Asymmetric Numeral Systems) merupakan teknik pengkodean entropi modern yang digunakan untuk kompresi data efisien. ANS menggabungkan keuntungan Huffman Coding dan Arithmetic Coding dengan pendekatan numerik yang memungkinkan representasi simbol dengan panjang bit variabel sesuai probabilitasnya, tetapi tetap mempertahankan kecepatan tinggi dan kompleksitas rendah. Sistem ini sangat populer dalam aplikasi kompresi modern seperti Zstandard, Facebook Zippy, dan format multimedia karena rasio kompresinya mendekati batas teoritis Shannon sambil tetap efisien secara komputasi.
Daftar Isi
ANS adalah metode pengkodean lossless yang memetakan simbol dengan probabilitas berbeda ke dalam satu nilai numerik yang bersifat stateful. Ada dua varian utama: rANS (range ANS) dan tANS (table ANS).
Dengan ANS, simbol yang lebih sering muncul diwakili oleh bit yang lebih sedikit, sedangkan simbol jarang menggunakan bit lebih banyak, mirip dengan prinsip Arithmetic Coding, namun implementasinya lebih cepat dan sederhana dalam perangkat keras maupun perangkat lunak.
ANS diperkenalkan oleh Jarek Duda pada tahun 2009–2013 sebagai alternatif efisien untuk Huffman dan Arithmetic Coding. Tujuannya adalah mencapai kompresi mendekati entropy limit dengan efisiensi komputasi tinggi.
Sejak diperkenalkan, ANS cepat diadopsi dalam berbagai algoritma kompresi modern:
ANS menjadi metode penting karena mengurangi overhead komputasi dibanding Arithmetic Coding tradisional sekaligus lebih fleksibel daripada Huffman Coding.
ANS bekerja dengan mengubah aliran simbol menjadi satu nilai integer (state) yang berkembang seiring input diproses. Prinsip dasarnya:
Contoh ilustratif sederhana:
Input: A A B C A
Probabilitas simbol:
A = 0.5, B = 0.3, C = 0.2
Encoding langkah demi langkah:
Output akhir: integer 27, yang kemudian dikonversi menjadi bitstream sesuai algoritma rANS atau tANS.
Decoding menggunakan state 27 → mengembalikan urutan simbol asli A A B C A.
Kelebihan:
Kekurangan:
ANS adalah metode pengkodean entropi modern yang digunakan dalam kompresi data. Teknik ini mengubah simbol dengan probabilitas berbeda menjadi urutan bit secara efisien, mirip dengan metode Huffman atau arithmetic coding, namun lebih cepat dan hemat ruang.
ANS digunakan untuk mengurangi ukuran data tanpa kehilangan informasi (lossless compression). Dengan menyesuaikan panjang kode berdasarkan probabilitas simbol, ANS menghasilkan kompresi yang mendekati batas entropi teoritis.
ANS penting karena memberikan keseimbangan optimal antara kecepatan dan efisiensi kompresi. Teknik ini banyak digunakan dalam aplikasi modern seperti video, gambar, dan sistem penyimpanan data, termasuk codec seperti Zstandard dan Facebook Zlib.