Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Кратко об истории и характеристиках стандартов MPEG

Оформил: DeeCo

1. Введение
1.1. Феномен МРЗ
1.2. Что такое формат МРЗ
1.3. Качество записи МРЗ
1.4. Формат МРЗ и музыкальные компакт-диски
1.5. Работа со звукозаписями формата МРЗ
2. Основные понятия цифровой звукозаписи
2.1. Натуральное цифровое представление данных
2.2. Кодирование РСМ
2.3. Стандартный формат оцифровки звука
2.4. Параметры дискретизации
2.5. Качество компакт-диска
2.6. Объем звукозаписей
2.7. Формат WAV
3. Формат MP3
3.1. Сжатие звуковых данных
3.2. Сжатие с потерей информации
3.3. Ориентация на человека
3.4. Кратко об истории и характеристиках стандартов MPEG.
3.5. Что такое CBR и VBR?
3.6. Каковы отличия режимов CBR, VBR и ABR?
3.6.1. Вступление
3.6.2. CBR
3.6.3. ABR
3.6.4. VBR
3.7. Методы оценки сложности сигнала
3.7.1. Методы оценки сложности сигнала: метод 1 (VBR)
3.7.2. Методы оценки сложности сигнала: метод 2 (ABR / CBR)
3.8. Какие методы кодирования стерео информации используются в алгоритмах MPEG (и других)?
3.9. Какие параметры предпочтительны при кодировании MP3?
3.10. Какие альтернативные MPEG-1 Layer III (MP3) алгоритмы компрессии существуют?
4. Формат заголовка MP3-файлов
4.1. Таблица SAMPLE RATE
4.2. Таблица MODE EXTENSION
4.3. Таблица BIT RATE (kBit/s)
4.4. Описание инфоpмационного тэга
5. Литература
1.Введение

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

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

  Неужели этот рост можно связать с форматом МРЗ? Что можно получить, приобретая диск с записями в этом формате? Первый и главный выигрыш это громадная экономия в пространстве. Действительно, на обычный музыкальный компакт-диск помещается чуть больше часа звукозаписи. Для хранения ста часов музыки потребуется около 80 компакт-дисков. Для хранения 1000 часов музыки около 800 компакт-дисков, так что впору отводить для них отдельную комнату.

  Между тем, записи в формате МРЗ, представленные на одном компакт-диске, могут содержать в десять раз больше музыки, то есть 10-12 часов. В то время как музыкальные компакт-диски необходимо менять каждый час (конечно, если вы не собираетесь непрерывно слушать повторы одних и тех же мелодий), диск с записями МРЗ можно слушать целый день и ни одна из записей не повторится.

  Использование формата МРЗ представляет собой замечательный способ ведения коллекции звукозаписей. Основная проблема хранения звукозаписей с использованием компьютера - гигантский объем, занимаемый их файлами. Формат МРЗ десятикратно снижает этот объем, делая возможным хранение всей коллекции даже на жестком диске компьютера. При наличии устройства записи данных на компакт-диски можно также сформировать на этом носителе собственную подборку записей, обеспечивая, таким образом, еще более удобное их хранение.

  Но, конечно же, совершенно необязательно заниматься такими операциями самостоятельно. Как уже говорилось, сегодня в продаже "неофициально" появляются многочисленные тематические сборники записей в формате МРЗ. Если вас интересует какая-то конкретная область музыки, то вы почти наверняка найдете "на рынке" подходящий диск, содержащий нужные вам произведения. Проблемы могут возникнуть только из-за того, что популярный диск окажется уже проданным. 1.2.Что такое формат МРЗ

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

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

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

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

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

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

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

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

  За счет чего же формату МРЗ удается добиться столь значительной экономии в объеме создаваемого файла? Представьте себе, что производится запись оркестра, играющего на поле аэродрома, в то время как на нем постоянно садятся и взлетают реактивные самолеты. Расслышать игру оркестра при этом практически невозможно, но это не значит, что в полученной записи нельзя "обнаружить" музыку. Таким образом, слуховая система человека устроена так, что громкие звуки могут заглушать тихие и то же самое верно в отношении некоторых сочетаний частот, которые экранируют друг друга.

  Формат МРЗ обеспечивает десятикратную экономию как раз за счет того, что из записи выделяются и удаляются звуковые компоненты, которые все равно не будут распознаны слуховой системой человека. Сама по себе эта идея достаточно нетривиальна и не могла возникнуть случайно. Этот формат звукозаписи был создан группой MPEG, которая с конца 80-х годов и по сей день работает над стандартизацией форматов сжатия звуковой и видеоинформации, ориентируясь, в первую очередь, на передачу такой информации по компьютерным сетям.

  Таким образом, формат МРЗ был разработан более пяти лет назад и с тех пор постепенно пробивал себе дорогу, приобретая популярность и "обрастая" программными средствами для работы с ним и дополнительными возможностями. В частности, он приобрел средства для хранения сведений о данной записи (названия, имени исполнителя и т. д.) в том же самом файле. Это нетривиальная возможность, которая полностью отсутствует у всех других средств хранения звукозаписей, а также практически во всех других форматах звуковых файлов.

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

  Но за последний год формат МРЗ как явление вышел за те рамки, когда его можно было игнорировать и замалчивать. По всей видимости, мы в ближайшее время станем свидетелями его "официального" признания. 1.4.Формат МРЗ и музыкальные компакт-диски

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

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

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

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

  Что же нам нужно для работы на компьютере со звукозаписями в формате МРЗ? Неофициальный характер этого формата подтверждается еще и тем, что стандартные средства операционной системы Windows 9x ничего не знают о его существовании и не поддерживают возможности работы с ними. Иными словами, если, не имея на компьютере никаких дополнительных программ, вы получите в свое распоряжение файл в формате МРЗ, вы не сможете ни прослушать его, ни, тем более, выполнить какие либо иные операции.

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

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

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

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

  Этот факт оказался крайне болезненным для компаний, которые традиционно доминировали на музыкальном рынке. Эти фирмы не нашли ничего лучше, чем делать вид, что проблемы не существует, что и придало формату МРЗ некий оттенок неофициального, "хакерского" и "пиратского".

  Однако формат МРЗ так прочно закрепился в Сети, что сегодня трудно представить, какое событие способно поколебать его позиции. В Интернете можно найти как сами музыкальные записи, так и разнообразные программы, предназначенные для всех видов операций с ними, а также сведения о самом формате. 2.Основные понятия цифровой звукозаписи

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

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

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

  Одна из "цифровых" форм записи звуковых данных известна уже очень давно, с тех времен, когда не существовало никаких компьютеров. Это всем известная запись музыки при помощи нот. Такого рода запись активно применяется и сегодня (так называемый формат General MIDI, или просто MIDI) при использовании компьютера для создания электронной музыки.

  Фактически в таком случае в файл записываются не сами звуки, а правила их синтеза. Поэтому эту запись называют синтетической. Таким образом, можно добиться очень высокого качества звука, но ограничения, присущие этому методу, также очевидны. Синтетическая звукозапись не записывается, а конструируется. С ее помощью нельзя записать игру реального оркестра или пение, она также не имеет средств для записи естественной речи и вообще произвольных звуков, которые нельзя представить в виде набора простых стандартных звуковых единиц ("нот").

  Поэтому, более распространен натуральный способ цифровой записи звука, заключающийся в хранении самой формы звуковой волны, то есть, регистрации в цифровом виде изменения амплитуды звукового сигнала с течением времени. Это основной способ цифровой записи звука, так как в нем не делается различий в отношении того, какой именно звук записывается. Так можно записать и музыку, и речь, и прочие звуки: шумы, удары, звонки, шипение и так далее. Исходная форма волны, как уже говорилось, - непрерывная аналоговая величина, поэтому в ходе записи производится аналогово-цифровое преобразование. При воспроизведении звука требуется обратное, цифро-аналоговое преобразование. 2.2.Кодирование РСМ

  Метод натуральной цифровой записи звука называется РСМ (Pulse Code Modulation - импульсно-кодовая модуляция). Он заключается в том, что в ходе записи в течение каждой секунды многократно регистрируется текущая амплитуда звуковой волны. Некоторое значение амплитуды рассматривается как предельное, которое может быть представлено в звукозаписи. Ему соответствует максимальное целое число, которое "умещается" внутри соответствующего элемента данных. Текущее значение масштабируется относительно максимального и округляется до ближайшего целого числа. В результате получается как бы моментальный снимок звуковой волны. Вся звукозапись представляет собой последовательность таких "снимков".

  Терминология, используемая в компьютерной цифровой звукозаписи, не устоялась как в русском, так и в английском языке, что выражается в том, что одни и те же термины используются для обозначения совершенно разных понятий. Так, с помощью английского термина sample обозначают как отдельный "снимок" звуковой волны, так и всю временную последовательность таких снимков. На русском языке в том же смысле часто используют термин "сигнал". Сигнал обозначает отдельный снимок звуковой волны, а всю последовательность сигналов мы будем рассматривать как волновую форму (в соответствии с другим часто используемым английским термином waveform). 2.3.Стандартный формат оцифровки звука

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

  Тем самым, качество и особенности записи определяется параметрами аналогово-цифрового преобразования. Разрядность представления указывает, сколько битов выделяется для записи сигналов, то есть задает точность представления амплитуды звуковой волны. Например, при восьмиразрядной записи звука величина сигнала может изменяться от -127 до 127 (всего 255 значений), при шестнадцатиразрядной - от -32767 до 32767 (всего 65535 значений).

  От разрядности зависит отношение максимально возможной громкости звука к громкости шумового фона, появляющегося из-за неизбежных погрешностей дискретизации. Слуховая система человека способна воспринимать звуки, диапазон которых превышает 100 дБ (децибел). При восьмиразрядной записи представимый диапазон составляет 48 дБ, при шестнадцатиразрядной 96 дБ, что уже сравнимо с предельными возможностями человеческого слуха.

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

  Человеческое ухо способно слышать звук в частотном диапазоне примерно 15-20000 Гц. Существует правило, которое у нас называют теоремой Котельникова, а за рубежом - правилом Нюквиста, согласно которому частота дискретизации должна не менее чем вдвое превосходить максимальную частоту записываемого звука. Если это ограничение не выполнено, то при воспроизведении такой записи слышны звуки низкой частоты, которые отсутствовали в исходной звуковой волне.

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

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

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

  "Восстановленная" аналоговая форма из-за недостаточной частоты дискретизации содержит значительно меньше колебаний, чем исходная волна.

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

  Чтобы обеспечить передачу всего диапазона частот, воспринимаемых человеческим ухом, частота дискретизации должна превышать 40000 Гц. В качестве стандарта, с учетом создания небольшого запаса и других дополнительных соображений была выбрана частота в 44,1 кГц. При использовании 16 разрядов для записи отдельных сигналов примерно обеспечивается необходимый динамический диапазон. При стереозаписи отдельно регистрируются левый и правый каналы.

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

  По известным параметрам дискретизации можно определить объем пространства, который нужен для хранения такой цифровой записи. Действительно, один сигнал занимает 4 байта (по 2 байта на стереоканал), а в секунду делается 44100 снимков звуковой волны. Перемножая, получаем, что на секунду записи требуется 44100*4 = 176400 байт, или примерно 172 Кбайт. Отсюда легко получить, что 1 минута записи требует около 10 Мбайт дискового пространства. Отдельное произведение (например, песня) продолжительностью не более нескольких минут требует дискового пространства в несколько десятков мегабайт. Это серьезная проблема, затрудняющая хранение больших архивов звукозаписей.

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

  Получаемые форматы (частота дискретизации 11025 или 22050 Гц и восьмиразрядное монофоническое представление) носят название "качество телефонной связи" и "качество радиопередачи" и вполне пригодны в тех случаях, когда записываются немузыкальные звуки. Однако для передачи записей по компьютерным сетям (например, через Интернет) и такие форматы оказываются не слишком удовлетворительными. 2.7.Формат WAV

  В операционной системе Windows 9х стандартным файловым форматом, который используется для хранения волновых форм, является формат WAV (Здесь и в дальнейшем мы будем часто обозначать форматы стандартным расширением имени соответствующих файлов). Этот формат допускает хранение как моно, так и стереозаписей, причем созданных с использованием различных параметров дискретизации. Файл в этом формате содержит как собственно звуковые данные (сигналы), так и информацию об использованных параметрах. 3.Формат MP3

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

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

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

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

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

  Наиболее распространенным алгоритмом такого сжатия является алгоритм ADPCM (Adaptive Differential Pulse Code Modulation - адаптивная разностная импульсно-кодовая модуляция). Он основан на том, что, в среднем, величина амплитуды звуковой волны мало меняется от одного сигнала к следующему, особенно в музыкальной записи. Поэтому, если хранить не сами сигналы, а разности между текущим и предыдущим сигналами, можно рассчитывать на то, что для хранения нужных данных потребуется меньше битов, чем при записи полного сигнала. Существует несколько вариантов сжатия ADPCM, предложенного разными производителями, но все они обеспечивают сжатие примерно в 4 раза, сопровождающееся незначительным ухудшением качества звучания. 3.3.Ориентация на человека

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

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

  При использовании формата МРЗ достигается степень сжатия в 10-12 раз. Подробнее мы поговорим об этом формате несколько позже. 3.4.Кратко об истории и характеристиках стандартов MPEG.

  MPEG расшифровывается как "Moving Picture Coding Experts Group", дословно - "Группа экспертов по кодированию подвижных изображений". MPEG ведет свою историю с января 1988 года. Точнее, группа MPEG была создана Международной организацией стандартов (International Standards Organization или сокращенно ISO) и Международной электротехнической комиссией (International Electro-Technical Commission или сокращенно IEC). Группа была образована для создания стандартов кодирования подвижных изображений и аудио информации. Начиная с первого собрания в мае 1988 года группа начала расти и выросла до необычайно плотной группы специалистов. Обычно, в собрании MPEG принимают участие около 350 специалистов из более чем 200 компаний. Встречи проводятся около трех раз в году. Большая часть участников MPEG - это индивидуальные специалисты, занятые в тех или иных научных и академических учреждениях. Это из области истории. Теперь о практике. На сегодняшний день MPEG разработаны следующие стандарты и алгоритмы:

  1) MPEG-1 (ноябрь 1992) - стандарт кодирования, хранения и декодирования подвижных изображений и аудио информации. Этот комплект, в соответствии со стандартами ISO, включает в себя три алгоритма различного уровня сложности: Layer (уровень) I, Layer II и Layer III. Общая структура процесса кодирования одинакова для всех уровней. Для каждого уровня определен свой формат записи бит-потока и свой алгоритм декодирования. Алгоритмы MPEG основаны в целом на изученных свойствах восприятия звуковых сигналов слуховым аппаратом человека (то есть кодирование производится с использованием так называемой "психоакустической модели").

  Кратко об алгоритме кодирования. Входной цифровой сигнал сначала раскладывается на частотные составляющие спектра. Затем этот спектр очищается от заведомо неслышных составляющих - низкочастотных шумов и наивысших гармоник, то есть фактически фильтруется. На следующем этапе производится значительно более сложный психоакустический анализ слышимого спектра частот. Это делается в том числе с целью выявления и удаления "замаскированных" частот (частот, которые не воспринимаются слуховым аппаратом в виду их приглушения другими частотами). После всех этих манипуляций из цифрового аудио сигнала исключается больше половины информации. Затем, в зависимости от уровня сложности используемого алгоритма, может быть также произведен анализ предсказуемости сигнала. Кроме этого, базируясь на том, что человеческое ухо способно различать направление звучания только средних частот, то в случае, когда кодируется стерео сигнал, его можно превратить в совмещенный стерео (joint stereo). Это значит, что фактически происходит отделение верхних и нижних частот и их кодирование в моно варианте (средние частоты остаются в режиме стерео). Далее, в случае появления, например, "тишины" в одном из каналов, "пустующее" место заполняется информацией либо повышающей качество другого канала, либо просто не поместившейся до этого. В довершение ко всему проводится сжатие уже готового бит-потока упрощенным аналогом алгоритма Хаффмана (Huffman), что позволяет также значительно уменьшить занимаемый потоком объем.

  Комплект MPEG-1 предусмотрен для кодирования сигналов, оцифрованных с частотой дискретизации 32, 44.1 и 48 КГц. Как было указано выше, комплект MPEG-1 имеет три уровня (Layer I, II и III). Эти уровни имеют различия в обеспечиваемом коэффициенте сжатия и качестве звучания получаемых потоков. Layer I позволяет сигналы 44.1 КГц / 16 бит хранить без ощутимых потерь качества при скорости потока 384 Кбит/с, что составляет 4-х кратный выигрыш в занимаемом объеме; Layer II обеспечивает такое же качество при 194 Кбит/с, а Layer III - при 128 (или 112). Выигрыш Layer III очевиден, но скорость компрессии при его использовании самая низкая (надо отметить, что при современных скоростях процессоров это ограничение уже не заметно). Фактически, Layer III позволяет сжимать информацию в 10-12 раз без ощутимых потерь в качестве.

  2) MPEG-2 (ноябрь 1994) - стандарт кодирования для цифрового телевидения. Стандарт MPEG-2 был специально разработан для кодирования ТВ сигналов вещательного телевидения, поэтому на рассмотрении MPEG-2 мы бы не останавливались, если бы в апреле 1997 этот комплект не получил "продолжение" в виде алгоритма MPEG-2 AAC (MPEG-2 Advanced Audio Coding - продвинутое аудио кодирование). Стандарт MPEG-2 AAC стал результатом кооперации усилий института Fraunhofer, компаний Sony, NEC и Dolby. MPEG-2 AAC является технологическим приемником MPEG-1. Существует несколько разновидностей этого алгоритма: Homeboy AAC, AT&T a2b AAC, Liquifier AAC, Astrid/Quartex AAC и Mayah AAC. Наиболее высокое качество звучания по сравнению c

  MPEG-1 Layer III обеспечивают две предпоследние реализации. Все приведенные разновидности алгоритма AAC не являются совместимыми между собой.

  Также, как и в комплекте аудио стандартов кодирования MPEG-1, в основе алгоритма AAC лежит психоакустический анализ сигнала. Вместе с тем, алгоритм AAC имеет в своем механизме множество дополнений, направленных на улучшение качества выходного аудио сигнала. В частности, используется другой тип преобразований, улучшена обработка шумов, изменен банк фильтров, а также улучшен способ записи выходного бит-потока. Кроме того, AAC позволяет хранить в закодированном аудио сигнале т.н. "водяные знаки"

  (watermarks) - информацию об авторских правах. Эта информация встраивается в бит-поток при кодировании таким образом, что уничтожить ее становится невозможно не разрушив целостность аудио данных. Эта технология (в рамках Multimedia Protection Protocol) позволяет контролировать распространение аудио данных (что, кстати, является препятствием на пути распространения самого алгоритма и файлов, созданных с помощью него). Следует отметить, что алгоритм AAC не является обратно совместимым

  (NBC - non backwards compatible) с уровнями MPEG-1 не смотря на то, что он представляет собой продолжение (доработку) MPEG-1 Layer I, II, III.

  MPEG-2 AAC предусматривает три различных профиля кодирования: Main, LC (Low Complexity) и SSR (Scaleable Sampling Rate). В зависимости от того, какой профиль используется во время кодирования, изменяется время кодирования и качество получаемого цифрового потока. Наивысшее качество звучания (при самой медленной скорости компрессии) обеспечивает основной Main профиль. Это связано с тем, что профиль Main включает в себя все механизмы анализа и обработки входного потока. Профиль LC упрощен, что сказывается на качестве звучания получаемого потока, сильно отражается на скорости компрессии и, что более важно, декомпрессии. Профиль SSR также представляет собой упрощенный вариант профиля Main.

  Говоря о качестве звука, можно сказать, что поток AAC (Main) 96 Кбит/с обеспечивает качество звучания, аналогичное потоку MPEG-1 Layer III 128 Кбит/с. При компрессии AAC 128 Кбит/с, качество звучания ощутимо превосходит MPEG-1 Layer III 128 Кбит/с.

  3) MPEG-4 - стандарт для мультимедиа приложений: версия 1 (октябрь 1998) и версия 2 (декабрь 1999). Стандарт MPEG-4 - это особая статья. MPEG-4 не является просто алгоритмом сжатия, хранения и передачи видео или аудио информации. MPEG-4 - это новый способ представления информации,

  это объектно-ориентированное представление мультимедиа данных. Стандарт оперирует объектами, организует из них иерархии, классы и прочее, выстраивает сцены и управляет их передачей. Объектами могут служить как обычные аудио или видео потоки, так и синтезированные аудио и графические данные (речь, текст, эффекты, звуки...). Такие сцены описываются на специальном языке. Не будем останавливаться подробно на этом стандарте - это тема отдельного обширного обсуждения. Следует только сказать, что в качестве средств компрессии аудио в MPEG-4 используется комплекс нескольких стандартов аудио кодирования: алгоритм MPEG-2 AAC, алгоритм TwinVQ, а также алгоритмы кодирования речи HVXC (Harmonic Vector eXcitation Coding) для битрейтов 2-4 Кбит/с и CELP (Code Excited Linear Predictive) - для битрейтов 4-24 Кбит/с. Кроме того, MPEG-4 имеет множество механизмов обеспечения масштабируемости.

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

  Для удобства обращения со сжатыми потоками, все алгоритмы MPEG разработаны таким образом, что позволяют осуществлять декомпрессию (восстановление) и воспроизведение потока одновременно с его получением (download) - потоковая декомпрессия "на лету" (stream playback). Эта возможность очень широко используются в Интернет, где скорость передачи информации ограничена, а с использованием подобных алгоритмов появляется возможность обрабатывать информацию прямо во время ее получения, не дожидаясь окончания передачи. 3.5.Что такое CBR и VBR?

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

  CBR (Constant Bit Rate - постоянный битрейт) - это такой способ кодирования исходного аудио потока, при котором все его блоки (фреймы) кодируются с одинаковыми параметрами (с одинаковым битрейтом). Иными словами, битрейт на всей протяженности (всех фреймов) результирующего потока является постоянным.

  VBR (Variable Bit Rate - переменный битрейт) - это такой способ кодирования исходного аудио потока, при котором каждый отдельный блок (фрейм) кодируется со своим битрейтом. Выбор битрейта, оптимально подходящего для кодирования данного фрейма, осуществляется самим кодером путем анализа "сложности сигнала" в каждом отдельном фрейме. 3.6.Каковы отличия режимов CBR, VBR и ABR?

  Уточним две детали:

  1. Кодирование в MP3 происходит поблочно: кодируемый файл разбивается на фреймы (кадры) с одинаковым интервалом, каждый кадр кодируется и записывается в выходной поток; таким образом, выходной поток также имеет кадровую структуру.
  2. Фреймы могут быть закодированы не на любом битрейте, а только на одном из входящих в таблицу стандартных для MPEG1 Layer III битрейтов: 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320. Кодирование на любых промежуточных битрейтах ("freeformat") стандартом не предусмотрено.
