Как настроить смартфоны и ПК. Информационный портал

Принцип сжатия звука. Mp3 - технология сжатия звуковой информации

Формат сжатия звука 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

МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

СТАВРОПОЛЬСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ

Экономический факультет

Кафедра «Прикладная информатика»

САМОСТОЯТЕЛЬНАЯ

КОНТРОЛИРУЕМАЯ РАБОТА

по дисциплине «Мультимедиа»

Тема «Сжатие звуковой информации»

Выполнил:

студент группы 2ПО

Проверил:

доцент кафедры ПИ,

к. т.н., доцент

Ставрополь, 2011

СЖАТИЕ ЗВУКОВОЙ ИНФОРМАЦИИ

Общие сведения

При первичном кодировании в студийном тракте используется об равномерное квантование отсчетов звукового сигнала (ЗС) с разрешением ∆А=16...24 бит/отсчет при частоте дискретизации f = 44,1...96 кГц. В каналах студийного качества обычно

∆А =16 бит/отсчет, f = 48 кГц, полоса частот кодируемого звукового сигнала

∆F = 20...20000 Гц. Динамический диапазон так цифрового канала составляет около 54 дБ. Если f = 48 кГц и ∆А =16 бит/отсчет, то скорость цифрового потока при передаче одного такого сигнала равна V= 48x16 = 768 кбит/с. Это требует суммарной пропускной способности канал связи при передаче звукового сигнала форматов 5.1 (Dolby Digital) или 3/2 плюс канал сверхнизких частот (Dolby Surround, Dolby-Pro-Logic, Dolby THX) более 3,840 Мбит/с. Но человек способен своими органами чувств сознательно обрабатывать лишь около 100 бит/с информации. Поэтому можно говорить о присущей сущей первичным цифровым звуковым сигналам значительной избыточности

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

Статистическая избыточность обусловлена наличием корреляционной связи между соседними отсчетами временной функции звукового сигнала при его дискретизации. Для ее уменьшения применяют достаточно сложные алгоритмы обработки. При их использовании потери информации нет, однако исходный сигнал оказывается представленным в более компактной форме, что требует меньшего количества бит при его кодировании. Важно, чтобы все эта алгоритмы позволяли бы при обратном преобразовании восстанавливать исходные сигналы без искажений. Наиболее часто для этой цели используют ортогональные преобразования. Оптимальным с этой точки зрения является преобразование Карунена - Лоэва. Но его реализация требует существенных вычислительных затрат. Незначительно по эффективности ему уступает модифицированное дискретное косинусное преобразование (МДКП). Важно также, что для реализации МДКП разработаны быстрые вычислительные алгоритмы. Кроме того, между коэффициентами преобразования Фурье (к которому мы все привыкли) и коэффициентами МДКП существует простая связь, что позволяет представлять результаты вычислений в форме, достаточно хорошо согласующейся с работой механизмов слуха. Дополнительно уменьшить скорость цифрового потока позволяют также методы кодирования, учитывающие стати звуковых сигналов (например, вероятности появления уровней звукового нала разной величины). Примером такого учета являются коды Хаффмана где наиболее вероятным значениям сигнала приписываются более короткие кодовые слова, а значения отсчетов, вероятность появления которых мала кодируются кодовыми словами большей длины. Именно в силу этих двух причин в наиболее эффективных алгоритмах компрессии цифровых аудиоданных кодирование подвергаются не сами отсчеты ЗС, а коэффициенты МДКП, и для их кодирования используются кодовые таблицы Хаффмана. Заметим, что число таких таблиц достаточно велико и каждая из них адаптирована к звуковому сигналу определенного жанра.

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

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

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

Работы по анализу качества и оценке эффективности алгоритмов компрессии цифровых аудиоданных с целью их последующей стандартизации начались в 1988 году, когда была образована международная экспертная группа MPEG (Moving Pictures Experts Group). Итогом работы этой группы на первом этапе явилось принятие в ноябре 1992 года международного, стандарта MPEG 1 ISO/IEC 11172-3 (здесь и далее цифра 3 после номера стандарта относится к той его части, где речь идет о кодировании звуковых сигналов).

К настоящему времени достаточное распространение в радиовещании получили также еще нескольких стандартов MPEG, таких, как MPEG-2 ISO/IEC 13818-3, 13818-7 и MPEG-4 ISO/IEC 14496-3.

