Последние статьи
Домой / Музыка / Форматы сжатия звуковой информации на примере mp3 и FLAC. Методы сжатия цифрового звука

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

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

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

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

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

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

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

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

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

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

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

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

От редактора

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

От автора

Как следует из названия, статья посвящена описанию некоторых тонкостей, которые возникают при использовании стандарта сжатия аудиоданных MPEG I/II Layer 3 (mp3). Данная работа не претендует на статус законченного исследования, включающего в себя тестирование кодеров или проигрывателей mp3. Это лишь попытка автора структурировать свои знания, а также отразить свой опыт знакомства с вышеупомянутым стандартом.

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

Стратегические вопросы

Имеет ли смысл использовать сжатие с потерями вообще ?

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

В этом и следующем подразделах будут описаны случаи, когда применение сжатия с потерями недопустимо, а также предпринята попытка разобраться — почему?

Не имеет смысла делать архивы звуковых данных для их дальнейшей обработки (библиотеки сэмплов, фонотеки и т.п.) в mp3. Это касается и MiniDisk (там тоже используется сжатие с потерями), и других форматов: многие виды цифровой обработки влекут за собой слышимые искажения. Данное правило не зависит от используемого битрейта. Говоря о дальнейшей обработке звука я имею в виду нечто более серьезное, чем просто микширование или fade in/out, например flange, distortion, dynamic compression, reverberation, фильтрация шумов и даже использование эквалайзера… Скажем, в mp3 нельзя хранить сэмплы (для их хранения используют специальные форматы сжатия без потерь , например sfArk). Так как в случае кодирования с потерями нельзя восстановить утраченные на этапе кодирования данные, то в mp3 желательно сохранять только окончательные варианты звукозаписей.

Еще один аргумент: вы знаете как аудиодиск, перегнанный в mp3, записать обратно на аудиокомпакт-диск так, чтобы между треками не было ни пауз лишних, ни щелчков? Не знаете? Почитайте, скажем, www.r3mix.net . Морока та еще… Если вы хотите сказать: "А я вот делал — все ОК!" — конкретизируем задачу: музыка должна переходить без пауз из трека в трек, причем паузой считается не только промежуток в 1-2 секунды, но и маленькие отрезки тишины в единицы-десятки миллисекунд. Теоретически и в этом случае можно все сделать идеально слитно, но может так оказаться, что "овчинка не будет стоить выделки".

Какие существуют способы хранения звука без потерь?

Я храню фонотеку в wav-файлах (в PCM формате). Можно также использовать CD-DA; для него характерны большая совместимость, но меньшая точность считывания при проигрывании. Есть и другие варианты — обычное архивирование (ZIP , RAR) или специальные программы типа WavPack , Monkey"s Audio , RK Audio , LPAC Archiver , Shorten . Однако работа с файлами, сжатыми подобным образом, чревата неприятными сюрпризами: wav (PCM) играют подавляющее большинство проигрывателей, а вот экзотику типа RKA… Известно о существовании плагина для RKA под WinAmp, но на WinAmp свет клином не сошелся: есть же люди, которые им не пользуются. Таким образом, один только WinAmp — это еще не совместимость (в широком смысле). А другие программы-проигрыватели? А аппаратные плееры? А mp3-CD плееры? Не знаю, как для вас, а для меня совместимость в указанном выше смысле очень важна. А использование только одной пары кодер/проигрыватель существенно ограничивает свободу. Например, для того чтобы дать послушать какой-то файл своим друзьям, нужно еще убеждать их в необходимости использовать новый проигрыватель.

Из каких соображений нужно исходить при выборе параметров сжатия?

По моему мнению, можно выделить два основных режима сжатия: "сохранение приемлемого уровня качества при достижении максимального сжатия" (например, для публикации в Сети) и "полное субъективное сохранение качества исходного материала при не самом большом сжатии" (для хранения и регулярного прослушивания). Стоит заметить, что пороговые битрейты для того и другого режимов индивидуальны. Для меня они составляют 128 и 256 кб/с соответственно. Безусловно, существует множество промежуточных вариантов: есть портативный плеер mp3 с плохонькими наушниками, которому достаточно 160 кб/с; в машине установлена магнитола с поддержкой mp3 и акустикой получше — тут потребуется, скажем, 192 кб/с. Таким образом, выбирая параметры сжатия, нужно прежде всего определить те задачи, для которых создаются mp3 файлы, и уже исходя из этого решить, какое соотношение между качеством звука и размером файла вас устроит. Следует также учитывать, что понятие качества звука у разных людей может сильно отличаться.