3.6.1.Вступление

  Люди, использующие VBR в Lame, обычно аргументируют это фразой: "я хочу получать постоянное качество, а не постоянный битрейт". Действительно, ведь в музыке бывают простые пассажи, на которые вполне хватает и 128 Кбит/сек (например паузы между песнями), а бывают и сложные, на которых человек с хорошим слухом, хорошей аудио картой и прочей аудиоаппаратурой услышит дефекты компрессии даже на 320 Кбит/сек. На самом деле такой аргумент не совсем правомочен. 3.6.2.CBR

  Даже в режиме CBR, mp3-кодер может перераспределять биты во времени, выделяя большее или меньшее количество бит во время сложного или простого пассажей, что позволяет в целом улучшить качество звучания. Такое перераспределение бит делается за счёт так называемого резервуара бит: во время кодирования простых пассажей кодер тратит на них не весь заданный пользователем битрейт, а лишь около 90%, около 10% экономится в резервуаре для кодирования сложных мест (изначально резервуар пуст). При кодировании сложных пассажей кодер будет использовать все 100% указанного битрейта и добавлять дополнительные биты из резервуара (если таковые имеются, то есть если резервуар не пуст). К сожалению, в соответствии со стандартом, размер резервуара ограничен. Это означает, что если простой сигнал продолжается достаточно долго, резервуар накапливает свой объем до определенных максимально допустимых пределов и далее кодирование идёт уже с использованием всех 100% битрейта. И обратная ситуация: если сложный сигнал продолжается достаточно долго, из резервуара (постепенно) забираются все сэкономленные биты и далее кодирование идёт с использованием уже теперь всех 100% битрейта. 3.6.3.ABR

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

  Главное отличие ABR от CBR в том, что в CBR все фреймы обязаны быть одного размера (то есть битрейт для всех фреймов должен быть одинаков), в ABR же это ограничение снято, соответственно, существует возможность вместо стандартного весьма ограниченного по размеру резервуара использовать практически бесконечный "виртуальный" резервуар. Выглядит это приблизительно следующим образом.

  Механизм: Допустим, что пользователь указал режим ABR и определенный битрейт B (пользователь может указывать абсолютно любой битрейт от 32 до 320, даже не из стандартной сетки битрейтов, например можно указать в качестве желаемого среднего битрейта 129). Кодер принимает кусок аудио (фрейм), который необходимо закодировать. Таким же образом, как и в CBR, определяет его сложность (об этом мы поговорим ниже). Если пассаж сложный, то кодер также берёт на него больше битов, но уже не из резервуара (как в CBR), а просто-напросто увеличивая битрейт на необходимое количество ступеней (выбранный битрейт должен входить в сетку стандартных), создавая таким образом "виртуальный резервуар" (поднять битрейт здесь можно - это не CBR). Что значит "виртуальный резервуар"? Это просто: мы предположили, что указанного пользователем битрейта B кодеру мало, ему нужно K бит (K > B), тогда кодер подбирает такой минимальный стандартный битрейт N, при котором выполняется: N >= K (такой выбор битрейта мы и называем "виртуальный резервуар"). Затем происходит кодирование с помощью K бит взятого куска аудио. Однако N >= K, то есть мы использовали меньше бит, чем есть во взятом фрейме, так не будем же мы выбрасывать эти лишние биты? Вот эти лишние биты мы и записываем в уже настоящий резервуар. Так как в ABR есть возможность использовать "виртуальный резервуар" не имеет смысла строить стандартный резервуар, поэтому когда придет следующий кусок аудио, для его кодирования сначала будут использованы биты из резервуара, а потом кодер решит какой битрейт необходим дальше. Другими словами, если в CBR кодер все время старается накопить как можно больше бит в резервуаре, то в ABR кодер наоборот, старается избавиться от бит в резервуаре, так как копить их незачем - можно просто поднять битрейт.

  Простые пассажи кодируются меньшим количеством бит, на них берётся примерно 95% от указанного битрейта B, но теперь остаток не откладывается в резервуар, кодер просто берёт фрейм с меньшим битрейтом. Возникающая разница (оставшиеся биты) записывается в стандартный резервуар (не выбрасывать же оставшиеся биты...). Пример. Допустим, пришел "простой" пассаж. Тогда кодер берет все биты (если таковые есть) в резервуаре (настоящем), потом ищет ближайший стандартный битрейт, при котором суммарное количество бит, получившееся для этого фрейма (все биты из резервуара + взятый битрейт), составит 95% от заданного пользователем битрейта B, производит кодирование, а лишние биты (если они остались) снова сохраняет в резервуаре.

  Итог: Таким образом, использование резервуара в ABR отлично от CBR. В CBR битрейт менять нельзя и резервуар специально копят путем сохранения там бит, которые остались (были сэкономлены) от кодирования фрейма на заданном изначально фиксированном битрейте во время простого пассажа; если для кодирования нужны биты и резервуар пуст - то пуст, ничего с этим поделать нельзя и кодирование идет просто на указанном битрейте в ущерб качеству. В ABR битрейт переменный и стандартный резервуар фактически не нужен, однако поскольку поднятие (опускание) битрейта происходит обязательно до определенного табличного значения, которое может оказаться выше необходимого кодеру количества бит, то лишние биты, конечно, не выбрасывают, а сохраняют в резервуаре. Иными словами, в CBR накопление стандартного резервуара - основная задача, в ABR же есть неограниченный "виртуальный резервуар" и стандартный используется только для хранения лишних бит, образовавшихся в результате разницы между табличными значениями битрейтов и реально необходимым битрейтом. 3.6.4.VBR

  VBR - переменный битрейт. Пользователь указывает желаемое качество. Lame, опираясь на свою психоакустическую модель, выделяет для каждого фрейма ровно то количество бит, которое необходимо для достижения заданного качества. В выходном потоке фреймы соответственно имеют разные битрейты (которые всегда ложатся в таблицу стандартных битрейтов). Использование резервуара в VBR абсолютно идентично ABR - туда попадают только неиспользованные хвостики фреймов. 3.7.Методы оценки сложности сигнала

  Таким образом, основное отличие CBR, ABR и VBR состоит в использовании разных методов подсчёта необходимого для кодирования каждого фрейма количества бит. 3.7.1.Методы оценки сложности сигнала: метод 1 (VBR)

  Первый метод основан на вычислении "психоакустической маскировки" и "ошибки кодирования". Этот метод используется в VBR и теоретически должен был бы давать максимальное качество если бы психоакустическая модель Lame была идеальна. В основе этого метода лежит очень простая идея: на кодирование выделяется минимальное количество бит, необходимое для выполнения условия: [ошибка_кодирования] < [порога_маскировки] (то есть дефекты кодирования должны маскироваться основным сигналом и не должны быть различимы на слух).

  Пояснение по поводу маскировки. Основная масса "аудио компрессоров с потерями" использует для сжатия аудио сигнала особенности человеческого слуха (в противовес существуют аудиокомпрессоры использующие особенности звукоизвлечения), а именно его неидеальность. Можно указать несколько основных "дефектов" слуха используемых в сжатии звука: 1) ограниченный динамический диапазон. Человек не слышит слабых сигналов или, иначе говоря, существует некий порог слышимости. 2) громкие сигналы (особенно шумовые, а не тональные) обладают маскирующим действием, при чем как во временной, так и в частотной области, т.е. любой мощный, особенно шумовой сигнал определённой частоты маскирует достаточно слабый сигнал, особенно если он лежит в близком частотном диапазоне и такой замаскированный сигнал можно не кодировать, ведь человек его не слышит. Порог маскировки может быть увеличен на несколько децибелл путем уменьшения качества кодирования (объяснение этому: чем хуже качество кодирования, тем больше артефактов и помех в звучании, и тем более мощный сигнал необходим, чтобы замаскировать эти помехи).

  Плюс такого метода: теоретически максимальное качество. Минусы: невысокая скорость а также то, что из-за не идеальности психоакустической модели в Lame, постоянно занижается битрейт, соответственно не рекомендуется использовать без фиксированной нижней границы около 112- 128 кБ/с, а, следовательно, режим VBR вообще не рекомендуется использовать на низких и средних битрейтах. Резервуар в VBR минимизирован, а следовательно не рекомендуется использовать ограничение битрейта сверху (объяснение: так как практически резервуара в VBR нет, если ограничить битрейт сверху, то некоторым фреймам со "сложной" музыкой может оказаться недостаточно бит для кодирования звука, поскольку дополнительные биты взять неоткуда , резервуара нет и битрейт ограничен; такие фреймы будут кодироваться только тем количеством бит, которое имеется в наличии - то есть на максимально допустимом битрейте, что может привести к плохому качеству кодирования). 3.7.2.Методы оценки сложности сигнала: метод 2 (ABR / CBR)

  Второй метод основан на вычислении Perceptual Entropy (PE), характеризующей сложность кодируемого сигнала (чем сложнее сигнал, тем PE больше). Этот метод используется при кодировании CBR и ABR. Механизм расчета сложности сигнала с помощью PE полностью отличается от механизма, использованного в VBR. Не вдаваясь глубоко в подробности следует сказать, что если в первом методе расчет сложности сигнала проводился опираясь на свойства маскировки, то в данном методе сложность сигнала оценивается путем попытки его предсказания: чем более сложный сигнал (огибающая ведет себя хаотично), тем труднее он предсказуем и, соответственно, тем больше бит требуется для кодирования сигнала. Во время кодирования кодер пытается предсказать сигнал, затем сравнивает предсказанный сигнал с оригиналом, чем менее предсказанный сигнал совпадает с оригиналом, тем больше бит уходит на кодирование. Очень важно отметить, что используемые методы вычисления сложности сигнала принципиально влияют на отличия использующих их механизмов. Так, принципиальная разница между ABR/CBR (использующих описываемый метод) и VBR (который использует метод 1, описанный выше) заключаются еще и в том, что выбор битрейта в ABR/CBR лежит не на кодере, а на пользователе, при этом Lame лишь добавляет/отнимает небольшое количество бит во время кодирования сложных/простых мест соответственно (для чего и рассчитывается PE). Другими словами, в зависимости от рассчитанного PE, к выбранному пользователем битрейту добавляется (или отнимается от него) нужное число бит, что реализуется с помощью механизма работы с резервуаром (виртуальным или настоящим). Таким образом, при использовании второго метода именно пользователь выбирает битрейт (когда в VBR кодер сам решает величину битрейта), PE же лишь корректирует его с помощью резервуара в зависимости от сложности музыки. Происходит это примерно следующим образом.

  CBR. Для каждого фрейма выделяется "основное", постоянное количество бит, 90% от указанного битрейта и "дополнительное", переменное. Простые пассажи кодируются с помощью этих 90-а процентов, а оставшиеся 10% процентов накапливаются в резервуаре битов (как было описано вначале), вплоть до его заполнения, после чего на кодирование простых пассажей уходит весь битрейт (так как экономить биты некуда). Сложные пассажи кодируются используя полный битрейт плюс из резервуара изымаются дополнительные биты, если только в нём ещё есть биты. Плюсы: совместимость, минусы: из-за малого размера резервуара очень часто нахватает дополнительных бит для кодирования сложных мест.

  ABR. При кодировании ABR использование резервуара минимизировано, он просто-напросто не нужен, ведь в ABR мы можем использовать фреймы с разным битрейтом и, соответственно, не накапливать биты в резервуаре (механизм работы ABR пояснен на примере выше). После вычисления PE и необходимого "дополнительного количества" бит, Lame просто выбирает минимальный битрейт в который укладывается полное необходимое количество бит (битрейт выбирается из таблицы). Остаток бит не выбрасывается, а накапливается в резервуаре.

  Замечание: неправильно было бы думать, что в CBR и ABR совсем не используется психоакустика - конечно же это не так. Такая вещь как перераспределение битов отведённых на кодирование фрейма между всеми частотными полосами лежит именно на психоакустике. 3.8.Какие методы кодирования стерео информации используются в алгоритмах MPEG (и других)?

  Существует несколько методов кодирования стерео-аудио информации в стандарте ISO11172-3 (MPEG-1 Layer 1,2,3).

  Dual Channel. Этот режим предполагает кодирование стерео каналов, как абсолютно независимых. Иными словами, в этом режиме кодирование аудио информации происходит отдельно в каждом канале без использования корреляций между ними. Как и следует из названия, этот режим главным образом предназначен для кодирования двух параллельных но различных каналов (например, речь на английском и немецком языках), а не стерео (т.е. не два канала, несущих информацию о стерео картине). Этот режим не рекомендуется использовать для кодирования стерео сигнала, так как существуют проигрыватели (например, madplay), проигрывающие по умолчанию только один канал если поток помечен как Dual Channel.

  Stereo. Этот режим отличается от предыдущего только тем, что в режиме Dual Stereo во время кодирования для каждого канала используется свой резервуар (об этом в обсуждении вопроса об отличиях ABR/VBR/CBR), а в этом режиме оба канала кодируются с использованием общего резервуара. Иных различий между режимами нет.

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

  При кодировании в MPEG-1 имеются две разновидности этого метода.

  MS Stereo. В данном режиме кодируются не левый и правый канал, а их суммарная составляющая и разностная. При этом перед кодированием сигнал в каждом отдельном фрейме разбивается на частотные полосы (что, собственно, происходит всегда, то есть не только в Joint Stereo). Затем производится вычисление суммарной и разностной составляющей каналов, что математически выглядит так: Mi=(Li+Ri)/sqrt(2), Si=(Li-Ri)/sqrt(2), где i - номер частотной полосы на которые разбивается сигнал перед кодированием, M и S - Mid (сумма) и Side (разность) каналы соответственно, L и R - левый и правый каналы. При таком кодировании о какой-то деградации качества говорить не приходится, поскольку ничего кроме простейших арифметических операций здесь нет. Тяжело говорить про все MP3- кодеры, но именно так делается в Lame Encoder в режиме VBR. В кодерах от Fraunhofer и в Lame CBR (возможно и в других кодерах, так как этот метод описан в стандарте) в Joint Stereo применяется дополнительный механизм, называемый "Sparsing of side channel". Суть этого метода заключается в более жёстком кодировании side-канала, на который, в этом случае, как правило, выделяется меньшее количество бит, что приводит к деградации звучания в side канале, но улучшению качества кодирования в mid.

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

  Таким образом, в режиме Joint Stereo фактически происходит кодирование лишь общей составляющей каналов, а стерео на высоких частотах "воссоздается" (если такой термин здесь уместен, а лучше "синтезируется") в соответствующем канале путем умножения общего сигнала на известные (сохраненные при кодировании) значения мощностей частотных участков в соответствующем канале.

  Можно предположить, что приблизительно аналогичные методы кодирования стерео-аудио информации применяются и в других алгоритмах компрессии аудио. 3.9.Какие параметры предпочтительны при кодировании MP3?

  Этот вопрос не имеет однозначного ответа. Каждый человек подбирает себе параметры кодирования в зависимости от конкретной задачи. Если речь идет о кодировании голоса или другой звуковой информации при малых требованиях к качеству, то кодирование можно производить на минимальных битрейтах, вплоть до 8 Кбит/с (при данном битрейте полоса частот ограничивается 2,5 КГц, что сравнимо с телефонной линией).

  Если же стоит вопрос о кодировании аудио данных с CD (44.1 KГц / 16 бит / стерео), то на этот счет существует масса мнений. Большинство пользователей почему-то убеждено, что битрейта 128 Кбит/c достаточно для кодирования аудио CD-качеcтва без потерь. На самом деле это не так. В этом легко убедиться, если прослушать (даже на аппаратуре среднего качества) сначала оригинал, а затем полученный MP3. MP3 будет отличаться как минимум "сухостью" звучания, не говоря уже о появлении некоторых посторонних "позвякиваний", скрежета и других помех. Это обусловлено тем, что используемая при кодировании психоакустическая модель оставляет только "жизненно необходимые" частоты, отфильтровывая замаскированные и слабослышимые. Причем это проявляется тем больше, чем с меньшим битрейтом производится кодирование. Основываясь на опыте можно предположить, что битрейт, достаточный для "точной" передачи CD-звучания, лежит в пределах от 192 до 320 Кбит/с (в зависимости от кодируемого аудио сигнала и, конечно, самого слушателя). Безусловно, при таком кодировании объем, занимаемый полученным MP3-потоком, увеличивается пропорционально поднятию битрейта.

  Найти компромисс можно, конечно, всегда. Кодирование с VBR возможно как следствие фреймовой структуры MP3-потока. Аудио поток при компрессии в MP3 разбивается на мелкие отрезки (фреймы) после чего происходит кодирование каждого фрейма в отдельности. В случае обычного CBR (Constant Bit Rate - постоянный битрейт) кодирование всех фреймов производится с одинаковыми параметрами. В случае же VBR и ABR, каждый фрейм кодируется со своим битрейтом. То есть при использовании VBR и ABR кодер сам выбирает какой битрейт в наибольшей степени подходит для кодирования данного фрейма. Кодирование на ABR и VBR осуществляется, например, кодером Lame. Все известные мне современные проигрыватели аудио нормально "понимают" MP3, кодированные на VBR и ABR. 3.10.Какие альтернативные MPEG-1 Layer III (MP3) алгоритмы компрессии существуют?

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

  MPEG-2 AAC. Об этом алгоритме было рассказано выше.

  Из всех разновидностей MPEG-2 AAC особо выделяется, пожалуй, Liquifier AAC (файлы, созданные с помощью этого алгоритма обычно имеют расширение .LQT). Этот алгоритм обеспечивает как наивысшее качество звучания среди всех подобных алгоритмов, так и некоторые дополнительные возможности, например, хранение внутри LQT-файлов графических изображений обложек CD и эмблем, а также текстовую информацию. Следует сказать, что Liquifier AAC является коммерческим продуктом в отличие от своего, пожалуй, не намного уступающего по качеству собрата Astrid/Quartex AAC.

  Mayah AAC - молодой кодек (на момент создания документа). По поводу него можно сказать, что будущего он не имеет. По некоторым оценкам, качество Mayah AAC в сравнении с другими енкодерами AAC ужасно. Кроме того, стало известно, что сама программа стоит много денег и распространяется лишь среди звукозаписывающих студий. Вероятнее всего, кодек не попадет в руки к обычным пользователям.

  Несколько слов необходимо сказать и о другом прогрессивном алгоритме TwinVQ (Transform-domain Weighted Interleave Vector Quanization), разработанном фирмой Nippon Telegraph and Telephone Corp. (NTT) в Human Interface Laboratories и лицензированном фирмой Yamaha (продукты от Yamaha, основанные на TwinVQ, распространяются под торговой маркой SoundVQ). Этот метод позволяет сжимать цифровые потоки с коэффициентом компрессия до 1:20. При этом качество звучания потока TwinVQ при 96 Кбит/с практически идентично качеству звучания потока MPEG-1 Layer III (при 128 Кбит/с) и MPEG-2 AAC (при 96 Кбит/с). Алгоритм TwinVQ позволяет кодировать данные во всем диапазоне слышимых частот (до 22 КГц) и, также как и MPEG, производить декодирование и воспроизведение потока одновременно с его получением (stream playback). Кстати, говоря об алгоритме TwinVQ следует сказать также, что трудоемкость этого алгоритма намного выше трудоемкости, например, алгоритма MPEG-1 Layer III, так что программы-компрессоры, основанные на алгоритме TwinVQ работают в 5-10 раз медленнее, чем Layer III-компрессоры. Следует сказать также, что наработки TwinVQ используются в стандарте MPEG-4. По различным оценкам, TwinVQ в нижнем диапазоне частот превосходит по качеству MPEG-1 Layer III, уступая ему на верхних частотах. TwinVQ поддерживает кодирование с переменным битрейтом (VBR), а также имеет поддержку т.н. несимметричного битрейта, когда разные каналы кодируются с отличными битрейтами.

  Алгоритм (кодек) Windows Media Audio (WMA) от Microsoft (есть еще WMV - Windows Media Video - его мы здесь не обсуждаем). Алгоритм WMA, также как и все рассмотренные ранее, позволяет потоковое воспроизведение (stream playback). Качество WMA (если говорить о WMA 7.0 и 8.0) при скорости потока 64 Кбит/c практически не уступает качеству MPEG-1 Layer III 96-128 Кбит/с, а при 96 Кбит/с может превосходить MPEG-2 AAC 128 Кбит/с ("может"- не значит "всегда", то бишь, речь идет о субъективно воспринимаемом качестве звучания). Для хранения потока в формате WMA используется универсальный потоковый файловый формат .ASF (Advanced Audio Streaming), пришедший на замену .WAV. Вообще говоря, .ASF - это универсальный формат для хранения аудио и видео информации, сжатой с помощью самых разнообразных кодеков. .ASF имеет также и свою несколько сокращенную разновидность .WMA. Файлы .WMA предназначены исключительно для хранения аудио данных. Говоря о WMA как о кодеке, следует сказать, что в последнее время он становится все более популярным, так как Microsoft встроила его в Windows'2000 и Windows'2001, превратив его таким образом в стандарт. Следует отметить также, что сохранить поток WMA в .WAV-структуру невозможно (возможно, по чисто политическим причинам). На сегодняшний день существует несколько версий WMA: v1, v2, v7 и v8. V7 отличается от младших собратьев поддержкой битрейтов до 192 Kbps (в отличие от 164 Kbps в V1 и V2), несколько худшим качеством кодирования и иной структурой данных. Версия 8 отличается от всех предыдущих явно переработанной психоакустической моделью кодека, за счет чего качество кодирования сильно возросло. Так, при 64 Kbps WMA v8.0 на не сильно требовательных к качеству композициях (поп-музыка, например) почти не отличим от MP3 при 128 Kbps, хотя, опять же, все зависит от конкретной композиции и аппаратуры, на которой осуществляется прослушивание. Изначально, обсуждаемый кодек разрабатывался фирмой Voxware и имел название Voxware Audio Codec. Впоследствии компания забросила его доработку остановившись на v4.0, но кодек не остался гнить и был полностью куплен фирмой Microsoft. Программисты сильно доработали этот кодек, а фирма Microsoft переименовала кодек в Windows Media Audio, не забыв позаботиться о том, чтобы он был бесплатным.

  Алгоритм PAC (Perspective Audio Coding) от Bell Labs & Lucent Technologies. По различным данным обеспечивает аналогичное (или выше) MPEG-1 Layer III 128 Кбит/с качество звучания при 64 Кбит/с. Поддерживаются также 96 и 128 Кбит/с. Алгоритм позволяет потоковое воспроизведение (stream playback). Имеет встроенный механизм защиты. Обладает высокой скоростью компрессии.

  Еще один кодек: Ogg Vorbis, вышел в свет в июне 2000. Этот формат является частью проекта Ogg Squish по созданию полностью открытой системы мультимедиа. Иными словами, и сам проект, и Ogg Vorbis в частности являются открытыми и свободными для распространения, а также разработки на его основе нового программного обеспечения. В FAQ от разработчика (группа Xiphophorus) написано, что Ogg Vorbis является алгоритмом, принципиально схожим с известными MPEG-1 Layer II, MPEG-2 AAC, VQF и проч., однако использует оригинальный математический алгоритм и собственную психоакустическую модель, что освобождает его от необходимости выплачивать какие-то лицензионные сборы и производить иные выплаты сторонним фирмам-изготовителям аудио форматов. Алгоритм Ogg Vorbis рассчитан на сжатие данных на всех возможных битрейтах без ограничений, то есть от 8 Kbps до 512 Kbps, а также на кодирование с переменным битрейтом (VBR). Алгоритм предусматривает хранение внутри файлов подробных комментариев об исполнителе и названии композиции, а также графической информации. В алгоритме предусматривается также возможность кодирования нескольких каналов аудио (более двух, теоретически до 255), возможность редактирования содержимого файлов, а также так называемый "масштабируемый битрейт" возможность изменения битрейта потока без необходимости декодирования. Поддерживается потоковое воспроизведение (streaming). Для хранения данных используется собственный универсальный формат bitstream Ogg Squish, рассчитанный на хранение любой информации мультимедиа системы Ogg Squish (идея реализация универсального формата bitstream Ogg Squish аналогична идее ASF от Microsoft).

  Кодек MP3 Pro анонсирован в июле 2001 года компанией Coding Technologies вместе с Tomson Mulimedia и институтом Fraunhofer. Формат MP3Pro является продолжением, или, точнее, развитием старого MP3. MP3Pro является совместимым с MP3 назад (полностью) и вперед (частично). То есть файлы, закодированные с помощью MP3Pro, можно воспроизводить в обычных проигрывателях, однако качество звучания при этом заметно хуже, чем при воспроизведении в специальном проигрывателе. Это связано с тем, что файлы MP3Pro имеют два потока аудио, в то время как обычные проигрыватели распознают в них только один поток, то есть обычный MPEG-1 Layer 3. В MP3Pro использована новая технология - SBR (Spectral Band Replication). Эта технология предназначена для передачи верхнего частотного диапазона. Идея технологии и предпосылки таковы. Дело в том, что технологии использования психоакустических моделей имеют один общий недостаток: все они работают качественно до битрейта 128 Kbps. На более низких битрейтах начинаются различные проблемы: либо для передачи аудио необходимо обрезать частотный диапазон, либо кодирование приводит к появлению различных артефактов. Этот ключевой момент показывает, что использования психоакустической модели мало при работе с битрейтами ниже 128 Kbps. Новая технология SBR дополняет использование психоакустических моделей. Идея следующая: передается (кодируется) чуть более узкий диапазон частот чем обычно (то есть с обрезанными "верхами"), а верхние частоты воссоздаются (восстанавливаются) уже самим декодером на основе информации о более низких частотных составляющих. Таким образом, технология SBR применяется фактически не столько на стадии сжатия, сколько на стадии декодирования. Загадочный второй "параллельный" поток данных, о котором говорилось выше, как раз и есть та минимальная необходимая информация, которая используется при воспроизведении для восстановления верхних частот. Мне пока достоверно не известно, какую точно информацию несет этот поток, однако проведенные исследования показывают, что эта информация - есть усредненная мощность сигнала в верхнем (обрезанном) диапазоне частот. Точнее не одна усредненная мощность для всего диапазона вырезанных частот, а информация о средней мощности в нескольких полосах частот верхнего диапазона. Качество звучания MP3Pro можно назвать субъективно очень хорошим даже на битрейте 64 Кбит/с, другими словами, субъективно несложные композиции при таком битрейте воспринимаются не хуже чем MP3 128 Кбит/с. Однако необходимо учитывать тот факт, что такое звучание достигается искусственным путем, и что слышимый сигнал представляет собой уже не столько оригинал, сколько синтезированную копию оригинала, что заставляет задуматься меломанов, обладателей высококачественной аудио аппаратуры, а также просто ценителей качественного оригинального звучания. 4.Формат заголовка MP3-файлов

  Byte 0   Byte 1   Byte 2   Byte 3
