Опубликован: 08.04.2009 | Доступ: свободный | Студентов: 3545 / 2037 | Оценка: 4.41 / 4.10 | Длительность: 07:14:00
Специальности: Разработчик аппаратуры
Лекция 4:

Сжатие аудиоинформации без потерь

< Лекция 3 || Лекция 4: 123 || Лекция 5 >
Аннотация: Эта лекция посвящена форматам сжатия аудиоинформации без потерь.

Сжатие без потерь

Кодеки, сжимающие звук без потерь, стали пользоваться популярностью в мире портативных MP3-плееров сравнительно недавно. Дело в том, что этим кодекам не под силу такие огромные степени сжатия, которыми могут похвастаться кодеки, сжимающие звук с потерями качества. Большие объемы памяти стали широко доступны пользователям MP3-плееров лишь последние года три-четыре – и с приходом больших объемов памяти в MP3-плееры, сжатие музыки без потерь стало популярным. Конечно, те, кто хотел слушать музыку без потерь качества, делали это всегда (например, с помощью Audio CD-проигрывателей), а в наше время все желающие (естественно, при наличии поддержки соответствующих кодеков их плеерами) могут попробовать Lossless-кодеки в действии.

Главное отличие кодеков, сжимающих аудиоданные без потери качества от кодеков, сжимающих с потерями, заключается в том, что кодеки без потери качества не удаляют из аудиопотока информацию, которая при сжатии с потерями может считаться избыточной. Главная задача Lossless-кодека заключается в том, чтобы как можно сильнее сжать исходную звуковую информацию, не потеряв при этом ни единого бита информации.

Ситуация с поддержкой Lossless-кодеков в настоящее время такова, что наиболее широко распространена поддержка кодека ALAC, который имеет непосредственное отношение к фирме Apple и ее плеерам. Остальные же кодеки поддерживаются пока немногими плеерами, иногда для того, чтобы плеер поддерживал кодек, требуется перепрошивка плеера, причем, пожалуй, наиболее известная прошивка для плееров, поддерживающая Lossless-кодеки, RockBox – это альтернативная, а никак не официальная прошивка.

В ходе работы с Lossless-кодеками вам могут встретиться так называемые Cue-файлы или индексные карты файлов. Cue-файлы распространяются, например, вместе с FLAC или APE-файлами, реже – с MP3 и WAV-файлами, которые представляют собой один большой (порядка 300 Мб) файл, в котором хранится целый альбом. Cue-файл – содержит в себе информацию о разбиении большого файла на треки и о названиях этих треков. С отдельными файлами работать удобнее, однако, даже если к вам в руки попадет, скажем, большой FLAC-файл с CUE-файлом, на основе информации, содержащейся в CUE-файле, исходный файл можно разделить на отдельные треки – мы рассмотрим ПО, которое может решить эту задачу.

Начнем описание форматов сжатия данных без потерь с популярного формата FLAC.

FLAC

FLAC (Free Lossless Audio Codec) – это формат сжатия аудиоданных без потерь, который разработала Xiph.Org Foundation. Это абсолютно бесплатный формат, которым могут пользоваться все желающие.

Работа FLAC и других кодеков, сохраняющих аудиоданные без потерь, напоминает работу обычных архиваторов. Однако, за счет специальных алгоритмов эффективность таких кодеков при сжатии аудиоинформации гораздо выше, чем у обычных архиваторов.

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

Как правило, FLAC способен сжать исходный файл, например, Audio CD-качества на 40-50%. В итоге битрейт полученной записи оказывается равным порядка 800 Кбит/c.

В формате FLAC предусмотрена возможность сохранения CD-дисков таким образом, что при необходимости можно полностью воссоздать исходный диск – это очень удобно для тех, кто хочет создать цифровые копии своих CD с возможностью последующего восстановления.

Скорость кодирования и декодирования FLAC-файлов неодинакова. Скорость кодирования зависит от уровня сжатия и от скорости системы – на высоких уровнях сжатия она может быть достаточно медленной. Однако раскодирование ведется очень быстро – с ним без труда могут справиться современные MP3-плееры.

За счет возможности бесплатного свободного использования, с FLAC можно работать на базе практически любой современной ОС, все больше MP3-плееров поддерживают этот формат.

Кодирование в формат FLAC

Скачать утилиту для кодирования FLAC-файлов можно на http://flac.sourceforge.net/download.html/. Она включает в себя сам кодек и так называемый Frontend – программную оболочку для кодека. Размер дистрибутива занимает порядка 2,5 Мб. Работа с кодеком проста: вы добавляете интересующие вас файлы в окно программы (рис. 4.1.) с помощью кнопки Add Files (Добавить файлы), настраиваете опции кодирования и нажимаете кнопку Encode (Кодировать) – программа создает FLAC-файл.

Окно FLAC Frontend

Рис. 4.1. Окно FLAC Frontend

Давайте рассмотрим наиболее значимые установки кодека. Для начала остановимся на группе параметров Encoding Options (Параметры кодирования)

Параметр Level (Уровень) отвечает за уровень сжатия данных. Он может изменяться от 0 до 8. Чем больше уровень сжатия, тем, соответственно, меньше готовый файл, но больше время, необходимое для кодирования файлов. На быстрых компьютерах разница между Level 0 и Level 8 при кодировании, скажем, 30-мегабайтного WAV-файла может составить несколько секунд. Размер отличается примерно на 10% от исходного размера файла. Вам стоит поэкспериментировать с этим параметром на вашем ПК – возможно, если вы будете кодировать несколько сотен файлов, вы предпочтете меньший уровень сжатия большей скорости работы.

Параметр Verify (Проверить) предписывает кодеру проверку выходных файлов.

Параметр Add tags (Добавить теги) добавляет в готовый файл теги (например, они могут содержать название композиции, автора и т. д.) – настроить их можно, нажав на кнопку Tag Conf. (Настройка тегов).

Параметр Replaygain (Уровень проигрывания) добавляет в файлы параметр, указывающий на уровень громкости файла. Если установлен параметр Treat input files as one album (Обрабатывать входные файлы как один альбом) – все записи в альбоме будут звучать с одинаковой громкостью.

Группа параметров General Options (Общие параметры) содержит два параметра. Пожалуй, здесь следует отметить параметр OGG-Flac. Если этот параметр сброшен, то FLAC-данные упаковываются в стандартный FLAC-контейнер. Если вы планируете лишь прослушивать полученные FLAC-файлы, этот параметр можно не устанавливать, а если ваши планы на эти файлы более обширны – например, вы планируете редактировать их, использовать их для вставки в видеофильмы, лучше всего включить параметр Ogg-FLAC.

Параметр Output Directory (Выходная директория) содержит путь к директории, где будут содержаться выходные файлы.

В группе параметров Decoding options (Опции декодирования) есть параметр Dec. Through errors (Декодировать несмотря на ошибки) – установите его, если хотите декодировать какой-либо файл даже в том случае, если при декодировании возникают ошибки. Декодирование – процесс обратный кодированию – то есть декодировать вы можете FLAC-файлы, превратив их в WAV-файлы. Для декодирования, естественно, вам придется добавить в окно программы FLAC-файлы.

После того, как все настроено, достаточно нажать на кнопку Encode (Кодировать) для создания FLAC-файлов, либо, если вы хотите декодировать существующие FLAC-файлы – нажмите кнопку Decode (Декодировать).

Помимо вышеописанной, кодировать FLAC могут и другие программы. Например, это уже известная вам ImTOO Audio Encoder – для кодирования в формат FLAC достаточно выбрать его из списка форматов (рис. 4.2.).

Кодируем FLAC-файлы с помощью ImTOO Audio Encoder

Рис. 4.2. Кодируем FLAC-файлы с помощью ImTOO Audio Encoder

Среди доступных настроек кодека можно отметить настройку уровня сжатия, она, как и в обычном кодеке, изменяется от 0 до 8.

Что интересно, программа не поддерживает кодирование из формата FLAC – даже если упаковать FLAC-данные в поддерживаемый программой контейнер OGG, она, на этапе кодирования, сообщит об ошибке. Однако, как вы знаете, декодировать FLAC-файлы можно с помощью вышеописанной программы.

Разбиваем большие файлы на отдельные треки

Выше мы упоминали о том, что вам могут встретиться альбомы различных форматов, закодированные единым файлом с прилагающимся к этому файлу CUE-файлом, содержащим информацию о треках. Удобнее всего для использования разбивать такие файлы на отдельные треки (хотя и связка, например, FLAC+CUE вполне жизнеспособна). Для этого можете воспользоваться программой Cue Splitter. Это абсолютно бесплатная программа, которую можно скачать на http://www.enfis.it/. Размер дистрибутива – чуть больше 1 Мб. Программа (рис. 4.3.) имеет русифицированный интерфейс, вы без труда освоите ее.

Cue Splitter

Рис. 4.3. Cue Splitter

Главное, что нужно сделать, разрезая большой файл на части – это открыть файл командой Файл_Открыть CUE, после чего можно сразу же нажимать на кнопку Разрезать, либо сделать это чуть позже, предварительно настроив имена файлов.

< Лекция 3 || Лекция 4: 123 || Лекция 5 >