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

Форматы сжатия аудиоданных с потерями

< Лекция 2 || Лекция 3: 12345 || Лекция 4 >

Способы хранения стереосигнала

По способу кодирования стереосигнала MP3-файлы делятся на два вида. Первый вид – это двухканальное кодирование. Каждый из стереоканалов кодируется отдельно, таким образом общий битрейт делится на два канала – например, при битрейте 320 Кбит/c на каждый канал приходится по 160 Кбит/с, а при популярном битрейте 192 Кбит/с – лишь по 96. Естественно, что при низком битрейте ухудшает качество записи.

Второй вид кодирования стереосигнала называется объединенное стерео (Joint Stereo). При кодировании вычисляется сумма правого и левого канала, а так же их разность. За счет совпадения частот, разность каналов требует гораздо меньше места для хранения в закодированном виде, чем сумма, поэтому сумме каналов отдается большая часть битрейта, в итоге качество записей, в сравнении с двухканальным стерео на сопоставимом битрейте, оказывается выше.

Еще один способ хранения сигнала, на этот раз монофонического – одноканальное кодирование. Если стереосигнал закодировать таким способом, то при воспроизведении оба канала записи будут звучать одинаково, а если сигнал будет изначально записан в монофоническом режиме, запись его в одном из стереорежимов так же ничего не даст.

Существует вариант MP3 (MPEG-2 Layer 3), поддерживающий до 6 каналов – эта версия MP3 появилась в 2004 году и называется MP3Surround.

ID3-теги

Помимо звуковой информации, MP3-файлы содержат некоторое количество данных о хранимых в них музыкальных произведениях. Эта информация находится в так называемых ID3-тегах. Она нужна, в основном, для того, чтобы, прослушивая музыку на MP3-плеере, вы могли бы видеть информацию о композиции. Так же с помощью ID3-тегов, которые содержат данные о жанре музыки, плеер может, например, автоматически загружать настройки эквалайзера.

Существует несколько версий ID3-тегов. Более старая, но все еще популярная версия ID3v1.1., а так же – различные варианты ID3v2.x. Поддержка ID3v1.1. стандартна для подавляющего большинства плееров, многие плееры поддерживают и вторую версию ID3.

Итак, по стандарту ID3v1.1. в MP3-файл могут быть записаны следующие сведения:

Track – номер записи в альбоме.

Title – название записи

Artist – исполнитель.

Album – название альбома.

Year – год создания записи.

Genre – музыкальный стиль записи – для этого поля существует несколько десятков предустановленных стилей.

Comment – комментарии.

Минусы ID3v1.1. заключаются в том, что эти теги имеют ограниченную длину, к тому же, блок информации располагается в конце файла, что неудобно при проигрывании музыки в потоковом режиме. Далее, формат можно критиковать за маленькое число тегов и за то, что для занесения в тег Genre установлен далеко не исчерпывающий список музыкальных жанров. В итоге появилась вторая версия ID3, которая постоянно развивается.

Данные в ID3v2.x расположены не в конце файла, а в начале, что удобно для потокового воспроизведения музыки (например, через Интернет), список тегов значительно расширен (в последней версии стандарта их более 80), к тому же, теперь в тег можно записать несколько мегабайт данных (реально даже несколько Кб вполне хватит для подробной информации о каком-то аспекте композиции), в результате ID3v2.x способен удовлетворить самых требовательных пользователей.

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

MP3Pro

В 2001 году компания Thomson анонсировала стандарт нового поколения MP3Pro. MP3Pro – это развитие формата MP3. Благодаря применению более совершенных алгоритмов кодирования (в частности – технологии SBR – Special Band Replication) он позволяет добиваться качества MP3-файлов, закодированных при битрейте в 128 Кбит/c на MP3Pro-битрейте битрейте в 64 Кбит/c. В ходе кодирования применяются улучшенные психоакустические модели. При кодировании звук разбивается на две полосы частот. Низкие частоты кодируются с помощью обычных методов MP3, а высокие – по методикам MP3Pro. В результате звук удается закодировать с высоким качеством на низких битрейтах – MP3Pro поддерживает ограниченный набор битрейтов, максимальный составляет 96 Кбит/c для кодирования стереосигнала.

Достоинства и недостатки MP3

Главное достоинство MP3 – это его огромная распространенность и популярность, сложившаяся исторически. Огромное количество устройств поддерживает воспроизведение MP3-композиций, невероятные объемы свободно (но не всегда законно) распространяемой MP3-музыки лежат в Интернет-архивах и в файлообменных сетях (не говоря уж о серверах многочисленных локалок). Пожалуй, почти каждый пользователь ПК может похвастаться коллекцией любимой музыки объемом в несколько гигабайт (или в несколько десятков гигабайт). При таком объеме MP3-композиций и при таком распространенности стандарта, конкурентам довольно сложно бороться с ним.