+--------+--------+--------+--------+
|76543210|76543210|76543210|76543210|
+--------+--------+--------+--------+
 +------- ---+-+-+ +---+-++ +-+-+++-
 |           | | | |   | || | | ||+--- 00=Emphasis None
 |           | | | |   | || | | ||     01=Emphasis 50/15 microseconds
 |           | | | |   | || | | ||     10=Emphasis Dunno
 |           | | | |   | || | | ||     11=Emphasis CITT j.17
 |           | | | |   | || | | ||
 |           | | | |   | || | | |+---- 0=Original NO
 |           | | | |   | || | | |      1=Original YES
 |           | | | |   | || | | |
 |           | | | |   | || | | +----- 0=Copyright NO
 |           | | | |   | || | |        1=Copyright YES
 |           | | | |   | || | |
 |           | | | |   | || | +------- Смотри таблицу <<Mode extension>>
 |           | | | |   | || |
 |           | | | |   | || +--------- 00=Stereo
 |           | | | |   | ||            01=Joint stereo
 |           | | | |   | ||            10=Dual channel
 |           | | | |   | ||            11=Single Channel (Mono)
 |           | | | |   | ||
 |           | | | |   | |+----------- 0=Extension None
 |           | | | |   | |             1=Extension Private
 |           | | | |   | |
 |           | | | |   | +------------ 0=Unused bits are filled (padding req)
 |           | | | |   |               1=All bits in frame are used
 |           | | | |   |
 |           | | | |   +-------------- Смотри таблицу <<Sample Rate Index>>
 |           | | | |
 |           | | | +------------------ Смотри таблицу <<Bitrate>>
 |           | | |
 |           | | +-------------------- 0=Error Protection Bit CRC is ON
 |           | |                       1=Error Protection Bit CRC is OFF
 |           | |
 |           | +---------------------- 00=Layer-?
 |           |                         01=Layer-3
 |           |                         10=Layer-2
 |           |                         11=Layer-1
 |           |
 |           +------------------------ 00=MPEG-2.5 (44100 Hz)
 |                                     01=MPEG-?
 |                                     10=MPEG-2.0 (22050 Hz)
 |                                     11=MPEG-1.0 (11025 Hz)
 |
 +------------------------------------ Sync Header, всегда 0xFFEx
