Методы сжатия информации при работе со звуком. Методы сжатия цифрового звука

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

Реальная возможность обработки звука, сравнимых по качеству с существующими аналоговыми примерами, появилась только в конце 80-х годов. В 1988 году Международной организацией стандартов ISO (International Standards Organization) был сформирован комитет MPEG (Moving Pictures Expert Group, группа экспертов в области движущихся изображений), основной задачей которого является разработка стандартов кодирования подвижных изображений, звука и их комбинации. За десять лет своего существования комитет выработал ряд стандартов по данному вопросу. В результате обобщив обширные исследования в этой области, был рекомендован ряд специфических форматов для хранения данных, отличных по качеству результатов и скорости потока данных.

В настоящее время наиболлее распространены три стандарта хранения видеоданных: MPEG-1, MPEG-2 и MPEG-4. В рамках первых двух форматов существуют также форматы хранения звуковой информации – Layer-1, Layer-2 и Layer-3. Эти три звуковых формата определены для MPEG-1 и незначительными расширениями используются в MPEG-2. Все три формата похожи друг на друга, но используют различные уровни компромисса между сжатием и сложностью. Уровень Layer-1 - наиболее простой, не требует значительных затрат на сжатие, но и дает незначительную степень сжатия. Уровень Layer-3 – наиболее трудоемкий и обеспечивает самое лучшее сжатие. В последнее время этот формат завоевал огромную популярность. Его часто называют MP3. Такое название связано с расширением звуковых файлов, хранящихся в этом формате.

Основанная идея, на которой основаны все методики сжатия аудио сигнала с потерями , – пренебрежение тонкими деталями звучания оригинала, лежащие вне пределов которые воспринимает человеческое ухо. Здесь можно выделить несколько моментов.

Уровень шума. Звуковое сжатие базируется на простом факте – если человек находиться рядом с громко воющей сиреной, то вряд ли он услышит разговор стоящих неподалеку людей. Причем это происходит не оттого, что человек обращает большое внимание на громкий звук, а в большей степени оттого, что человеческое ухо фактически теряет звуки, лежащие в том же диапазоне частот, что и более громкий звук. Этот эффект носит название маскирующего, он изменяется с различием в громкости и частоте звука.

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

Еще одним моментом кодирования является использование психоакустической модели, опирающейся на особенности человеческого восприятия звука. Сжатие с использованием этой модели основано на удалении заведомо неслышимых частот с более тщательным сохранением звуков, хорошо различаемых человеческим ухом. К сожалению, здесь не может быть точных математических формул. Восприятие звука человеком – сложный, до конца не изученный процесс, поэтому выбор методов сжатия выполняется на основе анализирующего прослушивания и сравнения по-разному сжатых звуков группами экспертов. Зато здесь имеются практически неограниченные возможности в сфере улучшения психоакустических моделей. Большинство существующих алгоритмов для кодировки человеческого голоса основано на высокой предсказуемости такого сигнала – универсальные алгоритмы сжатия MPEG с переменным успехом пытаются применить этот прием.

Еще одним приемом сжатия является использование так называемого совмещенного стерео. Известно, что слуховой аппарат человека может определить направление лишь средних частот – высокие и низкие звучат как бы отдельно от источника. Значит, эти фоновые частоты можно кодировать в моно сигнал. Кроме всего этого для сжатия используется различие в сложности потоков в каналах. Например, если в правом канале какое-то время полная тишина, это "зарезервированное" место используется для повышения качества левого канала или туда "впихиваются" необходимые биты, не влезшие в поток чуть раньше. На последней стадии сжатия используется алгоритм сжатия Хаффмана . Этот процесс позволяет улучшить степень сжатия для относительно однородных сигналов, которые плохо сжимаются с помощью описанных выше приемов. На основе описанных идей строятся алгоритмы сжатия, позволяющие достигать степени компрессии 10:1 или выше практически без потери в качестве звучания. При кодировании задают требуемый уровень компрессии, а алгоритмы сжатия добиваются требуемого значения уровня сжатия за счет потери качества. Требуемый уровень сжатия обычно указывают в виде величины потока данных (bit rate), измеряемого в Кбит/сек.

В качестве начального шага обработки изображения форматы сжатия MPEG-1 и MPEG-2 разбивают опорные кадры на несколько равных блоков, над которыми затем производится дискетное косинусное преобразование (DCT). По сравнению с MPEG-1, формат сжатия MPEG-2 обеспечивает лучшее разрешение изображения при более высокой скорости передачи видео данных за счет использования новых алгоритмов сжатия и удаления избыточной информации, а также кодирования выходного потока данных. Также формат сжатия MPEG-2 дает возможность выбора уровня сжатия за счет точности квантования. Для видео с разрешением 352х288 пикселей формат сжатия MPEG-1 обеспечивает скорость передачи 1,2 – 3 Мбит/с, а MPEG-2 – до 4 Мбит/с.

По сравнению с MPEG-1, формат сжатия MPEG-2 обладает следующими преимуществами:

  • MPEG-2 обеспечивает масштабируемость различных уровней качества изображения в одном видеопотоке.
  • В формате сжатия MPEG-2 точность векторов движения увеличена до 1/2 пикселя.
  • Пользователь может выбрать произвольную точность дискретного косинусного преобразования .
  • В формат сжатия MPEG-2 включены дополнительные режимы прогнозирования.

MPEG-4 использует технологию так называемого фрактального сжатия изображений. Фрактальное (контурно-основанное) сжатие подразумевает выделение из изображения контуров и текстур объектов. Контуры представляются в виде т.н. сплайнов (полиномиальных функций) и кодируются опорными точками. Текстуры могут быть представлены в качестве коэффициентов пространственного частотного преобразования (например, дискретного косинусного или вейвлет -преобразования).

Диапазон скоростей передачи данных, который поддерживает формат сжатия видео изображений MPEG 4, гораздо шире, чем в MPEG 1 и MPEG 2 . Дальнейшие разработки специалистов направлены на полную замену методов обработки, используемых форматом MPEG 2. Формат сжатия видео изображений MPEG 4 поддерживает широкий набор стандартов и значений скорости передачи данных. MPEG 4 включает в себя методы прогрессивного и чересстрочного сканирования и поддерживает произвольные значения пространственного разрешения и скорости передачи данных в диапазоне от 5 кбит/с до 10 Мбит/с. В MPEG 4 усовершенствован алгоритм сжатия , качество и эффективность которого повышены при всех поддерживаемых значениях скорости передачи данных.


Назад К cодержанию Вперёд

Некоторые методы сжатия звуковых данных (доп. к Лекции 2)

    Кодирование данных без потерь (lossless coding) - это способ кодирования аудио, который позволяет осуществлять стопроцентное восстановление данных из сжатого потока. К такому способу уплотнения данных прибегают в тех случаях, когда сохранение оригинального качества данных критично. Например, после сведения звука в студии звукозаписи, данные необходимо сохранить в архиве в оригинальном качестве для возможного последующего использования. Существующие сегодня алгоритмы кодирования без потерь (например, Monkeys Audio) позволяют сократить занимаемый данными объем на 20-50%, но при этом обеспечить стопроцентное восстановление оригинальных данных из полученных после сжатия. Подобные кодеры – это своего рода архиваторы данных (как ZIP, RAR и другие), только предназначенные для сжатия именно аудио.

    Кодирование данных с потерями (lossy coding). Цель такого кодирования - любыми способами добиться схожести звучания восстановленного сигнала с оригиналом при как можно меньшем объеме упакованных данных. Это достигается путем использования различных алгоритмов «упрощающих» оригинальный сигнал (выкидывая из него «ненужные» слабослышимые детали), что приводит к тому, что декодированный сигнал фактически перестает быть идентичным оригиналу, а лишь похоже звучит.

Методов сжатия, а также программ, реализующих эти методы, существует много. Наиболее известными являются MPEG-1 Layer I,II,III (последним является всем известный MP3), MPEG-2 AAC (advanced audio coding), Ogg Vorbis, Windows Media Audio (WMA), TwinVQ (VQF), MPEGPlus, TAC, и прочие.

В среднем, коэффициент сжатия, обеспечиваемый такими кодерами, находится в пределах 10-14 (раз).

Некоторые форматы звуковых файлов :

Формат AU . Этот простой и распространенный формат на системах Sun и NeXT (в последнем случае, правда, файл будет иметь расширение SND). Файл состоит из короткого служебного заголовка (минимум 28 байт), за которым непосредственно следуют звуковые данные. Широко используется в Unix-подобных системах и служит базовым для Java-машины.

Формат WAVE (WAV). Стандартный формат файлов для хранения звука в системе Windows. Является специальным типом другого, более общего формата RIFF (Resource Interchange File Format); другой разновидностью RIFF служат видеофайлы AVI. Файл RIFF составлен из блоков, некоторые из которых могут, в свою очередь, содержать другие вложенные блоки; перед каждым блоком данных помещается четырехсимвольный идентификатор и длина. Звуковые файлы WAV, как правило, более просты и имеют только один блок формата и один блок данных. В первом содержится общая информация об оцифрованном звуке (число каналов, частота дискретизации, характер зависимости громкости и т.д.), а во втором - сами числовые данные. Каждый отсчет занимает целое количество байт (например, 2 байта в случае 12-битовых чисел, старшие разряды содержат нули). При стереозаписи числа группируются парами для левого и правого канала соответственно, причем каждая пара образует законченный блок - для нашего примера его длина составит 4 байта. Такая, казалось бы, излишняя структурированность позволяет программному обеспечению оптимизировать процесс передачи данных при воспроизведении, но, как в подобных случаях всегда бывает, выигрыш во времени приводит к существенному увеличению размера файла.

Формат MP3 (MPEG Layer3) . Это один из форматов хранения аудиосигнала, позднее утвержденный как часть стандартов сжатого видео. Природа получения данного формата во многом аналогична уже рассмотренному нами ранее сжатию графических данных по технологии JPEG. Поскольку произвольные звуковые данные обратимыми методами сжимаются недостаточно хорошо, приходится переходить к методам необратимым: иными словами, базируясь на знаниях о свойствах человеческого слуха, звуковая информация “подправляется” так, чтобы возникшие искажения на слух были незаметны, но полученные данные лучше сжимались традиционными способами. Это называется адаптивным кодированием и позволяет экономить на наименее значимых с точки зрения восприятия человека деталях звучания. Приемы, применяемые в MP3, непросты для понимания и опираются на достаточно сложную математику, но зато обеспечивают очень значительный эффект сжатия звуковой информации. Успехи технологии MP3 привели к тому, что ее применяют сейчас и во многих бытовых звуковых устройствах, например, плеерах и сотовых телефонах.

Формат MIDI. Название MIDI есть сокращение от Musical Instrument Digital Interface, т.е. цифровой интерфейс для музыкальных инструментов. Это довольно старый (1983 г.) стандарт, объединяющий разнообразное музыкальное оборудование (синтезаторы, ударные, освещение). MIDI базируется на пакетах данных, каждый из которых соответствует некоторому событию, в частности, нажатию клавиши или установке режима звучания. Любое событие может одновременно управлять несколькими каналами, каждый из которых относится к определенному оборудованию. Несмотря на свое изначальное предназначение, формат файла стал стандартным для музыкальных данных, которые при желании можно проигрывать с помощью звуковой карты компьютера безо всякого внешнего MIDI-оборудования. Главным преимуществом файлов MIDI является их очень небольшой размер, поскольку это не детальная запись звука, а фактически некоторый расширенный электронный эквивалент традиционной нотной записи. Но это же свойство одновременно является и недостатком: поскольку звук не детализирован, то разное оборудование будет воспроизводить его по-разному, что в принципе может даже заметно исказить авторский музыкальный замысел.

Формат MOD. Представляет собой дальнейшее развитие идеологии MIDI-файлов. Известные как “модули программ воспроизведения”, они хранят в себе не только “электронные ноты”, но и образцы оцифрованного звука, которые используются как шаблоны индивидуальных нот. Таким способом достигается однозначность воспроизведения звука. К недостаткам формата следует отнести большие затраты времени при наложении друг на друга шаблонов одновременно звучащих нот.

1. Очевидной техникой сжатия, которую можно применять к речи, является удаление пауз, ᴛ.ᴇ. вместо того, чтобы использовать 44 100 выборок с нулевым значением для записи каждой секунды тишины (частота дискретизации 44,1 кГц) просто указывается длительность паузы - ϶ᴛᴏ сжатие без потерь.

2. В случае если амплитуда звука не достигает максимального уровня, который можно представить при данном размере выборки, эффективным должна быть кодирование Хаффмана (Хофмана). В этом случае сигнал представляется выборками меньшего размера. Это алгоритм сжатия без потерь – всœего лишь частный случай сжатия.

3. Техника компандирования (расширения) также внесла вклад в технологии сжатия речи. Она основывается на восприятии человеком разных уровней громкости и состоит в использовании нелинœейных уровней квантования. В случае если расстояние между более высокими уровнями больше расстояния между низкими, то тихие звуки представляются детальнее, чем громкие.

4. Другая техника сжатия - ϶ᴛᴏ дифференциальная импульсно-кодовая модуляция. Эта схема связана с межкадровым сжатием и основана на записи разностей последовательных выборок, а не их абсолютных значений.

5. Эффективное сжатие с потерями состоит в определœении данных, не имеющих значения (ᴛ.ᴇ. не влияющих на восприятие сигнала), и их отбрасывании. В случае если аудиосигнал оцифровывается прямолинœейным образом (в ПК), в оцифрованную версию могут включаться данные, соответствующие неслышным звукам. Это объясняется тем, что сигнал записывает всœе физические колебания давления воздуха, являющиеся причиной звука, но за восприятие звука отвечает мозг, который (вместе с ухом) совсœем не так просто реагирует на звуковые волны.

Звук часто используется как часть видео- или анимационной продукции. В этом случае необходима синхронизация звука и изображения. Для решения этой проблемы используется временная шкала, которая позволяет упорядочить аудио- и видео в некоторых приложениях редактирования видео, к примеру, в Final Cut Pro. Изучая сигналы, редактор может определить контрольные точки звуковой дорожки (начало слогов или ударные такты в музыке), по которым выстраиваются подходящие картины.

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

В первую очередь, с помощью видеокамеры можно записать последовательность кадров реального движения в реальном мире.

Во-вторых, можно создать всœе кадры по отдельности либо с помощью ПК, либо записывая по одному неподвижные изображения.

В первом случае мы будем создавать видео , а во втором – анимацию .

Видеоряд состоит из набора кадров, каждый из которых является отдельным изображением.

n Считается, что для адекватной передачи исходного изображения требуется 16 млн. оттенков, в связи с этим используется 24-битовый формат хранения цветной картинки. В случае если размер изображения 640 пикселœей (ширина) на 480 пикселœей (высота) и глубина цвета 24 бита͵ то каждый кадр потребует 640х480х3=900 Кбайт.

n Запись последовательности кадров в цифровом виде требует от компьютера больших объёмов внешней памяти. Одна секунда несжатого видео стандарта NTSC (сев. Америка, Япония) содержит 30 кадров. Каждая секунда видео потребует более 26 Мбайт памяти. А для стандарта видео PAL (Зап. Европа и Австралия, 24 кадра) для записи одной секунды нужен 21 Мбайт памяти, для минуты – 1,25 Гбайт.

n Но последовательность кадров недостаточно только запомнить, ее нужно еще вывести на экран в соответствующем темпе. Подобной скоростью передачи информации - около 30 Мбайт/с - не обладает ни одно из существующих внешних запоминающих устройств. При таких цифрах запись (воспроизведение) видео на CD, DVD и передача по сетям – проблематична. Запись видео возможна для видео- и телœестудий.

n Для уменьшения объёма данных необходимы схемы сжатия для видео, а также использование других методов.

Чтобы выводить на экран компьютера оцифрованное видео, приходится идти на уменьшение объёма передаваемых данных, ĸᴏᴛᴏᴩᴏᴇ достигается при помощи:

n вывода уменьшенного изображения в небольшом окне

n снижения частоты кадровой развертки до 10-15 кадров/с

n уменьшение числа бит/пиксель

Это приводит к ухудшению качества изображения.

Существуют различные форматы видео: WMA, ASF, RM, SWF, DVC, VOB, но используются редко, так как либо имеют серьезные недостатки, либо плохо совместимы с обычными средствами создания мультимедийных приложений (но можно конвертировать в другой формат с помощью любого видеоредактора).

n Самые распространенные форматы –AVI и MPEG.

n Audio Video Interleaved (AVI) – ʼʼроднойʼʼ формат для Windows Media от Microsoft. Система Windows использует запатентованный кодек. При записи в данном формате используются несколько различных алгоритмов сжатия (компрессии) видеоизображения. Среди них: Cinepak, Indeo video, Motion-JPEG (M-JPEG) и др.
Размещено на реф.рф
Но только M-JPEG был признан среди них как

международный стандарт для сжатия видео. Первоначально для захвата и воспроизведения видео использовались возможности программного комплекта Video for Windows, разработанного Microsoft, однако сейчас у пользователя имеется для этого лучшие возможности. Файл формата AVI не может иметь размер больше 2 Гбайт. Понимая это, компания Microsoft объявила о разработке новых форматов, призванных заменить формат AVI:

n ASF (Advanced Screaming Format)

n AAF (Advanced Authoring Format)

Поддержка указанных форматов началась с 1999 ᴦ. При этом старый формат AVI также применяется, существуют средства для преобразования этих форматов.

Формат AVI – не только видео, но и синхронизированный с ним звук. Обычно звуковую составляющую называют звуковой дорожкой или аудиотреком . Для AVI это звук в формате WAV. В любом видеоредакторе можно выделить звуковую дорожку, сохранить в звуковом файле, отредактировать в звуковом редакторе

n Windows Media Video (WMV) – новый формат видео от Microsoft, который приходит на смену формату AVI. В его базе Windows Video Codec, разработанный на базе стандарта MPEG-4.

n Quick Time Movie (MOV) – наиболее распространенный формат для записи и воспроизведения видео, разработанный фирмой Apple для компьютеров Macintosh в рамках технологии QuickTime. Включает поддержку не только видео, но и звука, текста͵ потоков MPEG, расширенного набора команд MIDI, векторной графики, панорам и объектов (QT VR) и трехмерных моделœей . Поддерживает несколько различных форматов сжатия видео, в т.ч. MPEG и Indeo, а также свой собственный метод компрессии.

n MPEG (MPG, MPEG ) – формат для записи и воспроизведения видео, разработанный в 1992 ᴦ. группой экспертов по движущимся изображениям (Moving Pictures Expert Group - MPEG). Предназначен для сжатия звуковых и видеофайлов, для загрузки или пересылки, к примеру, через Интернет.

MPEG-4 – стандарт, описывающий правила кодирования цифровой мультимедийной информации. При разработке данного стандарта основное внимание было сконцентрировано на возможности сжимать видеоданные значительно сильнее, чем предусмотрено, к примеру, стандартом MPEG-2. Это позволяет передавать данные на низких скоростях, менее 1 Мбит/с. Такие скорости характерны для большинства пользователœей Интернет и актуальны для потребителœей мобильных беспроводных устройств. Записи MPEG-4 компактнее и значительно дешевле по сравнению с файлами мультимедийной информации, закодированными с MPEG-2. Также средства кодировки и расшифровки MPEG-4 проще

Аудио компрессия для меломанов

правда о высоком битрейте при сжатии с потерями

Предисловие

В понимании большинства людей слово меломан чаще всего ассоциируется с человеком, не просто любящим и коллекционирующим музыку, а еще и ценящим качественную музыку, причем не только в художественно-эстетическом плане, но еще и качество записи самой фонограммы. Подумать только, еще несколько лет назад эталоном качества музыки считался аудио компакт диск, компьютер же даже в мечтах не мог конкурировать с качеством CD. Однако, время — большой шутник, и часто любит переворачивать все с ног на голову. Прошло, казалось бы, совсем немного времени, какой-то год или два и… всё, компакт диск на PC отступил на второй план. Не спрашивайте "почему?", Вы ведь сами знаете ответ на этот вопрос. Всему виною революция в мире звука на компьютере — аудио компрессия (здесь и далее под аудио компрессией подразумевается сжатие с потерями, для уменьшения размера аудио файла), которая позволила хранить музыку на жестком диске, много музыки! Более того, появилась возможность обмениваться ею через Интернет. Вышли новые звуковые карты, способные "выжать" чуть ли не студийное качество из, казалось бы, бесполезной в плане музыки "железки". Сегодня, имея даже не очень шустрый по производительности компьютер, купив звуковую карту Creative SoundBlaster Live! и вспомнив, что еще с советских времен имеется хороший усилитель и добротная акустика, Вы получите ни что иное, как музыкальный центр высокого качества, звучание которого уступает разве что очень дорогой аудио аппаратуре (средней или даже высшей Hi-Fi категории). Прибавьте к этому общедоступность музыкальных файлов, и Вы поймете, что у Вас в руках — сила. И тогда происходит переворот, и Вы понимаете, что компакт диск — это уже и не так удобно, завораживает Вас совсем другое — магические знаки "MP3". Вы не можете ни есть, ни спать — перед Вами неразрешимый на первый взгляд вопрос "курицы и яйца": чем "сжимать" и, самое главное, — как "сжимать"…

Из существующих на сегодня форматов компрессии аудио заслуживающими внимания, на мой взгляд, являются три: MP3 (или MPEG-1 Audio Layer III), LQT (как представитель семейства MPEG-2 AAC / MPEG-4) и совершенно новый формат OGG (Ogg Vorbis), разрабатываемый группой энтузиастов:

  • На сегодняшний день MP3 — самый распространенный из них (в первую очередь потому, что он бесплатный). Напомню, что именно благодаря формату МР3 и произошло победоносное шествие сжатого аудио. Однако, как часто бывает с пионерами, он постепенно сдает позиции и уступает место более новым и качественным форматам.
  • Второй формат, LQT, является представителем нового направления алгоритмов аудио кодирования, представителем семейства AAC. Это достаточно качественный, но коммерческий и строго засекреченный формат.
  • OGG стал широко известен общественности этим летом и на данный момент бурно развивается, в скором времени (с релизом кодера и декодера) должен побить MP3 лучшим качеством звучания при меньшем объеме файлов.

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

Условие задачи

Я решил "столкнуть лбами" три указанных формата на предмет получения максимально качественного звука при минимальном размере файла. Для теста были выбраны несколько семплов (здесь семпл — вырезанный из PCM файла небольшой фрагмент) из композиций двух типов. Первый — очень плотного и громкого звучания с нормализацией по амплитуде (уплотнение звука "по вертикали", чтобы он с 24 битного мастера уместился в 16 битах) и компрессией динамического диапазона (чтобы при этом звучание всех инструментов было всегда громким). В качестве первого типа (как и в моих прошлых тестах) была выбрана композиция Crush On You из альбома Have A Nice Day группы Roxette, исследовалось три семпла по 15-20 секунд с разных участков композиции. Второй семпл — чистый и прозрачный (легкая оркестровая или акустическая аранжировка). В качестве второго типа была взята композиция Mano a Mano с альбома Tango известного пианиста Richard Clayderman.

Почему именно эти записи? В семплах Roxette имеет место очень сильная динамическая компрессия (значение амплитуды очень часто равно максимуму (что плохо) и приводит к перегрузке воспроизводящей аппаратуры и сильным искажениям).

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

С семплами Клайдермана ситуация диаметрально противоположная. Исходно аналоговая запись после очень качественного цифрового ремастеринга записана на компакт диске, причем без динамической компрессии.

Великолепное звучание, очень приятные и мягкие "верха". На них мы и обратим особое внимание при проведении анализа, попытаемся их сохранить. А ведь именно эти частоты кодерам будет сложнее всего передать.

Чем "жмем"

Мои исследования эталонного качества для разных битрейтов и кодеров формата MP3 выражены в программе OrlSoft MPeg eXtension . Параметры кодирования подобраны по результатам тестов.

Безусловный лидер качества на высоком битрейте — кодер LAME. Кодеры от Fraunhofer IIS по-прежнему хороши только для низких битрейтов — для 128 и 160 кбит/с. Про другие я даже говорить не буду. Только НИ В КОЕМ СЛУЧАЕ не связывайтесь с кодерами, основанными на коде XING (самый известный представитель — Audio Catalyst) — эти самые плохие, звук — просто ужас.

Для большинства пользователей формата MP3 проблема качественного звука обычно ставится следующим образом: "256 или 320? а может попробовать VBR?". И этот вопрос мучает их изо дня в день. Не все записи хорошо звучат в 256 — имеют место сильно слышимые и видимые (по измерениям) потери в области верхних частот. При использовании режима VBR (так называемый поток с переменным битрейтом) часто бывает, что музыка звучит на слух лучше, чем 256, но это нельзя брать за общее правило. Кодируйте мало ценные записи, либо не очень качественные — не ошибетесь. Параметры VBR у меня подобраны для получения максимального для VBR качества.

Для коммерческого формата LQT существует только фирменный кодер от авторов — Liquifier Pro. Им и жмем. Отмечу, что формат LQT изначально основан на VBR кодировании, поэтому для него существует просто несколько режимов типа "плохо", "хорошо" и "отлично". Естественно, для наших тестов берем режим "отлично" (Audiophile), в результате чего получается поток от 192 до 256, чаще всего 200-220 кбит/с. Напомню, что формат LQT основан на семействе алгоритмов MPEG-2 AAC. Более того, это наиболее качественная на сегодня реализация AAC (проверено на аналогах).

Формат OGG родственник формата MP3, однако содержит в себе иную психоакустическую модель и некоторые отсутствующие у MP3 технические новинки. Начать хотя бы с того, что OGG изначально поддерживает только режим VBR. Пользователь задает ориентировочную скорость потока, а кодер пытается сжать максимально ближе к нему. Диапазон изменения чрезвычайно широк: от 8 до 512 кбит/с, причем он значительно более дискретный, чем у MP3. Верхняя планка составляет целых 512 кбит/с, в то время как MP3 кодеры на сегодня реально "тянут" только до 320. Вы спросите "а разве бывает что и 320 мало?". Да, бывает, но редко.

Семплы Roxette

Ну вот, мы и подошли к самому интересному. Начнём с моих слуховых ощущений.

Для МР3 на потоке 256 кбит/с явно слышны нарушения звучания верхних частот. Мало того, что в звуке отсутствует немалая их часть, так еще и примешивается сильное искажение, хрип, металлический лязг и прочие "прелести". Это знак к тому, что 256 явно не хватает, следовательно, надо попробовать повыше. Берем сжатый в 320 семпл. Звук значительно изменился — это совсем другое дело: верха на месте, на слух никакой разницы не обнаружено. Для чистоты эксперимента посмотрим, что же получится в режиме плавающей скорости потока. Получаем средний битрейт в 290 кбит/с, из чего напрашивается вывод, что 256 для исследуемого семпла маловато будет. Действительно, на слух семпл, закодированный в режиме VBR, звучит чуть-чуть лучше, чем 256, однако явно не дотягивает до звучания 320. В случае применения МР3, для качественного сжатия подходит только кодирование в режиме 320 кбит/с, т.е. на максимуме возможностей.

Берем OGG как "модифицированный MP3". Для кодера существует пять ориентировочных битрейтов: 128, 160, 192, 256 и 350. Что ж, попробуем 192 и 256. Битрейт 350 брать не будем, т.к. нам уже известно, что MP3 при 320 кбит/с передает явно прекрасное качество, лучше вроде бы и не надо. Для режима 192 получаем средний поток в 226, а для режима 256 — целых 315 кбит/с. Вот вам и точность. Столь большое отклонение от ориентира — это сигнал к очень сложно кодируемому звуковому материалу, при более простом по плотности семпле точность будет выше. Честно говоря, я долго пытался оценить 320 MP3 и 315 OGG и пришел к выводу, что оба они звучат практически аналогично исходному звучанию. Но они основаны на разных психоакустических моделях и окраска звучания у них разная. Лично мне чуть больше понравился все-таки MP3. Однако, это действительно спорный вопрос — ведь кодер OGG пока только бета версия. Когда будет релиз, думаю, он должен обогнать MP3 в качестве. Сравнивая их по отдельности с оригиналом, я склонился к тому, что OGG все-таки ближе по звучанию к оригиналу, но вот с верхними частотами у этого кодера что-то не так. Из-за этого MP3 и звучит немного лучше. Думаю, не надо говорить, что в режиме 350 (средний битрейт получился в 365) OGG "идеально" повторяет оригинал.

Теперь про малоизвестный, но широко рекламируемый как "самый качественный" формат — формат LQT. И, что самое главное, он действительно звучит очень круто в целом, однако, прислушавшись, я понял, что мне не понравилось в его звучании. Он не искажает верхние частоты, как MP3 на 256 кбит/с, но размазывает звук, причем сильно размазывает. Резкие звуки размываются во времени. Да, это плохо. Но дело в том, что сравнивать LQT на битрейте всего в 230кбит/с с MP3 на таком же битрейте бесполезно, МР3 проигрывает по общему звучанию. Придраться, конечно, есть к чему. МР3 теряет и искажает верхние частоты, LQT же в свою очередь несколько "проваливает" средние частоты и размазывает верхние. В общем, тут кому что больше понравится. Но это — тема уже для другой статьи. Сегодня у нас разговор только про высшие битрейты. Да, LQT дает хорошее качество, но отнюдь не супер. По всей видимости, здесь сказывается недостаток скорости потока, то есть, если в LQT появится режим большего битрейта, он побьет даже 320 кбит/с MP3 на записях типа исследуемой.

Это были мои чисто субъективные впечатления. Давайте теперь перейдем к более объективным тестам. Исследуем АЧХ (то есть амплитудно-частотную характеристику ) семплов, признанных лучшими (320 для MP3, 315 для OGG и 230 для LQT). Представленная диаграмма — так называемый "сонарм" — частотно-временное представление звука. По горизонтали располагается шкала времени, по вертикали — линейная шкала частот.

Внимательно присмотрелись? Вот вам и ясное подтверждение моих слов: новейший формат Ogg Vorbis в режиме 256 явно недотягивает "по верхам" — урезание частот видно невооруженным взглядом. "Супер коммерческий" формат LQT передает диапазон частот по верхам вроде как даже лучше, чем LAME, но общее качество хуже. Дело в том, что в LQT нет режима чистого стерео — там, по сути, всегда Joint-Stereo (кодер сначала сжимает левый канал, а потом кодирует только разницу между левым и правым). Из-за этого и происходит размазка верхов при недостатке битрейта, что прекрасно видно на иллюстрациях, плюс сие заключение легко подтверждается исследованием сигнала в MS-матрице, т.е. при переводе его в режим центральный канал + стерео. Что можно сказать про семпл LAME… все просто замечательно — чуть-чуть урезаются верхние частоты, но это терпимо; видимых провалов также не отмечено.

Подытожим. На финишной прямой для семпла Roxette форматы OGG на 256 кбит/с и LQT сошли с дистанции, семпл OGG на 350 кбит/с не уступает лидеру. Однако не будем хоронить новый формат раньше времени — подождем релиза. Вот тогда уже и проведем тесты еще раз: OGG 256 против LAME 320.

Семплы Richard Clayderman

C семплами Roxette вроде все понятно — плотный звук пока лучше сжимать кодером LAME в режиме 320 кбит/с. А как насчет более прозрачного звука? Попробуем сначала сжать в режиме 256 кбит/с и все, по идее, должны бы быть довольны. Результат: низкие частоты вроде на месте, да и средние тоже, а вот верхние частоты… не стало верхних частот! Они есть, но в них не осталось того красивого звучания, не обратить внимание на которое в данной записи очень сложно. Высокие частоты в целом на месте и сильных потерь нет, однако звук "тарелок" стал какой-то синтетический, резкий и весьма неприятный. Такой звук не имеет права претендовать на звание качественного. Что ж, придется снова использовать 320, а ведь как хотелось сжать в 256… Если сравнивать 320 со звучанием 256, передача верхних частот стала значительно лучше. Однако, при сравнении с оригиналом, слышно, что запись по-прежнему не является удовлетворительной в плане качества. После сравнения еще нескольких семплов, становится очевидно, что это погрешности психоакустической модели. Даже в 320 кбит/с MP3 не передает нормально верхние частоты на исследуемом типе записей. Верхние частоты становятся более резкими, металлическими, от них так и веет синтетикой и, как ни странно, они кажутся более громкими (измерения АЧХ этого не демонстрируют — чисто слуховой эффект).

Исследуем теперь Ogg Vorbis. Как и в предыдущем тесте, берем семплы, сжатые в режиме 256 кбит/с. После неудачи с MP3 сложно поверить в полученный результат — звучание Ogg Vorbis лучше по всем параметрам и не идет ни в какое сравнение с тем, что выдает LAME на 320 кбит/с! Сравнивая с оригиналом, также очень сложно найти разницу. Ogg Vorbis на битрейте 287 побил LAME на битрейте 320. Именно об этом я и говорил в начале статьи: формат OGG вполне может победить MP3.

Хорошо, а что нам может сказать титулованный формат LQT на битрейте всего в 252? Но и здесь получается шокирующий результат — чрезвычайно близкое соответствие оригиналу! По-крайней мере, разница настолько мала, что можно считать ее несущественной. Еще, обратите внимание на интересный факт: при кодировании семплов Roxette средний битрейт получался порядка 230 кбит/с, а на, казалось бы, более простых семплах Clayderman — 250 кбит/с. Это говорит о том, что LQT значительно лучше адаптирован под реальное звучание музыки, в нем более точно учитываются все нюансы. Великолепный формат. Вот ему бы нормальный кодер без выкрутасов и битрейт чуть-чуть повыше, чтобы смог кодировать более сложные семплы.

Это были мои субъективные "слуховые" исследования. Теперь посмотрим на АЧХ.

И снова анализ АЧХ сигналов только подтверждает мои выводы по результатам прослушивания: LQT выдает просто выдающийся результат, на сей раз лучше LAME. Прекрасная передача частотного диапазона, а потери на уровне 21 кГц это удаленный высокочастотный шум, что даже приветствуется. LAME отстает, но не сильно. Как и ожидалось, с передачей частотного диапазона у MP3 все нормально. А вот АЧХ семпла Ogg Vorbis принесло разочарование: посмотрите, какое урезание частот. Но звучит он лучше, чем можно было бы подумать, взглянув на его АЧХ. По всей видимости, за счет урезания некоторых частот получается возможным более точно передать общую звуковую картину.

И что же мы получаем в итоге? Два лидера: LAME и LQT на максимальном битрейте. OGG очень сильно наступает на пятки MP3 и победит в дальнейшем, если его разработчики доведут свою идею до финального воплощения: меньший размер и лучшее качество.

Исследование дельта-сигналов

Формат MP3 за счет высокого битрейта лучше на большинстве записей. Однако он сдает позиции, когда мы имеем дело с очень качественным звуком. Здесь LQT — абсолютный фаворит. Но разница между 256 и 320 не такая уж и большая, поэтому ею чаще всего можно поступиться ради более удобного и распространенного формата. Многие, да и я в том числе, так и делают в своей фонотеке, а особо качественные записи просто покупают на дисках.

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

Громкость разностного сигнала доходит до -25дБ, а его АЧХ внешне сильно напоминает широкополосный шум. Если прослушать дельта-сигнал, он звучит как широкополосный набор искажений, т.е. в нем явно слышна разница психоакустических моделей MP3 и LQT.

Сравнив по той же схеме MP3 с форматом OGG, ничего нового не получили (разница, конечно, меньше, но она все же значительная):

Аналогичные результаты получаются и для пары LQT и OGG.

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

Заключение

Что ж, попытаемся сделать некоторые окончательные выводы, представив их в виде практических рекомендаций:

  1. LAME — лучший представитель кодеров формата MP3, выдает практически максимум того, что можно получить из MP3. Для всех очень громких и "плотных" записей я бы рекомендовал использовать LAME на 320.
  2. OGG — некоторая структурная модификация формата MP3 с новой психоакустической моделью, математическая обработка и практическая реализация которой в корне отличается от MP3. Для малоценных и низкокачественных записей пойдет OGG в режиме 192 кбит/с (либо LQT в режиме 128 Transparent, в среднем получается 160-180 кбит/с).
  3. В отличие от MP3 и OGG, которые являются представителями кодеров формата MPEG-1, формат LQT базируется на спецификации MPEG-2 AAC. Формат AAC передает значительно лучшее качество на более низких битрейтах за счет принципиально другой обработки звука. Для записей средней ценности рекомендую LQT (на максимуме), либо на выбор (разница между ними невелика): OGG в режиме 256 кбит/с, LAME на 256. VBR режим кодера LAME лучше не использовать, он заметно хуже.
  4. Для очень качественных записей, на которых даже при кодировании в 320 кбит/с ясно слышно отсутствие чего-либо значительного в звучании семпла, попробовать закодировать семпл кодером Ogg Vorbis на 350 кбит/с.
  5. Если сжатый с потерями звук Вас всё-таки не устроит, придется покупать понравившиеся композиции на CD-DA диске.

Возможно, какая-то часть статьи Вас заинтересовала в большей степени. Пишите мне — буду очень рад отзывам.

Формат сжатия звука MP3

MPEG-1 Audio Layer 3 Расширение файла: .mp3 Тип MIME: audio/mpeg Тип формата: Audio

MP3 (более точно, англ. MPEG-1/2/2.5 Layer 3 (но не MPEG-3) - третий формат кодирования звуковой дорожки MPEG) - лицензируемый формат файла для хранения аудио-информации.

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

В формате MP3 используется алгоритм сжатия с потерями, разработанный для существенного уменьшения размера данных, необходимых для воспроизведения записи и обеспечения качества воспроизведения очень близкого к оригинальному (по мнению большинства слушателей), хотя меломаны говорят об ощутимом различии. При создании MP3 со средним битрейтом 128 кбит/с в результате получается файл, размер которого примерно равен 1/10 от оригинального файла с аудио CD. MP3 файлы могут создаваться с высоким или низким битрейтом, который влияет на качество файла-результата. Принцип сжатия заключается в снижении точности некоторых частей звукового потока, что практически неразличимо для слуха большинства людей. Данный метод называют кодированием восприятия. При этом на первом этапе строится диаграмма звука в виде последовательности коротких промежутков времени, затем на ней удаляется информация не различимая человеческим ухом, а оставшаяся информация сохраняется в компактном виде. Данный подход похож на метод сжатия, используемый при сжатии картинок в формат JPEG.

MP3 разработан рабочей группой института Фраунгофера (нем. Fraunhofer-Institut f?r Integrierte Schaltungen) под руководством Карлхайнца Бранденбурга и университета Эрланген-Нюрнберг в сотрудничестве с AT&T Bell Labs и Thomson (Джонсон, Штолл, Деери и др.).

Основой разработки MP3 послужил экспериментальный кодек ASPEC (Adaptive Spectral Perceptual Entropy Coding). Первым кодировщиком в формат MP3 стала программа L3Enc, выпущенная летом 1994 года. Спустя один год появился первый программный MP3-плеер - Winplay3.

При разработке алгоритма тесты проводились на вполне конкретных популярных композициях. Основной стала песня Сюзанны Веги «Tom"s Diner». Отсюда возникла шутка, что «MP3 был создан исключительно ради комфортного прослушивания любимой песни Бранденбурга», а Вегу стали называть «мамой MP3».


Описание формата

В этом формате звуки кодируются частотным образом (без дискретных партий); есть поддержка стерео, причём в двух форматах (подробности - ниже). MP3 является форматом сжатия с потерями, то есть часть звуковой информации, которую (согласно психоакустической модели) ухо человека воспринять не может или воспринимается не всеми людьми, из записи удаляется безвозвратно. Степень сжатия можно варьировать, в том числе в пределах одного файла. Интервал возможных значений битрейта составляет 8 - 320 кбит/c. Для сравнения, поток данных с обычного компакт-диска формата Audio-CD равен 1411,2 кбит/c при частоте дискретизации 44100 Гц.

MP3 и «качество Audio-CD»

В прошлом было распространено мнение, что запись с битрейтом 128 кбит/c подходит для музыкальных произведений, предназначенных для прослушивания большинством людей, обеспечивая качество звучания Audio-CD. В действительности всё намного сложнее. Во-первых, качество полученного MP3 зависит не только от битрейта, но и от кодирующей программы (кодека) (стандарт не устанавливает алгоритм кодирования, только описывает способ представления). Во-вторых, помимо превалирующего режима CBR (Constant Bitrate - постоянный битрейт) (в котором, проще говоря, каждая секунда аудио кодируется одинаковым числом бит) существуют режимы ABR (Average Bitrate - усредненный битрейт) и VBR (Variable Bitrate - переменный битрейт). В-третьих, граница 128 кбит/c является условной, так как она была «изобретена» в эпоху становления формата, когда качество воспроизведения звуковых плат и компьютерных колонок как правило было ниже, чем в настоящее время.

На данный момент наиболее часто встречаются MP3 файлы с битрейтом 192 кбит/c, что может косвенно говорить о том, что большинство считает этот битрейт достаточным. Реально воспринимаемое «качество» зависит от исходного аудиофайла, слушателя и его аудиосистемы. Некоторые меломаны предпочитают сжимать музыку с «максимальным качеством» - 320 кбит/c, либо даже переходить на другие форматы, например FLAC, где битрейт в среднем ~1000 кбит/c. Также среди меломанов бытует мнение, что некоторые сэмплы (фрагменты аудиозаписи) не поддаются качественному сжатию с потерями: на всех возможных битрейтах не составляет особого труда отличить сжатое аудио от оригинала.

Режимы кодирования и опции

Существует три версии MP3 формата для различных нужд: MPEG-1, MPEG-2 и MPEG-2.5. Отличаются они возможными диапазонами битрейта и частоты дискретизации:

* 32-320 кбит/c при частотах дискретизации 32000 Гц, 44100 Гц и 48000 Гц для MPEG-1 Layer 3;

* 16-160 кбит/c при частотах дискретизации 16000 Гц, 22050 Гц и 24000 Гц для MPEG-2 Layer 3;

* 8-160 кбит/c при частотах дискретизации 8000 Гц и 11025 Гц для MPEG-2.5 Layer 3.

Режимы управления кодированием звуковых каналов

Так как формат MP3 поддерживает двухканальное кодирование (стерео), существует 4 режима:

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

* Моно - одноканальное кодирование. Если закодировать двухканальный материал этим способом, различия между каналами будут полностью стёрты, так как два канала смешиваются в один, он кодируется и он же воспроизводится в обоих каналах стереосистемы. Единственным плюсом данного режима может являться только выходное качество по сравнению с режимом Стерео при одинаковом битрейте, так как на один канал приходится вдвое большее количество бит, чем в режиме Стерео.

* Двухканальный - два независимых канала, например звуковое сопровождение на разных языках. Битрейт делится на два канала. Например, если заданный битрейт 192 кбит/c, то для каждого канала он будет равен только 96 кбит/c.

* Объединённое стерео (Joint Stereo) - оптимальный способ двухканального кодирования. Например, в одном из режимов Объединённое стерео левый и правый каналы преобразуются в их сумму (L+R) и разность (L-R). Для большинства звуковых файлов насыщеность канала с разностью (L-R) получается намного меньше канала с суммой (L+R). Также тут свою роль играет восприятие звука человеком, для которого различия в направлении звука намного менее примечательны. Поэтому Объединённое стерео позволяет либо сэкономить на битрейте канала (L-R) или улучшить качество на том же битрейте, поскольку на канал суммы (L+R) отводится бо?льшая часть битрейта. Бытует мнение, что данный режим не подходит для звукового стереоматериала, в котором в двух каналах воспроизводится субъективно абсолютно различный материал, так как он стирает различия между каналами. Но современные кодеки используют различные схемы в разных фреймах (включая чистое стерео) в зависимости от исходного сигнала.

CBR расшифровывается как Constant Bit Rate, то есть Постоянный битрейт, который задается пользователем и не изменяется при кодировании произведения. Таким образом каждой секунде произведения соответствует одинаковое количество закодированных бит данных (даже при кодировании тишины). CBR может быть полезен для потоков мультимедиа данных по ограниченному каналу; в таком случае кодирование использует все возможности канала данных. Для хранения данный режим кодирования не является оптимальным, так как он не может выделить достаточно места для сложных отрезков исходного произведения, при этом бесполезно тратя место на простых отрезках. Повышенные битрейты (выше 256 кбит/c) могут решить данную проблему, выделив больше места для данных, но зато и пропорционально увеличивая размер файла.

VBR расшифровывается как Variable Bit Rate, то есть Варьирующийся Битрейт или Переменный Битрейт, который динамически изменяется программой-кодером при кодировании, в зависимости от насыщенности кодируемого аудиоматериала и установленного пользователем качества кодирования (например, тишина закодируется с минимальным битрейтом). Этот метод MP3-кодирования является самым прогрессивным и до сих пор развивается и улучшается, так как аудиоматериал разной насыщенности может быть закодирован с определенным качеством, которое обычно выше, чем при установке среднего значения в методе CBR. Плюс к тому, размер файла уменьшается за счет фрагментов, не требующих высокого битрейта. Минусом данного метода кодирования является сложность предсказания размера выходного файла. Но этот недостаток VBR-кодирования незначителен в сравнение с его достоинствами. Также минусом является то, что VBR считает «незначительной» звуковой информацией более тихие фрагменты, таким образом получается, что если слушать очень громко, то эти фрагменты будут некачественными, в то время как CBR делает с одинаковым битрейтом и тихие, и громкие фрагменты. Формат VBR постоянно улучшается, благодаря постоянному совершенствованию математической модели кодеков, в частности после выхода обновленной версии свободного mp3-кодека lame (версия 3.98), кодирование с переменным битрейтом, по заявлению самих разработчиков, качественно лучше CBR и тем более ABR.

ABR расшифровывается как Average Bit Rate, то есть Усредненый Битрейт, который является гибридом VBR и CBR: битрейт в кбит/c задается пользователем, а программа варьирует его, постоянно подгоняя под заданный битрейт. Таким образом, кодер будет с осторожностью использовать максимально и минимально возможные значения битрейта, так как рискует не вписаться в заданный пользователем битрейт. Это является явным минусом данного метода, так как сказывается на качестве выходного файла, которое будет немного лучше, чем при использовании CBR, но намного хуже, чем при использовании VBR. С другой стороны, этот метод позволяет наиболее гибко задавать битрейт (может быть любым числом между 8 и 320, против исключительно кратных 16 чисел метода CBR) и вычислять размер выходного файла.

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

Недостатки

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

Юридические ограничения. Для свободного использования формата существуют патентные ограничения. Компания Alcatel-Lucent обладает правами на MP3 и получает отчисления от тех, кто использует этот формат - производителей плееров и мобильных телефонов. Из-за этого лицензионная чистота формата под вопросом. В частности, Alcatel-Lucent предъявила претензии компании Microsoft за то, что в Windows была встроена поддержка MP3. Однако срок действия патентов на технологию заканчивается в 2010 году, после чего любая компания сможет использовать её свободно.

Форматы - Форматы сжатия звука

FLAC (англ. Free Lossless Audio Codec - свободный аудио-кодек без потерь) - популярный свободный кодек для сжатия аудио. В отличие от кодеков с потерями Ogg Vorbis, MP3, FLAC не удаляет никакой информации из аудиопотока и подходит как для прослушивания музыки на высококачественной звуковоспроизводящей аппаратуре, так и для архивирования аудиоколлекции. На сегодня формат FLAC поддерживается многими аудиоприложениями.

Аудиопоток

Основными частями потока являются:

* Строка из четырёх байтов «fLaC»

* Блок метаданных STREAMINFO

* Другие необязательные блоки метаданных

* Аудио фреймы

Первые четыре байта идентифицируют поток FLAC. Следующие за ними метаданные содержат информацию о потоке, затем идут сжатые аудиоданные.

Метаданные

FLAC определяет несколько типов блоков метаданных (все они перечислены на странице формата). Блоки метаданных могут быть любого размера, новые блоки могут быть легко добавлены. Декодер имеет возможность пропускать неизвеcтные ему блоки метаданных. Обязателен только блок STREAMINFO. В нём содержится частота дискретизации, количество каналов и т. п., а также данные, позволяющие декодеру настроить буферы. Сюда также записывается подпись MD5 несжатых аудиоданных. Это полезно для проверки всего потока после его передачи.

Другие блоки предназначены для резервирования места, хранения таблиц точек поиска, тегов, список разметки аудиодисков, а также данных для конкретных приложений. Опции для добавления блоков PADDING или точек поиска приведены ниже. FLAC не нуждается в точках поиска, однако они позволяют значительно увеличить скорость доступа, а также могут быть использованы для расстановки меток в аудио редакторах.

Аудиоданные

За метаданными следуют сжатые аудиоданные. Метаданные и аудиоданные не чередуются. Как и большинство кодеков, FLAC делит входной поток на блоки и кодирует их независимо друг от друга. Блок упаковывается во фрейм и добавляется к потоку. Базовый кодер использует блоки постоянного размера для всего потока, однако формат предусматривает наличие блоков разной длины в потоке.

Разбиение на блоки

Размер блока - очень важный параметр для кодирования. Если он очень мал, то в потоке будет слишком много заголовков фреймов, что уменьшит уровень сжатия. Если размер большой, то кодер не сможет подобрать эффективную модель сжатия. Понимание процесса моделирования поможет Вам увеличить уровень сжатия для некоторых типов входных данных. Обычно при использовании линейного прогнозирования на аудиоданных с частотой дискретизации 44.1 кГц оптимальный размер блока лежит в диапазоне 2-6 тысяч сэмплов.

Межканальная декорреляция

Если на вход поступают стерео аудиоданные, они могут пройти через стадию межканальной декорреляции. Правый и левый канал преобразуются к среднему и разностному по формулам: средний = (левый + правый)/2, разностный = левый - правый. В отличие от joint stereo этот процесс не приводит к потерям. Для данных с аудио компакт-дисков это обычно приводит к значительному увеличению уровня сжатия.

Моделирование

На следующем этапе кодер пытается аппроксимировать сигнал такой функцией, чтобы полученный после её вычитания из оригинала результат (называемый разностью, остатком, ошибкой) можно было закодировать минимальным количеством битов. Параметры функций тоже должны записываться, поэтому они не должны занимать много места. FLAC использует два метода формирования аппроксимаций:

* подгонка простого полинома к сигналу

* общее кодирование с линейными предикторами (LPC).

Во-первых, постоянное полиномиальное предсказание (-l 0) работает значительно быстрее, но менее точно, чем LPC. Чем выше порядок LPC, тем медленнее, но лучше будет модель. Однако с увеличением порядка выигрыш будет все менее значительным. В некоторой точке (обычно около 9) процедура кодера, определяющая наилучший порядок, начинает ошибаться и размер получаемых фреймов возрастает. Чтобы преодолеть это, можно использовать полный перебор, что приведёт к значительному увеличению времени кодирования.

Во-вторых, параметры для постоянных предикторов могут быть описаны тремя битами, а параметры для модели LPC зависят от количества бит на сэмпл и порядка LPC. Это значит, что размер заголовка фрейма зависит от выбранного метода и порядка и может повлиять на оптимальный размер блока.

Остаточное кодирование

Когда модель подобрана, кодер вычитает приближение из оригинала, чтобы получить остаточный (ошибочный) сигнал, который затем кодируется без потерь. Для этого используется то обстоятельство, что разностный сигнал обычно имеет распределение Лапласа и есть набор специальных кодов Хаффмана, называемый кодами Райса, позволяющий эффективно и быстро кодировать эти сигналы без использования словаря.

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

Составление фреймов

Аудиофрейму предшествует заголовок, который начинается с кода синхронизации и содержит минимум информации, необходимой декодеру для воспроизведения потока. Сюда также записывается номер блока или сэмпла и восьмибитная контрольная сумма самого заголовка. Код синхронизации, CRC заголовка фрейма и номер блока/сэмпла позволяют осуществлять пересинхронизацию и поиск даже в отсутствие точек поиска. В конце фрейма записывается его шестнадцатибитная контрольная сумма. Если базовый декодер обнаружит ошибку, будет сгенерирован блок тишины.

Чтобы поддерживать основные типы метаданных, базовый декодер умеет пропускать теги ID3v1 и ID3v2, поэтому их можно свободно добавлять. Теги ID3v2 должны располагаться перед маркером «fLaC», а теги ID3v1 - в конце файла.

Существуют модификации FLAC кодера: Improved FLAC encoder и Flake.

29 января 2003 г. Xiphophorus (сейчас называется Xiph.Org Foundation) анонсировали включение формата FLAC в линейку своих продуктов, таких, как Ogg Vorbis



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: