Базовые определения
Бит- это "атом" цифровой информации: переменная, которая может принимать ровно два различных значения:
■ " 1" (единица, да, истина, существует);
■ "О" (нуль, нет, ложь, не существует).
Любая система, которую можно перевести в одно из двух различных задаваемых состояний и удержать в нем в течение требуемого промежутка времени, может быть использована для хранения 1 бита информации.
Емкость для хранения бита можно представлять себе как небольшой "ящик" где-то в пространстве-времени (в микросхеме, на магнитном/оптическом диске, линии связи) с двумя возможными состояниями: полный -" 1" и пустой - "О".
Данные - информация в цифровом виде.
Объем данных измеряется в битах, но может быть и рациональным числом, а не только целым.
R-битовый элемент - совокупность R битов - имеет 2R возможных значений-состояний. Большинство источников цифровой информации порождает элементы одного размера R. А в большинстве остальных случаев -элементы нескольких размеров: R], R2, R3— (например, 8, 16 и 32).
Байт - это 8-битовый элемент: совокупность 8 битов.
Входная последовательность в общем случае бесконечна, но ее элементы обязательно пронумерованы, поэтому имеют смысл понятия "предыдущие" и "последующие" элементы. В случае многомерных данных есть много способов создания последовательности из входного множества.
Блок - конечная последовательность цифровой информации.
Поток - последовательность с неизвестными границами: данные поступают маленькими блоками, и нужно обрабатывать их сразу, не накапливая. Блок - последовательность с произвольным доступом, а поток - с последовательным.
Сжатием блока называется такое его описание, при котором создаваемый сжатый блок содержит меньше битов, чем исходный, но по нему возможно однозначное восстановление каждого бита исходного блока. Обратный процесс, восстановление по описанию, называется разжатием.
Используют и такие пары терминов: компрессия/декомпрессия, кодирование/декодирование, упаковка/распаковка.
Под просто сжатием будем далее понимать сжатие без потерь (lossless compression).
Сжатие с потерями (lossy compression) - это два разных процесса:
1) выделение сохраняемой части информации с помощью модели, зависящей от цели сжатия и особенностей источника и приемника информации;
2) собственно сжатие, без потерь.
При измерении физических параметров (яркость, частота, амплитуда, сила тока и т. д.) неточности неизбежны, поэтому "округление" вполне допустимо. С другой стороны, приемлемость сжатия изображения и звука со значительными потерями обусловлена особенностями восприятия такой информации органами чувств человека. Если же предполагается компьютерная обработка изображения или звука, то требования к потерям гораздо более жесткие.
Конечную последовательность битов назовем кодом1, а количество битов в коде - длиной кода.
Конечную последовательность элементов назовем словом, а количество элементов в слове - длиной слова. Иногда используются синонимы строка и фраза. В общем случае слово построено из R-битовых элементов, а не 8-битовых. Таким образом, код - это слово из 1-битовых элементов.
Например, в блоке из 14 элементов "кинчотсихыннад" одно слово длиной 14 элементов, два слова длиной 13 элементов, и т. д., 13 слов длиной 2 и 14 слов длиной 1. Аналогично в блоке из семи битов "0100110" один код длиной 7 бит, два кода длиной 6 бит, и т. д., семь кодов длиной 1 бит.
Символ - это "атом" некоторого языка (например, буквы, цифры, ноты, символы шахматных фигур, карточных мастей). Во многих случаях под символом имеют в виду R-битовый элемент (обычно байт), однако элементы мультимедийных данных все-таки не стоит называть символами: они содержат количественную, а не качественную информацию.
Качественными можно называть данные, содержащие элементы-указатели на символы внутри таблиц или указатели на ветви алгоритма (и таким образом "привязанные" к некоторой структуре: таблице, списку, алгоритму и т. п.). А количественными - множества элементов, являющиеся записями значений каких-либо величин.
ASCII (American Standard Code for Information Interchange - Американский стандартный код для обмена информацией) каждому значению байта
ставит в соответствие символ. Но чтобы построить однозначное соответствие для всех необходимых символов из множества национальных алфавитов народов мира, требуется больше: по крайней мере 16 бит на символ (что и обеспечивает стандарт Unicode).
Множество всех различных символов, порождаемых некоторым источником, называется алфавитом, а количество символов в этом множестве -размером алфавита. Источники данных порождают только элементы, но физические источники информации - символы или элементы.
Размер алфавита таблицы ASCII равен 28=256, a Unicode- 216=65 536. Это две самые распространенные таблицы символов.
Источник данных порождает поток либо содержит блок данных. Вероятности порождения элементов определяются состоянием источника. У источника данных без памяти состояние одно, у источника с памятью - множество состояний, и вероятности перехода из одного состояния в другое зависят от совокупности предыдущих и последующих (еще не реализованных, в случае потока) состояний.
Можно говорить, что источник без памяти порождает "элементы", а источник данных с памятью - "слова", поскольку во втором случае
■ учет значений соседних элементов (контекста) улучшает сжатие, т. е. имеет смысл трактовать данные как слова;
■ поток данных выглядит как поток слов.
В первом же случае имеем дело с перестановкой элементов и рассматривать данные как слова нет смысла.
Кавычки показывают, что это условные названия способов интерпретации входных данных: "слова", "элементы", "биты".
По традиции бинарный источник без памяти называют обычно источником Бернулли, а важнейшим частным случаем источника данных с памятью является источник Маркова (N-ro порядка): состояние на i-м шаге зависит от состояний на N предыдущих шагах: /-1, i-2,..., i-N.
Третья важнейшая применяемая при сжатии данных математическая модель - аналоговый сигнал:
■ данные считаются количественными;
■ источник данных считается источником Маркова 1-го порядка.
Если использовать модель "аналоговый сигнал" с N > 1, то при малых N эффективность сжатия неизменна или незначительно лучше, но метод существенно сложнее, а при дальнейшем увеличении N эффективность резко уменьшается.
Эффективность сжатия учитывает не только степень сжатия (отношение длины несжатых данных к длине соответствующих им сжатых данных),
но и скорости сжатия и разжатия. Часто пользуются обратной к степени сжатия величиной - коэффициентом сжатия, определяемым как отношение длины сжатых данных к длине соответствующих им несжатых.
Еще две важные характеристики алгоритма сжатия - объемы памяти, необходимые для сжатия и для разжатия (для хранения данных, создаваемых и/или используемых алгоритмом).
- Теги:
- 419 просмотров









