Введение

Формат аудиокодирования с потерями, не требующий выплаты роялти.

Vorbis — это свободный проект с открытым исходным кодом, возглавляемый Xiph.Org Foundation. Проект разрабатывает формат аудиокодирования и программный эталонный кодировщик/декодер (кодек) для сжатия аудио с потерями – libvorbis. Vorbis чаще всего используется совместно с контейнерным форматом Ogg, поэтому его часто называют Ogg Vorbis. Vorbis является продолжением разработки аудиокомпрессии, начатой Крисом Монтгомери в 1993 году. Активная разработка началась после письма от Fraunhofer Society в сентябре 1998 года, в котором объявлялось о планах взимать лицензионные сборы за аудиоформат MP3. Проект Vorbis начался как часть проекта Ogg компании Xiphophorus (также известного как мультимедийный проект OggSquish). Крис Монтгомери начал работу над проектом, и ему помогало всё больше разработчиков. Они продолжали совершенствовать исходный код, пока формат файла Vorbis не был окончательно зафиксирован для версии 1.0 в мае 2000 года. Первоначально лицензированный под LGPL, в 2001 году лицензия Vorbis была изменена на BSD, чтобы стимулировать его распространение, при поддержке Ричарда Столлмана. Стабильная версия (1.0) эталонного программного обеспечения была выпущена 19 июля 2002 года. С февраля 2013 года Xiph.Org рекомендует отказаться от использования Vorbis в пользу кодека Opus, который также является проектом Xiph.Org Foundation и также имеет открытый исходный код. По сравнению с Vorbis, Opus одновременно обеспечивает более высокую эффективность сжатия – по данным как самой Xiph.Org, так и независимых тестов прослушивания – и меньшую задержку кодирования/декодирования (в большинстве случаев достаточно низкую для приложений реального времени, таких как интернет-телефония или живое пение, что редко достижимо с Vorbis).

Имя

Vorbis назван в честь персонажа Exquisitor Vorbis из романа Терри Пратчетта «Маленькие боги». Формат Ogg назван не в честь персонажа Пратчетта Нэнни Огг, а в честь оггинга – жаргона из компьютерной игры Netrek. Поскольку Vorbis не имеет финансовой поддержки крупных организаций, поддержка формата не так широко распространена, хотя такие программы, как Audacity, позволяют конвертировать файлы в более популярные форматы, а поддержка в играх постепенно улучшается. Формат Vorbis пользуется популярностью среди сторонников свободного программного обеспечения. Они утверждают, что его более высокая точность и полностью свободный характер, не обремененный патентами, делают его подходящей заменой запатентованным и ограниченным форматам. Vorbis используется в различных потребительских товарах. Многие видеоигры хранят внутриигровое аудио в формате Vorbis, в том числе Amnesia: The Dark Descent, Grand Theft Auto: San Andreas, Halo: Combat Evolved, Minecraft и World of Warcraft, среди прочих. Популярные программные плееры поддерживают воспроизведение Vorbis как нативно, так и через внешние плагины. Этот формат используется многими веб-сайтами, включая Википедию. Среди других – Jamendo и Mindawn, а также несколько национальных радиостанций и Deutschlandradio. Служба потоковой передачи аудио Spotify в основном использует Vorbis, а также AAC. Кроме того, французский музыкальный сайт Qobuz предлагает своим клиентам возможность загружать приобретенные песни в формате Vorbis, как и американский музыкальный сайт Bandcamp.

Технические детали

Номинальная битрейт Vorbis для уровней качества при стереовходе 44,1 кГц. Новая версия libvorbis v1.2 обычно обеспечивает лучшее сжатие, чем указанные значения (фактическая битрейт может отличаться). Качество Номинальная битрейт Официальный Xiph.Org Foundation Vorbis q 1 45 кбит/с 48 кбит/с q0 64 кбит/с q1 80 кбит/с q2 96 кбит/с q3 112 кбит/с q4 128 кбит/с q5 160 кбит/с q6 192 кбит/с q7 224 кбит/с q8 256 кбит/с q9 320 кбит/с q10 500 кбит/с

Конспект алгоритма кодирования

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

Форматы контейнеров

Потоки Vorbis могут быть инкапсулированы в другие медиаконтейнеры, помимо Ogg. Распространенной альтернативой является Matroska. Она также используется в WebM, формате контейнера, основанном на подмножестве Matroska. Потоки Vorbis также могут быть инкапсулированы в формат полезной нагрузки RTP.

Метаданные

Метаданные Vorbis, называемые комментариями Vorbis, поддерживают теги метаданных, аналогичные тем, которые реализованы в стандарте ID3 для MP3. Метаданные хранятся в векторе байтовых строк произвольной длины и размера. Размер вектора и размер каждой строки в байтах ограничены 232 − 1 (около 4,3 миллиарда, или любое положительное целое число, которое может быть представлено 32 битами). Этот вектор хранится во втором заголовочном пакете, начинающем Vorbis битовый поток. Строки предполагаются закодированными в UTF-8. Музыкальные теги обычно реализуются в виде строк формата "[TAG]=[VALUE]", например, "ARTIST=The John Smith Band". Названия тегов не чувствительны к регистру, поэтому ввод "ARTIST=The John Smith Band" эквивалентен "artist=The John Smith Band". Как и в текущей версии ID3, пользователи и программное обеспечение для кодирования могут свободно использовать любые теги, подходящие для содержимого. Например, кодировщик может использовать локализованные метки тегов, записи живой музыки могут содержать тег "Venue=", а файлы могут иметь несколько определений жанра. Большинство приложений также поддерживают общепринятые стандарты де-факто, такие как номер диска и информацию ReplayGain.

