PDF-версии: горизонтальная · вертикальная · крупный шрифт · с большим полем
Кодирование — это перевод информации с одного языка на другой, например, перевод информации с естественного языка в двоичный код. Декодированием называют обратный перевод.
Один символ исходного сообщения может заменяться одним или несколькими символами нового кода. Может быть и наоборот: несколько символов исходного кода заменяются одним символом в новом.
Если все символы кодируются кодами равной длины, то кодирование называют равномерным.
Если символы кодируются кодами разной длины (в этом случае обычно наиболее употребительные символы кодируются кодами меньшей длины, а реже употребляемые символы кодируются более длинными кодами), то кодирование называется неравномерным.
«Условие Фано»: никакое кодовое слово не является началом другого кодового слова.
«Обратное условие Фано»: никакое кодовое слово не является окончанием другого кодового слова.
Гарантируется, что закодированное сообщение можно однозначно декодировать с начала, если выполняется прямое условие Фано.
Гарантируется, что закодированное сообщение можно однозначно декодировать с конца, если выполняется обратное условие Фано.
Если условие Фано не выполнено, то некоторые сообщения могут быть декодированы однозначно, но существуют сообщение, которые не удастся декодировать однозначно. Например, если код А-0, код Б-01, код С-1, то есть не выполнены ни прямое, ни обратное условия Фано, то сообщение 1000 декодируется однозначно: СААА, а сообщение 0001 декодируется двумя вариантами: АААС или ААБ.
При растровом кодировании графической информации на изображение накладывается сетка (растр), каждая ячейка которой рассматривается как фрагмент, определяемый набором атрибутов: координатами, формой, размером, цветом. Можно сказать, что, используя растр, изображение представляется совокупности точек. Физическое представление ячейки растра на экране монитора получило название пиксель (pixel — аббревиатура от picture element — ячейка изображения). Отметим, что пиксель — это точка изображения, но не точка экрана.
Координаты, форма, размер пикселей определяются растром, а для кодирования цвета пикселей строится кодировочная таблица: каждому цвету ставится в соответствие целое число, которое затем переводится в двоичную систему счисления. Каждый бит позволяет кодировать два различных цвета, поэтому k битов позволяют хранить информацию о 2k цветах. Число битов, отведенных на кодирование цвета пикселя, называется глубиной или разрядностью кодирования.
Для хранения информации о цветах N пикселей при глубине кодирования k в памяти необходимо зарезервировать I = N · k битов, при этом можно использовать не более 2k цветов.
Для кодирования звуковой информации, во-первых, производят дискретизацию записываемого сигнала по времени. Это означает, что измерение уровня интенсивности звука ведется не непрерывно, а через определенные обычно равные временные промежутки. Частоту, характеризующую периодичность измерения звукового сигнала, называют частотой дискретизации. Теорема Найквиста (теорема об отсчетах) гарантирует, что для последующего высококачественного воспроизведения звук необходимо записывать с частотой, как минимум в 2 раза превышающей максимальную частоту записываемого сигнала.
Например, для записи речи достаточно частоты дискретизации 8 кГц, но если с такой частотой дискретизации записывать игру оркестра, результат не будет удовлетворительным (представьте, что вы слушаете концерт по телефону). Человеческое ухо слышит звук частотой до 20 кГц, поэтому для высококачественного воспроизведения звука его с некоторым запасом достаточно записывать с частотой 44 кГц. Именно такая частота, используется при записи музыкальных компакт-дисков.
Во-вторых, необходимо производить дискретизацию амплитуды звукового сигнала. То есть для каждого отсчета при измерении интенсивности применяется «сетка» стандартных уровней (например, 256 или 65536 — это количество характеризует глубину кодирования), и текущий уровень измеряемого сигнала округляется до ближайшего из них.
Итак, частота дискретизации определяет количество отсчетов, запоминаемых за 1 секунду; 1 Гц (один герц) — это один отсчет в секунду, а 44 кГц — это 44 000 отсчетов в секунду.
Глубина кодирования — это количество битов, которые выделяются на один отсчет.
Для хранения информации о звуке длительностью t секунд, закодированном с частотой дискретизации N при глубине кодирования k битов требуется I = N · k · t битов памяти.
Например, для записи одной минуты речи при N = 8 кГц, и k = 10 битов требуется: битов или 600 000 байтов, что составляет около 586 килобайтов или 0,57 мегабайта.
Обратите внимание:
1 Кб = 1024 байт,
1 кГц = 1000 Гц.
При вычислении объема памяти для многоканальной записи моноканальный объем умножают на количество каналов. Например, при стереозаписи необходимый объем вдвое больше объема монозаписи.
Любой канал связи имеет ограниченную пропускную способность (скорость передачи информации), это число ограничивается свойствами аппаратуры и самой линии (кабеля).
Объём переданной информации Q вычисляется по формуле где q — пропускная способность канала (в битах в секунду или подобных единицах), а t — время передачи.
Если слово состоит из k букв, причем есть n1 вариантов выбора первой буквы, n2 вариантов выбора второй буквы и т. д., то число возможных слов вычисляется как произведение
Если слово состоит из k букв, причем каждая буква может быть выбрана n способами, то число возможных слов вычисляется как
С помощью K бит можно закодировать различных вариантов (чисел).
При измерении количества информации принимается, что в одном байте 8 бит, а в одном килобайте (1 Кбайт) — 1024 байт, в мегабайте (1 Мбайт) — 1024 Кбайт.
Чтобы найти информационный объем сообщения (текста) I, нужно умножить количество символов (отсчетов) N на число бит на символ (отсчет) K:
Две строчки текста не могут занимать 100 Кбайт в памяти.
Мощность алфавита M — это количество символов в этом алфавите.
Если алфавит имеет мощность M, то количество всех возможных «слов» (символьных цепочек) длиной N (без учета смысла) равно для двоичного кодирования (мощность алфавита M — 2 символа) получаем известную формулу: