Арифметичне кодування

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Арифмети́чне кодува́ння — один з алгоритмів ентропійного стиснення.

На відміну від алгоритму Хаффмана, не має жорсткої постійної відповідності вхідних символів — групам біт вихідного потоку. Це дає алгоритму більшу гнучкість у поданні дробових частот появи символів.

Як правило, перевершує алгоритм Хаффмана за ефективністю стиснення, дозволяє стискати дані з ентропією, меншою 1 біта на кодований символ, але деякі версії мають патентні обмеження від компанії IBM.

Див. також[ред. | ред. код]

Література[ред. | ред. код]

  • Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007). Section 22.6. Arithmetic Coding. Numerical Recipes: The Art of Scientific Computing (вид. 3rd). New York: Cambridge University Press. ISBN 978-0-521-88068-8.
  • Rissanen, Jorma (May 1976). Generalized Kraft Inequality and Arithmetic Coding. IBM Journal of Research and Development. 20 (3): 198—203. doi:10.1147/rd.203.0198. Процитовано 21 September 2007.
  • Rissanen, J.J.; Langdon G.G., Jr (March 1979). Arithmetic coding (PDF). IBM Journal of Research and Development. 23 (2): 149—162. doi:10.1147/rd.232.0149. S2CID 39909636. Архів оригіналу (PDF) за 28 September 2007. Процитовано 22 September 2007.
  • Witten, Ian H.; Neal, Radford M.; Cleary, John G. (June 1987). Arithmetic Coding for Data Compression (PDF). Communications of the ACM. 30 (6): 520—540. doi:10.1145/214762.214771. S2CID 3343393. Архів (PDF) оригіналу за 28 September 2007. Процитовано 21 September 2007.