Однако, у MP3 есть недостатки. Например, это ограниченный 320 Кбит/с битрейт, невозможность профессионального применения (каждое новое сохранение раскодированной MP3-записи приводит к ухудшению ее качества). Еще один недостаток – это отсутствие в стандарте DRM-возможностей – то есть возможностей по управлению авторскими правами и защите информации от несанкционированного использования. MP3-композицию, скачанную где-нибудь или изготовленную самостоятельно, вы сможете прослушать на всем, что поддерживает MP3. Это не устраивает компании, занимающиеся продажей цифрового контента, да и самих музыкантов, чьими произведениями пользуются бесплатно.

Недостаток MP3, по крайней мере, достаточно сильно сжатых музыкальных файлов, заключается в заметном падении качества. Однако, судя по популярности и распространенности формата, вышеперечисленные недостатки не пугают пользователей, которые продолжают слушать, создавать и скачивать MP3-композиции. К тому же, одно из достоинств MP3 – доступность его практически на всех существующих компьютерных платформах, что не может не сказываться на популярности.

Кодируем MP3: Lame

Для кодирования MP3-файлов можно использовать различные кодеки. Так, среди них можно отметить известный кодек Lame. Начало разработки кодека приходится на 1998-й год, кодек продолжает развиваться и сегодня. В 2004 году Lame был признан лучшим кодеком для кодирования MP3-файлов с битрейтом равным и большим, чем 128 Кбит/c.

Lame распространяется бесплатно, его можно найти встроенным во множество приложений для работы со звуком. Здесь мне хотелось бы отметить установки кодека, подходящие для различных ситуаций, рекомендуемые музыкальным сайтом hydrogenaudio.com. Рекомендации даны для кодека Lame версии от 3.94 и выше. Ниже будут даны примеры для кодирования MP3 с использованием команд, вводимых в интерпретатор командной строки, однако вы без труда сможете перенести эти установки в графический интерфейс какой-нибудь программы для обработки музыки, которая поддерживает Lame. Утилиту командной строки для конверсии файлов в MP3 с помощью Lame можно найти на http://www.rarewares.org/mp3-lame-bundle.php (размер скачиваемого файла - 512 Кб) - там же можно скачать DLL-библиотеку для подключения к различным программам, работающим с аудио.Фактически, и утилита командной строки, и библиотека, а так же файлы справки, находятся в одном скачиваемом архиве.

Для наивысшего качества кодирования рекомендуется использовать битрейт CBR 320 Кбит/c (при конверсии с использованием интерпретатора командной строки используется параметр –b 320). При таком битрейте качество CD-композиции остается практически неизменным, его можно использовать для архивирования музыки, хотя для архивирования лучше всего использовать форматы сжатия данных без потери качества. Даже на 320 Кбит/c кодек вносит изменения в исходный файл, а кодеки сжатия без потерь полностью сохраняют исходную звуковую информацию.

