-Подписка по e-mail

 

 -Поиск по дневнику

Поиск сообщений в Dgali

 -Сообщества

Участник сообществ (Всего в списке: 1) Радио_Алла
Читатель сообществ (Всего в списке: 1) аспергер

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 27.09.2007
Записей: 265
Комментариев: 23
Написано: 356

Выбрана рубрика Мультимедиа.


Другие рубрики в этом дневнике: Эзотерика(5), Психотроника(8), Психология(2), Психиатрия(8), Притчи(1), Поэзия(6), Основы веры(53), Опера(9), Мысли(1), Медицина(88), Лекарства(5), История(42), Информатика(14), Интересно(11), Атеизм(5), Анатомия(0)

Видео кодеки

Дневник

Четверг, 25 Июня 2009 г. 17:52 + в цитатник
Кодек - это сокращение от КОдер/ДЕКодер, и по сути является небольшой программой. Кодек всегда является звеном в цепочке программ, которые получают поток данных из источника, производят над ним какие-нибудь хитрые манипуляции, и помещают в какой-либо другой поток данных. Поток данных на входе может быть как файлом, например не зажатым видеофайлом, или зажатым в другом формате (напр. MPEG-1), так и видеопотоком от цифровой камеры или TV. В первом случае входной поток генерируется драйвером файловой системы Вашей операционки, который берет файл, находящийся на жестком диске, и направляет его кодеку (точнее, цепочке программ, звеном которой является кодек). Во втором случае входной поток генерируется драйвером устройства, которое поставляет видеопоток (например, драйвером TV-тюнера или драйвером видеокарты, при записи с видеовхода). Цепочка программ, частью которой является кодек, различна в завосимости от того, что Вы делаете. Если Вы кодируете файл, то типичная цепочка программ может быть такой:
Avisynth, который получает входной поток от драйвера файловой системы и производит определенный препроцессинг, например обрезку черных полос, деинтерлейсинг и ресайз (и много чего еще, в зависимости от Вашего avisynth-скрипта).
Virtualdub, который получает выходной поток от Avisynth, конвертирует его в понятный себе формат, и производит его препроцессинг (при использовании фильтров). Далее Virtualdub направляет видеопоток кодеку.
Кодек производит собственно компрессию видеопотока в тот формат, который Вы хотите получить, а затем возвращает уже зажатый видеопоток Virtualdub'у.
Virtualdub перенаправляет скомпрессированные данные драйверу файловой системы, который в свою очередь помещает их на жесткий диск в том виде, который был указан Virtualdub.
При воспроизведении принцип тот же самый, только цепочка программ будет немного отличаться:
Драйвер файловой системы направляет поток данных из файла, который Вы хотите проиграть, на вход Вашему медиаплееру (Light Alloy, Crystal Player, Windows Media Player и т.п.).
Медиаплеер исследует поток данных, и обращается к своему встроенному списку кодеков (как, например, делает Media Player Classic), либо к внешнему списку кодеков (находящихся в реестре Windows) в поисках подходящего кодека. Если плеер его не находит, то выводит на экран сообщение типа "не найден соответствующий декомпрессор", и ожидает, пока Вы не установите нужный кодек. Если плеер находит кодек, то он направляет поток данных кодеку.
Кодек производит декодирование, и направляет распакованный поток данных назад плееру, который в свою очередь перенаправляет его драйверу видеокарты. Видеокарта уже выводит его либо на экран монитора, либо на TV-выход.
Примечание 1. В зависимости от Ваших настроек, сам медиаплеер также может производить некоторую обработку видеопотока, напр. увеличение яркости и/или контраста и т.п.
Примечание 2. Обычно файл содержит более одного потока данных. Как правило файл (напр. avi) содержит один видеопоток и один или более аудиопотоков. Более передовые контейнеры (OGM, Matroska, MP4) могут содержать много потоков данных, включая информацию о главах, субтитры и т.п. Для этих передовых контейнеров также необходимо установить небольшую программку - сплиттер. Это не кодек, но он необходим, чтобы медиаплеер мог понять, как потоки данных хранятся в контейнере. Windows поставляется со встроенной поддержкой контейнеров AVI и MPEG, поэтому большинство плееров без проблем могут проигрывать эти файлы. Существует много форматов контейнеров, каждый из которых имеет свои уникальные особенности.

Т.е., другими словами, видео кодеки - специальные алгоритмы упаковки видео изображения. Если их не использовать, видео будет представлять набор .BMP-картинок, по одной на каждый кадр. Поэтому средний фильм будет занимать десятки гигабайт.
Кодеки делятся на два типа:

Lossless ("беспотерьные"), зажимающие видео без потери информации. Т.е., образно говоря, все BMP-шки упаковываютя RAR. Недостаток таких кодеков - низкая степень сжатия. Фильм, зажатый таким кодеком, все равно будет занимать не один гигабайт, поэтому они чаще используются как промежуточный формат при монтаже цифрового видео. Примером таких кодеков может послужить Motion JPEG (www.jpg.com).
Lossy кодеки зажимают видео с потерей информации. То есть считают некоторую часть информации не нужной и отбрасывают ее, а всю остальную информацию жестоко сжимают. За счет этого достигается высокая степень сжатия. Качесво кодека определяется заложенным алгоритмом, по которому он (кодек) решает, какую информацию можно выбросить, а какую нужно оставить. Примерами таких кодеков являются DivX, Xvid, VP6, Mpeg, H.264.
Принцип работы "потерьных" (lossy) кодеков примерно следующий. В видеопотоке, зажатом одним из этих кодеков, можно выделить I-кадры (Intra) и P-кадры (предсказанные). I-кадр представляет собой одну картинку из видеопотока, сжатую алгоритмом типа JPEG, то есть изображение передается целиком. Если бы каждый кадр фильма пришлось сжимать индивидуально, мы бы никогда не достигли высокой степени сжатия MPEG-4/DivX (чем и страдают lossless-кодеки, т.к. видеопоток, зажатый lossless-кодеком, состоит полностью из I-кадров). Поэтому в потоке используются P-кадры. Принцип их использования легче всего объяснить на примере: представьте себе программу новостей и диктора в ней. В течение программы фон за диктором, по большей части, остается неизменным. Поэтому мы можем отбросить ненужный фон и описывать только изменения, происходящие в избранных участках изображения. Для этого следует поделить изображение на отдельные блоки. Временные изменения блоков кодируются в P кадре. Чтобы еше больше увеличить степень компрессии, были разработаны B-кадры ("Bidirectional" - двунаправленный). В них содержится информация об изменении изображения как на основе предыдущего кадра, так и следующего.

Для кодирования фильмов используютя именно "потерьные" (lossy) кодеки. Из них чаще всего используются кодеки, соответствующие стандарту MPEG.

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

Кодеки MPEG-совместимые
MPEG (Moving Pictures Experts Group) — это название экспертной группы ISO (International Standards Organization), которая работает над созданием стандартов кодирования и сжатия видео- и аудио- данных. Стандарты, подготовленные комитетом, получают такое же название.
MPEG-1 был разработан в 1992 году для компрессии видео на CD-ROM и лег в основу Video-CD. На сегодняшний день безбожно устарел. Кодировать им не имеет никакого смысла. Единственное достоинство - низкие требования к аппаратной части.
В стандарте MPEG-2 по сравнению с MPEG-1 добавлен многоканальный звук, увеличено разрешение изображения, улучшено качество кодирования. В результате, MPEG-2 получил широкое распространение в спутниковом телевещании и индустрии DVD.
MPEG-4 - cогласно официальному описанию, является "стандартом аудио-визуального кодирования с очень низким битрейтом". Многие стандарты, разработанные группой MPEG, были приняты организацией ISO (International Standards Organisation), и поэтому они называются ISO-стандартами. MPEG-4 стандарт разделён на множество разных под-стандартов, из которых наибольший интерес представляют следующие:
ISO 14496-1 (Системы), формат контейнера MP4, анимация/интерактивность (например, DVD меню)
ISO 14496-2 (Видео #1), Продвинутый Простой Профайл (Advanced Simple Profile – ASP), которому соответствуют XviD, DivX5, 3ivx...
ISO 14496-3 (Аудио), Продвинутое Кодирование Аудио (Advanced Audio Coding – AAC)
ISO 14496-10 (Видео #2), Продвинутое Кодирование Видео (Advanced Video Coding – AVC), так же известное как H.264 (этому стандарту соответствует кодек x264).

Короче, MPEG-4 - это стандарт видеокомпрессии, специально разработанный для получения очень высокой степени сжатия стандартного видео. Под стандартным понимается видео, отражающее реальный мир. НЕ анимация, мультфильмы и т.п. (Это является одной из причин, почему анимационное видео так сложно зажать; MPEG-4 не разрабатывался для этого).
MPEG-4 стал полноценным MPEG-стандартом в 1998, и был принят ISO в 2001. Технический обзор стандарта MPEG-4 можно найти тут (англ.)
Приложения, работающие с MPEG-4, представлены как програмно, так и аппаратно. "Програмно" означает какую-либо кодирующую или декодирующую программу, аппаратные же устройства обычно представляют собой электронные чипы, специально разработанные для кодирование и/или декодирования MPEG-4.
MPEG-4 решения в виде стационарных аппаратных плееров (таких как DVD-плееры с возможностью проигрывания DivX), обычно на самом деле не являются полностью аппаратными устройствами, а чем-то вроде "полуаппаратных". Они загружают из флэш-памяти (называемой Eeprom) в центральный процессор устройства программу, которая и декодирует файл на диске. Программа, находящаяся в Eeprom, называется прошивкой (firmware), и может быть обновлена для лучшей поддержки других MPEG-4 файлов, а не только DivX.
Типичными MPEG-4 кодеками являются DivX, 3ivx, Quicktime MPEG-4 и, конечно, XviD. И хотя все они MPEG-4 совместимые, это совсем не обязательно означает, что они смогут проигрывать файлы друг друга идеально. Некоторые из них имеют свои фичи, которые другие обрабатывать не умеют, что может иногда приводить к каким-либо глюкам изображения. Если же во время кодирования эти фичи не использовались, видео обладает очень высокой совместимостью.

Кодеки DivX
Разрабатывается компанией DivX Networks, Inc. Первой появилась версия кодека 3.11. Из себя она представляет взломанный и немного измененный кодек "MPEG-4 Version 3" от Microsoft. Эта версия не соответствует стандарту Mpeg4. Затем появился кодек DivX 5, уже соответствующий спецификации Mpeg4 часть 2. Наиболее стабильной является версия кодека DivX 5.2.1.
Среди новшеств кодека DivX 5 появились:

Общая компенсация движения. Помогает при увеличении («наезде» камеры) и при панорамировании (повороте камеры), если объект сохраняет свою статичность и меняется лишь в размере или местоположении на картинке. Включение GMC разумно при кодировании фильмов о природе и подобных.
Четверти пикселей. Влияют на точность фильтрации макроблоков. DivX 4 работает с половинами пикселей (1.5, 1.5), а в DivX 5 возможны варианты типа 1.25, 1.75 и т.д. Обычно деление изображения на макроблоки производится на основе целых (16x16 или 8x8), используя дополнительную информацию из так называемых виртуальных блоков. Это позволяет более реалистично передавать движение объектов на изображении.
Недавно вышла версия кодека DivX 6, которую можно скачать с официального сайта. В этой версии добавилась поддержка нового формата контейнера .divx, однако в плане улучшения качества кодирования никаких особых изменений не произошло.

Кодеки Xvid
Также соответствует стандарту Mpeg4 часть 2. Но, в отличие от DivX, является open source, т.е. любой желающий может скачать его исходники и внести свой вклад в развитие кодека. Это его как достоинство, так и недостаток. Дело в том, что в результате различных изменений, вносимых разными програмистами, разные версии кодека были не совместимы между собой. Поэтому вместе с фильмом приходилось записывать на диск и ту версию кодека, которым он зажат.
Но это утверждение было справедливо раньше, когда кодек длительное время находился в состоянии бета-тестирования. Сейчас, после выхода стабильной версии 1.0, кодек является абсолютно совместимым со стандартом Mpeg, и поэтому фильм, зажатый кодером XviD, может декодироваться, например, декодером DivX.
Как и DivX, XviD поддерживает B-кадры, GMC (общую компенсацию движения) и QP (четверти пикселей). В результате длительной работы над ним большого количества людей, субъективно даёт более высокое качество изображения по сравнению с DivX 5 или 6. Подробнее о настройках кодека XviD см. тут.

Кодеки AVC (H.264)
Соответствуют стандарту MPEG-4 часть 10. Дают потрясающее качество зажатого видео, но и требуют еще больших системных ресурсов для кодирования. В последнее время несколько компаний представили свои разработки кодеков по стандарту H.264. Среди них Fraunhofer IIS, Ateme, Videosoft, MainConcept AG и др. Сравнение различных H.264 кодеков можно найти на сайте Compression.ru. Существует также Open source вариант кодека H.264 под названием x264, имеющий VfW-интерфейс, и поддерживающий двухпроходнее кодирование. Кодек H.264 основан на совершенно другом принципе, по сравнению со всеми предыдущими кодеками. При очень малом битрейте можно получить очень приемлемую картинку.
По крайней мере теоретически, кодеки AVC разных разработчиков должны быть совместимы между собой. Например, я использую для зажатия видео кодер x264, а для просмотра декодер от Videosoft для avi-файлов и декодер Nero Digital для mp4-файлов. Также для просмотра H.264 видео можно использовать DirectShow декодер от группы Core.

Кодеки, несовместимые со стандартами MPEG

Кодек VP6
Разработан фирмой On2. VP6 - это кодек нового поколения, основанный на иных методах сжатия изображения, чем Mpeg4. Он несовместим с Mpeg4, но по качеству выходного изображения на любых битрейтах выигрывает у DivX'а любой версии. Разработчики позволили пользователю самому настраивать ряд параметров, чему стоит только порадоваться (на данный момент только XviD и x264 позволяет столь детально копаться в настройках кодирования).
При инсталляции кодек ставит три профиля - VP60 (simple profile) и VP61 (advanced profile) и VP62 (heightened sharpness profile). Авторы кодека рекомендуют использовать VP60 для обычных и высоких битрейтов, а VP61 - для низких и очень низких битрейтов. VP62 - субверсия кодека VP6, и отличается от VP61 и VP60 качеством (в лучшую сторону, конечно). VP62 требует при кодировании и декодировании больше ресурсов, но способен дать немного лучшее качество кодирования.
К минусам этого кодека можно отнести небольшие недоработки в блоке контроля движения, а также требование достаточно высоких вычислительных ресурсов для кодирования.
Кодек поддерживает двухпроходное кодирование, кодирование в режиме реального времени, позволяет устанавливать постоянный (CBR) или переменный (VBR) битрейд. VP6 - лучший кодек, работающий в области низких битрейтов, по обработке чересстрочного видео. Декодер VP6 имеет встроенный механизм деинтерлейсинга, пусть и не такой мощный, как, например, адаптивный деинтерлейсинг у программного обеспечения ATI, но достаточно неплохой. Кодек имеет встроенную систему шумоподавления.
Недавно вышла следующая версия кодека - VP7, но она ОЧЕНЬ медленно работает, поэтому практическое применение на сегодняшний день под вопросом.

Кодек Windows Media Video
Кодек Real Video

Кодек XviD
На сегодняшний день XviD является самым лучшим ASP-видеокодеком по соотношению Качество/Скорость кодирования. Это не продукт какой-либо компании, а проект с открытым кодом, над которым работает большое количество людей по всему миру. Ядро кодека хорошо портируется на разные операционные системы:

Win32 (MSVC, cygwin, mingw)
GNU/Linux x86/ppc/sparc/ia64
MacOS X
*BSD
Solaris 8 Ultra Sparc
BeOS
XviD - это MPEG4-совместимый видеокодек. Он кодирует видеофайл в MPEG4-совместимый поток данных, который можно сохранить в файл-контейнер, напр. .avi, .ogm, .mp4 или др. Сам по себе он кодировать не может, ему нужна программа, которая бы передавале ему данные для обработки. В качестве примера таких программ можно привести VirtualDub или VirtualDubMod, FlaskMPEG и т.д. Декодирующая часть обычно идет встроенной в кодер, в полном соответствии с термином "кодек" (КОдер/ДЕКодер). Но есть и отдельные декодеры. Они могут только проигрывать файлы, но не кодировать их. Наиболее известен из таких Nic's декодер. При помощи него Вы можете проигрывать Xvid-видео при помощи любого медиа плеера, напр. Windows Media Player, Crystal Player и т.п.
XviD распространяется по лицензии GNU General Public License. Это означает, что любой может скачать его исходный код, использовать его и вносить любые необходимые изменения, при условии затем выпустить свой продукт на тех же условиях

Кодек x264
AVC/H.264 – это часть MPEG-4 стандарта, определяющая один из самых современных и технически совершенных форматов видео кодирования. Он был совместно завершён и специфицирован в 2003 году двумя группами: MPEG из Интернациональной Организации Стандартизации (ISO) и VCEG из Интернационального Телекоммуникационного Союза (ITU) Организации Объединённых Наций (UNO). AVC/H.264 стандарт был разработан Joint Video Team (JVT), которая включает экспертов из MPEG и VCEG. Со стороны MPEG, стандарт называется MPEG-4 Часть 10 (ISO 14496-10), а со стороны ITU – H.264. Под этим названием формат уже широко известен.

С выходом спецификации H.264 многие компании начали разрабатывать свои версии видеокодеков по этому стандарту. У всех этих кодеков есть по крайней мере один серьезный недостаток - их лицензионность, и, как следствие, небесплатность. Исключением является кодек x264, который начал развиваться как проект с открытым исходным кодом (open source). Над ним работает большое количество квалифицированных специалистов со всего мира, периодически выпуская обновления, исправляющие баги, увеличивающие скорость кодирования за счет оптимизации алгоритма, добавляя новые фичи. На сегодняшний день x264 является наилучшим среди AVC-кодеков по соотношению качество/скорость кодирования.

Однако, правильнее будет называть x264 не кодеком, а кодером, т.к. он не включает в себя декодера для проигрывания зажатого видеоматериала. Для просмотра видео, зажатого x264, придется установить декодер стороннего производителя. Так, например, для проигрывания AVC-видео, находящегося в контейнерах AVI или Matroska можно использовать декодер от VSS, либо ffdshow. А для контейнера MP4 лучше использовать декодер Nero Digital, устанавливающийся вместе с пакетом Nero Vision Express.

Версии кодека x264 выходят двух разновидностей:

VFW (Video for Windows)
CLI (Command line Interface)
Первая представляет собой привычный вариант кодека, устанавливаемый в систему, и доступный для большинства программ для кодирования видео (VirtualDub, FlaskMPEG, GordianKnot и т.п.).

Вторая представляет собой .exe-файл, запускаемый с определенными параметрами (местоположение исходного видео, параметры кодирования, имя выходного файла и т.п.), и дающий на выходе видеофайл в контейнере mp4.

В данной статье будут рассмотрены настройки кодека x264 в версии VFW. Для изучения настроек CLI версии кодека можете обратиться к статье, описывающей работу с MeGUI.
Рубрики:  Мультимедиа

Контейнеры

Дневник

Четверг, 25 Июня 2009 г. 17:40 + в цитатник
Как показывает практика, вокруг MPEG-4 и DivX всегда образуется много путаницы. Наиболее часто встречающееся заблуждение — Avi, DivX и MPEG-4 — это одно и то же.
AVI и MKV — это контейнеры (форматы файлов), или другими словами хранилище и упаковка данных. В то время как DivX или XviD — это кодеки, то есть способы и реализация шифрования для записи видеоданных в файл, и расшифровки информации, соответственно, для воспроизведения уже записанных файлов. MPEG в свою очередь описывает и кодеки и способы хранения.
Контейнер позволяет объединять различные мультимедийные потоки (в большинстве случаев аудио и видео) в один файл. Примеры известных мультимедийных контейнеров: AVI (.avi), MPEG (.mpg, .mpeg), OGM (.ogm), MP4 (.mp4), Realmedia (.rm, .rmvb), Matroska (.mkv).

Контейнер Audio Video Interleave (AVI)
Во времена широкого распространения Windows 3.1x компанией Microsoft был создан контейнер AVI для хранения синхронных аудио-видео данных. AVI — это аббревиатура от Audio Video Interleave (чередование аудио и видео). AVI является формат-контейнером, который может содержать видео/аудио данные, сжатые с использованием разных комбинаций кодеков. Так, если файлы MP3 и JPG получены с использованием только одного вида компрессии данных (MPEG Audio Layer 3 и JPEG), то AVI-файл может содержать различные виды компрессированных данных (например, DivX для видео и MP3 для аудио). Все AVI файлы выглядят одинаково «снаружи» (имеют расширение .AVI), но «внутри» они могут существенно отличаться. С момента создания AVI прошло много времени, и сегодня это наиболее общеизвестный формат для представления видео. Все програмные плееры умеют с ним работать. И если не предъявлять к нему жестких требований, он и сейчас еще справляется со своими функциями. Однако он не поддерживает VBR аудио-потоки (т.е. с переменным битрейтом, дающим лучшее качество). Переменный битрейт MP3 несколько лет назад удалось втиснуть в AVI с некоторыми ухищрениями (требуется избыточное место для синхронизации, плюс иногда возникают проблемы), однако звук в формате Ogg Vorbis он не поддерживает.
С контейнепом AVI могут работать все Windows-программы для кодирования. Также он воспроизводится практически всеми аппаратными DVD-плеерами с поддержкой Mpeg4.

Контейнер DivX
Появился достаточно недавно, с выходом кодека DivX 6. По сути основан на контейнере AVI и является расширением его возможностей. Помимо аудио и видео, может содержать в себе также субтитры и интерактивное меню. К недостаткам можно отнести то, что большинсво распространенных у нас DVD-плееров с поддержкой Mpeg4 не умеют работать с этим контейнером. Кодировать видео в этот контейнер могут только официальные программы от DivX Inc., такие как Dr.DivX и DivX Converter.
Контейнер Ogg Media Streams (OGM)
Является частью проекта Ogg по созданию полностью открытой системы мультимедиа. Позволяет разместить любой видео поток (например, зажатый кодеком DivX или XviD), и звук в формате Ogg Vorbis. Также OGM может содержать и MP3 трэки.
У контейнера OGM есть 2 основных преимущества по отношению к стандартному AVI:
Первое - это перемотка. Она стала мгновенной. Не нужно больше ждать, глядя на черный экран, пока снова не начнется проигрывание видео, или наблюдать убыстренное видео, пытающееся синхронизироваться с аудио потоком.
Второе - меньшие потери мультиплексирования. Например, для двухчасового фильма с аудио дорожкой VBR MP3, контейнер AVI требует ~6,7Mb на синхронизацию аудио и видео. При использовании контейнера OGM эти потери составят ~2,4Mb. Это означает, что более 4Mb пойдет на увеличение битрейта видеопотока. И, что интересно, при добавлении второго аудиотрэка в формате Ogg, дополнительные потери на микширование составят 0Kb.
Также среди достоинств формата - встроенная коррекция ошибок, что дает возможность без особого риска записывать видео в этом формате на CD, используя Mode 2 (в этом режиме на стандартную 700Мб болванку влезает 795Мб). (m2cdmgui doom9.org). К недостаткам можно отнести то, что контейнер не поддерживается аппаратными DVD-плеерами.
В контейнер OGM может упаковывать, например, VirtualDubMod.

Контейнер Matroska (MKV)
Проект Matroska (Матрёшка) - это открытый формат контейнера, стремящийся предложить множество передовых возможностей, с которыми такие старые форматы как AVI не могут справиться. Например, Matroska поддерживает хранение аудио содержимого с переменным битрейтом (Variable Bitrate - VBR), переменную частоту смены кадров (Variable Framerate - VFR), субтитры, главы, прикрепление файлов, обнаружение ошибок (EDC) и современные аудио-видео кодеки, такие как "Advanced Audio Coding" (AAC), "Ogg Vorbis" или "Realvideo 9/10" (RV9/10), которые AVI не поддерживает.
Файлы matroska имеют следующие расширения:
.mkv: как правило, видео файлы (с аудио или без);
.mka: только аудио файлы, может содержать любой из поддерживаемых аудио форматов, такие как MP2, MP3, Vorbis, AAC, AC3, DTS...;
.mks: так называемые «элементарные» matroska потоки, содержащие потоки субтитров в форматах SRT, SSA, ASS и Vobsub.
Для проигрывания файлов, упакованных в Матрёшку, необходимо установить в систему Matroska Splitter - фильтр, который делит содержимое контейнера на потоки (аудио, видео, субтитры) во время воспроизведения. Недостаток контейнера: не поддерживается аппаратными DVD-плеерами.
Для упаковки видео в контейнер MKV можно использовать:
VirtualDubMod
MkvToolnix
Avi-Mux GUI

Контейнер MPEG-4 (MP4)
Формат контейнера, разработанный группой MPEG. Предусматривает не только хранение аудио и видео, а ещё и анимированного/интерактивного содержимого (так же известного как BIFS). Не вдаваясь в технические детали, стандарт MPEG-4 системы определяет широкий ряд мощных инструментов, которые делают возможными различные виды анимации (не только схожие с flash анимацией, но и подобные тем, что были использованы в фильмах «Toy Story» и «Finding Nemo») или интерактивность (например, DVD меню и интерактивные потоковые меню). Всё это может быть сделано в 2D и 3D. Образцы того, что могут предложить MPEG-4 системы, могут быть найдены здесь. Для воспроизведения системных файлов, содержащих интерактирное содержимое, Вам понадобится специальный проигрыватель. Самые популярные для 2D систем: GPAC's Osmo4 (скачать) и EnvivioTV (скачать). Для 3D систем посмотрите здесь. Однако все они пока находится в стадии разработки и не особенно пригодны для широкого использования. Для проигрывания mp4 файлов, содержащих лишь аудио и видео потоки, можно воспользоваться почти любым медиапроигрывателем. Однако, для проигрывания mp4 файлов необходимо установить в систему mp4-сплиттер. Он, также как и Mpeg4 видео декодер для mp4, входит в состав пакета Nero версий 6.6 и выше. Поэтому, если Nero установлен на Вашей машине, Вы вполне можете смотреть видео в mp4.
Звуковая дорожка в MP4 может быть моно, стерео и многоканальной, аналогично используемым в DVD. Поддерживаются форматы звука: MP3, Ogg Vorbis, WMA, AAC, VQF, AC3 и другие. Недостатки контейнера: слабая поддержка со стороны аппаратных DVD-плееров. На скольео мне известно, только DVD-плееры Xoro умеют с ним работать.

Файлы mp4 имеют следующие расширения:

.mp4: единственное официальное расширение, как для аудио, так и видео файлов (а также интерактивного содержимого).
.m4a: предложено Apple для аудиофайлов, закодированных кодеками aac/alac. Может быть без проблем переименован в .mp4.
Также встречаются:
.m4p: файлы, имеющие DRM защиту, разработанную Apple, и продаваемые через сервис iTunes.
.m4e: переименованные .sdp файлы, используемые Envivio для потокового воспроизведения.
.m4v, .mp4v, .cmp, .divx, .xvid: так называемые raw файлы, содержащие видео, не находящееся ни в каком контейнере.
.3gp, .3g2: используются в мобильных телефонах, могут содержать контент, не декларированный для mp4.

Для упаковки медиапотоков в контейнер mp4 можно воспользоваться программами:
MP4Box (рекомендуется использовать GUI Yamb)
MPEG4ip
Для кодирования видео в контейнер mp4 можно воспользоваться программами:
Nero Recode 2
MeGUI.
Рубрики:  Мультимедиа

Некоторые видео форматы

Дневник

Четверг, 25 Июня 2009 г. 17:03 + в цитатник
Современный этап развития видеокомпрессии начался в 1993 году - тогда комитет Moving Pictures Expert Group (MPEG) закончил работу над революционным по тем временам форматом MPEG-1.
Совсем недавно формат MPEG-1 был еще сильно распространен, для его воспроизведения достаточно компьютера класса Pentium, существуют аппаратные декодеры. MPEG-1 используется в дисках VideoCD (фильм размещается на 2-х дисках). По качеству фильмы в этом формате аналогичны качеству обычного бытового видеомагнитофона, за исключением сцен с быстрым движением - сказывается несовершенство алгоритма предсказания движений.
Дальнейшей эволюцией формата MPEG-1 стал MPEG-2 (1995 г.).
Сейчас MPEG-2 используется в дисках DVD-Video и телевидении высокого разрешения (HDTV). Для хранения видео на компьютерных компакт-дисках MPEG-2 подходит плохо - он позволяет хранить не более 15-20 минут данных на каждом диске. Так же, как и для MPEG-1, для MPEG-2 существуют аппаратные декодеры. Программное воспроизведение MPEG-2 файлов тоже возможно, но уже на компьютерах класса Pentium II.
MPEG-3 - предназначался для использования в системах телевидения высокой чёткости (high-defenition television, HDTV) со скоростью потока данных 20-40 Мбит/с , но позже стал частью стандарта MPEG-2 и отдельно теперь не упоминается. Кстати, формат MP3, который иногда путают с MPEG-3, предназначен только для сжатия аудиоинформации и полное название MP3 звучит как MPEG-Audio Layer-3.
Формат MPEG-2 хорош только для больших потоков, а MPEG-1 уже не удовлетворяет современным требованиям. Но Интернет обеспечивает пропускную способность намного ниже, чем нужно для передачи видео в MPEG-2! Таким образом, комитету MPEG снова пришлось взяться за работу, на этот раз с целью разработать формат для хранения видео с низкими битрейтами. Так, в 1999 г. появился формат MPEG-4, который совершил очередную революцию в мире видеокомпрессии. Теперь стало реальным размещать полнометражный фильм на один компакт-диск! При этом качество намного выше, чем на VideoCD и VHS-видеомагнитофоне. Кроме того, видео стало возможным передавать по медленным сетям, даже в реальном времени. Произошел бурный рост предложений фильмов в MPEG4 - нужный фильм в MPEG4 найти легче, чем на видеокассете.

Большинство видеофайлов, с которыми вам предстоит иметь дело, сжаты с использованием стандарта MPEG-4.

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

Форматы сжатия семейства MPEG сокращают объем информации следующим образом:

Устраняется временная избыточность видео (учитывается только разностная информация).
Устраняется пространственная избыточность изображений путем подавления мелких деталей сцены.
Устраняется часть информации о цветности.
Повышается информационная плотность результирующего цифрового потока путем выбора оптимального математического кода для его описания.
Форматы сжатия MPEG сжимают только опорные кадры – I-кадры (Intra frame – внутренний кадр). В промежутки между ними включаются кадры, содержащие только изменения между двумя соседними I-кадрами – P-кадры (Predicted frame – прогнозируемый кадр). Для того чтобы сократить потери информации между I-кадром и P-кадром, вводятся так называемые B-кадры (Bidirectional frame – двунаправленный кадр). В них содержится информация, которая берется из предшествующего и последующего кадров. При кодировании в форматах сжатия MPEG формируется цепочка кадров разных типов. Типичная последовательность кадров выглядит следующим образом: IBBPBBIBBPBBIBB… Соответственно, последовательность кадров в соответствии с их номерами будет воспроизводиться в следующем порядке: 1423765…

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

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

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

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

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

MPEG 7 и MPEG 21 – форматы будущего
В октябре 1996 года группа MPEG приступила к разработке формата сжатия MPEG 7, призванным определить универсальные механизмы описания аудио и видео информации. Этот формат получил название Multimedia Content Description Interface. В отличие от предыдущих форматов сжатия семейства MPEG, MPEG 7 описывает информацию, представленную в любой форме (в том числе в аналоговой) и не зависит от среды передачи данных. Как и его предшественники, формат сжатия MPEG 7 генерирует масштабируемую информацию в рамках одного описания.

Формат сжатия MPEG 7 использует многоуровневую структуру описания аудио и видео информации. На высшем уровне прописываются свойства файла, такие как название, имя создателя, дата создания и т.д. На следующем уровне описания формат сжатия MPEG 7 указывает особенности сжимаемой аудио или видео информации – цвет, текстура, тон или скорость. Одной из отличительных особенностей MPEG 7 является его способность к определению типа сжимаемой информации. Если это аудио или видео файл, то он сначала сжимается с помощью алгоритмов MPEG 1, MPEG 2, MPEG 4, а затем описывается при помощи MPEG 7. Такая гибкость в выборе методов сжатия значительно снижает объем информации и ускоряет процесс сжатия. Основное преимущество формата сжатия MPEG 7 над его предшественниками состоит в применении уникальных дескрипторов и схем описания, которые, помимо всего прочего, делают возможным автоматическое выделение информации как по общим, так и по семантическим признакам, связанным с восприятием информации человеком. Процедура занесения в каталог и поиска данных находятся вне сферы рассмотрения этого формата сжатия.

Разработка формата сжатия MPEG 21 - это долговременный проект, который называется "Система мультимедийных средств" (Multimedia Framework). Над разработкой этого формата сжатия эксперты начали работать в июне 2000 г. На первых этапах планировалось провести расширение, унификацию и объединение форматов MPEG 4 и MPEG 7 в единую обобщающую структуру. Подразумевалось, что она будет обеспечивать глубокую поддержку управления правами и платежными системами, а также качеством предоставляемых услуг.

Видео формат определяет структуру видео файла, то как хранится файл на носителе информации(CD, DVD, жестком диске или канале связи). Обычно разные форматы имеют различные расширения файла(*.avi, *. mpg, *.mov и др)
MPG - Видеофайл, в котором содержится видео, закодированное MPEG1 или MPEG2.
Как вы замечали, обычно MPEG-4 фильмы имеют расширение AVI. Формат AVI (Audio-Video Interleaved) был разработан корпорацией Microsoft для хранения и воспроизведения видеороликов. Представляет собой контейнер, в котором может быть что угодно, начиная от MPEG1 и заканчивая MPEG4. Он может содержать в себе потоки 4 типов - Video, Audio, MIDI, Text. Причем видеопоток может быть только один, тогда как аудио - несколько. В частности, AVI может содержать и только один поток - либо видео, либо аудио. Сам формат AVI не накладывает совершенно никаких ограничений на тип используемого кодека, ни для видео, ни для аудио - они могут быть любыми. Таким образом, в AVI файлах могут совершенно спокойно сочетаться любые видео- и аудиокодеки.
RealVideo формат, созданный компанией RealNetworks. RealVideo используется для живой телевизионной трансляции в Интернете. Например, телекомпания CNN одной из первых стала вещать в Сети. Обладает небольшим размером файла и самым низким качеством, зато вы, не особенно загружая свой канал связи, сможете посмотреть последний выпуск теленовостей на сайте выбранной вами телекомпании. Расширения RM, RA, RAM.
ASF - Потоковый формат от Microsoft.
WMV - Видеофайл, записанный в формате Windows Media.
DAT - Файл, скопированный с VCD(VideoCD)\SVCD диска. Содержит в себе MPEG1\2 видеопоток.
MOV - Формат Apple Quicktime.

Video CD (VCD)
Стандарт записи видео в формате MPEG-1 на обычный Compact Disk (диаметр 120 мм, толщина 1.2 мм, одна информационная сторона).
Один диск обычно позволяет хранить до 74 минут видео, качество соизмеримо с VHS стандартом. Для воспроизведения достаточно односкоростного CD-ROM.
ВИДЕО ИЗОБРАЖЕНИЕ (MPEG-1): PAL - 352x288 25fps
NTSC - 352x240 29.97fps
НЕПОДВИЖНОЕ ИЗОБРАЖЕНИЕ (JPEG): PAL - 704x576
NTSC - 704x480
ЗВУК: Цифровой двухканальный Hi-Fi стерео звук с возможностью кодировки Dolby Surround. Динамический диапазон достигает 70dB.
Сжатие с использованием алгоритма MPEG для Audio с приблизительным коэффициентом сжатия 1:5 (потери качества субъективно 5..6% по отношению к Audio CD, можно соотнести к MP3).
ВЕРСИИ ФОРМАТА Video CD: 1.0 – первая версия VCD, созданная для простого просмотра
1.1 – переходная версия VCD с элементами быстрого управления программой (перелистывания треков, как в Audio CD)
2.0 – самая популярная версия VCD последних нескольких лет, с интерактивным меню для моментального доступа к нужному участку программы
3.0 – самая последняя версия VCD, появившаяся на рынке только в 1997г.
ФОРМАТЫ ЗАПИСИ Video CD:
MPEG-1 для Video-CD Audio: 44.1KHz, Stereo, 224Kbit/s
Video: 141Kbytes/s (352x288/25Hz, 352x240/29.97Hz, 352x240/23.976Hz)
MPEG-2 для Super Video CD Audio: 44.1kHz MPEG-1/2 layer 2; stereo/dual-channel/multi-channel
Video: 480x576/25Hz, 480x480/29.97Hz

DVD (Digital Versatile Disk)
Формат DVD-диска принят 8 декабря 1995 года. Первоначально аббревиатура DVD расшифровывалась, как Digital Video Disc (цифровой видеодиск), несколько позже появилась расшифровка аббревиатуры DVD, как Digital Versatile Disc (универсальный цифровой диск).
ФОРМАТЫ DVD-дисков: DVD-5 (Single-side single-layer disk) - односторонние однослойные диски с ёмкостью 4.7Gb
DVD-9 (Single-side double-layer disk) - двухслойные односторонние диски ёмкостью 8.5Gb
DVD-10 (Double-side single-layer disk) - двухсторонний диск с одним информационным слоем на каждой стороне, обладающий ёмкостью 9.4Gb
DVD-18 (Double-side double-layer disk) - двухсторонний диск с двумя информационными слоями на каждой стороне, имеющий ёмкость 17Gb
* цифра в наименовании - округленное значение ёмкости диска
ФОРМАТ DVD Video: Используется компрессия MPEG-2. Ёмкость одностороннего однослойного диска - 4.7Gb (до 135 минут видео). Формат DVD Video допускает до 8 звуковых каналов с переводом, 32 текстовых субтитра, 9 углов обзора.
ВИДЕО:
PAL / SECAM (625/50) - 720x576 25fps
NTSC (525/60) - 720x480 29.97fps
ЗВУК:
Dolby Digital 5.1 (это шесть независимых цифровых каналов: центральный, левый и правый фронтальные, левый и правый тыловые и сабвуфер)

Классификация качества видео весьма условно делится на 3 уровня. Количественно они обычно характеризуются горизонтальным разрешением (числом различаемых в строке элементов - телевизионных линий).

1. < 280 Video (VHS, Video8)
2. < 400 Super Video (SuperVHS, Hi8)
3. > 500 Digital Video (DV, Digital8)
Рубрики:  Мультимедиа

Что такое MP3 ?

Дневник

Вторник, 23 Июня 2009 г. 20:29 + в цитатник
MP3 -- сокращение от MPEG Layer3. Это один из цифровых форматов
хранения аудио, разработанный Fraunhofer IIS и THOMSON, позднее
утвержденный как часть стандартов сжатого видео и аудио MPEG1 и MPEG2.
Данная схема является наиболее сложной схемой семейства MPEG Layer 1/2/3.
Она требует наибольших затрат машинного времени для кодирования по
сравнению с двумя другими и обеспечивает более высокое качество
кодирования. Используется главным образом для передачи аудио в реальном
времени по сетевым каналам и для кодирования CD Audio.

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

Высокая степень компактности MP3 по сравнению с PCM 16Bit Stereo 44.1kHz
(CD Audio) и ему подобными форматами при сохранении аналогичного
качества звучания достигается с помощью дополнительного квантования по
установленной схеме, позволяющей минимизировать потери качества.

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

Степень сжатия, и, соответственно, объем дополнительного квантования,
определяются не форматом, а самим пользователем в момент задания
параметров кодирования. Ширина потока (bitrate) варьируется от
наибольшего для MP3, равного 320kbs (320 килобит в секунду), до 96kbs и
ниже. Термин битрейт обозначает общую ширину потока, безразлично к
тому, монофонический или стереофонический сигнал он содержит.

На проведенных тестах специально приглашенные опытные эксперты,
специализирующиеся на субъективной оценке качественности звучания, не
смогли различить звучание оригинального трека на CD и закодированного в
MP3 с коэффициентом сжатия 6:1, то есть с битрейтом в 256kbs.

Более низкие битрейты, несмотря на их популярность, не дают возможности
обеспечить надлежащее качество кодирования. Фактически, и 256kbs не дает
возможности осуществить полностью прозрачное кодирование, то же самое
можно сказать и про наивысший возможный для MP3 битрейт -- 320kbs, но
отличия от CD Audio, по которому кодируется тестовый MP3, сравнимы с
отличиями самого CD Audio от исходного высококачественного сигнала, из
которого он был получен путем оцифровки. То есть, вообще говоря, потери
есть, но несущественны с точки зрения того, кому CD Audio представляется
верхом качественности.

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

Возможно, "монополия" MP3 будет сломлена начинанием Microsoft - WMA.
Но пока рано говорить об этом. В то же время, в связи с появлением Microsoft
на данном рынке со столь сильно разработкой можно уверенно
предположить, что разработки семейства AAC, прямого наследника MP3, уже
не успеют завоевать популярности.

Описание процесса кодирования


Подготовка к кодированию. Фреймовая структура

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

Начало кодирования

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

Работа психоакустической модели.

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

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

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

Замечание

На практике схема несколько сложнее.

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

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

Дополнение

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

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

Выставляется в некоторых кодерах по требованию.

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

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

Данный режим выставлен по умолчанию в большинстве ISO-based кодеров, а
также используется продукцией FhG IIS на битрейтах выше 192kbs. Применим
и на более низких битрейтах порядка 128kbs... 160kbs.

Joint Stereo (MS Stereo) -- Стереосигнал раскладывается на средний между
каналами и разностный. При этом второй кодируется с меньшим битрейтом.
Это позволяет несколько увеличить качество кодирования в обычной
ситуации, когда каналы по фазе совпадают. Но приводит и к резкому его
ухудшению, если кодируются сигналы, по фазе не совпадающие. В частности,
фазовый сдвиг практически всегда присутствует в записях, оцифрованных с
аудиокассет, но встречается и на CD, особенно если CD сам был записан в
свое время с аудиоленты. С другой стороны, уже нашелся любитель,
написавший небольшую программу для автоматической коррекции фазового
сдвига. Посмотрим, как будет развиваться эта идея. Возможно, любители
128kbs все же смогут какое-то время нормально паковать оцифрованные
аудиокасеты, пока более совершенные форматы, чем MP3, не займут его
место.

Режим выставлен по умолчанию продукцией FhG IIS для битрейтов от 112kbs
до 192kbs.

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

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

Этот режим по умолчанию используется продукцией FhG IIS для высоких
частот на битрейтах от 96kbs и ниже. В ISO-based кодерах возможен выбор
диапазона. Фактически, MS Stereo -- частный случай MS/IS Stereo, когда
переменная, отвечающая за кодируемый таким образом диапазон, принимает
нулевое значение.

При применении данного режима происходит потеря фазовой информации, а
также имеет место меланхоличное превращение противофазного сигнала
кодером в полное отсутствие оного (сигнала).

О граблях

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

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

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

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

Также очень популярны кодеры, написанные самим разработчиком стандарта
-- Fraunhofer IIS, -- хотя при всем их действительно высоком качестве они
имеют небольшой ряд характерных существенных недостатков,
проявляющихся на низких битрейтах, на которые, кстати, и ориентированы.
Основной недостаток - недостаточные возможности настройки, в частности,
нет возможности отключить на низких битрейтах режим Joint Stereo. В случаях
наличия не скорректированного фазового сдвига это необходимо. Впрочем,
разработчикам при желании поправить это будет несложно, чего не скажешь
о кодерах XingTech, недостаток которых -- качество собственно кодирования.
Кстати, кодеры FhG IIS командной строки имеют достаточно хорошие
возможности настройки.

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

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

А лежит в основе всего то, что на традиционно устанавливаемой на
компьютерах неважной аудиоаппаратуре, состоящей обычно из слабой
аудиокарты и дешевых колонок, закодированные кодерами от XingTech MP3
часто звучат почти так же, как и сделанные другими кодерами, а CD Audio
звучит столь же неважно, как MP3 128kbs (сжатие 12:1). Именно поэтому
данному битрейту приписывают способность обеспечить CD-качество
кодирования, а кодеры от XingTech не перестают пользоваться
популярностью. Но обычно это быстро вскрывается -- начинает проявляться
неприятный осадок, вызываемый дефектами звучания. Разумеется, при
наличии некоторого слуха.

По этой же причине еще одной большой трудностью становится устоять перед
соблазном использования в своей фонотеке таких популярных низких
битрейтов, как 128kbs, несмотря на желание иметь максимальное качество.
Обычно забывают, что битрейты порядка 112kbs... 128kbs по качеству неплохи
для прямых трансляций и ознакомительного прослушивания, но отнюдь не для
создания архивов музыки качества CD Audio. У меня тоже была одно время
коллекция записей в MP3, закодированных с битрейтом 128kbs, и слушал я их
на дешевой аппаратуре. Но дефекты звучания оказались легко заметны, я их
довольно скоро просто-напросто выучил. Они превысили все дефекты,
вносимые недостатками аппаратуры, и записи были удалены. И это при
плохой аппаратуре. Что же говорить о хорошей?

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

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

Несколько слов о разных битрейтах

Разные битрейты дают разное качество. Разные любители MP3 абсолютно
по-разному оценивают степень приемлемости одних и тех же битрейтов и
имеют свой взгляд на то, какой битрейт следует считать оптимальным. Кто-то
выбирает 128kbs, другие 160kbs, третьи золотую середину -- от 192kbs до
256kbs. Некоторые -- 320kbs.

Я, когда начинал разбираться с MP3, изначально искал именно и только
полноценную замену CD Audio, с меньшим объемом, но с как минимум не
меньшим качеством, и такую возможность MP3 в общем-то дает.

Любые существенные потери качества и нервов, пусть и с утешительным
призом в виде дальнейшего уменьшения объема, меня всегда интересовали со
знаком минус, и я пользуюсь и собираюсь продолжать пользоваться
исключительно 320kbs MP3. Поясню, на чем основан мой выбор.

Тесты профессиональных прослушивателей, нанятых разработчиками
формата, для выбранных тестовых композиций показали достаточность 256kbs
для сохранения качества звучания, неотличимого человеческим слухом от
исходного ( прошу не забывать про оговорку в начале обзора). В дополнение к
этому, другие тесты, проведенные французом Gabriel Bouvigne, вебмастером
MP3 Tech, (www.mp3tech.org), показали недостаточность для этой цели
битрейта 192kbs. С другой стороны, нередко появляются замечания о том, что
256kbs оказывается недостаточно. Иногда это проявляется лишь на некоторых
композициях, а иногда сказывается использование достаточно хорошей
аппаратуры и не самого плохого слуха. И, хотя документированных
доказательств никто не привел, этих высказываний достаточно, чтобы сделать
вывод об обоснованности признания 256kbs не самым безупречным
битрейтом, так как этого и следовало ждать.

То есть достаточного запаса качества 256kbs не дает, несмотря на то, что он на
треть выше 192kbs, на котором отличия для вебмастера MP3 Tech оказались
уже почти неощутимы. Тем не менее, проявляется это крайне редко.

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

С другой стороны, те же тесты определили MP3 160kbs... 192kbs как в
большинстве случаев вполне приемлемые для хранения аудио на компьютере,
например, в компьютерных играх, когда внимание отвлечено.

Следующий после 256kbs битрейт -- 320kbs, он же -- максимальный для
кодирования аудио с характеристиками CD Audio, то есть 44.1 kHz 16bit Stereo.
В данном случае мы имеем запас в 1/4 от битрейта 256 kbs, и его вполне
можно считать достаточным в силу имеющихся данных о степени улучшения
качества кодирования при кодировании на 160 kbs вместо 128 kbs. Именно в
данном варианте мы имеем дело со степенью качественности, описанной в
оговорке в начале обзора.

Таким образом, можно свободно уменьшить объем CD Audio более чем
вчетверо, используя 320 kbs, и быть спокойным за сохранение качества, или
же с помощью легкого аутотренинга внушить себе спокойствие и
использовать
MP3 256 kbs, применяя сжатие в шесть раз. В данном случае выбор -- дело
скорее принципа или коммерческой целесообразности.

Так или иначе, используя MP3 256kbs и 320kbs, мы можем без особых
проблем создавать свои обширные фонотеки на CDR.

И все же ни для кого не секрет, что самым популярным все же был и остается
битрейт 128 kbs, широко разрекламированный в свое время FhG IIS. Но при
его использовании мы имеем скорее качество аудиокассеты, записанной на
подозрительного происхождения магнитофоне, хотя и с очень низким
уровнем шумов. Романтически настроенные разработчики даже почти
официально назвали это "CD-качеством", что очень далеко от истины.
Впрочем, это традиция -- ADPCM тоже в свое время называли форматом,
дающим только неслышимые искажения.

На самом деле различие между качеством звука на битрейтах 128 kbs и 256
kbs/320 kbs принципиально. Первый к качеству уровня CD никакого
отношения не имеет, в отличие от двух последних. Разумеется, для тех, кому
качество средней аудиокассеты кажется великолепным, данная оценка
неверна, также она обычно неверна для случаев, когда внимание сильно
отвлечено. Добавить к этому особенно нечего.
Интернет, как правило, можно найти только MP3, закодированные с
битрейтом 128 kbs (закроем глаза на факт наличия Xing VBR, о котором ниже).
Этот битрейт, помимо признания в качестве любимого битрейта FhG IIS, был
признан также оптимальным для использования в Интернет. Это печально, но
логично -- именно для передачи аудио по сетям MP3 и был первоначально
предназначен. Просто битрейт 112kbs, к сожалению, оказался маловат для
достаточно качественного кодирования, и дополнительно закрепилось
значение 128 kbs, которое обеспечивает значительно более высокое качество.
При дальнейшем повышении битрейта рост качества замедляется, поэтому
остановились именно на 128kbs.

Вскоре после того, как тучи пользователей осознали все возможности
технологии, попавшей им в руки, в Сети начался бум роста обширных залежей
нелегальных MP3-файлов, кампанию борьбы с наличием которых недавно
провела RIAA. А с осени 98-го стали выпускаться аппаратные плееры MP3, в
том числе модели для автомобилей, несмотря на попытку RIAA помешать
этому. В итоге MP3 стал первым массово признанным форматом хранения
аудио после CD-Audio, а RIAA срочно ищет формат, который бы не допускал
нелегального распространения аудиотреков через Интернет, и при этом в
головах многочисленных любителей музыки занял бы место MP3. Любопытно,
как они себя чувствуют после появления WMA.

VBR & XingTech

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

На практике же качество так и не поднялось на уровень FhG IIS/ISO-based
кодеров на 256kbs. К сожалению. Причины - вольное обращение XingTech с
сигналом, в том числе компрессия частот и грубое кодирование высоких, а
возможно, и не только это.

В целом, конечно, использование VBR в реализации XingTech аудиофилам не
рекомендуется. Единственное его преимущество -- высокая скорость. Xing
VBR -- лучше, чем Xing с постоянным битрейтом, но не всегда, да и при этом
все еще не дотягивает по качественности до других кодеров при аналогичном
объеме получаемых файлов.

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

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

Также существует возможность модификации кода ISO добровольцами, и
даже понятно, в каком направлении. Поживем -- увидим.

Способы хранения MP3

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

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

Часто к последовательности фреймов добавляют стандартный заголовок
мета-аудиоформата WAV, и получается то, что называют WAV-MP3. Немного
подробнее о последнем будет сказано ниже, когда будет описываться ACM
pro codec. Еще чаще к MP3-файлу добавляется информационный блок ID3v2,
содержащий информацию об исполнителе, жанре, названии композиции, и
другую подобную информацию о треке. Он добавляется в конце файла. В
середину пока никто ничего ставить не придумал. Хотя, вообще говоря, может
представлять некоторый интерес вставка спецтэга для VBR с информацией о
том, в какой части трека мы, собственно, находимся.

Характер потерь при кодировании

На низких битрейтах всегда срезаются мелкие, сравнительно тихие детали,
наличие или отсутствие которых нередко серьезно меняет эмоциональную
окраску композиции, придает или лишает ее таких эффектов, как ощущение
"кристальной" чистоты звука (в той мере, в которой она присутствует в CD
Audio). Кроме того, в соответствии с психоакустической моделью, высшие
(выше 16 кГц) частоты на низких битрейтах кодируются с очень низким
приоритетом.

Кроме того, имеют место разные особенности кодеров. Так, у кодеров от FhG
IIS на 128 kbs оказываются "смазаны" верхние частоты, наблюдается эффект
"шепелявости", в то время как у ISO-based вместо этого -- "звон". Причем
одним неприемлемо первое, другим -- второе, и выбор кодеров для низких
битрейтов в итоге всегда субъективен. Точно также некоторые выбирают
субъективно кодеры от XingTech, но это уже радикализм.

Узкое место всех схем компрессии класса MPEG -- участки с резкими
изменениями сигнала. В случае MP3 задержка может достигать величин
порядка 160 мс, теоретический минимум -- 59 мс.

На высших битрейтах при последовательном следовании психоакустической
модели, разработанной FhG IIS, проблемы могут доставлять только ошибки,
внесенные при написании кодера, и упомянутый абзацем выше момент.

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

Обычно тестирование кодеров проводится по степени сохранения формы
АЧХ оригинального сигнала. При этом очевидно, что при битрейтах 256
kbs/320 kbs АЧХ исходного файла и файла, полученного после декодирования,
должны быть идентичными как на синтетических тестах (сгенерированный
белый шум), так и на реальных треках. На более низких битрейтах следует в
первую очередь следить за сохранением формы АЧХ в области низких и
средних частот.

Сами тесты по сохранению формы АЧХ следует проводить не только на белом
шуме, как это делается обычно, но и на достаточно сложных композициях, в
комплексе это позволяет получить значительно более достоверные
результаты. Белый шум может выявить мелкие недостатки, как в BladeEnc на
128 kbs, мешающие, но редко, а может и выдать ложное представление о
высоком качестве кодирования, как в случае SoundLimit.

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

Тесты АЧХ не универсальны. В силу особенностей MP3 они дают достаточно
адекватную оценку его качества, но к другим форматам они совсем не
обязаны быть применимыми -- в частности, они непригодны для оценки
качественности кодирования в формате VQF.

Относительно точную раскладку качества сигнала по материалам специально
проведенного прослушивания можно найти на сайте MP3 Tech, а немного
вольный ее перевод на русский язык -- у меня на Mikhail's MP3 Page. Кстати,
сам сайт MP3 Tech посетить весьма рекомендую.

Общий обзор основных используемых кодеров и области их применения

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

Собственно, именно этот институт и есть тот единственный, который со
знанием дела занимается разработкой наиболее качественных кодеров для
средних и низших битрейтов (другие, как авторы ISO-based кодеров, просто
оптимизируют сопровождавший спецификации MP3 иллюстрационный
общедоступный исходный код, а программисты из XingTech проблемами
качества занимаются во вторую очередь). Современные кодеры, основанные
на разработках FhG IIS -- FhG MP3 Producer 2.1, AudioActive.

Программы от FhG IIS не позволяют кодировать с битрейтом 320 kbs, поэтому
эти кодеры не совсем универсальны. А вышеупомянутые два кодера не
универсальны еще и потому, что не позволяют отключать joint stereo на
низких битрейтах. По этой причине в ряде случаев может оказаться более
предпочтительным использование mp3enc 3.1, который это позволяет. В
версии 3.1 исправлена ошибка, благодаря которой без нужды выбрасывалась
чрезмерно большая часть высоких.

Решить, какой из кодеров лучше на 256 kbs, может помочь только подробный
анализ алгоритмов применительно именно к этому битрейту. А пока мнения
разделились -- с одной стороны имеем разумное ожидание высокого качества
от разработчика формата, с другой -- распространенное мнение о более
высоком качестве ISO-кодеров, более равномерно кодирующих разные
частотные диапазоны. Кроме того, кодеры от FhG IIS "выметают" все частоты
выше 21кГц, а ISO based -- нет, хотя это уже не слишком критичный диапазон.
Для полноты картины замечу, что представители обоих групп в один голос
утверждают, что продукция их любимого кодера на 256kbs и на слух звучит
лучше.

Другой известный производитель коммерческих MP3-кодеров, Xing Tech,
специализируется на выпуске высокоскоростных кодеров. В их последних
кодерах реализована техника переменного битрейта (VBR). Основное отличие
от кодеров с постоянным битрейтом состоит в том, что в кодерах, основанных
на технологии VBR, в качестве параметра задается не битрейт, а желаемый
уровень качества. Теоретически, это должно давать MP3 нужного качества
при минимально необходимом битрейте.

Практически, даже при самых высоких параметрах кодирования кодерами
XingTech мы имеем хорошее, но не отличное качество, причем и при
переменном битрейте, и при постоянном, что сильно снижает удовольствие от
непревзойденной скорости кодирования. Но любителей 128 kbs MP3
уговорить перейти на Xing VBR настолько же легко, насколько трудно
отговорить меня пользоваться только ISO-based на 320 kbs.

Остальные известные кодеры, авторство которых не принадлежит ни FhG IIS,
ни Xing Tech, все как один основаны на ISO source -- общедоступных исходных
текстах кодеpа, относительно равномерно кодирующего разные частотные
диапазоны, что пpиводит к наивысшемy качествy кодиpования на высоких
битpейтах и вполне пpиличномy -- на 128 kbs, однако несколько иному по
характеру искажений по сравнению с кодерами от FhG IIS на битрейтах
порядка 128 kbs.

Сам код создавался в иллюстрационных целях и работает крайне неторопливо,
поэтомy сyществyет только один известный кодер, в котором он не подвергся
обширным изменениям в целях оптимизации -- mpegEnc 0.07a. Эта пpогpамма
считается эталоном качества для высших битpейтов. Однако, нельзя сказать,
что в ней используется совсем неизмененный код ISO -- были проведены
небольшие изменения, не повлиявшие на скорость, но несколько улучшившие
качественность. (Дело в том, что окончательной доводке кода ISO не уделялось
много внимания, и он был не без погрешностей.) Это, конечно, не делает
mpegEnc идеальным кодером, но на высоких битрейтах он обходит все
остальные.

Дpyгой известный кодеp этой гpyппы, yдачно пpооптимизиpованный по
скорости, - BladeEnc, на высоких битpейтах с веpсий 0.70-0.72 по скоpости
незначительно отличающийся от Пpодюсеpа, а по качествy -- от mpegEnc.
Кроме того, этот кодер поставляется также и в виде отдельной dll. Но на низких
битрейтах к нему есть претензии, вызванные недоделками кода ISO, на основе
которого он написан. В данный момент обнаружена ошибка, приводившая к
неправильному вычислению CRC --кто пользовался данным режимом, стоит
обратить внимание.

Заслуживает некоторого внимания CDex. В данной пpогpамме кодеp
объединен с "pиппеpом", что дало емy высокий pейтинг. Он является одним
из немногих, способных кодировать "на лету", без промежуточного
WAV-файла. К сожалению, в данном конкретном кодере это производится
значительно медленнее, чем через создание промежуточного WAV-файла.
Также проблему составляет то, что
не всегда dll-библиотека кодера включается в архив. И наконец, о каких-то
особенных достоинствах данного кодера в плане качества по сравнению с
выше упомянутыми сведений пока не поступало, то есть особых причин
пользоваться именно им нет.

Едва ли стоит pассматpивать кодеp SoundLimit -- в нем пpи оптимизации резко
снижено качество кодиpования, в то вpемя как BladeEnc yже догнал его по
скоpости. Hизким качеством обладает также кодеp "8kHz". Кодер Plugger
проигрывает BladeEnc по качеству, не говоря уже о mpegEnc, но говорят, на
некоторых машинах он -- второй по скорости после кодеров от XingTech.

Что такое front-end?

Front-end - программа, пpедлагающая оконный интерфейс для повышения
комфоpтности pаботы с пpогpаммами, его не имеющими. В слyчае MP3 - с
кодеpами, управляемыми из командной стpоки, а также yстановленного в
системе кодека.

После подачи команды на кодиpование front-end пеpедает введенные
паpаметpы собственно кодеpy и ждет завеpшения его pаботы. Этот процесс
может сопpовождаться как попытками пpедсказать оставшееся вpемя, так и
выводом скромной таблички "Please wait".

Большинство грабберов могут быть использованы как front-end для
нескольких разных кодеров; в таких, как CDex и CDCOPY, существует выбор
между встроенным кодером и внешним, также подключаема BladeEnc.dll.

Что такое ACM pro codec (MP3-кодек)?

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

Каждый метод кодирования, указываемый в заголовке, имеет собственный
идентификатор, в соответствии с которым Windows и определяет, установлен
ли кодек для работы с данным файлом, и если установлен -- использует его.

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

Тем не менее, хотя для MP3 тоже существует по крайней мере один кодек
ACM pro codec от FhG IIS, сам по себе формат из-за потерь при кодировании
непригоден на роль промежуточного, поэтому в редакторах с WAV-MP3
работать не рекомендуется. Единственным разумным применением данного
кодека можно считать декодирование WAV-MP3, либо их кодирование, когда
по каким-либо причинам неудобно сделать это из нормального кодера. При
установленном кодеке можно применять WAV-MP3 в качестве стандартных
звуков Windows.

Один приверженец FhG IIS также подсказал мне идею установить кодек и
попробовать слушать WAV-MP3 через Winamp как WAV-файлы, используя
его по прямому предназначению -- для прогрывания MP3, но декодирование
проводя декодером от FhG IIS. Способ работает, причем именно так, как и
предполагалось, то есть декодер Winamp не используется. Но, начиная с
версии 2.20, Winamp и сам использует декодер от FhG IIS, поэтому такие
ухищрения необязательны.

Кроме того, группа хакеров Radium выкорчевала нужный код из нового
"Продюсера" и написала на его основе еще один кодек. Теперь он "гуляет" по
Интернету, радуя своих приверженцев способностью делать 256 kbs MP3. Но
вскоре после его появления в фидошной конференции соответствующей
тематики появилось сообщение о "баге", замеченном при использовании
из-под AudioGrabber. Тогда упоминалась выдача разных WAV-MP3 по одним
и тем же исходным WAV-файлам. У меня этот кодек совсем испортил первый
же опробованный трек после кодирования, и результат повторился в разных
"грабберах". Некорректное кодирование начиналось где-то после середины
трека. Доверия такой кодек не заслуживает.

Файлы какого формата можно перевести в формат MP3?

Кодирование из формата WAV PCM поддерживают все кодеры. Многими
поддерживается AIFF. Mp3enc может принимать исходные данные потоком,
без промежуточного файла, в фоpмате PCM. А mpegEnc и Cdex предлагают
кодировать прямо с CD-ROM.

Каков статус MP3 кодеров?

Все, созданное Fraunhofer IIS и Xing Tech - коммерческое, в лучшем случае
shareware, но полные версии обычно легко найти на FTP поисковиках. Только
немногие предпочитают высшее качество меньшему размеру и большей
скоpости кодиpования, поэтомy данные кодеpы наиболее попyляpны.

BladeEnc, mpegEnc -- freeware. Авторы всегда рады получить открытку от своих
пользователей. Автор mpegEnc предпочитает открытки с изображением
местности, где вы живете.

Разработчик формата MP3 -- Fraunhofer IIS, пользyясь своими патентами,
попытался положить конец их pазвитию. Из этой переделки "живым" вышел
только BladeEnc, автоp которого пpоживает в стране, на теppитоpии которой
эти патенты не имеют силы, и Plugger, который стоит немного особняком и
кроме неплохой скорости ничем не выделяется.

Теперь кодер mpegEnc пpиходится искать на поисковиках, web-страничка
закрыта. У CDex недавно в архив вновь оказалась включена dll-библиотека
собственного кодера, но насколько долго это будет на этот раз продолжаться, я
сказать не берусь. Многие версии выходили без mp3enc.dll (это собственная dll
кодера CDex, который может работать и без нее).

Кодек, сделанный из второго Продюсера -- нелегален.

Каковы системные требования?

Большинство кодеров должно работать корректно на 486 и выше с ОС
Windows95/NT, но на кодирование MP3 на слабых машинах уходит много
времени, поэтому не рекомендуется использовать такие системы. Люди с
неправильным чувством юмора могут попробовать кодировать MP3 и на 386
машинах.

Что до отличных от MS Win95/98 систем, то BladeEnc, напpимеp, поpтиpован
на pяд юниксов и OS/2, а для первых версий l3enc достаточно, чтобы система
поддеpживала эмyляцию DOS. Кроме того, в большинстве систем есть свои
кодеpы.

Выводы

Со времени выхода AudioCatalyst 1.5 большинство потребностей любителей
компромиссных битрейтов и высокой скорости кодирования покрывает
именно этот кодер и му подобные от XingTech. Скорость кодирования --
наивысшая, при этом можно получить неплохое качество звучания.

Пользователям, обладающим хорошим слухом, которых AudioCatalyst не
устраивает, не устраивают и высокие битрейты, еще раз хотелось бы
посоветовать попробовать все же перейти на другой формат, AAC или WMA.
Но если при таких запросах вам, увы, необходим именно MP3, то придется
потрудиться. Редко когда вы не окажетесь вынуждены перебирать все
доступные кодеры, как ISO-based, так и от FhG IIS, если захотите выиграть в
качестве. Как разъяснялось выше, последние как раз разрабатывались именно
для работы с низкими битрейтами, но не справляются со специфическими
особенностями многих композиций, с которыми легко справляются
ISO-based. В частности, кодеры от FhG IIS 'не любят' шумы. Полагаю, во
многих случаях это тоже отчасти вызвано применением не отключаемого joint
stereo при синтетическом происхождении шумов. ISO-based кодеры, в свою
очередь, имеют другой характер искажений, который некоторым мешает
меньше, другим -- больше. Последних, судя по всему, большинство.

Из кодеров от FhG IIS можно попробовать Producer или AudioActive --
последние разработки. Сyществyет также mp3enc -- дальнейшее самого
первого кодера от FhG IIS, l3enc, все еще входящего в категорию наиболее
качественных. Последняя версия l3enc была 2.74, mp3enc -- 3.1. В mp3enc 3.1
исправлена ошибка, приводившая к большим потерям высоких частот в
mp3enc 3.0.

Из ISO-based кодеров можно попробовать BladeEnc, mpegEnc, CDex. На низких
битрейтах из ISO-based совершенно непригоден SoundLimit из-за
некорректной оптимизации.

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

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

На 256kbs можно пользоваться кодерами от FhG IIS, хотя уже не факт, что на
этом битрейте производимые ISO-based кодерами MP3 не окажутся лучше.
320kbs MP3 современные кодеры от FhG IIS делать не умеют, для
безоговорочно высокого качества следует пользоваться 320kbs с ISO-based
кодерами, желательно mpegEnc 0.07a.

Но если вас yстpаивает качество ESS1868 и дешевых аудиокассет, то можно
считать, ваши потребности в качестве достаточно средние. Кодиpование MP3
с постоянным битpейтом 128kbs вас, скоpее всего, должно yстpоить, и тем
более высокая скорость AudioCatalyst при кодировании с переменным
битрейтом.

Если же вы планируете длительное хpанение мyзыки в формате MP3, то
следует учесть, что со вpеменем аппаpатypа обычно заменяется на лучшую, а
качество улучшить будет уже невозможно. Кроме того, даже на плохой
аппаратуре при наличии слуха довольно скоро искажения становятся
заметными.

Наследники MP3

Следующим форматом сжатого аудио после MP3, разработанным Fraunhofer
IIS, является AAC. На данные момент существуют четыре основных его
реализации, из них только три заслуживают упоминания.

Liquifier Pro AAC -- Разработан LiquidAudio. Предназначен для трансляции и
продажи музыки в Интернет. Софт дорогой, поэтому из легальных реально
только коммерческое применение.

Astrid/Quartex AAC -- Софт бесплатен и хорош, но битрейт ограничен
недостаточным для CD качества уровнем -- 128kbs, поэтому пока данный
вариант AAC не может составлять конкуренции MP3 256kbs... 320kbs.
Страница в очередной раз переехала в неизвестном мне направлении.

PAC -- (www.celestialtech.com) -- Про него лишь известно, что это уже
дальнейшее развитие AAC.

Недавно было логичным предположить, что место MP3 при удачной
раскрутке смог бы занять коммерческий формат Liquid Audio AAC, прямой
наследник MP3, но с выходом на рынок кодеров сжатого аудио Microsoft со
своим форматом WMA это представляется невозможным. Тем более, что
кодеры, предоставляемые Microsoft, бесплатны и не содержат ограничений.
В то же время ни проверенные кодеры AAC, ни WMA пока не проявили
способности составить конкуренцию MP3 256kbs... 320kbs. Остается еще один
формат -- PAC, который позиционируется как развитие AAC и про который
пока мало что достоверно известно.
Рубрики:  Мультимедиа

Что такое битрейт?

Дневник

Вторник, 23 Июня 2009 г. 20:11 + в цитатник
С понятием «битрейт» мы сталкиваемся при упоминании файлов аудио и видео формата. Чтобы понять суть данного термина, необходимо освоить процессы сжатия и кодирования файлов. Немецкие ученые заложили общий принцип сжатия файла с минимальными потерями. На примере кодировании в MP3 исходный звуковой файл режется на фрагменты, длительностью по 50 миллисекунд, каждый из которых анализируется отдельно. При анализе фрагмент раскладывается на гармоники по методу Фурье, из которых в соответствии с теорией восприятия звука человеческим ухом выбрасываются те гармоники, которые человек хуже воспринимает на фоне остальных. Таковыми являются более тихие гармоники на фоне более громких. Вследствие чего, выбрасываются звуки, замаскированные из-за инертности слуха (так, например, если за очень громким хлопком сразу, с задержкой в долю секунды, пойдет какой-то иной кратковременный сигнал, то его слышно не будет). Информация об оставшихся после фильтрации гармониках и записывается в MP3 файл, который в результате получается гораздо меньше по размеру, чем исходный WAV. WAV-файл хранит полную информацию об исходном звуке, оцифрованном и проквантованном с частотой 44кГц. Эта информация и хранится на обычных аудио-CD. При воспроизведении производится обратное преобразование, при котором оставшиеся гармоники вновь преобразуются в звуковую волну. Часть информации об исходном сигнале пропала, потому звук получается не совпадающий с исходным. Но выкидывались малозначимые звуки, поэтому человеческое ухо не сможет отличить сигнал от исходного, того, который был до запаковки в MP3.

Битрейт - это объем информации в единицу времени. Его суть – какое количество информации о каждой секунде записи мы можем потратить. Естественно, чем он меньше, тем меньший размер имеют файлы одинаковой по времени длине, тем самым придется выкинуть большее количество "лишних" гармоник. Битрейты имеют единицы измерения — килобиты в секунду (Kbps) и мегабиты в секунду (Mbps). Алгоритм сжатия аудио MP3 часто применяется с сжатитем 128 kbps. Они бывают двух типов: постоянные и переменные. Так, при видеосжатии если применен постоянный битрейт, значит фиксированное количество данных используется для кодирования одной секунды фильма. В случае с переменным битрейтом кодек устанавливает собственное значение битрейта в зависимости от сцены фильма. Например, при кодировании в mpeg в основном выигрыш в сжатии получается за счет сохранения только разницы между соседними кадрами. При медленном изменении сцены разница между кадрами невелика и, таким образом, можно уменьшить величину битрейта, необходимого для воспроизведения этих сцен. Однако, при резкой смене сцен в фильме различия в кадрах резко возрастают по объему и требуется больший битрейт для воспроизведения таких сцен. В отличие от постоянного битрейта, при переменном невозможно предсказать размер получаемого файла; это зависит от соотношения "быстрых" и "медленных" сцен в фильме.

Что касается радио в сети, качество звучания загружаемых радиостанций с сети также можно проанализировать по битрейту. Выбор между 48kbps и 128 kbps битрейтом, надеюсь, не введет вас в долгие раздумья.

Если уж вы только создаете коллекцию для личного пользования в минимально допустимом размере, то менее 1000 кбит/с для видео ставить не рекомендую (если вы только не смотрите на маленьком мониторе). А для телевизоров желательно более 1200 кбит/с оставлять... Золотая середина равна 1200 Кбит/с (для VHS 1000 Кбит/с).

Видео только по-возможности оставляйте 640х... И звук так сильно не ограничивайте... Где-то встречал цифру 56 кбит/с минимально рекомендуемую, но не уверен в ее необходимости. А лучше для голосовых фильмов 96 оставлять. И с низкобитрейтным звуком AAC получше MP3 справляется.

ABR

Кодирование со средним битрейтом (Average Bitrate — ABR) — это метод кодирования, схожий с методом CBR, но имеющий одно весьма значительное отличие: если в CBR фреймы обязаны быть одного размера (то есть битрейт для всех фреймов должен быть одинаков), то в ABR это ограничение убрано.

По существу, когда кодер использует метод ABR, он пытается угадать оптимальный битрейт для каждого фрейма, основываясь на анализе оригинального аудио и фиксированном алгоритме. Напротив, более «агрессивный» метод кодирования VBR, например, LAME VBR, пытается найти самый низкий битрейт среди нескольких, чтобы создать декодируемый файл с достаточным качеством.

Большинство фреймов в VBR MP3, созданные при помощи метода ABR, близки к битрейту, указанным пользователем, при этом каждый фрейм может варьироваться битрейтом с 8 до 320 kbps (причем, не обязательно кратный 16-ти). Кодер ABR обычно определяет некую область возможных значений, из которых может выбирать нужный битрейт, дабы избежать риска не «вписаться» в значение, указанное пользователем.

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

CBR

Кодирование с битрейтом CBR (Constant Bitrate — постоянный битрейт) означает, что для всего файла сохраняется постоянный установленный битрейт — каждая секунда аудиоданных кодируется одним и тем же числом битов, каждый фрейм аудиоданных является постоянным и имеет известный интервал, так что окончательный размер файла известной продолжительности можно вычислить зараннее. CBR является противоположностью VBR.

В некоторых форматах от фрейма к фрейму возможна некая разница в числе битов, содержащих фактическую аудиоинформацию. Эту разницу в MP3 регламентируют так называемые «резервные биты». В CBR MP3, несмотря на то, что фреймы имеют фиксированный размер, аудиоданные не обязательно распределяются последовательно между ними; один фрейм может быть короче, потому что не использует все свои биты, а следующий фрейм может быть длиннее, потому что использует запасные биты предыдущего фрейма.

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

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

Кто должен использовать кодирование в CBR?

CBR применим для людей, которые предпочитают максимальную совместимость формата, поскольку не все программы и устройства способны декодировать VBR.
CBR также полезен людям, желающим знать точный битрейт или продолжительность декодируемого аудио без сканирования и частичного декодирования этого файла.
«Адвокаты» VBR, особенно на форумах hydrogenaudio, часто приводят аргументы против CBR и советуют никому не использовать CBR, если есть выбор. Некоторые приводят резонный аргумент, что в алгоритмах сжатия, особенно в сжатии с потерями кодера MP3, нужно сохранять столько бит, сколько возможно, чтобы поддерживать определенный уровень качества, поэтому в CBR тенденция использовать в простых проходах больше бит чем нужно, а в сложных проходах меньше желанного, слишком расточительна, поэтому получаемое качество (по крайней мере, в сложных проходах) в VBR является лучше.

Однако, эти аргументы должны быть внимательно квалифицированы и изучены, чтобы брать их во внимание, и говорить об врожденных качественных различиях между CBR и VBR.

Если использовать одинаковый кодер, то 128 kbps CBR MP3 почти никогда не будет звучать лучше, чем VBR MP3 со средним битрейтом 128 kbps, потому что в VBR простые партии аудио лучше сжимаются, давая возможность освободить больше бит для более сложных частей. Таким образом, более простые части быдут звучать лучше в версии CBR, а более сложные в версии VBR, если сравнивать близкие по битрейту файлы и принимать во внимание субъективность слушателя.

CBR может выдавать лучшее качество, чем VBR, если сравнивать не средний битрейт, или если метод кодирования VBR не берет во внимание качество. Например, 256 kbps CBR MP3, содержащий умеренно сложное аудио, лучше чем VBR со средним битрейтом в 128 kbps, даже если VBR кодирует некоторые фреймы в 320 kbps. И даже когда VBR принимает во внимание качество, все равно есть ошибки, связанные с психоакустическими моделями, так что кодер (даже такой, как LAME) может случайно сильно пережать некоторые сегменты (в зависимости от характеристик аудио). На высоких битрейтах качественные различия между типичными CBR и VBR приближаются к нулю, поэтому, для некоторых пользователей CBR является лучшим методом, особенно если не брать во внимание свободное место на носителе.

На низких битрейтах различия по качеству между CBR и VBR уже более явственное и VBR чаще более желателен.

Если на входе данные могут быть неодинаковыми, то VBR способен сохранять приблизительно то же качество, что и CBR, но VBR может увеличить частотный диапазон на входе, который часто считается улучшением воспринимаемого качества, даже если это может быть просто шум квантизации. Например, файл ~96 kbps VBR может использовать 12.5 kHz lowpass фильтр на входе и иметь столько же процентов помех (шума), что и файл 96 kbps CBR с фильтром 11.5 kHz. В зависимости от чувствительности слушателя к шуму выше 1 kHz, более высокое качество воспринимается из-за присутствия этих высоких частот.

VBR

В кодировании с переменным битрейтом (Variable Bitrate — VBR), пользователь выбирает желаемый уровень качества и/или диапазон доступных битрейтов. Кодер будет стараться придерживаться выбранного уровня качества в течении кодирования всего потока путем выбора оптимального количества данных, представленных в каждом фрейме аудиоданных. Главное преимущество такого подхода то, что пользователь может выбрать желаемый уровень качества и сохранить столько свободного места на носителе, сколько возможно, но есть и неудобство — финальный размер кодированного файла в известной степени малопредсказуем.

Большинство совеременных кодеров, включая известные MP3, AAC, Ogg Vorbis, Musepack и WMA, способны кодировать с переменным битрейтом.

Некоторые кодеры ограничены только кодированием в CBR, включая AC3 (в теории, он в состоянии кодировать VBR), DTS (ситуация как и с AC3 — нет публичного VBR-кодера), Real Audio и ATRAC3.

Все кодеры без потерь (lossless), по своей природе, кодируют VBR.

Резервные биты

Понятие используется в алгоритме MP3.

CBR (и в некоторой степени, ABR) используют константу, именуемую Битрейт. Существуют моменты, когда кодер сталкивается с настолько сложным моментом композиции, что не может правильно закодировать его из-за ограничений выбранного пользователем битрейта и кодер нуждается в использовании более высокого битрейта. Для таких моментов в спецификации формата MP3 определены резервные биты (или bit reservoir).

Пример: определенный момент композиции требует битрейт 130 kbit, чтобы кодер смог верно закодировать этот момент (как ему это определяют психоакустическая модель и настройки качества), битрейт CBR установлен в 160 kbps. 30 бит не используются (160 - 130 = 30), поэтому эти 30 бит могут быть сохранены для использования в следующих фреймов. Для ограничения сложности потоков, максимальный размер резервных бит установлен в 511 бит, что снижает способность кодера справляться со сложными переходами в композиции.

С VBR кодер может выбирать нужный размер фрейма для каждого момента так, как ему подсказывает психоакустическая модель и настройки качества. Так что VBR (например, в LAME) практически не использует резервные биты, но может собирать их для заполнения текущего фрейма, дабы они не пропали впустую (например, 160 - 130 = 30 запасных бит).


Рубрики:  Мультимедиа

ID3 (метаданные)

Дневник

Понедельник, 15 Июня 2009 г. 01:06 + в цитатник
ID3 (от англ. Identify a MP3) — формат метаданных, наиболее часто используемый в звуковых файлах в формате MP3. ID3 подпись содержит данные о названии трека, альбома, имени исполнителя и т. д., которые используются мультимедиа‐проигрывателями и другими программами, а также аппаратными проигрывателями, для отображения информации о файле и автоматического упорядочивания аудиоколлекции.

Существует 2 несовместимых версии ID3: ID3v1 и ID3v2.

ID3v1. Тег, просто тег
В 1996 году программист Эрик Кемп (Eric Kemp), предложил добавлять к MP3-файлу небольшой «кусочек» данных размером 128 байт. Эта 128-байтовая добавка была названа ID3 TAG и получила версию v1. Если не считать незначительных доработок, она до сегодняшнего дня сохранилась в оригинальном виде.

ID3-тег — это набор бинарных данных, в которых и содержится вся нужная для идентификации содержимого файла информация. Вся соль разработки Кемпа заключается в том, что тег располагается в конце файла и поэтому не влияет на совместимость MP3 с разными плеерами. Несовместимый проигрыватель просто-напросто не воспринимает эти данные как часть файла и не пытается их «воспроизвести».

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

Структурно ID3-тег самой первой версии состоит из названия композиции (Title), исполнителя (Artist), названия альбома (Album), жанра (Genre), года записи (Year) и комментария (Comment). На названия песни, альбома, имя исполнителя и комментарии в структуре тега отводится по 30 байт. Для года записи отведено четыре байта, и один байт используется для обозначения музыкального жанра. На первый взгляд, одного байта, отведенного под жанр, кажется недостаточно, но это не так. Его значение является номером жанра во встроенном списке. Список, созданный Эриком Кемпом, содержит 80 записей с номерами от 0 до 79. Кстати, один из самых распространенных на ПК проигрывателей — Winamp — использует другой список, из 148 записей с дополнительными жанрами.

Если сложить все отведенные под поля байты, то в итоге получается число 125. «Потерявшиеся» три байта — само слово TAG, которым начинается блок данных: это своеобразная цифровая подпись.

В 1997 году ID3-тег подвергся некоторой модификации, получив версию ID3v1.1. Все незаполненные поля в теге заменялись нулевыми байтами, для того чтобы программы, использующие тег ID3v1, прекращали чтение поля, встретив нулевой байт. Изменилось и поле комментария — его урезали до 28 символов. «Сэкономленные» 2 символа перешли в новое поле — номер дорожки (track) CD, с которого была записана музыка.

Несмотря на простоту ID3v1 (а также его модификации v1.1), у этого формата есть и ряд недостатков. Во-первых, это малый размер полей для названий композиций, альбома и исполнителя, так что длинные названия вписать не получается.

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

Наконец, ID3v1 недостает «интернациональности». Теоретически текст полей имеет кодировку ISO-8859-1, а на практике используется «родная» кодировка пользователя, заполняющего поля тега. Это приводит к знакомым всем «кракозябрам» при отображении текста в других кодировках.

ID3v2.x. Новый вариант?
Попытки исправить недостатки стандарта привели к созданию новой версии ID3v2. Сходство этой версии с предыдущей осталось только в названии. Так, теги версии 2.х зачастую располагаются в начале MP3-файла и имеют нефиксированный размер.

Структура тега тоже значительно изменилась. В отличие от простых полей v1, ID3-теги «нового поколения» состоят из так называемых окон (frames), каждое из которых имеет размер 256 байт. Фрейм представляет собой кусочек данных (в кодировке Unicode) и начинается с идентификатора, который указывает на то, что именно хранится в данном окне.

В дополнение к значительно более длинным строковым записям в ID3v2.х появились элементы, которые напрочь отсутствовали в ID3v1.x. Это, например, отдельный уровень громкости для каждого файла, специально настроенный эквалайзер, детальная информация о файле, добавленная автором композиции, графический объект (обложка альбома), URL издателя и автора, текст песни, битрейт и прочее.

В поздних версиях стандарта ID3v2 содержится 84 типа фреймов. Кроме того, пользователь при помощи программ редактирования тегов может задавать свои собственные типы фреймов.

Всего версий стандарта ID3v2 три: v2.2, v2.3 и v2.4. Различия по части функциональности у них минимальные (так, в v2.3 идентификатор фрейма был увеличен до 4 символов, а в v2.4 для текстовых полей стала использоваться кодировка UTF-8), но совместимости это отнюдь не добавляет. Проблема заключается в значительном различии структуры фреймов даже в рамках одной и той же версии. К примеру, фрейм с названием TIT2 (содержащий информацию о названии композиции) и фрейм USLT (текст песни) требуют разных алгоритмов для извлечения данных. Что уж говорить о различии структуры фреймов в разных версиях!

Именно поэтому даже на фоне новых «удобств» ID3-тегов версии 2.х вполне закономерно выглядит тот факт, что большинство MP3-плееров распознают ID3-теги «на старый манер», то есть игнорируя нововведения последних версий. Исключением можно считать только такие проигрыватели, как Amarok или Foobar2000, которые по умолчанию пишут теги в стандарте ID3v2.4.

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

Индустрия пришла к этому не сразу, так как подводных камней на этом пути довольно много. Так, версия ID3v1 (и v1.1) плохо поддерживала кодировки каких-либо языков кроме английского. Это влекло за собой проблемы унификации. Так, ранние версии программного обеспечения плееров и телефонов напрочь отказывались показывать прописанные кириллицей метаданные. Но в последнее время эта проблема была решена. Это заслуга как появления новых версий ID3-тегов (в частности v2.х), так и стараний многих компаний-производителей предоставлять для локальных рынков разных стран свои сертифицированные версии устройств.

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

С легкой руки Apple ID3-теги стали использоваться в мобильных устройствах для более наглядной структуризации контента. Идеологию iPod — навигация не по файлам и папкам, а по метаданным композиций — сегодня используют практически все «топовые» производители мультимедийных устройств. Не отстают от них и разработчики мобильных телефонов: удобным «айподоподобным» интерфейсом может похвастаться весь модельный ряд Walkman от Sony Ericsson, а также музыкальные телефоны и смартфоны Nokia.

Экзотика
ID3-теги являются самым распространенным стандартом хранения информации о содержимом файлов популярных аудиоформатов. Но, само собой, далеко не единственным. Упоминания достойны как минимум два из них.

Это APE, который по структуре отличается от ID3 крайне незначительно. Впервые этот вариант тегов был использован в аудиофайлах формата Musepack. В дальнейшем благодаря своей простоте и гибкости он был адаптирован как основной формат тегов для аудиофайлов WavPack и OptimFROG. С версии 3.99 APE появился и в Monkey's Audio.

Последняя версия стандарта (APEv2) поддерживает Unicode, используя UTF-8 для ключей и для их значений. К сожалению, APE изначально не был ориентирован на использование в MP3 и поэтому широкого распространения не получил.

Похожая судьба ожидала и специально разработанный формат тегов Vorbis comment. Он используется в файлах формата Ogg Vorbis и, за редким исключением, в FLAC и Speex.

Применение в других форматах и альтернативы
Хотя ID3 был изобретён для MP3, в этом стандарте можно хранить теги и в отличных от MP3 и MP3Pro (англ.) форматах файлов. Список тегов же — это вообще независимая часть файла и может использоваться как угодно. На практике, единственный формат, который широко использует ID3v2, это AIFF (англ.), где тег хранится внутри RIFF области под именем «ID3». То же самое воплощено в WAV, но не используется. Единственная теговая система, широко использующаяся WAV, это «Broadcast WAV». Форматы Windows media (ASF, WMA, WMV) имеют свои форматы тегов, но также поддерживают ID3, включенный как атрибут.
MP4 (англ.) также предполагает включение ID3, но также не поддерживается широко. Другие форматы, основанные на контейнерах, используют собственные теговые системы. Примером является Vorbis, который использует Vorbis comment. Добавление туда ID3 нарушит структуру контейнера.

Gracenote CDDB
В большинстве случаев дорожки аудио CD не содержат никаких данных о своем содержимом. По той простой причине, что обычным потребителям этого и не требуется: обложка с названием и списком треков и так есть. Но когда речь идет о прослушивании CD на компьютере или, что важнее, о копировании треков в MP3 (или в любой другой сжатый формат), точная информация об исполнителе, названии альбома и композиций очень важна. Иначе пользователь рискует остаться с кучей папок «Unknown Album» и «Unknown Artists», в которых расположены безымянные файлы.

Именно с целью обеспечить для широкого круга пользователей доступ к информации о том или ином компакт-диске была создана централизованная база данных музыкальных CD, доступная через интернет. Она получила название CDDB (англ. Compact Disc Database). Первоначально база данных CDDB была свободной и пополнялась добровольцами, но затем условия лицензирования были изменены. Сейчас база данных принадлежит компании Gracenote. Компания установила ограничения, которые многими рассматриваются как неприемлемые.

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

Принцип функционирования Gracenote CDDB (как и других подобных БД) прост. Клиентская программа (это может быть медиапроигрыватель, утилита записи компакт дисков и т.д.) вычисляет идентификатор компакт-диска и делает запрос к этой базе данных. После запроса CDDB возвращает требуемые данные (информация об исполнителе, названиях композиций, годе выпуска и т.п.), которые и прописываются в соответствующие поля тегов (для MP3) или сохраняются в формате используемой программы для аудио CD.

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

Редактирование ID3-тегов
Отредактировать ID3-теги можно несколькими способами. Самый простой из них — изменение данных файла встроенными средствами Windows XP (правый клик мышкой по файлу, пункт «Свойства» в выпадающем меню, вкладка «Сводка»). Второй вариант — редактирование тегов при помощи программ — проигрывателей аудио (те же Winamp или Windows Media Player вполне позволяют изменить теги для одного или нескольких выбранных файлов).

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

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


 Страницы: [1]