С точки зрения здравого смысла, не стоит беспокоить себя вопросами: "Какого же битрейта достаточно, чтобы никто не услышал разницу с CD-DA?" Ведь всё дело в том, что психоакустическая модель алгоритмов mp3 разрабатывалась под среднестатистического человека с его среднестатистическими ушами. Поэтому оценочные суждения по затронутому вопросу могут быть диаметрально противоположными. Для кого-то качество mp3@128 kbps, сделанного Xing"ом, ничуть не хуже Audio CD даже на отличной аппаратуре. Другой запросто отличает mp3@320 kbps от музыкального CD в любых слепых тестах. Отсюда просто нужно сделать правильные выводы. В первом случае человеку не нужно тратить много денег на качественную аудиотехнику, а во втором — можно только порадоваться за ее (его) тонкий слух. Таким образом, исходя из собственных потребностей Вам придется один раз поэкспериментировать, чтобы выяснить, каких параметров в дальнейшем стоит придерживаться.

Хранение wav-файлов позволит в случае изобретения некоего принципиально нового, усовершенствованного алгоритма (условно назовем его mp2000) перегнать в более качественный формат точные копии оригиналов, в то время как самих оригиналов может уже и не быть под рукой… Если помните, аналогичная ситуация возникла с началом победного шествия формата видеосжатия MPEG4.

Какой формат сжатия с потерями лучше использовать: mp3, LQT, WMA, MP+, ogg vorbis …

Следует отметить, что пока ни одна из перечисленных в заголовке альтернатив формату mp3 одновременно и по качеству, и совместимости к нему не приблизилась. Существуют форматы, которые уже сегодня обеспечивают качество сравнимое или даже лучшее, чем у mp3. Например LQT AAC, который часто называют mp4. Однако битрейт у него ограничен до 192 кб/с (за что его не любят ценители mp3 @ 256/320 kbps), и запросы к аппаратуре куда как серьезнее (последнее, правда, в век бурного развития вычислительной техники является проблемой временной). Тем не менее, думаю, вы согласитесь, что по совместимости с mp3 пока никому не сравниться.

Еще один реальный конкурент — ogg vorbis. Формат сейчас находится в стадии бета-тестирования, но, говорят, у него очень неплохие показатели и, следовательно, большой потенциал. В Сети уже обсуждают "плюсы" и "минусы" использования ogg и mp3, и сравнение часто оказывается не в пользу последнего.

По всей видимости, вытеснять mp3 будут долго: вспомните CD-DA, которому пророчили скорую смерть по появлении mp3, MiniDisk и пр. Многие замечания о mp3 справедливы и для других форматов сжатия с потерями.

Воспроизведение mp3

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

Какой проигрыватель mp3 лучше?

Среди программных проигрывателей лучшими традиционно считаются сделанные на коде Fraunhofer: некоторые версии WinAmp "а, WinPlay , AudioActive , Microsoft Media Player … Код от Фраунгофера используется в WinAmp версий 1.5, 1.6, 2.13, 2.20, 2.21, 2.22, 2.666, 2.7 и более поздних; остальные версии оснащены собственным декодером от NullSoft, а копирайт Фраунгофера лишь соблюдение лицензионных требований. Также заслуживает упоминания X-Audio и все, что сделано на этом коде ( , CoolPlay , MusicMatch Jukebox). Еще есть множество проигрывателей, использующих код ISO, самые удачные — MPG123 , UltraPlayer и мой любимый Apollo (качество воспроизведения, конечно, не идеальное, но в целом он очень удобен). Существует даже плагин под WinAmp для декодирования mp3, построенный на основе MPG123. Широко известен проигрыватель NAD , базирующийся на коде ISO. Звук его считается одним из лучших, но беда в том, что он не понимает VBR. Все, что сделано на коде Xing (Xing player , FreeAmp), считается самым худшим вариантом: эти проигрыватели задирают высокие частоты, что сделано, по-видимому, для компенсации завала высоких частот кодерами Xing.

Что касается аппаратных проигрывателей mp3, то о их внутреннем устройстве по части применённых алгоритмов известно совсем мало. Но безусловно то, что алгоритмы в них используются те же, что и в программных проигрывателях. Некоторые содержат аппаратную реализацию алгоритма Fraunhofer в отдельном чипе. Другие проигрыватели имеют даже flash-микросхемы для обновления алгоритмов декодирования mp3. В любом случае нужно смотреть, на основе какого кода сделан проигрыватель. Считается, что Fraunhofer — это всегда хорошо, ISO и X-Audio — зависит от реализации, Xing — однозначно плохо.

Имеет ли смысл выбирать проигрыватель mp3 файлов в зависимости от используемого кодера?

Да. Как было написано выше, проигрыватели на базе Xing задирают высокие частоты, так как при сжатии кодеры на базе Xing эти частоты безбожно режут. В паре они компенсируют друг друга: mp3, сделанные Xing"ом, гораздо лучше звучат в исполнении Xing MPEG Player"а, чем Fraunhofer"a. Авторы LAME (см. следующий раздел) также советуют использовать именно LAME для декодирования сделанных ими mp3.