Для получения высокого качества кодирования, пригодного для прослушивания на HiFi-аудиоаппаратуре и для MP3-плееров, использует другие установки. Как вы знаете, кодек помимо постоянного битрейта поддерживает переменный битрейт – VBR. VBR имеет несколько уровней качества – всего их десять, они пронумерованы от V0 (наивысший уровень качества) до V9 (низший уровень качества). Для создания файлов высокого качества подойдут уровни качества от V0 (-V0 --vbr-new (средний битрейт примерно 230 Кбит/c), V1 (-V1 --vbr-new (примерно 210 Кбит/c)), V2 (-V2 --vbr-new (примерно 190 Кбит/c)) и V3 (-V3 --vbr-new (примерно 175 Кбит/c)), причем, рекомендуется использовать способ кодирования VBR-New.

Для мобильного использования – то есть, например, для сотовых телефонов и так же для MP3-плееров, рекомендуются установки качества V4 (-V4 --vbr-new (примерно 160 Кбит/c), V5 (-V5 --vbr-new (примерно 130 Кбит/c) и V6 (-V6 --vbr-new (примерно 115 Кбит/c). Причем, V4 очень близок к установкам для кодирования высококачественного аудио, поэтому для подобных применений лучше всего использовать V5 и V6. Современные мобильные телефоны способны качественно воспроизводить музыкальные композиции, поэтому слишком занижать для них параметры файла не стоит. Битрейт в районе 128 Кбит/c может неплохо подойти и для MP3-плеера, особенно, если вы слушаете его, например, в автобусе или в метро по дороге на работу – окружающий шум, который, пусть слабо, но все же пробивается сквозь практически любые наушники, не даст вам в полной мере ощутить преимущества высоких битрейтов (в районе 200 Кбит/c) над более низкими.

Для кодирования голоса, радиопередач, для монофонического кодирования рекомендуется применять усредненный битрейт ABR до 100 Кбит/c. Например, для кодирования со средним битрейтом 80 Кбит/c нужно использовать команду --abr 80 (или аналогично настроить кодек с помощью графических элементов управления), для монофонического кодирования, например, голоса на 56 Кбит/c, можно использовать команду --abr 56 –mm или соответствующие настройки кодека.

Работа с утилитой командной строки Lame

Рассмотрим работу с утилитой командной строки. Сразу скажу, что для кодирования файлов существует немало других, более удобных приложений, однако умение работать с утилитой командной строки даст вам возможность при необходимости воспользоваться абсолютно всеми возможностями кодека Lame.

Для того, чтобы конвертировать файл из формата .WAV в формат *.MP3, скопируйте этот файл в рабочую папку кодека (в нашем случае это C:\Lame). После этого пройдите по пути Пуск_Выполнить и в появившемся окне наберите CMD – будет запущен интерпретатор командной строки. Перейдите в папку, где находится ваша копия Lame.exe – мы перешли в уже упомянутую папку C:\Lame (рис. 3.1.). Для перехода мы сначала перешли в корневой каталог диска C:\ командой CD C:\, а потом командой CD Lame перешли в каталог Lame диска C:\.

Переход в папку с кодеком

Рис. 3.1. Переход в папку с кодеком

Теперь можно заниматься кодированием. Для начала попробуйте закодировать файл с параметрами по умолчанию (CBR, 128 Кбит/c) – для этого нужно набрать команду такого вида:

Lame <имя WAV-файла> <имя выходного MP3-файла>

В нашем случае WAV-файл имеет имя 1.WAV – команда выглядит так:

Lame 1.wav 1.mp3

На (рис. 3.2.) вы можете видеть результаты выполнения этой команды – кодек выводит информацию о проведенной операции, а в рабочей папке программы появляется файл 1.mp3.

Результат обработки файла

Рис. 3.2. Результат обработки файла

Для того, чтобы закодировать файл с высоким качеством кодирования на битрейте CBR 320 Кбит/c используем команду:

Lame –h –b 320 1.wav 1.mp3

Для кодирования на VBR с качеством V0 используйте команду

Lame –h –v 0 1.wav 1.mp3

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

Работа с другими приложениями

Как мы уже говорили, для конверсии файлов в MP3 существует множество приложений. Здесь мы рассмотрим одну простую утилиту для конверсии в MP3. Она называется WinLame, скачать ее можно на http://winlame.sourceforge.net/download.php. Размер дистрибутива составляет около 1,5 Мб. Программа умеет конвертировать файлы не только в MP3, но и в другие форматы, о чем мы расскажем в соответствующих местах ниже.

Работа с программой построена в виде мастера. На первой странице нужно указать файлы для конверсии, на второй – выбрать кодек, на третьей (рис. 3.3.) выбрать параметры кодека.

Выбор параметров кодирования

Рис. 3.3. Выбор параметров кодирования

Первый пункт в списке – Custom Settings (Пользовательские установки) – выбрав его, вы попадете на следующее окно, где можно настроить параметры кодека самостоятельно. Другие пункты содержат предустановки кодека, которых хватит для большинства обычных применений. Так, установка High Quality: HiFi, Home or quiet Listening позволяет получить высококачественные файлы для HiFi-аппаратуры, установка Archiving: Best Quality позволяет закодировать файлы с максимально возможным качеством, а установка Portable: background noise and low bitrate requirement, small sizes предназначена для кодирования файлов, которые планируется применять в мобильных устройствах.

Еще одна утилита называется RazorLame. Ее архив размером 324 Кб можно скачать с сайта http://www.dors.de/razorlame/download.php. Архив не включает в себя кодек Lame, поэтому для нормальной работы утилиты нужно скопировать в ее папку файл Lame.exe (именно тот файл, который в примере выше мы скачивали с http://www.rarewares.org/mp3-lame-bundle.php).

После добавления файлов в окно программы с помощью кнопки Add (добавить) (рис. 3.4.) вы можете настроить параметры кодека.

Окно RazorLame

Рис. 3.4. Окно RazorLame

Для настройки параметров кодека, нажмите на кнопку Lame на панели инструментов программы. Появившееся окно настройки параметров (рис. 3.5.) содержит исчерпывающие настройки кодека – ваших знаний на данный момент вполне хватит для того, чтобы настроить эти параметры, если вы хотите глубже разобраться с кодеком – посмотрите уже упоминаемую документацию к Lame.

Настройка параметров Lame в программе Razor Lame

Рис. 3.5. Настройка параметров Lame в программе Razor Lame

После того, как все настроено, можете нажимать на кнопку Encode (Кодировать) для начала процесса кодирования.

Мы довольно подробно рассмотрели работу с MP3, однако, вместе с MP3 существует еще немало аудиоформатов достойных нашего с вами внимания. А раз так – продолжим разговор о форматах, поговорим об интенсивно продвигаемом фирмой Microsoft формате WMA.

Помимо вышеописанных с LAME, а так же – со многими другими кодеками может работать универсальная программа для кодирования файлов Multi Frontend – ее можно скачать на http://members.home.nl/w.speek/multi.htm. Размер программы - всего 60 Кб, рспространяется она бесплатно. На странице программы есть обширный список кодеков, которые она поддерживает со ссылками на сайты этих кодеков – для работы с кодеками вам придется скачать их и скопировать их исполняемые файлы в папку программы.

< Лекция 2 || Лекция 3: 12345 || Лекция 4 >
Евгений Милованов
Евгений Милованов
Россия, Новосибирск, Новосибирский государственный университет, 1982
Сергей Фалько
Сергей Фалько
Россия