Варианты

является заметным форком, который добавляет поддержку кодирования при более низких битрейтах. Изменения aoTuV планировалось периодически включать в референсный кодировщик, но это произошло лишь однажды в libvorbis 1.1, поскольку дальнейшие слияния требовали "задач, требующих непрерывного времени, которого у меня [Крис Монтгомери] сейчас недостаточно".

Лицензирование

Знание спецификаций Vorbis находится в общественном достоянии. Что касается самой спецификации, Xiph.Org Foundation оставляет за собой право устанавливать спецификацию Vorbis и сертифицировать соответствие. Его библиотеки распространяются под пересмотренной 3-пунктной лицензией BSD, а его инструменты – под лицензией GNU General Public License. Изначально библиотеки были выпущены под GNU Lesser General Public License, но позднее была выбрана лицензия BSD с одобрения Ричарда Столлмана. Xiph.Org Foundation утверждает, что Vorbis, как и все его разработки, полностью свободен от проблем с лицензированием или патентами, возникающих в отношении проприетарных форматов. Хотя Xiph.Org Foundation заявляет, что провел патентный поиск, подтверждающий его заявления, сторонние лица (в частности, инженеры, работающие над конкурирующими форматами) выразили сомнения в том, что Vorbis свободен от запатентованных технологий. Xiph.Org Foundation не опубликовал официального заявления о патентном статусе Vorbis, указывая на то, что такое заявление технически невозможно из-за количества и масштаба существующих патентов, а также сомнительной действительности многих из них. Такие вопросы могут быть разрешены только в судебном порядке. Vorbis поддерживается несколькими крупными производителями цифровых аудиоплееров, такими как Samsung, SanDisk, Rio, Neuros Technology, Cowon и iriver.

Прикладное программное обеспечение

Программное обеспечение, поддерживающее Vorbis, существует для многих платформ. Мультиплатформенные медиаплееры с открытым исходным кодом VLC и MPlayer могут воспроизводить файлы Ogg Vorbis, как и Winamp и foobar2000. Windows Media Player не поддерживает Vorbis; однако существуют фильтры DirectShow для декодирования Vorbis в Windows Media Player и других мультимедийных проигрывателях Windows, поддерживающих DirectShow. Vorbis также поддерживается в мультиплатформенном программном обеспечении для редактирования аудио Audacity, в мультиплатформенных мультимедийных фреймворках FFmpeg, GStreamer и Helix DNA. Vorbis хорошо поддерживается на платформе Linux в таких программах, как XMMS, xine, Amarok. Список программного обеспечения, поддерживающего Vorbis, можно найти на вики Xiph.Org Foundation и сайте Vorbis.com. Пользователи могут протестировать эти программы, используя список аудиопотоков Vorbis, доступных на той же вики. Для получения дополнительной информации о поддержке в программных медиаплеерах доступно сравнение медиаплееров. Некоторые новые игры Ubisoft используют файлы Vorbis, переименованные с расширением имени файла. Поэтому их можно воспроизводить с помощью совместимого проигрывателя, хотя иногда необходимо принудительно установить другую частоту дискретизации для корректного воспроизведения. Существует ряд инструментов для извлечения звука из архивных файлов, таких как m4b Myst IV: Revelation. Как рекомендовано HTML 5, следующие веб-браузеры поддерживают аудио Vorbis (без плагинов) с использованием элемента `<audio>`: Mozilla Firefox 3.5 (и более поздние версии), Google Chrome (начиная с версии 3.0.182.2), SeaMonkey (начиная с версии 2.0). Экспериментальные видеосборки Opera 9.5, выпущенные в 2007 и 2008 годах, поддерживают только `<video>` и воспроизводят аудио Vorbis, включенное в видеофайлы Ogg. Браузер Opera 10.5 поддерживает аудио Vorbis, аудио WAVE PCM и видео Theora. Программное обеспечение для разработки игр RPG Maker MV, выпущенное в октябре 2015 года, является первой версией этой программы, отказавшейся от поддержки MP3 в пользу Ogg Vorbis. В октябре 2017 года Microsoft выпустила поддержку медиаконтейнера Ogg и медиаформатов Theora и Vorbis в виде необязательного дополнения для Windows 10 и Xbox One, доступного бесплатно в Microsoft Store.

+ Поддержка Vorbis различными операционными системами

Microsoft Windows macOS Linux Android iOS

Поддержка кодеков

Matroska (.mka, .mkv)
На Windows 10 October 2018 Update (1809):
WebM (.webm распознается официально)
На Windows 10 May 2019 Update (1903):
Ogg (.ogg распознается официально) зависит от приложения
Ogg (.ogg)
Matroska (.mka, .mkv)
WebM (.webm)
Ogg (.ogg, .oga)
Matroska (.mka, .mkv)
WebM (.webm) зависит от приложения

Примечания

На Windows 10:
Требуется Fall Creators Update (1709) и установка пакета Web Media Extensions. В April 2018 Update (1803) с предварительно установленными Web Media Extensions, Microsoft Edge (EdgeHTML 17) поддерживает аудио Vorbis, встроенное в теги `<audio>`. Поддерживается в приложениях Universal Windows Platform (Groove Music, Microsoft Movies & TV). Не поддерживается в Windows Media Player. До October 2018 Update (1809) расширение имени файла .ogg не распознавалось (заменить на псевдорасширение, например .m4a).
Отсутствует встроенная поддержка в мультимедийном фреймворке iOS.