girniy.ru |
1 2 ... 5 6
1.1 Краткий обзор понятий. Сжатие данных — процедура перекодирования данных, производимая с целью уменьшения их объёма. Применяется для более рационального использования устройств хранения и передачи данных. Сжатие бывает без потерь (когда возможно восстановление исходных данных без искажений) или с потерями (восстановление возможно с незначительными искажениями). Сжатие без потерь используется при обработке компьютерных программ и данных. Сжатие с потерями обычно применяется для сокращения объёма звуковой, фото- и видеоинформации, оно значительно эффективнее сжатия без потерь. Сжатие основано на устранении избыточности информации, содержащейся в исходных данных. Примером избыточности является повторение в тексте фрагментов (например, слов естественного или машинного языка). Подобная избыточность обычно устраняется заменой повторяющейся последовательности более коротким значением (кодом). Другой вид избыточности связан с тем, что некоторые значения в сжимаемых данных встречаются чаще других, при этом возможно заменять часто встречающиеся данные более короткими кодами, а редкие — более длинными (вероятностное сжатие). Сжатие данных, не обладающих свойством избыточности (например, случайный сигнал или шум), невозможно. Также, обычно невозможно сжатие зашифрованной информации.
Имеется 2 основных подхода к сжатию файлов неизвестного формата. На каждом шаге алгоритма сжатия либо следующий символ помещается как есть (с специальным флагом помечающим, что он не сжат), либо указываются границы слова из предыдущего куска, которое совпадает с следующими символами файла. Разархивирование файлов сжатых таким образом выполняется очень быстро, поэтому эти алгоритмы используются для создания самораспаковывающихся программ. Для каждой последовательности в каждый момент времени собирается статистика её встречаемости в файле. На её основе вычисляется вероятность значений для очередного символа. После этого можно применять арифметическое кодирование или кодирование Хаффмана для замены часто встречающихся последовательностей на более короткие, а редко встречающихся — на более длинные.
Сжатие данных с потерями — это метод сжатия данных, когда распакованный файл отличается от оригинального, но «достаточно близок» для того, чтобы быть полезным каким-то образом. Этот тип компрессии часто используется в Интернете, особенно в потоковой передаче данных и телефонии. Эти методы часто называются кодеками в этом контексте. Альтернативой является сжатие без потерь.
Существуют две основных схемы сжатия с потерями:
В некоторых системах эти две техники комбинируются путём использования трансформирующих кодеков для сжатия ошибочных сигналов, сгенерированных на стадии предсказания. 1.3.2 Примеры сжатия данных с потерями.
● Метод главных компонент ● Фрактальное сжатие ● JPEG ● Вэйвлетная компрессия
● Flash (также поддерживает движущиеся изображения JPEG) ● H.261 ● H.263 ● H.264/MPEG-4 AVC ● MNG (поддерживает движущиеся изображения JPEG) ● Motion JPEG ● MPEG-1 Part 2 ● MPEG-2 Part 2 ● MPEG-4 Part 2 ● Ogg Theora (отличается отсутствием патентных ограничений) ● Sorenson video codec ● VC-1 — попытка Microsoft выпустить открытую спецификацию для формата WMV
Музыка ● MP3 — Определён спецификацией MPEG-1 ● Ogg Vorbis (отличается отсутствием патентных ограничений и более высоким качеством[1]) ● AAC, AAC+ — существует в нескольких вариантах, определённых спецификациями MPEG-2 и MPEG-4, используется, например, в Apple Computer ● eAAC+ — формат, предлагаемый Sony, как альтернатива AAC и AAC+ ● Musepack ● WMA — собственность Microsoft ● ADPCM ● ATRAC
● CELP ● G.711 ● G.726 ● HILN ● Speex (отличается отсутствием патентных ограничений) следующая страница >> |