Энтропийное кодирование: различия между версиями

Материал из in.wiki
Перейти к навигации Перейти к поиску
(Уточнение., оформление)
м (42 версии импортировано: Импорт из Википедии)
 
(не показано 12 промежуточных версий 9 участников)
Строка 1: Строка 1:
 +
{{другие значения термина|Кодирование|Кодирование}}
 
'''Энтропийное кодирование''' — кодирование последовательности значений с возможностью однозначного восстановления с целью уменьшения объёма данных (длины последовательности) с помощью усреднения вероятностей появления элементов в закодированной последовательности.
 
'''Энтропийное кодирование''' — кодирование последовательности значений с возможностью однозначного восстановления с целью уменьшения объёма данных (длины последовательности) с помощью усреднения вероятностей появления элементов в закодированной последовательности.
  
Строка 5: Строка 6:
 
Различают несколько вариантов кодов:
 
Различают несколько вариантов кодов:
 
* Сопоставление каждому элементу исходной последовательности различного числа элементов результирующей последовательности. Чем больше вероятность появления исходного элемента, тем короче соответствующая результирующая последовательность. Примером могут служить [[код Шеннона — Фано]], [[код Хаффмана]],
 
* Сопоставление каждому элементу исходной последовательности различного числа элементов результирующей последовательности. Чем больше вероятность появления исходного элемента, тем короче соответствующая результирующая последовательность. Примером могут служить [[код Шеннона — Фано]], [[код Хаффмана]],
* Сопоставление нескольким элементам исходной последовательности фиксированного числа элементов конечной последовательности. Примером является [[код Танстола]].
+
* Сопоставление нескольким элементам исходной последовательности фиксированного числа элементов конечной последовательности. Примером является [[Кодирование Танстелла]].
 
* Другие структурные коды, основанные на операциях с последовательностью символов. Примером является [[кодирование длин серий]].
 
* Другие структурные коды, основанные на операциях с последовательностью символов. Примером является [[кодирование длин серий]].
* Если приблизительные характеристики энтропии потока данных предварительно известны, может быть полезен более простой статический код, такой как [[унарное кодирование]], [[гамма-код Элиаса]], [[кодирование Фибоначчи]], [[кодирование Голомба]] или [[кодирование Райса]].
+
* Если приблизительные характеристики энтропии потока данных предварительно известны, может быть полезен более простой статический код, такой как [[унарное кодирование]], [[гамма-код Элиаса]], [[код Фибоначчи]], [[код Голомба]] или [[кодирование Райса]].
  
Согласно [[Теоремы Шеннона для источника общего вида|теореме Шеннона]], существует предел сжатия без потерь, зависящий от энтропии источника. Чем более предсказуема получаемая информация, тем лучше её можно сжать. [[Случайная последовательность]] сжатию без потерь не поддаётся.
+
Согласно [[Теоремы Шеннона для источника общего вида|теореме Шеннона]], существует предел сжатия без потерь, зависящий от энтропии источника. Чем более предсказуемы получаемые данные, тем лучше их можно сжать. Случайная независимая равновероятная последовательность сжатию без потерь не поддаётся.
  
 
== См. также ==
 
== См. также ==
 
* [[Универсальный код]]
 
* [[Универсальный код]]
  
 +
== Литература ==
 +
* [https://books.google.ru/books?id=s3H8s8rdsHkC&pg=PA41 Digital Signal Compression: Principles and Practice] (By William A. Pearlman, Amir Said, 2011, ISBN 978-0-521-89982-6), Chapter 4 «Entropy coding techniques» pp41-76
 +
 +
{{rq|sources|refless|img}}
 
{{методы сжатия}}
 
{{методы сжатия}}
 +
 
[[Категория:Алгоритмы сжатия без потерь]]
 
[[Категория:Алгоритмы сжатия без потерь]]
 
[[Категория:Теория информации]]
 
[[Категория:Теория информации]]
 
+
[[Категория:Энтропия]]
[[ca:Codificació entròpica]]
 
[[de:Entropiekodierung]]
 
[[en:Entropy encoding]]
 
[[es:Codificación entrópica]]
 
[[fr:Codage entropique]]
 
[[it:Codificazione entropica]]
 
[[ja:エントロピー符号]]
 
[[ko:엔트로피 부호화]]
 
[[zh:熵編碼法]]
 

Текущая версия от 00:47, 20 августа 2025

Энтропийное кодирование — кодирование последовательности значений с возможностью однозначного восстановления с целью уменьшения объёма данных (длины последовательности) с помощью усреднения вероятностей появления элементов в закодированной последовательности.

Предполагается, что до кодирования отдельные элементы последовательности имеют различную вероятность появления. После кодирования в результирующей последовательности вероятности появления отдельных символов практически одинаковы (энтропия на символ максимальна).

Различают несколько вариантов кодов:

  • Сопоставление каждому элементу исходной последовательности различного числа элементов результирующей последовательности. Чем больше вероятность появления исходного элемента, тем короче соответствующая результирующая последовательность. Примером могут служить код Шеннона — Фано, код Хаффмана,
  • Сопоставление нескольким элементам исходной последовательности фиксированного числа элементов конечной последовательности. Примером является Кодирование Танстелла.
  • Другие структурные коды, основанные на операциях с последовательностью символов. Примером является кодирование длин серий.
  • Если приблизительные характеристики энтропии потока данных предварительно известны, может быть полезен более простой статический код, такой как унарное кодирование, гамма-код Элиаса, код Фибоначчи, код Голомба или кодирование Райса.

Согласно теореме Шеннона, существует предел сжатия без потерь, зависящий от энтропии источника. Чем более предсказуемы получаемые данные, тем лучше их можно сжать. Случайная независимая равновероятная последовательность сжатию без потерь не поддаётся.

См. также[править | править код]

Литература[править | править код]


Ошибка Lua в Модуль:Navbox на строке 353: attempt to index local 'listText' (a nil value).