Безусловно, держать дома набор проигрывателей или даже декодеров (программ, которые могут только преобразовать mp3 в PCM wav файл) неудобно. Поэтому к таким крайним мерам я рекомендую прибегать только в особо ответственных случаях преобразования звука из mp3: запись на аудиокомпакт-диски, микширование, переупаковка другим кодером и т.п.

Как определить, каким кодером был создан mp3 файл?

Поскольку формат mp3 не предусматривает никаких подписей кодера в созданном файле, однозначно определить использовавшийся кодер очень сложно. Есть несколько примет, позволяющих с большей или меньшей степенью вероятности строить догадки: например, кодеры на основе Fraunhofer"а и ISO заполняют тишину разными значениями (акустически тишина не нарушается). Кодеры Xing первыми использовали технологию VBR. В такие файлы они вставляли свою подпись. Позже такую же подпись стал делать LAME (см. следующий раздел), чем, понятное дело, усложнил задачу определения использовавшегося кодера. Сегодня LAME ставит уже свою подпись.

Существуют программы, которые на основе известных признаков пытаются установить, каким кодером пользовались при создании mp3. Одна из таких программ — RenaTager . При ее использовании могут возникнуть проблемы: программа уже не модифицируется, в связи с чем неверно определяет новые версии кодеров. Возможно, такая функция скоро будет включена в альтернативный плагин под WinAmp для воспроизведения mp3 MAD . Я слышал еще о программе mp3GuessEnc , которая имеет интерфейс командной строки, и EncSpot , аналогичной программе с удобным оконным интерфейсом. Но со 100% вероятностью каким кодером был получен файл невозможно. Часто эти программы показывают, что один-два трека с компакт-диска сделаны другим кодером, хотя ведь диск был сжат одним кодером с одинаковыми параметрами.

К слову, стандарт id3v2 предусматривает поле, в котором указано название кодера.

Ламерам посвящается…

Чтобы читатель лучше понял, о чем пойдет речь, позволю себе привести выдержку из англо-русского словаря:

lame — — прил . 1) хромой, изувеченный; 2) неудачный, неправильный; 3) разг. простоватый, отсталый

Что такое лейм?

LAME (читается как "лейм") — это проект по созданию программного кодера mp3, основанный на принципах открытых исходных кодов. Название проекта расшифровывается как "Lame Ain"t a Mpeg Encoder", что означает "лейм — это не MPEG кодер".

Весь его код пишет группа програмистов-энтузиастов. За основу был взят свободно распространяемый в качестве приложения к стандарту MPEG демонстрационный код от ISO. Кодер динамично совершенствуется: новые версии выходят практически каждый день.

На мой взгляд, лейм заслуживает большего признания. Это отличный кодер, который имеет огромное количество настроек, позволяющих кодировать на любой вкус. Лейм поддерживает VBR, кодирование на битрейтах до 320 кб/с включительно, выбор режима кодирования стереосигнала, выбор частот среза фильтров ВЧ и НЧ и многое другое. Качество кодирования на высоких битрейтах всеми признано лучшим.

Чтобы обойти лицензионные ограничения автора стандарта MPEG Layer 3 и владельца патентов Fraunhofer IIS , лейм официально распространяют только в виде патча (исправление или замена нескольких файлов) для оригинального кода mp3 кодера от ISO. В соответствии с этими ограничениями автор или распространитель программ для работы с mp3 должен платить лицензионные отчисления вне зависимости от того, продается ли эта программа или распространяется свободно. Заявляя о нарушении своих прав, Fraunhofer добилась закрытия ряда интересных проектов в области mp3, например проигрывателя NAD , кодера mpegEnc .

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

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

Какие версии лейма существуют? Какая версия новее, какая надежнее?

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

После того, как текущая версия пройдет стадию альфа-тестирования и исправления ошибок, появляется бета-версия. Иногда даже в ней встречаются серьезные огрехи (например — 3.67, если память не изменяет), и тогда выпускается новая, улучшенная бета-версия. Как правило, бета-версии работают много лучше и надежнее альфа-версий. Лично я предпочитаю подождать некоторое время (2 — 3 месяца), прежде чем начать использовать данную бета-версию.

В 1999 году координатор проекта лейм принял решение о регулярном выпуске stable (отлаженных) версий, отличающихся от текущих тем, что на протяжении длительного времени не подлежат содержательному обновлению (во избежание свежих ошибок, хотя исправление старых только приветствуется). Нынешняя stable — 3.70 (апрель 2000 года). Меня отговаривали от ее использования, потому что в 3.8х добавили ABR, улучшили качество (постоянная дилемма между надежностью и новыми возможностями).

Замечу, что последняя бета-версия — 3.87 — держится с сентября 2000 года. Это означает, что за все это время сколько-нибудь серьезных оплошностей не было замечено. И, для меня лично, этого достаточно, чтобы сделать свой выбор в пользу 3.87.

