logo
Учебник Математики и информатики

Способы хранения и сжатия звука

Если вам понравилось записывать звуковые файлы, и вы решили хранить их все на жестком диске, то через некоторое время, скорее всего, столкнетесь с пробле­мой нехватки дискового пространства (кстати, это сказывается и на работе Windows 98: опыт показывает, что когда на жестком диске остается менее 100 Мбайт свободного места, могут начаться всякие неожиданности, если, конеч­но, вы работаете не только в Блокноте).

Дело в том, что звуковые файлы занимают очень большой объем на диске. Если текст в формате MS Word или тот же MIDI-файл редко занимают более 200-300 Кбайт, то для звукового файла 200 Кбайт — это пара секунд звучания. Вы можете приблизительно оценить объем WAVE-файлов, исходя из времени зву­чания: при хорошем качестве записи (стерео, 16 бит, 44 100 Гц) для записи одной минуты звучания необходимо приблизительно 10 Мбайт дискового пространства. Таким образом, записав в WAVE-файлы одну 90-минутную компакт-кассету, вы, займете более 900 Мбайт (некоторые удивляются, чем можно забить 18-гигабайтный жесткий диск, а ведь кроме WAVE-файлов есть еще графика и видео, которые занимают порой вообще гигантские объемы).

Но поскольку надо еще оставить немного места на ОС, программы и другие рабо­чие файлы, возникает проблема: как уменьшить объем звуковых файлов, не теряя особенно много в качестве записи.

Во-первых, вы можете просто немного изменить параметры звукозаписи. Ведь упо­мянутый набор параметров «44 100 Гц, 16 бит, стерео» — это качество записи на компакт-диск. При этом одна секунда звучания занимает 176 400 байт. В большин­стве случаев, пока вы делаете записи «для удовольствия», вам достаточно частоты Дискретизации (Объяснение этого термина см. в главе) 2.22 050 Гц, а если вы делаете запись с бытового микрофона, то сте­рео можно смело превратить в моно. Теперь секунда звучания займет у вас уже только 44 100 байт (а 90 минут звучания — приблизительно 250 Мбайт вместо 900).

Во-вторых, можно сжать готовые файлы с помощью специальных алгоритмов. Правда, если вы попробуете «заархивировать» их привычными средствами — zip, arj, rar и т. п., то будете разочарованы: WAVE-файлы сжимаются крайне плохо.

Давайте разберемся с тем, каким же образом можно хранить оцифрован-ный звук. Вообще для этого существует несколько способов и огромное коли-чество различных файловых форматов. Мы же рассмотрим только самые ос-новные, но наиболее часто используемые. Но прежде нам нужно однозначно определиться, что мы будем подразумевать под понятием «формат файла». Под этим понятием следует понимать способ (метод) и структуру хранения инфор-мации в файле.

Итак, блок оцифрованной аудиоинформации (цифровой поток, бит-поток) можно записать в файл «как есть», но это не всегда правильно. Если в дальней-шем вы планируете проигрывать или каким-то другим образом использовать этот файл, то необходимо записать его в каком-то общепринятом формате. Точ-нее, та программа, с помощью которой был оцифрован звук, сама предложит выбрать формат, в котором будет сохранен файл. Однако в любом случае необ-ходимо разобраться, чем отличаются друг от друга различные форматы.

Все файловые форматы для хранения цифровых потоков можно условно разделить на самоописательные и потоковые.

Самоописательные форматы могут содержать внутри себя, кроме цифро-вого потока, различную информацию: параметры оцифровки хранимого внут-ри звука, информацию о сжатии (если таковое имеет место), краткое описание содержимого и т.п.

Потоковые файлы - это файлы, которые не содержат внутри себя никакого описания содержимого, а содержат только оцифрованные аудиоданные. Харак-теристики хранящегося внутри таких файлов звука можно определить только по расширению файлов. Собственно, это и есть способ хранения цифровых потоков в виде «как есть».

Одним из основных способов сжатия объёмов хранимой о звуке информации является РСМ или ИКМ (Pulse Code Modulation - импульсно-кодовая модуляция). Способ цифрового кодирования сигнала при помощи записи абсолютных зна-чений амплитуд. Бывают знаковое или беззнаковое представления. В первом случае значения амплитуд записываются относительно максимально возмож-ной амплитуды А. Таким образом, значения могут быть от -А до +А. В случае беззнакового представления значения амплитуд записываются от 0 до А Следует отметить, что запись на звуковые компакт-диски производится именно в формате РСМ.

АDРСМ или АОИКМ (Adaptive Delta PCM - адаптивная относительная импульсно-кодовая модуляция), входят в стандартную поставку Windows 98. В случае АDРСМ значения записываются не в абсолютных, а в относительных изменениях амплитуд (приращениях). о есть в таком потоке каждое последующее число характеризует величину при-ращения амплитуды относительно предыдущего значения. Такой способ записи позволяет сократить размер оцифровки (в виду того, что для записи численных значении приращений сигнала требуются меньшие числа, чем для записи абсолютных значении), однако точно представить сигнал с быстро меняющейся амплитудой в этом случае не представляется возможным.

Файлы, сжатые Microsoft ADPCM, умень­шаются приблизительно в четыре раза. Кроме того, «внешне» это никак не про­является: с виду получаются обычные WAVE-файлы, а при их проигрывании программа сжатия автоматически «раскрывает» их.

Если же четырехкратного сжатия недостаточно, можно применить один из алго­ритмов MPEG. Это очень мощное средство сжатия, основанное на особенностях нашего восприятия: некоторые детали, которые все равно не воспринимаются нашим ухом (или глазом — алгоритмы MPEG применяются также для сжатия видео) в данном алгоритме просто опускаются. Для звуковых файлов одно из наи­более эффективных средств сжатия на сегодня — это алгоритм MPEG Layer-3. В зависимости от качества выходного файла звукозапись может быть сжата в 10-100 раз и даже более. Причем при сжатии в 5-10 раз какое-либо ухудшение качества записи заметить трудно, особенно на бытовых динамиках (если, конечно, входной файл не является записью чистого тона). Таким образом, «дисковый эквивалент» наших 90 минут звучания может быть уменьшен с 900 до 90 Мбайт, а то и до 9.