4.1.Таблица SAMPLE RATE

MPEG-1
00 44100
01 48100
10 32000
11 ?????

MPEG-2
00 22050
01 24000
10 16000
11 ?????

????? а Ошибка Stream Error 4.2.Таблица MODE EXTENSION

Layer-1,2
00 4
01 8
10 12
11 16

Layer-3
00 0
01 4
10 8
11 16
4.3.Таблица BIT RATE (kBit/s)

  MPEG-1 MPEG-2
  38000 44100 48000 16000 22050 24000
0000 0 0 0 0 0 0
0001 32 32 32 32 8 8
0010 64 48 40 48 16 16
0011 96 56 48 56 24 24
0100 128 64 56 64 32 32
0101 160 80 64 80 40 40
0110 192 96 80 96 48 48
0111 224 112 96 112 56 56
1000 256 128 112 128 64 64
1001 288 160 128 144 80 80
1010 320 192 160 160 96 96
1011 352 224 192 176 112 112
1100 384 256 224 192 128 128
1101 416 320 156 224 144 144
1110 448 384 320 256 160 160
1111 ??? ??? ??? ??? ??? ???

Layer 2/3 FrameSize=144*bps/Sample_Frequency+PaddingBit

  Stereo Mono
MPEG 1.0 32 17
MPEG 2.x 17 09
4.4.Описание инфоpмационного тэга

Offset 00h    db 'TAG'                  ;сигнатура информационного тэга
Offset 03h    db rep 1Eh (ASCII)        ;Hазвание 30 байт ASCII
Offset 21h    db rep 1Eh (ASCII)        ;Исполнитель 30 байт ASCII
Offset 3Fh    db rep 1Eh (ASCII)        ;Альбом 30 байт ASCII
Offset 5Dh    db rep 04h (ASCII)        ;Год 4 байта ASCII
Offset 61h    db rep 1Eh (ASCII)        ;Комментарий 30 байт ASCII
Offset 7Fh    db ?                      ;Жанр
5.Литература

  1. Евсеев Г. Музыка в формате MP3. - М.: ДЕСС КОМ, 2000. - 224 с.: ил.
  2. Internet-сайт www.WebSound.ru.
  3. Internet-сайт www.iis.fhg.de.
Проект Delphi World © Выпуск 2002 - 2024
Автор проекта: USU Software
Вы можете выкупить этот проект.