Лейм — это ISO код или нет?

Изначально лейм делался как патч именно для кода ISO. При модернизации кодера упор делался на исправление ошибок и совершенствование алгоритма. Но уже в 2000 году в версии, кажется, 3.6, было замечено, что весь код ISO изменен и лейм свободно компилируется без оригинальных исходников ISO. Так что сегодня лейм можно называть ISO-кодером только в историческом смысле, структура же его изменена настолько, что проще считать лейм самостоятельной разработкой. Причем разработкой качественной и перспективной: сейчас лейм уверенно конкурирует как по скорости, так и по качеству с аналогичными программами на основе кода от Fraunhofer.

Что лучше: LAME или Fraunhofer-based кодеры?

Одним нравится попадья, другим — свиной хрящик. Эта дискуссия сродни спорам о том, с какой стороны нужно разбивать яйцо. В августе 1999 года я в результате тестирования установил, что Fraunhofer-based кодеры имеют преимущество перед леймом на битрейтах в 160 кб/с и ниже. Лейм, соответственно, лучше при 192 кб/с и выше. Изменилось ли что-то с тех пор? Повсеместно наблюдаемая тенденция к использованию высоких битрейтов (от 160 и выше) и VBR может обеспечить LAME большое будущее.

ISO-based кодеры, а тем более кодеры на базе Xing использовать сегодня смысла не имеет. Лейм вобрал в себя все лучшее от ISO и ринулся догонять Fraunhofer. Кто-то считает, что уже догнал. А кто-то полагает, что лучше не спешить с выводами и использовать старый добрый Fraunhofer. Вспоминают о том, что во всех тестированиях на низких битрейтах (128 и ниже) Fraunhofer был лидером и уверенно обходил лейм, но забывают, что за прошедшее с тех пор время ситуация могла измениться.

Говорят, что версии лейма появляются чуть ли не каждый день потому, что в старых находят ошибки. Да, все так. У Фраунгофера тоже находят, но не исправляют годами — разве это лучше?

По крайней мере, VBR в лейме лучше, чем в Fraunhofer"е, хотя и тут он далек от идеала.

Где взять откомпилированный под Windows LAME?

На большинстве сайтов можно найти как stable-версии, так и последнюю beta, а иногда и alfa.

Есть ли для LAME оконные оболочки под Windows?

Подготовка материала перед сжатием

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

Постоянная составляющая

В некоторых случаях (практически никогда на CD и фактически всегда при записи с линейного или микрофонного входа) сигнал имеет так называемую постоянную составляющую: колебания уровня сигнала происходят не относительно условного нуля (середины диапазона уровней сигнала), а относительно некоторого другого уровня. Настоятельно рекомендуется эту составляющую убирать перед кодированием, благо это умеет практически любой звуковой редактор (remove DC offset). Некоторые кодеры (например лейм), кодируя такие файлы, сильно искажают звук, так как их психоакустическая модель рассчитана на исходный сигнал без постоянной составляющей.

Надо ли понижать уровень файла?

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

На сколько понижать? Вопрос спорный. Нужно учитывать то, что при понижении уровня и передискретизации также будут возникать искажения исходного сигнала. Естественно, что искажения будут меньше при понижении уровня ровно в 2 раза, но это достаточно большое понижение громкости. Можно попробовать выбрать что-то кратное этому "вдвое". Скажем, снизить уровень на 25%. А кто-то, может быть, предпочтет целые числа по децибелам, скажем — 3,00 дБ.

Поскольку наличие искажений от превышения пикового уровня сигнала зависит от битрейта и кодера, приведу здесь наблюдения одного из моих знакомых: "при 320 + лейм нормально — 98%, а при 128 — 85-88% от максимального уровня (100% = 0dB)". Сам я с файлами, уровень сигнала которых приближался к 0 дБ, не экспериментировал.

Надо ли использовать нормализацию?

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

Тем более неразумно выглядит нормализация под очень высокий уровень (часто 98% или даже 100%) — см. предыдущий подраздел.

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

Замечания по поводу увеличения уровня в целое число раз справедливы и в данном случае, так как нормализация — это передискретизация с новым уровнем сигнала.

Тонкости процесса сжатия

В этом разделе описаны некоторые особенности процесса сжатия, как-то: выбор параметров кодера, битрейта и прочего.

Надо ли (в лейме) выключать психоакустику?

Думаю, нет. Лейм очень быстро развивается. В августе 1999 года я тестировал версию 3.24, нынешняя версия — 3.87. В той, старой, версии я действительно слышал разницу в звучании между файлами, сделанными со включенной психоакустикой и с выключенной. Последний вариант мне нравился больше. Но, с точки зрения теории кодирования mp3, это неверно. Психоакустика составляет неотъемлемую и достаточно важную часть алгоритма сжатия. Так что плохо реализованные алгоритмы психоакустики были ошибкой старых версий лейма. И ее, кстати, исправили. Попробуйте сравнить сами.

