Информацио́нная энтропи́я — мера неопределённости некоторой системы, в частности, непредсказуемость появления какого-либо символа первичного алфавита. В последнем случае при отсутствии информационных потерь энтропия численно равна количеству информации на символ передаваемого сообщения.
Сжа́тие да́нных — алгоритмическое преобразование данных, производимое с целью уменьшения занимаемого ими объёма. Применяется для более рационального использования устройств хранения и передачи данных. Синонимы — упаковка данных, компрессия, сжимающее кодирование, кодирование источника. Обратная процедура называется восстановлением данных.
Теория информации — раздел прикладной математики, радиотехники и информатики, относящийся к измерению количества информации, её свойств и устанавливающий предельные соотношения для систем передачи данных. Как и любая математическая теория, теория оперирует математическими моделями, а не реальными физическими объектами. Использует, главным образом, математический аппарат теории вероятностей и математической статистики.
Сжатие данных без потерь — класс алгоритмов сжатия данных, при использовании которых закодированные данные однозначно могут быть восстановлены с точностью до бита, пикселя, вокселя и т.д. При этом оригинальные данные полностью восстанавливаются из сжатого состояния. Этот тип сжатия принципиально отличается от сжатия данных с потерями. Для каждого из типов цифровой информации, как правило, существуют свои оптимальные алгоритмы сжатия без потерь.
Те́кстовый файл — компьютерный файл, содержащий текстовые данные. Текстовым файлам противопоставляются двоичные (бинарные) файлы, в которых содержатся данные, не рассчитанные на интерпретацию в качестве текстовых.
Кодирование длин серий или кодирование повторов — алгоритм сжатия данных, заменяющий повторяющиеся символы (серии) на один символ и число его повторов. Серией называется последовательность, состоящая из нескольких одинаковых символов. При кодировании строка одинаковых символов, составляющих серию, заменяется строкой, содержащей сам повторяющийся символ и количество его повторов.
Арифметическое кодирование — один из алгоритмов энтропийного сжатия.
Алгоритм Хаффмана — жадный алгоритм оптимального префиксного кодирования алфавита с минимальной избыточностью. Был разработан в 1952 году аспирантом Массачусетского технологического института Дэвидом Хаффманом при написании им курсовой работы. В настоящее время используется во многих программах сжатия данных.
Код — взаимно однозначное отображение конечного упорядоченного множества символов, принадлежащих некоторому конечному алфавиту, на иное, не обязательно упорядоченное, как правило более обширное множество символов для кодирования передачи, хранения или преобразования информации.
Алгоритм Шеннона — Фано — один из первых алгоритмов сжатия, который впервые сформулировали американские учёные Шеннон и Роберт Фано. Данный метод сжатия имеет большое сходство с алгоритмом Хаффмана, который появился на несколько лет позже и является логическим продолжением алгоритма Шеннона. Алгоритм использует коды переменной длины: часто встречающийся символ кодируется кодом меньшей длины, редко встречающийся — кодом большей длины. Коды Шеннона — Фано — префиксные, то есть никакое кодовое слово не является префиксом любого другого. Это свойство позволяет однозначно декодировать любую последовательность кодовых слов.
LZ77 и LZ78 — алгоритмы сжатия без потерь, опубликованные в статьях израильских математиков Авраама Лемпеля и Яакова Зива в 1977 и 1978 годах. Эти алгоритмы — наиболее известные варианты в семействе LZ*, которое включает в себя также LZW, LZSS, LZMA и другие алгоритмы.
Теоремы Шеннона для источника общего вида описывают возможности кодирования источника общего вида с помощью разделимых кодов. Другими словами, описываются максимально достижимые возможности кодирования без потерь.
Теоремы Шеннона для источника без памяти связывают энтропию источника и возможность сжатия кодированием с потерями и последующим неоднозначным декодированием.
В теории информации теорема Шеннона об источнике шифрования устанавливает предел максимального сжатия данных и числовое значение энтропии Шеннона.
Хронология событий, связанных с теорией информации, сжатием данных, кодами коррекции ошибок и смежных дисциплин:
- 1872 — Людвиг Больцман представляет свою H-теорему, а вместе с этим формулу Σpi log pi для энтропии одной частицы газа.
- 1878 — Джозайя Уиллард Гиббс, определяет энтропию Гиббса: вероятности в формуле энтропии теперь взяты как вероятности состояния целой системы.
- 1924 — Гарри Найквист рассуждает о квантификации «Интеллекта» и скорости, на которой это может быть передано системой коммуникации.
- 1927 — Джон фон Нейман определяет фон Неймановскую энтропию, расширяя Гиббсовскую энтропию в квантовой механике.
- 1928 — Ральф Хартли представляет формулу Хартли как логарифм числа возможных сообщений, с информацией, передаваемой, когда приёмник может отличить одну последовательность символов от любой другой.
- 1929 — Лео Силард анализирует демона Максвелла, показывают, как двигатель Szilard может иногда преобразовывать информацию в извлечение полезной работы.
- 1940 — Алан Тьюринг представляет deciban как единицу измерения информации в немецкой машине Энигма с настройками, зашифрованными процессом Banburismus.
- 1944 — теория информации Клода Шеннона в основном завершена.
- 1947 — Ричард Хемминг изобретает Код Хемминга для обнаружения ошибок и их исправления, но не публикует их до 1950 года.
- 1948 — Клод Шеннон публикует Математическую теорию связи
- 1949 — Клод Шеннон публикует Передачу Информации в виде шумов, в которой описаны Теорема отсчётов и Теорема Шеннона — Хартли.
- 1949 — Рассекречена Теория связи в секретных системах Клода Шеннона.
- 1949 — Роберт Фано опубликовал отчет, в котором независимо от Клода Шеннона описан Алгоритм Шеннона — Фано.
- 1949 — опубликовано Неравенство Крафта — Макмиллана.
- 1949 — Марсель Голей вводит коды Голея для исправления ошибок методом упреждения.
- 1950 — Ричард Хемминг публикует коды Хемминга для исправления ошибок методом упреждения.
- 1951 — Соломон Кульбак и Ричард Лейблер вводят понятие расстояния Кульбака-Лейблера.
- 1951 — Дэвид Хаффман изобретает кодирование Хаффмана, метод нахождения оптимальных префиксных кодов для сжатия данных без потерь.
- 1953 — опубликован Sardinas–Patterson algorithm.
- 1954 — Ирвинг Рид и Дэвид E. Мюллер вводит коды Рида-Мюллера.
- 1955 — Питер Элиас вводит свёрточные коды.
- 1957 — Юджин Прандж первый обсуждает циклический избыточный код.
- 1959 — Алексис Хоквингем, и самостоятельно в следующем году Радж Чандра Боуз и Двайджендра Камар Рей-Чоудхури, представляют коды Боуза-Чоудхури-Хоквингема (БЧХ-коды).
- 1960 — Ирвинг Рид и Густав Соломон вводят коды Рида-Соломона.
- 1962 — Роберт Галлагер предлагает код с малой плотностью проверок на чётность; их не использовали в течение 30 лет из-за технических ограничений.
- 1966 — опубликована статья Дэвида Форнея Concatenated error correction code.
- 1967 — Эндрю Витерби открывает алгоритм Витерби, делающий возможным декодирование свёрточных кодов.
- 1968 — Элвин Берлекэмп изобретает алгоритм Берлекэмпа — Мэсси; его применение к расшифровке БЧХ-кодов и кода Рида-Соломона, указанный Джеймсом Мэсси в последующем году.
- 1968 — Крис Уоллис и Дэвид М. Бутон издают первый из многих докладов о Сообщениях минимальной длины (СМД) — их статистический и индуктивный вывод.
- 1972 — опубликована статья о Justesen code.
- 1973 — Дэвид Слепиан и Джек Волф открывают и доказывают Код Слепиана-Вольфа, кодирующего пределы распределённого источника кодирования.
- 1976 — Готфрид Унгербоэк публикует первую статью о Треллис-модуляции.
- 1976 — Йорма Риссанен разрабатывает и позднее патентует арифметическое кодирование для IBM.
- 1977 — Абрахам Лемпель и Яаков Зив разрабатывают алгоритм сжатия Лемпеля-Зива (LZ77)
- 1982 — Готфрид Унгербоэк публикует более подробное описание Треллис-модуляции, что приводит к увеличению скорости аналогового модема старой обычной телефонной службы от 9.6 кбит/сек до 36 кбит/сек.
- 1989 — Фил Кац создаёт .zip формат, включая формат сжатия DEFLATE ; позже это становится наиболее широко используемым алгоритмом сжатия без потерь.
- 1993 — Клод Берроу, Алэйн Главиукс и Punya Thitimajshima вводят понятие Турбо-кодов.
- 1994 — Майкл Барроуз и Дэвид Уилер публикуют теорию преобразования Барроуза-Уилера, которая далее найдет своё применение в bzip2.
- 1995 — Benjamin Schumacher предложил термин Кубит.
- 1998 — предложен Fountain code.
- 2001 — описан алгоритм Statistical Lempel–Ziv.
- 2008 — Erdal Arıkan предложил Полярные коды.
Сжатие (компрессия) аудиоданных представляет собой процесс уменьшения скорости цифрового потока за счет сокращения статистической и психоакустической избыточности цифрового звукового сигнала.
«Математическая теория связи» — статья, опубликованная Клодом Шенноном в 1948 году в реферативном журнале американской телефонной компании «Bell System» и сделавшая его всемирно известным. Содержит в себе большое количество инновационных и плодотворных идей, эта работа инициировала многие научные исследования по всему миру, продолжающиеся по сей день, положив начало развитию методов обработки, передачи и хранения информации.
В области сжатия данных, код Шеннона, названный в честь его создателя, Клода Шеннона, — это алгоритм сжатия данных без потерь с помощью построения префиксных кодов на основе набора символов и их вероятностей. Он является субоптимальным в том смысле, что не позволяет достичь минимально возможных кодовых длин как в кодировании Хаффмана, и никогда не будет лучше, но иногда равным с кодом Шеннона-Фано.
Интервальное кодирование — энтропийный метод кодирования, предложенный Г. Найджелом и Н. Мартином в 1979 году. Это разновидность арифметического кодирования.
Кодирование по Танстеллу — форма энтропийного кодирования, используемая для сжатия данных без потерь.