В отличие от этого в США был разработан стандарт Dolby АС-3 (ад/52) качестве альтернативны стандартам MPEG. Несколько позже четко сформировались две разные платформы цифровых технологий для радиовещания и телевидения - это DAB (Digital Audi o Broadcasting), DRM (Digital Radio Mondiale), DVB (с наземной DVB-T, кабельной DVB-C, спутниковой DVB-S разновидностями) и ATSC (Dolby АС-3). Первая из них (DAB, DRM) продвигается Европой, ATSC - США. Отличаются эти платформы, прежде всего, выбранным алгоритмом компрессии цифровых аудиоданных, видом цифровой модуляции и процедурой помехоустойчивого кодирования ЗС.

Несмотря на значительное разнообразие алгоритмов компрессии цифровых аудиоданных, структура кодера, реализующего такой алгоритм обработки сигналов, может быть представлена в виде обобщенной схемы, показанной на рис. 4.1. В блоке временной и частотной сегментации исходный звуковой сигнал разделяется на субполосные составляющие и сегментируется по времени, Длина кодируемой выборки зависит от формы временной функции звукового сигнала. При отсутствии резких выбросов по амплитуде используется так назы­ваемая длинная выборка, обеспечивающая высокое разрешение по частоте. В случае же резких изменений амплитуды сигнала длина кодируемой выборки резко уменьшается, что дает более высокое разрешение по времени. Решение об изменении длины кодируемой выборки принимает блок психоакустического анализа, вычисляя значение психоакустической энтропии сигнала. После сегментации субполосные сигналы нормируются, квантуются и кодируются. В наиболее эффективных алгоритмах компрессии кодированию подвергаются не сами отсчеты выборки ЗС, а соответствующие им коэффициенты МДКП.

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

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

