- •Сжатие данных
- •Метод кодирования длины серий
- •Пример использования
- •Применение
- •Относительное кодирование
- •Частотно-зависимое кодирование
- •Кодирование Хаффмана
- •Кодирование с применением адаптивного словаря
- •Ошибки при передаче информации
- •Биты четности
- •Коды с исправлением ошибок
- •Примеры
- •Свойства
- •Сохранение растрового изображения в файле
- •Компромисс между качеством сжатия и скоростью восстановления
- •Упаковка звука
- •Нотная запись
- •Форматы звуковых файлов
Примеры
Свойства
Расстояние Хэмминга обладает свойствами метрики, удовлетворяя следующим условиям:
Сохранение растрового изображения в файле
Для сжатия изображения можно воспользоваться вариантом метода кодирования длины серий ‑ RLE-кодированием (от английского Run-Length Encoding).
RLE-кодирование позволяет компактно кодировать длинные последовательности одинаковых байтов. Упакованная последовательность состоит из управляющих байтов, за каждым из которых следуют один или несколько байтов данных. Управляющий байт расшифровывается так: если старший бит равен единице, то следующий за ним байт данных нужно повторить столько раз, сколько указывают оставшиеся семь битов. Если же старший бит управляющего байта равен нулю, то следующие байты данных (в количестве, равном этому байту), надо взять без изменения.
Эту идею сжатия изображения использует BMP-формат (Windows Device Independent BitMap – аппаратно независимый растровый формат Windows). Файлы, содержащие изображение в формате BMP имеют расширение .bmp (или .dib). Но в картинке, полученной, скажем, сканированием фотографии, пейзажа, иллюстрации, повторяющихся по цвету пикселей будет мало. Поэтому BMP-файлы обычно очень велики по размеру, их обычно используют только при работе с приложениями Windows.
Для формата «три байта на пиксель» более широкое применение имеет формат GIF (Graphic Interchange Format). Используемый в нем метод заключается в уменьшении количества цветовых оттенков пикселя до 256, в результате цвет каждого пикселя представляется одним байтом вместо трех. С помощью таблицы, называемой цветовой палитрой, каждому оттенку ставится в соответствие некоторое количество красного, зеленого и синего цвета. Стоит изменить соотношения RGB и меняется изображение, построенное из индексированных цветов – цветов, составляющих палитру. Доступны все 224 цветов, но в каждый момент на экране отображается не более 256 цветов палитры. Обычно один из цветов палитры в формате GIF воспринимается как «прозрачный», т.е. он не изменяет цвет фона, на который нанесен. Это бывает очень удобно при такой анимации, когда множество картинок перемещается по неподвижному фону. Соответственно, формат получил широкое распространение в компьютерных играх. Файлы, содержащие изображение в формате GIF имеют расширение .gif.
Эффективным методом сжатия фотографий является формат JPEG (Joint Photographic Experts Group – название ассоциации в рамках организации ISO). В его режиме «без потерь» экономия достигается посредством запоминания различий между последовательными пикселями, а не яркости каждого пикселя в отдельности. Файлы при этом остаются велики. Большинство существующих приложений использует другой стандартный метод формата JPEG – режим «базовых строк». В этом режиме каждый пиксель представляется одним компонентом яркости и двумя компонентами цвета. Человеческий глаз более чувствителен к изменениям яркости, чем цвета. Формат JPEG в режиме «базовых строк» сохраняет яркость пикселя, но усредняет по соседним пикселям цвета, записывая цвет для блоков, состоящих из нескольких пикселей. Совокупность всех приемов формата JPEG позволяет получать цветные изображения приемлемого качества, уменьшая в двадцать раз объем исходного изображения формата «три байта на пиксель». Файлы, содержащие изображение в формате JPEG имеют расширение .jpg.
В настоящее время в области сжатия данных проводятся интенсивные исследования.