Есть, правда, одно "но".

Тонкая настройка психоакустики при сжатии

Как я уже говорил выше, психоакустика рассчитана на среднего человека и соответствует настройкам "по умолчанию" для проигрывателя. Из-за этого, подняв высокие частоты в эквалайзере, мы можем услышать искажение идеального, на первый взгляд, звучания мп3 файла. Вот что говорят по этому поводу на MP3 Forum "е:

Народ! Я, кажется, раз 20 писал про одно простое соображение. Повторюсь еще раз.

Иногда некоторые моменты психоакустики отключать надо. Вот, например, в лейме есть опция понижения ATH (Absolute threshold of hearing), т.е. абсолютный порог слышимости. Зачем кодировать звуки, которые мы не слышим, скажете вы? А вот зачем. Если человек будет слушать эту музыку через эквалайзер, то данные параметры (параметры психоакустической модели с стандартным ATH — АГ) можно считать неприменимыми. Т.е. стоит чуток поднять высоких частот, все огрехи mp3 как на ладони.

Ну почему об этом до сих пор никто не написал, а?

Только вот понижение ATH слишком уж "больно" отражается на битрейте в виде его сильного увеличения.

Какой режим кодирования стереосигнала лучше: stereo, joint stereo или dual channel?

Выбор режима кодирования стерео зависит от конкретной ситуации. С одной стороны, при использовании joint stereo на кодирование среднего канала выпадает больше половины битрейта при почти одинаковых правом и левом каналах, с другой стороны, кодер может оставить слишком мало места для кодирования разницы каналов и смазать стереоэффекты. В таком случае, казалось бы, предпочтительнее режим stereo, когда кодер кодирует каналы раздельно, но пропорция, в которой он делит битрейт для правого и левого каналов, может изменяться. А если на каком-то ответственном отрезке кодер сделает поток в одном из каналов чересчур маленьким? Словом, у каждого метода есть преимущества и недостатки — оптимальный выбор будет зависеть от типа записи.

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

Лейм автоматически выбирает для каждого фрейма stereo или joint stereo (при желании вы можете запретить ему делать это: "-m s" — только stereo, "-m f" — только joint stereo). Я использую режим с автоматическим выбором "-m j".

Существует мнение, что кодеру нужно запрещать перераспределение потока между каналами стереозаписи, для того чтобы на каком-то ответственном отрезке кодер не сделал поток в одном из каналов чересчур маленьким. Режим, когда каждому каналу отдается ровно половина потока битов, называют dual channel. В лейме этот режим активируется ключом "-m d". Рекомендую использовать такой режим только при заведомо большом размере потока — битрейт в 256 кб/с и больше.

Использовать ли переменный битрейт (VBR)?

Проблема в том, что под VBR (Variable BitRate — переменный битрейт) нужна своя психоакустическая модель, которая и будет управлять изменением битрейта. Раньше кодеры использовали CBR (Constant BitRate — постоянный битрейт) и принцип "обеспечить максимальное качество, упаковывая данные в поток заранее заданной ширины". Переменный битрейт требует совершенно другого подхода: "обеспечить заданный уровень качества, используя поток минимальной ширины", поэтому алгоритмы сжатия для VBR нужно создавать практически с нуля. Более или менее приемлемым прообразом такого алгоритма обладает только лейм, как самый быстроразвивающийся кодер. Ни Ксинг, ни Фраунгофер качественной разработки VBR пока не представили. Их алгоритмы варьируют средний битрейт в пределах 10-15% от основного, что, по-видимому, является результатом попытки адаптировать алгоритмы CBR для использования с VBR (а ведь в старых алгоритмах вообще не было возможности изменить битрейт).

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

На этом фоне вполне логичным выглядит появление компромиссного варианта — ABR (Average BitRate — средний битрейт), реализованного в LAME. По сути, это VBR с элементами доработанного старого алгоритма кодирования CBR. Когда качество падает ниже некоторого порога, битрейт увеличивается, если кодируемый сигнал достаточно прост, битрейт уменьшается. В итоге мы получаем обычный файл с VBR потоком, где параметром является не некий абстрактный уровень качества, а заданный битрейт.

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

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

Следует подробнее остановиться на следующей ситуации: при переключении битрейта между фреймами один фрагмент сложного участка может быть закодирован с большим битрейтом, другой — с меньшим, полученный в результате скачок — слышимый дефект звучания. Случай во многом напоминает рассмотренный выше с режимом стерео — вот поэтому-то любители dual channel всегда используют CBR.

Список ссылок

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

Ставший уже классикой и использующийся как ФАК в ФИДО эхоконференции RU.MPEG "Обзор MP3" (в двух частях: часть 1 , часть 2). В обзоре много ссылок на различные, связанные с mp3 сайты. Очень советую новичкам.