Полосное кодирование и блок фильтров. Наилучшим методом к кодирования звука, учитывающим эффект маскирования, оказывается полосное кодирование. Сущность его заключается в следующем. Группа отсчетов входного звукового сигнала, называемая кадром, поступает на блок фильтров (БФ) который содержит, как правило, 32 полосовых фильтра. Учитывая сказанное pan критических полосах и маскировании, хорошо бы иметь в блоке фильтров полосы пропускания, по возможности совпадающие с критическими. Однако практическая реализация цифрового блока фильтров с неравными полосами достаточно сложна и оправдана только в устройствах самого высокого класса Обычно используется блок фильтров на основе квадратурно-зеркальных (W. ров с равными полосами пропускания, охватывающих с небольшим взаимным, перекрытием всю полосу слышимых частот (рис. 4.2). В этом случае полоса пропускания фильтра равна π/32T, а центральные частоты полос равны (2к + 1) π /64Т, где Т - период дискретизации;

к = 0,1,..., 31. При частоте дискретизации 48 кГц полоса пропускания секции фильтра составляет 750 Гц.

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

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

Квантование и распределение битов. Все вышеописанные операции не сокращали заметно объем данных, они были как бы подготовительным этапом к собственно сжатию звука. Как и при компрессии цифровых видеосигналов, основное сжатие происходит в квантователе. Исходя из принятых ПАМ решений о переквантовании отсчетов в отдельных частотных полосах, квантователь меняет шаг квантования таким образом, чтобы приблизить шум квантования данной полосе к вычисленному порогу маскирования. При этом на отсчет может понадобиться вместовсего 4 или 5 битов.

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

Возможны три стратегии распределения битов.

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

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

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

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

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

Семейство стандартов MPEG

MPEG расшифровывается как «Moving Picture Coding Experts Group», дословно - группа экспертов по кодированию подвижных изображений. MPEG ведет свою историю с января 1988 года. Начиная с первого собрания в мае 1988 года, группа начала расти, и выросла до очень большого коллектива специалистов. Обычно, в собрании MPEG принимают участие около 350 специалистов из более чем 200 компаний. Большая часть участников MPEG - это специалисты, занятые в тех или иных научных и академических учреждениях.

Стандарт MPEG-1

Стандарт MPEG-1 (ISO/IEC 11172-3) включает в себя три алгоритма различных уровней сложности: Layer (уровень) I, Layer II и Layer III. Общая структура процесса кодирования одинакова для всех уровней. Однако, несмотря схожесть уровней в общем подходе к кодированию, уровни различаются п левому использованию и внутренним механизмам. Для каждого уровня определен цифровой поток (общая ширина потока) и свой алгоритм декодирования MPEG-1 предназначен для кодирования сигналов, оцифрованных с частотой дискретизации 32, 44.1 и 48 КГц. Как было указано выше, MPEG-1 имеет три уровня (Layer I, II и Ш). Эти уровни имеют различия в обеспечиваемом коэффициенте сжатия и качестве звучания получаемых потоков. MPEG-1 нормирует для всех трех уровней следующие номиналы скоростей цифрового потока: 32, 48, 56, 64, 96, 112, 192, 256, 384 и 448 кбит/с, число уровней квантования входного сигнала - от 16 до 24. Стандартным входным ^гналом для кодера MPEG-1 принят цифровой сигнал AES/EBU (двухканальный цифровой звуковой сигнал с разрядностью квантованиябита на отчет) Предусматриваются следующие режимы работы звукового кодера:

■ одиночный канал (моно);

■ двойной канал (стерео или два моноканала);

■ joint stereo (сигнал с частичным разделением правого и левого каналов). Важнейшим свойством MPEG-1 является полная обратная совместимость всех трех уровней. Это означает, что каждый декодер может декодировать сигналы не только своего, но и нижележащих уровней.

В основу алгоритма Уровня I положен, разработанный компанией Philips для записи на компакт-кассеты, формат DCC (Digital Compact Cassette). Кодирование первого уровня применяется там, где не очень важна степень компрессии и решающими факторами являются сложность и стоимость кодера и декодера. Кодер Уровня I обеспечивает высококачественный звук при скорости цифрового потока 384 кбит/с на стереопрограмму.

Уровень II требует более сложного кодера и несколько более сложного декодера, но обеспечивает лучшее сжатие - «прозрачность» канала достигается уже при скорости 256 кбит/с. Он допускает до 8 кодирований/декодирований без заметного ухудшения качества звука. В основу алгоритма Уровня П положен популярный в Европе формат MUSICAM.

Самый сложный Уровень III включает все основные инструменты сжатия: полосное кодирование, дополнительное ДКП, энтропийное кодирование, усовершенствованную ПАМ. За счет усложнения кодера и декодера он обеспечивает высокую степень компрессии - считается, что «прозрачный» канал формируется на скорости 128 кбит/с, хотя высококачественная передача возможна и на более низких скоростях. В стандарте рекомендованы две психоакустические модели: более простая Модель 1 и более сложная, но и более высококачественная Модель 2. Они отличаются алгоритмом обработки отсчетов. Обе модели могут использоваться всех трех уровней, но Модель 2 имеет специальную модификацию для Уровня III.

MPEG -1 оказался первым международным стандартом цифрового сжатия звуковых сигналов и это обусловило его широкое применение во многих областях: вещании, звукозаписи, связи и мультимедийных приложениях. Наиболее широко используется Уровень II, он вошел составной частью в европейские спутникового, кабельного и наземного цифрового ТВ вещания, в стандарты звукового вещания, записи на DVD, Рекомендации МСЭ BS.1115 и J.52. Уровень III (его еще называют МР-3) нашел широкое применение в цифровых сетях с интегральным обслуживанием (ISDN) и в сети Интернет Подавляющее большинство музыкальных файлов в сети записаны именно в этом стандарте.

Кодер первого уровня. Рассмотрим более подробно работу кодера первого уровня (рис 4.4). Блок фильтров (БФ) обрабатывает одновременно 384 о счета звуковых данных и распределяет их с соответствующей субдискретизацией в 32 полосы, по 12 отсчетов в каждой полосе с частотой дискретизации 48/32 =1,5 кГц. Длительность кадра при частоте дискретизации 48 кГц составляет 8 мс. Упрощенная психоакустическая модель оценивает только частотное маскирование по наличию и «мгновенному» уровню компонентов сигнала в каждой полосе. По результатам оценки для каждой полосы назначается как можно более грубое квантование, но так, чтобы шум квантования не превышал порога маскирования. Масштабирующие множители имеют разрядность 6 бит и перекрывают динамический диапазон 120 дБ с шагом 2 дБ. В цифровом потоке передаются также 32 кода распределения битов. Они имеют разрядность 4 бита и указывают на длину кодового слова отсчета в данной полосе после переквантования.

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

Кодер второго уровня. В кодере второго уровня устранены основные недостатки базовой модели полосного кодирования, связанные с несоответствием критических полос слуха и реальных полос БФ, из-за чего в низкочастотных участках диапазона эффект маскирования практически не использовался. Величина кадра увеличена втрое, до 24 мс при дискретизации 48 кГц, одновременно обрабатываются уже 1152 отсчета (3 субкадра по 384 отсчета). В качестве входного сигнала для ПАМ используются не полосные сигналы с выхода БФ, а спектральные коэффициенты, полученные в результате 512-точечного преобразования Фурье входного сигнала кодера. Благодаря увеличению и временной длительности кадра и точности спектрального анализа эффективность работы ПАМ возрастает.

На втором уровне применен более сложный алгоритм распределения битов. Полосы с номерами от 0 до 10 обрабатываются с четырехразрядным кодом распределения (выбор любой из 15 шкал квантования), для полос с номерами от 11 до 22 выбор сокращается до 3 разрядов (выбор одной из 7 шкал), полосы с номерами от 23 до 26 предоставляют выбор одной из 3 шкал (двухбитовый код), а полосы с номерами от 27 до 31 (выше 20 кГц) не передаются. Если шкалы квантования, выбранные для всех блоков кадра, оказываются одинаковыми, то номер шкалы передается только один раз.

Еще одно существенное отличие алгоритма второго уровня в том, что не все масштабирующие множители передаются по каналу связи. Если различие множителей трех последовательных субкадров превышает 2 дБ не более чем в течение 10% времени, передается только один набор множителей и это дает экономию расходуемых битов. Если в данной полосе происходят быстрые изменения уровня звука, передаются два или все три набора масштабирующих множителей. Соответственно декодер должен запоминать номера выбранных писал квантования и масштабирующие множители и применять их при необходимости к последующему субкадру. Кодер третьего уровня. Кодер Уровня III использует усовершенствованный алгоритм кодирования с дополнительным ДКП.

Основной недостаток кодеров второго уровня - неэффективная обработка быстро изменяющихся переходов и скачков уровня звука – устраняется благодаря введению двух видов блоков ДКП - «длинного» с 18 отсчетами и «короткого» с 6 отсчетами. Выбор режима осуществляется адаптивно путем переключения оконных функций в каждой из 32 частотных полос. Длинные блоки обеспечивают лучшее частотное разрешение сигнала со стандартными характеристиками, в то время как короткие блоки улучшают обработку быстрых переходов. В одном кадре могут быть как длинные, так и короткие блоки, однако общее число коэффициентов ДКП не изменяется, так как вместо одного длинною передаются три коротких блока. Для улучшения кодирования применяются также следующие усовершенствования.

■ Неравномерное квантование (квантователь возводит отсчеты в степень 3/4 перед квантованием для улучшения отношения сигнал-шум; соответственно, декодер возводит их в степень 4/3 для обратной линеаризации).

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

■ Энтропийное кодирование квантованных коэффициентов кодом Хаффмана.

■ Наличие «резервуара битов» - запаса, который кодер создает в периоды стационарного входного сигнала.

Кодер третьего уровня более полно обрабатывает стереосигнал в формате joint stereo (MS Stereo). Если кодеры нижележащих уровней работают только в режиме кодирования по интенсивности, когда левый и правый каналы в полосах выше 2 кГц кодируются как один сигнал (но с независимыми масштабирующими множителями), кодер третьего уровня может работать и в режиме «сумма-разность», обеспечивая более высокую степень сжатия разностного канала. Стереосигнал раскладывается на средний между каналами и разностный. При этом второй кодируется с меньшей скоростью. Это позволяет несколько увеличить качество кодирования в обычной ситуации, когда каналы по фазе совпадают. Но это приводит и к резкому его ухудшению, если кодируются сигналы, по фазе не совпадающие, в частности, фазовый сдвиг практически всегда присутствует в записях, оцифрованных с аудиокассет, но встречается и на CD, особенно если сам CD был записан в свое время с аудиоленты.

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

■ Joint Stereo (MS/IS Stereo) вводит еще один метод упрощения стереосигнала, повышающий качество кодирования на особо низких скоростях. Состоит в том, что для некоторых частотных диапазонов оставляется уже даже не разностный сигнал, а только отношение мощностей сигнала в разных каналах. Понятно, что для кодирования этой информации употребляется еще меньшая скорость. В отличие от всех остальных, этот метод приводит к потере фазовой информации, но выгоды от экономии места в пользу среднего сигнала оказы­ваются выше, если речь идет об очень низких скоростях. Этот режим по умолчанию используется для высоких частот на скоростях от 96 кбит/с и ниже (другими качественными кодерами этот режим практически не используется). Но, как уже говорилось, при применении данного режима происходит потеря фазовой информации. Кроме того, теряется также любой противофазный сигнал.

■ Dual Channel - каждый канал получает ровно половину потока и кодируется отдельно как монофонический сигнал. Метод рекомендуется главным образом в случаях, когда разные каналы содержат принципиально разные сигналы, например, текст на разных языках. Данный режим устанавливается в некоторых кодерах по требованию.

■ Stereo - каждый канал кодируется отдельно, но кодер может принять решение отдать одному каналу больше места, чем другому. Это может быть полезно в том случае, когда после отброса части сигнала, лежащей ниже порога слышимости или полностью маскируемой код не полностью заполняет выделенный для данного канала объем, и кодер имеет возможность использовать это место для кодирования другого канала. Этим, например, избегается кодирование «тишины» в одном канале, когда в другом есть сигнал. Данный режим используется на скоростях выше 192 кбит/с. Он применим и на более низких скоростях порядка кбит/с.

Основные используемые кодеры III Уровня - кодеры от фирмы XingTech, кодеры от фирмы FhG IIS, и кодеры, основанные на исходном коде ISO.

Кодеры от XingTech не отличаются высоким качеством кодирования, но вполне подойдут для кодирования электронной музыки. Благодаря своей скорости они остаются идеальными кодерами для музыки, не требующей высокого качества кодирования.

Кодеры от FhG IIS известны наивысшим качеством кодирования на низких и средних скоростях, благодаря наиболее подходящей для таких скоростей психоакустичекой модели. Из консольных кодеров данной группы наиболее предпочтителен 13епс 2.61. Пока также используется кодер mр3епс 3.1, но последний никто всерьез не тестировал. Другие кодеры, такие, как Audio Active или МРЗ Producer, обладают значительными недостатками в основном из-за ограничения возможностей настройки и неразвитости интерфейса.

Остальные кодеры ведут свое происхождение от исходных кодов ISO. Существует два основных направления развития - оптимизация кода по скорости и оптимизация алгоритма по качеству. Первое направление наилучшим образом представлял кодер BladeEnc, в котором используется первоначальная модель ISO, но проведено много оптимизаций кода, а вторую модель представляет mpegEnc.

Кодер МР3Рго анонсирован в июле 2001 года компанией Coding Technologies вместе с Tomson Multimedia и институтом Fraunhofer. Формат МР3Рго является развитием III уровня (МРЗ). МР3Рго является совместимым с МРЗ назад (полностью) и вперед (частично), т. е. файлы, закодированные с помощью МР3Рго, можно воспроизводить в обычных проигрывателях. Однако качество звучания при этом заметно хуже, чем при воспроизведении в специальном проигрывателе. Это связано с тем, что файлы МР3Рго имеют два потока аудио, в то время как обычные проигрыватели распознают в них только один поток, т. е. обычный MPEG-1 Layer 3.

В МР3Рго использована новая технология - SBR (Spectral Band Replication). Она предназначена для передачи верхнего частотного диапазона. Дело в том, что предыдущие технологии использования психоакустических моделей имеют один общий недостаток: все они работают качественно, начиная со скорости 128 кбит/с. На более низких скоростях начинаются различные проблемы: либо для передачи звука необходимо обрезать частотный диапазон, либо кодирование приводит к появлению различных артефактов. Новая технология SBR дополняет использование психоакустических моделей. Передается (кодируется) чуть более узкий диапазон частот чем обычно (т. е. с обрезанными «верхами»), а верхние частоты воссоздаются (восстанавливаются) уже самим декодером на основе информации о более низких частотных составляющих. Таким образом, технология SBR применяется фактически не столько на стадии сжатия, сколько на стадии декодирования. Второй поток данных, о котором говорилось выше, как раз и есть та минимальная необходимая информация, которая используется при воспроизведении для восстановления верхних частот. Пока достоверно не известно, какую точно информацию несет этот поток, однако проведенные исследования показывают, что эта информация о средней мощности в нескольких полосах частот верхнего диапазона.

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

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

Предисловие

В понимании большинства людей слово меломан чаще всего ассоциируется с человеком, не просто любящим и коллекционирующим музыку, а еще и ценящим качественную музыку, причем не только в художественно-эстетическом плане, но еще и качество записи самой фонограммы. Подумать только, еще несколько лет назад эталоном качества музыки считался аудио компакт диск, компьютер же даже в мечтах не мог конкурировать с качеством 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 диске.

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

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

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

Статистические методы присваивают коды переменной длины звуковым сэмплам в соответствии с их частотностью. При 8-битном сэмплировании имеется всего 256 различных сэмплов, поэтому в большом звуковом файле сэмплу могут быть распределены равномерно. Такой файл не удастся хорошо сжать методом Хаффмана. При 16-битном сэмплировании допускается более 65000 звуковых фрагментов. В этом случае, возможно, что некоторые сэмплы будут встречаться чаще, а другие - реже. При сильной асимметрии вероятностей хороших результатов можно добиться с помощью арифметического кодирования.

Методы, основанные на словарном подходе, предполагают, что некоторые фразы будут встречаться часто на протяжении всего файла. Это происходит в текстовом файле, в котором отдельные слова или их последовательности повторяются многократно. Звук, однако, является аналоговым сигналом и значения конкретных сгенерированных сэмплов в большой степени зависит от работа АЦП. Например, при 8-битном сэмплировании, волна в 8 мВ становится числовым сэмплом, равным 2, но близкая ей волна, скажем, в 7.6 мВ или 8.5 мВ может стать другим числом. По этой причине, речевые фрагменты, содержащие совпадающие фразы и звучащие для нас одинаково, могут слегка отличаться при их оцифровывании. Тогда они попадут в словарь в виде разных фраз, что не даст ожидаемого сжатия. Таким образом, словарные методы не очень подходят для сжатия звука.

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

Идея подавления пауз заключается в рассмотрении малых сэмплов, как если бы их не было (то есть, они равны нулю). Такое обнуление будет порождать серии нулей, поэтому метод подавления пауз, на самом деле, является вариантом RLE, приспособленным к сжатию звука. Этот метод основан на особенности звукового восприятия, которое состоит в терпимости уха человека к отбрасыванию еле слышных звуков. Аудиофайлы, содержащие длинные участки тихого звука будут лучше сжиматься методом подавления пауз, чем файлы, наполненные громкими звуками. Этот метод требует участие пользователя, который будет контролировать параметры, задающие порог громкости для сэмплов. При этом необходимы еще два параметра, они не обязательно контролируются пользователем. Один параметр служит для определения самых коротких последовательностей тихих сэмплов, обычно, это 2 или 3. А второй задает наименьшее число последовательных громких сэмплов, при появлении которых прекращается тишина или пауза. Например, после 15 тихих сэмплов может последовать 2 громких, а затем 13 тихих, что будет определено как одна большая пауза длины 30, а аналогичная последовательность из 15, 3 и 12 сэмплов, станет двумя паузами с коротким звуком между ними.

Уплотнение основано на том свойстве, что ухо лучше различает изменения амплитуды тихих звуков, чем громких. Типичное АЦП звуковых карт компьютеров использует линейное преобразование при переводе напряжения в числовую форму. Если амплитуда была конвертирована в число , то амплитуда будет переведена в число . Метод сжатия на основе уплотнения сначала анализирует каждый сэмпл звукового файла и применяет к нему нелинейную функцию для сокращения числа бит, назначенных этому сэмплу. Например, при 16-битных сэмплах, кодер с уплотнением может применять следующую простую формулу

(6.1)

для сокращения каждого сэмпла. Эта формула нелинейно отображает 16-битные сэмплы в 15-битные числа интервала , причем маленькие (тихие) сэмплы меньше подвергаются искажению, чем большие (громкие). Табл. 6.7 иллюстрирует нелинейность этой функции. На ней показано 8 пар сэмплов, причем в каждой паре разность между сэмплами равна 100. Для первой пары разность между их образами равна 34, а разность между образами последней (громкой) пары равна 65. Преобразованные 15-битные числа могут быть приведены к исходным 16-битным сэмплам с помощью обратной формулы

. (6.2)

Разность

Разность

Табл. 6.7. Отображение 16-битных сэмплов в 15-битные числа.

Сокращение 16-битных сэмплов до 15-битных чисел не дает существенного сжатия. Лучшее сжатие получается, если в формулах (6.1) и (6.2) заменить число 32767 меньшим. Например, если взять число 127, то 16-битные сэмплы будут представлены 8-битными числами, то есть, коэффициент сжатия буде равен 0.5. Однако, декодирование будет менее аккуратным. Сэмпл 60100 будет отображен в число 113, а при декодировании по формуле (6.2) получится сэмпл 60172. А маленький 16-битный сэмпл 1000 будет отображен в 1.35, что после округления даст 1. При декодировании числа 1 получится 742, что сильно отличается от исходного сэмпла. Здесь коэффициент сжатия может быть параметром, непосредственно задаваемым пользователем. Это интересный пример метода сжатия, при котором коэффициент сжатия известен заранее.

На практике нет необходимости обращаться к уравнениям (6.1) и (6.2), поскольку результат отображения можно заранее приготовить в виде таблицы. Тогда и кодирование, и декодирование будут делаться быстро.

Уплотнение не ограничивается уравнениями (6.1) и (6.2). Более изощренные методы, такие как -правило и -правило, широко применяются на практике и входят во многие международные стандарты сжатия.

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

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

Сжатие звуковых данных

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

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

Как и в общем случае, различают сжатия звука без потерь, что делает возможным восстановление исходных данных без искажений, и сжатие с потерями, при котором такое восстановление невозможно. Алгоритмы сжатия с потерями дают большую степень сжатия, например audio CD может вместить не более часа «несжатой» музыки, при сжатии без потерь CD вместит почти 2 часа музыки, а при сжатии с потерями при среднем битрейте - 7-10 часов.

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

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

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

Наиболее распространенными форматами сжатия без потерь являются:
Free Lossless Audio Codec (FLAC), Apple Lossless , MPEG-4 ALS , Monkey"s Audio , и TTA .

Сжатие с потерями

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

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

Для осуществления маскировки сигнал из временной последовательности отсчетов амплитуды превращается в последовательность спектров звуков, в которых каждый компонент спектра кодируется отдельно. Для осуществления такого преобразования используются методы быстрого преобразования Фурье, МДКП, квадратурной-зеркальных фильтров или другие. Общий объем информации при таком перекодировании остается неизменным. Сжатие в определенной частотной области может заключаться в том, что замаскированные или нулевые компоненты не запоминаются вообще, или кодируются с меньшим разрешением. Например, частотные компоненты в до 200 Гц и более 14 кГц могут быть закодированы с 4-битной разрядностью, тогда как компоненты в среднем диапазоне - с 16 битной. Результатом такой операции станет кодирования со средней разрядностью 8-бит, однако результат будет значительно лучше, чем при кодировании всего диапазона частот с 8-битной разрядностью.

Однако очевидно, что перекодированные с низким разрешением фрагменты спектра уже не могут быть восстановлены в точности, и, таким образом, теряются безвозвратно.
Главным параметром сжатия с потерями является битрейт, определяющий степень сжатия файла и, соответственно, качество. Различают сжатия с постоянным битрейтом (англ. Constant BitRate - CBR), переменным битрейтом (англ. Variable BitRate - VBR) и усереденим битрейтом (англ. Average BitRate - ABR).

Наиболее распространенными форматами сжатия с потерями являются: AAC, ADPCM, ATRAC, Dolby AC-3, MP2, MP3, Musepack Ogg Vorbis, WMA и другие.

Формат сжатия звука 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 является условной, так как она была «изобретена» в эпоху становления формата, когда качество воспроизведения звуковых плат и компьютерных колонок как правило было ниже, чем в настоящее время.

Лучшие статьи по теме