- •Сжатие данных
- •Метод кодирования длины серий
- •Пример использования
- •Применение
- •Относительное кодирование
- •Частотно-зависимое кодирование
- •Кодирование Хаффмана
- •Кодирование с применением адаптивного словаря
- •Ошибки при передаче информации
- •Биты четности
- •Коды с исправлением ошибок
- •Примеры
- •Свойства
- •Сохранение растрового изображения в файле
- •Компромисс между качеством сжатия и скоростью восстановления
- •Упаковка звука
- •Нотная запись
- •Форматы звуковых файлов
Компромисс между качеством сжатия и скоростью восстановления
За высокое качество сжатия данных, как правило, приходится платить большими затратами времени на восстановление исходной информации.
Например, при распаковке фильма, алгоритмы, дающие очень высокое качество, могут оказаться неприменимыми из-за больших затрат времени на распаковку каждого кадра. В этом случае критичным является время распаковки. Иногда информацию надо упаковывать в режиме реального времени, как, например, при записи изображения с видеокамеры в память компьютера. В этом случае важна скорость упаковки, может быть в ущерб качеству. Всегда приходится искать компромисс между качеством упаковки и скоростью процесса упаковки и распаковки.
Упаковка звука
Из всех видов информации звук хуже всего поддается сжатию, так как звуковые сигналы обладают малой избыточностью. Упаковка основывается на том факте, что если интенсивность раздражителя меняется в геометрической прогрессии, то интенсивность человеческого восприятия меняется в арифметической прогрессии.
Применительно к звуку это означает, что если повышать громкость звука в 2, 4, 8 и т.д. раз, то человеческое ухо будет воспринимать это как линейное увеличение интенсивности. Т.е. изменение громкости от 1 до 2 столь же заметно человеку, как и изменение громкости от 100 до 200. А изменение от 100 до 101 практически не ощущается. Заметим, что log 2 – log 1 = log 200 – log 100 = log 2. Поэтому при упаковке звука значение амплитуды звука заменяют логарифмом этого значения, округляют и упаковывают полученные значения, что позволяет сжать информацию в два раза. Действительно, при 8-ми битном кодировании звука амплитуда не превосходит 27, значит, log2 A не превосходит 7 и может быть закодирован тремя двоичными разрядами. Еще один разряд на знак амплитуды и получается четыре разряда.
Ассоциация Motion Picture Expert Group (MPEG), входящая в состав ISO, разработала методы сжатия звуковой информации, позволяющие сжимать данные в 12 раз (формат MP3) http://www.n-audio.com/articles/format-2.htm
Нотная запись
Описанный способ кодирования звуковой информации универсален, он позволяет представить любой звук, преобразовывать его самыми разными способами. Но бывают случаи, когда выгодней действовать по-иному.
Человек издавна использует довольно компактный способ представления музыки ‑ нотную запись. В ней специальными символами указывается, какой высоты звук, на каком инструменте и как сыграть. Фактически, ее можно считать алгоритмом для музыканта, записанным на особом формальном языке. А вы уже знаете, что для "перевода" символьной информации в понятную компьютеру форму достаточно иметь таблицу соответствия между символами этого языка и их двоичными кодами.
В 1983 г. ведущие производители компьютеров и музыкальных синтезаторов разработали стандарт, определивший такую систему кодов. Он получил название MIDI.
Конечно, такая система кодирования позволяет записать далеко не всякий звук, она годится только для инструментальной музыки. Но есть у нее и неоспоримые преимущества: чрезвычайно компактная запись, естественность для музыканта (практически любой MIDI-редактор позволяет работать с музыкой в виде обычных нот), легкость замены инструментов, изменения темпа и тональности мелодии. А, кроме того, качество звучания зависит исключительно от возможностей синтезатора или звуковой платы компьютера, с помощью которых это происходит.