Техническая документация по стандарту сжатия mp3 — www.mp3-tech.org .

Официальный сайт проекта LAME — .

Намечается ли новое тестирование?

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

Как ты сам кодируешь музыку?

При помощи лейма, версии 3.87. На 128 CBR психоакустика включена, для того чтобы показать друзьям-товарищам. То есть это режим "сохранения приемлемого уровня качества при достижении максимального сжатия". При VBR -V2 психоакустика включена для временного хранения качественных записей в mp3. Весь материал, достойный долговременного хранения в моей фонотеке, записывается в формате wav.

Как со мной связаться?

Мой e-mail: [email protected] . Если есть вопросы, не стесняйтесь, задавайте. Я отвечаю на все письма. Если вы участвуете в обсуждении этой статьи в каком-то форуме, сообщите, пожалуйста, мне об этом.

Вместо заключения

Я признателен всем, кто присылал критические замечания, предложения, пожелания. Особо хочу выделить постоянных участников MP3 Forum и автора этого проекта Михаила Федотова..com), при участии которых был подготовлен данный материал.

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

Одноклассники

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

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

обычно равномерное квантование отсчетов звукового сигнала (ЗС) с

разрешением ∆А= 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% по сравнению с ее исходной величиной, что никак нельзя считать революционным достижением.

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



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

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

К настоящему времени достаточное распространение в радиовещании получили также еще нескольких стандартов MPEG, таких, как MPEG-2 ISO/IEC 13818-3, 13818-7 и MPEG-4 ISO/IEC 14496-3. В отличие от этого в США был разработан стандарт Dolby AC-3 (А/52) в качестве альтернативны стандартам MPEG. Несмотря на значительное разнообразие алгоритмов компрессии цифровых аудиоданных, структура кодера, реализующего такой алгоритм обработки сигналов, может быть представлена в виде обобщенной схемы, показанной на рис. 5.1.

Семейство стандартов 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 и III). Эти уровни имеют различия в обеспечиваемом коэффициенте сжатия и качестве звучания получаемых потоков.

MPEG-1 нормирует для всех трех уровней следующие номиналы скоростей цифрового потока: 32, 48, 56, 64, 96, 112, 192, 256, 384 и 448 кбит/с, число уровней квантования входного сигнала – от 16 до 24. Стандартным входным сигналом для кодера MPEG-1 принят цифровой сигнал AES/EBU (двухканальный цифровой звуковой сигнал с разрядностью квантования 20–24 бита на отсчет). Предусматриваются следующие режимы работы звукового кодера:

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

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

− joint stereo (сигнал с частичным разделением правого и левого каналов).

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

Стандарт MPEG-2

MPEG-2 это расширение MPEG-1 в сторону многоканального звука. Следствием совместимости MPEG-2 с MPEG-1 в части кодирования звука стало полное использование трехуровневой системы, разработанной в MPEG-1 для обработки звуковых данных кодерами стандарта MPEG-2. Различия между стандартами начинаются при переходе от двухканалъного звука, принятого за основу в MPEG-1, к многоканальному звуку, поддерживаемому в MPEG-2.

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

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

добавлением нескольких (до 7) языковых каналов со скоростью 64 кбит/с к многоканальному потоку 384 кбит/с. Возможна передача

дополнительных звуковых каналов для людей с ухудшением зрения и слуха.

Система улучшенного кодирования звука ААС. Одной из лучших

современных систем сжатия звука признана система ААС (Advanced Audio Coding – усовершенствованная система кодирования звука),

специфицированная в седьмой части стандарта ISO/IEC 13818. В отличие от других методов сжатия звуковых данных, принятых в MPEG-2, она не обладает свойством обратной совместимости – декодеры MPEG-1 не могут декодировать сигнал ААС.

На данный момент существуют пять разновидностей формата ААС:

2. AT&T а2b ААС;

3. LiquifierPROAAC;

4. Astrid/Quartex ААС;

Все эти модификации несовместимы между собой, имеют собственные кодеры/ декодеры и неодинаковы по качеству.


Стандарт MPEG-4

В качестве средств компрессии звука в MPEG-4 (ISO/IEC 14496-3) используется комплекс нескольких стандартов кодирования звука: улучшенный алгоритм MPEG-2 ААС, алгоритм TwinVQ, а также алгоритмы кодирования речи HVXC и CELP. Кроме того, MPEG-4 предусматривает множество механизмов обеспечения масштабируемости и предсказания. Однако в целом, стандарт MPEG-4 ААС, предусматривающий правила и алгоритмы кодирования звука, является, в общем, продолжением MPEG-2 AAC.

MPEG-4 – аудио предлагает широкий перечень приложений, которые

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

Метод кодирования MPEG-4 CELP. Метод кодирования MPEG-4

CELP предназначен для обработки речевых сигналов. На практике

применяются в основном три основных класса кодеров: кодеры формы,

вокодеры и гибридные кодеры.

Кодеры формы характеризуются способностью сохранять основную

форму речевого сигнала. К кодерам формы относятся кодеры с импульсно

кодовой модуляцией (ИКМ), кодеры с дифференциальной ИКМ (ДИКМ),

адаптивной дифференциальной ИКМ (АДИКМ) и др. Системы передачи с

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

Вокодеры (от английских слов «voice» – голос и «coder» – кодирующее устройство) обеспечивают значительно большее снижение скоростей передачи речевых сигналов. Сжатие на передающей стороне производится в анализаторе, выделяющем из речевого сигнала медленно меняющиеся составляющие, которые передаются по каналу связи в виде кодовых комбинаций. На приемной стороне с помощью местных источников сигналов, управляемых с использованием принятой информации, синтезируется речевой сигнал.

Стандарт MPEG-7

Аудио MPEG-7 FCD имеет пять технологий: структура описания звука, которая включает в себя масштабируемые последовательности, дескрипторы нижнего уровня и униформные сегменты тишины; средства описания тембра музыкального инструмента; средства распознавания звука; средства описания голосового материала и средства описания мелодии.

Описание системы аудио MPEG-7. Аудиоструктура содержит

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

Метод сжатия звука Ogg Vorbis

Сразу после своего появления формат MP3 приобрел огромную

популярность у пользователей персонального компьютера, на аудиодиск

размером 650 Мб можно поместить в 10 раз больше звуковой информации, при этом сохранив приемлемое качество. Созданные таким образом файлы можно без проблем пересылать через Интернет, использовать в переносных устройствах, собирать музыкальные коллекции.

OggVorbis принадлежит к тому же типу форматов аудиосжатия, что и МР3, AAC, VQF, РАС, QDesign AIFF и WMA, т.е. к форматам сжатия с потерями. Психоакустическая модель, используемая в OggVorbis по

принципам действия близка к МР3 и иже с ними, но и только – математическая обработка и практическая реализация этой модели в корне

независимым от всех предшественников.

Главное неоспоримое преимущество формата OggVorbis – это его

полная открытость и бесплатность. WMA и Astrid/Quartex тоже бесплатны, но авторы этих форматов не опубликовали исходные коды своих разработок, a Xiphophorus именно это и сделала. OggVorbis создается в рамках проекта GNU и полностью подчиняется GNU GPL (генеральная публичная лицензия). А это означает, что формат совершенно открыт для коммерческого и некоммерческого использования, его коды можно модифицировать безо всяких ограничений, группа разработчиков оставляет за собой лишь право утверждать новые спецификации формата.

OggVorbis использует математическую психоакустическую модель отличную от МР3, и это сказывается на звучании. MP3 и OggVorbis трудно сравнивать, но в целом звучание OggVorbis гораздо лучше.

При кодировании кодеки OggVorbis используют VBR (variable bitrate), подобно некоторым МР3 кодекам, что позволяет существенно уменьшить размер композиции, при незначительной потере качества.

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

OggVorbis, как и МР3, изначально разрабатывался как сетевой

потоковый формат. Это свойство является очень важным, особенно учитывая мультиплатформенную направленность формата OggVorbis. Интернет-радиостанция использующая низкоскоростные версии OggVorbis сможет вещать сразу на всех платформах, тогда как такая же радиостанция, использующая для передачи WMA (в виде ASF) будет ограничена только пользователями Windows.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

n ASF (Advanced Screaming Format)

n AAF (Advanced Authoring Format)

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

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

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

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

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

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

Наиболее известны Audio MPEG, PASC и ATRAC. Все они используют так называемое "кодирование для восприятия" (perceptual coding) при котором из звукового сигнала удаляется информация, малозаметная для слуха. В результате, несмотря на изменение формы и спектра сигнала, его слуховое восприятие практически не меняется, а степень сжатия оправдывает незначительное уменьшение качества. Такое кодирование относится к методам сжатия с потерями (lossy compression), когда из сжатого сигнала уже невозможно точно восстановить исходную волновую форму. Приемы удаления части информации базируются на особенности человеческого слуха, называемой маскированием: при наличии в спектре звука выраженных пиков (преобладающих гармоник) более слабые частотные составляющие в непосредственной близости от них слухом практически не воспринимаются (маскируются). При кодировании весь звуковой поток разбивается на мелкие кадры, каждый из которых преобразуется в спектральное представление и делится на ряд частотных полос. Внутри полос происходит определение и удаление маскируемых звуков, после чего каждый кадр подвергается адаптивному кодированию прямо в спектральной форме. Все эти операции позволяют значительно (в несколько раз) уменьшить объем данных при сохранении качества, приемлемого для большинства слушателей. Каждый из описанных методов кодирования характеризуется скоростью битового потока (bitrate), с которой сжатая информация должна поступать в декодер при восстановлении звукового сигнала. Декодер преобразует серию сжатых мгновенных спектров сигнала в обычную цифровую волновую форму.

Audio MPEG - группа методов сжатия звука, стандартизованная MPEG (Moving Pictures Experts Group - экспертной группой по обработке движущихся изображений). Методы Audio MPEG существуют в виде нескольких типов - MPEG-1, MPEG-2 и т.д.; в настоящее время наиболее распространен тип MPEG-1. Существует три уровня (layers) Audio MPEG-1 для сжатия стереофонических сигналов: 1 - коэффициент сжатия 1:4 при потоке данных 384 кбит/с; 2 - 1:6..1:8 при 256..192 кбит/с; 3 - 1:10..1:12 при 128..112 кбит/с. Минимальная скорость потока данных в каждом уровне определяется в 32 кбит/с; указанные скорости потока позволяют сохранить качество сигнала примерно на уровне компакт-диска. Все три уровня используют входное спектральное преобразование с разбиением кадра на 32 частотные полосы. Наиболее оптимальным в отношении объема данных и качества звука признан уровень 3 со скоростью потока 128 кбит/с и плотностью данных около 1 Мб/мин. При сжатии с более низкими скоростями начинается принудительное ограничение полосы частот до 15-16 кГц, а также возникают фазовые искажения каналов (эффект типа фэйзера или фленжера). Audio MPEG используется в компьютерных звуковых системах, CD-i/DVD, "звуковых" дисках CD-ROM, цифровом радио/телевидении и других системах массовой передачи звука. комплект 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 раз без ощутимых потерь в качестве. - Стандарт MPEG-2 был специально разработан для кодирования ТВ сигналов вещательного телевидения. В апреле 1997 этот комплект получил «продолжение» в виде алгоритма MPEG-2 AAC (MPEG-2 Advanced Audio Coding - продвинутое аудио кодирование).

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

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

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

PASC Precision Adaptive Sub-band Coding - точное адаптивное внутриполосное кодирование) - частный случай Audio MPEG-1 Layer 1 со скоростью потока 384 кбит/с (сжатие 1:4). Применяется в системе DCC.

ATRAC Adaptive TRansform Acoustic Coding - акустическое кодирование адаптивным преобразованием) базируется на стереофоническом звуковом формате с 16-разрядным квантованием и частотой дискретизации 44.1 кГц. ATRAC (Adaptive TRansform Acoustic Coding) разделяет 16-битный 44,1 кГц цифровой аудио сигнал на 52 частотных диапазона (после быстрого преобразования Фурье). Диапазоны с низкими частотами передаются более точно, чем с высокими. Алгоритм использует психо-акустическое кодирование, где применяется эффект маскировки и порог слышимости звука, в результате чего часть информации может быть отброшена и выходящий поток данных имеет размер в 1/5 оригинального. Каждый канал обрабатывается независимо (портативный MD привод Sony MZ-1 использует один чип ATRAC кодера/декодера на канал). Другой алгоритм кодирования, PASC (Precision Adaptive Sub-band Coding - сейчас используется Philips в DCC ) разделяет цифровой сигнал на промежутки равного размера и удаляет часть информации (уменьшая поток до 1/4 оригинального). PASC является алгоритмом MPEG Layer 1 (его можно распаковать проигрывателями MPEG Layer 1 после небольшой предварительной коррекции).
Оба алгоритма выполняют сжатие данных, обеспечивая хранение 16-битного звукового потока. Цель алгоритма - сжать поток для уменьшения занимаемого им пространства на диске. Существует огромного множество алгоритмов сжатия. Некоторые алгоритмы сжимают данные без потерь (они используются, к примеру, в архиваторах), при этом информация после декомпрессии не отличается от оригинала. PASC и ATRAC относятся к алгоритмам с потерей части информации, они не пытаются сохранить каждый бит входящих данных, они просто стараются выделить и сохранить акустически "важные" биты. Поэтому важно найти звуки, которые будут замаскированы человеческой слуховой системой, которые человек не сможет услышать даже при их воспроизведении. Оба алгоритма сжатия звука прекрасно справляются с этой задачей. Какой звуковой поток записывается на минидиск после сжатия ATRAC? Для стерео сигнала - 292162,5 бит/с. ATRAC сжимает 512 входящих 16-битовых семплов (1024 байта) в "звуковые группы" ATRAC (212 байт), в результате получается коэффициент сжатия 4,83:1. - 44100 семплов/с (входящий поток одного канала) - 512 семплов на звуковую группу (получаем 86,133 звуковых групп/с/канал) - 2 канала (получаем 172,266 звуковых групп/с)
- 212 байт/звуковую группу (получаем 36,5 кбайт/с в стерео) - 8 бит/байт (получаем кбит/с) - 292162,5 бит/с ATRAC (используется в MDLP) работает на 132 кбит/с (LP2) и 66 кбит/с (LP4).