Кодек opus что это
Opus – универсальный аудиокодек, сочетающий в себе баланс высокого качества компрессии аудиосигнала с низким показателем задержки. Разработан в 2012 году рабочей группой IETF. Его универсальность заключается в адаптации к изменению пропускной способности канала и возможности поддерживать кодирование звука любого вида. На сегодняшний день Opus признан лучшим аудиокодеком по всем параметрам среди своих собратьев, ведь по качеству ему проигрывает даже широко используемый MP3.
Условно все существующие кодеки можно разделить на 2 группы – кодеки общего назначения с большими задержками но при этом высоким качеством (Vorbis, AAC и MP3) и кодеки для кодирования речи с маленькими задержками, но низким качеством (Speex, G.719, G.722.1, G.722.2, G.729, iLBC, AMR-NB). Ни один из перечисленных кодеков не обладает такими возможностями, чтобы поддерживать кодирование аудиосигнала максимального качества и при этом с минимальными задержками.
Однако аудиокодек Opus можно назвать успешным исключением, поэтому он подходит для воспроизведения сигнала как на 6 кбит/с, так и на 510 кбит/с. Сжатие сигнала осуществляется с минимальными, практически незаметными для человеческого слуха, потерями. В зависимости от изменения условий полосы пропускания, аудиокодек Opus способен динамично переключаться на компрессию с разным битрейтом.
Возможности и преимущества:
- Поддержка любой частоты дискретизации – от 8 до 48 кГц.
- Битрейты от 6 до 510 Kbps.
- Моно/стерео.
- Поддержка режимов переменного и постоянного битрейтов.
- Использование арифметики с фиксированной точкой.
- Продолжительность задержки от 5 мс.
- Легко масштабируемый аудиопоток с возможностью изменения параметров на ходу.
Кодек OPUS в 3CX
Прежде всего отметим, что для включения нового кодека вам не нужно ничего настраивать на стороне клиента, т.е. на мобильном устройстве. Достаточно централизованно подключить кодек в интерфейсе сервера 3CX (раздел Пользователи — Автонастройка телефона — 3CX Client).
Через некоторое время, когда клиенты обновят конфигурацию, кодек будет автоматически активирован. Рекомендуется поставить его первым в списке, чтобы все IP-телефоны и софтфоны использовали единый кодек и быстрее «договаривались» во время установки сеанса связи.
Стоит отметить, что многие производители IP-телефонов также добавляют поддержку OPUS. В частности, он доступен во современных телефонах Yealink. Начиная с версии прошивки x.81.0.15 OPUS поддерживают телефоны SIP-T19 E2, SIP-T21 E2, SIP-T23G и SIP-T40P, а начиная с версии x.81.0.110 – модели SIP-T27G, SIP-T41S, SIP-T42S, SIP-T46S и SIP-T48S.
Преимущества кодека OPUS
OPUS отличается других форматов передачи высококачественного аудио (AAC, Vorbis, MP3) особенно низкой задержкой, столько важной для передачи VoIP-трафика. А от кодеков с низкой задержкой (G.711, GSM, Speex) его отличает поддержка высокого качества кодирования.
Качество кодирования OPUS сопоставимо или даже превышает качество существующих кодеков в широком диапазоне битрейтов, но в то же время он обладает задержками меньшими, чем практически у любого существующего формата сжатия. Благодаря тому, что OPUS доступен под свободной бесплатной лицензией, упрощается адаптация кодека под различные открытые системы Интернета и продукты для конечных пользователей.
Теоретически, OPUS может заменить все остальные современные кодеки, став единым форматом хранения и передачи аудио. По таким параметрам, как потери, задержка, битрейты и т.д. он превосходит и Vorbis, и Speex, и даже известные «лицензионные» кодеки.
Новый аудиостандарт Opus работает эффективнее, чем MP3 или AAC. Он годится и для телефонии, а также бесплатен для пользователя.
Высокая гибкость кодирования аудио
Разработчики Opus большое внимание уделили гибкости. Так, битрейт можно выбирать в пределах 6–510 кбит/с, частота дискретизации может составлять от 8 до 48 кГц, а длительность кадров изменяется от 2,5 до 20 мс. Если заглянуть «за кулисы», то выяснится, что Opus объединяет кодеки CELT (Constrained Energy Lapped Transform) и SILK вмодифицированном виде. CELT принадлежит к семейству кодеков OGG — он разрабатывался с прицелом на возможность работы в режиме реального времени; SILK — продукт создателей Skype, используемый в четвертой и более поздних версиях клиента для кодирования речи. Структура и принцип работы кодера в Opus просты: поток данных, в зависимости от частотного диапазона входящего сигнала, передается на обработку кодекам CELT или SILK. CELT выбирается в том случае, если требуется высокое конечное качество. Он отличается от таких кодеков, как AAC и MP3, по некоторым отдельным параметрам — например, времени задержки сжатия звука. SILK применяется при необходимости оптимального использования пропускной способности, и для этого он должен уметь делать то, на что не способны другие доступные аудиокодеки.
Голосовой анализ при разговоре
SILK хорошо подходит для передачи низко- и среднечастотных сигналов с частотой дискретизации до 16 кГц. Кодек состоит из ряда элементов, которые можно разделить на четыре блока: блок анализа, фильтр предварительной очистки, блок кодирования и блок вывода. При этом основой является блок голосового анализа, который выполняет распознавание речи. Он отделяет ее от фоновых шумов, а после этого выполняет разделение речевых кадров по частотам на фрагменты меньших размеров, в которых SILK удаляет задержки с помощью фильтров и распознает признаки речевого сигнала. На втором этапе оптимизации производится анализ шумов, в ходе которого все посторонние шумы объединяются по возможности в небольшие субкадры, которые не сильно ограничивают пропускную способность. Данные, полученные при анализе шума, SILK использует в ходе предсказания высоты звука и частотного квантования. Например, если голосовой диапазон в процессе разговора претерпевает незначительные изменения, то достаточно лишь передать с пакетом речевых данных информацию о расхождениях. В данном случае преследуется цель получения пакета данных минимальных размеров при сохранении качества. Следующими вспомогательными средствами являются избыточная дискретизация и формирование шума квантования. При этом SILK следит за тем, чтобы не выполнялись ненужные операции оптимизации и шум занимал немного места в доступном битрейте.
Сигналы с более широким диапазоном частот используют кодек CELT. Как и MP3 и AAC, он преобразует частоты посредством модифицированного метода дискретного косинусного преобразования и удаляет в ходе последующего квантования частоты, которые человеческое ухо воспринимает с трудом или не воспринимает вовсе. Так как SILK и CELT могут использоваться одновременно, разработчики предусмотрели для Opus три схемы работы: режим SILK для передачи только речи при низкой пропускной способности, гибридный режим для трансляции речи в наилучшем качестве и режим CELT для передачи одной только музыки. В версии Firefox 15 и выше файлы Opus можно воспроизводить без плагинов, поддержка Opus в VLC media player появится в скором времени.
Кодеки в сравнении
В отличие от других аудиокодеков Opus покрывает при малой задержке весь диапазон битрейта. Речевые кодеки для мобильных телефонов работают так же быстро, но не способны обеспечить хорошее качество. Классическим музыкальным кодекам не хватает способности работать в режиме реального времени.
Подробно о кодеке Opus
Музыка/Речь
CELT сжимает музыку в режиме реального времени. Для этого данные объединяются в так называемые кадры. В результате возникает задержка (delay), равная всего лишь 2,5 мс. Кодек SILK вначале снижает частоту дискретизации сигнала до 16 кГц, и только после этого производится кодирование.
Кодирование речи
Перед выводом сигнал проходит в SILK девять этапов обработки: 1. Блок распознавания речи пытается отделить ее от посторонних шумов.
2. Блок анализа высоты звука снижает частоту дискретизации для речевых кадров.
3. Блок анализа шумов оптимизирует сигнал в соответствии с нужным битрейтом.
4. Фильтр предварительной очистки настраивает сигнал соответствующим образом и передает его кодеру.
5. Блок предсказания высоты звука на основе имеющихся речевых кадров определяет изменения для будущих кадров.
6. Частотное квантование выравнивает высоту звука передаваемой речи.
7. Блок оптимизации искажений необходим для того, чтобы при низком битрейте речь передавалась с малым уровнем искажения.
8. Блок формирования шума квантования снижает шумы внутри рабочей полосы передаваемого звука (вытесняет шумы за пределы рабочей полосы).
9. Блок интервального кодирования выполняет покадровый вывод готового сигнала.
Клиент 3CX для iOS — список улучшений
Аудиокодек Opus в видеоконференцсвязи TrueConf
В результате многочисленных исследований и тестирований, аудиокодек Opus зарекомендовал себя в качестве максимально подходящего кодека для сжатия речи, именно поэтому наша компания поддержала его во всех своих решениях, ведь хорошее качество аудиосигнала в видеоконференцсвязи важно так же, как и качество видео.
Благодаря перечисленным выше преимуществам аудиокодека Opus, минимально необходимая пропускная способность канала связи для участия в конференции без передачи видео (например, при отключенной камере или в качестве слушателя в селекторном совещании) составляет 16 КБ/с.
В результате сравнения с другими популярными, использующимися в видеоконференцсвязи, речевыми кодеками – Speex и G.729, Opus отличился наиболее высокой производительностью и возможностью достаточно оперативно переключаться на различные механизмы кодирования. Это и сделало его идеально подходящим для использования в видеоконференцсвязи во время передачи данных, ведь даже на низких скоростях интернет-соединения участники видеоконференции могут продолжать общаться друг с другом в максимально комфортных аудио-условиях.
Внимание: это старая версия статьи, новая доступна на моём сайте.
На дворе 2011-й год, с момента появления первого MP3 кодировщика прошло уже 17 лет. Но то, что большинство из нас до сих пор спокойно слушает музыку в формате MP3 — вовсе не значит, что прогресс всё это время топтался на месте. И это касается не только развития алгоритма кодирования MP3, но и эволюции кодирования аудио с потерями вообще — в виде новых, более совершенных кодеков, действительно позволяющих получить лучшее качество при меньшем размере. Такие форматы как OGG Vorbis, AAC, WMA, Musepack давно оставили позади устаревший MP3 с его многочисленными ограничениями и недостатками.
Параллельно, всё большие обороты набирает кодирование без потерь (lossless). Но из-за больших объемов данных на сегодняшний день оно всё еще непригодно для полномасштабного использования — особенно для портативных устройств с ограниченным объемом памяти, для потокового вещания в сети, и просто для быстрого обмена музыкой в интернете (надо признать, что не у всех и не всегда под рукой есть 100-мегабитный доступ в интернет).
И так, MP3 устарел, и ему определенно созрела замена. Только как быть пользователю непосвященному, но желающему добиться максимально качественного звучания с минимальными затратами объемов памяти? Ведь альтернативных кодеков довольно много (как минимум 3 из них действительно достойны внимания): Apple продвигает с помощью своего iTunes Store формат AAC (Advanced Audio Coding — позиционируется как преемник MP3), Microsoft — свой собственный лицензируемый WMA (Windows Media Audio), кроме того, всё большую известность приобретает OGG Vorbis, а особо просветленные используют даже такой формат как Musepack. Который из этих кодеков выбрать?
Однозначного ответа на этот вопрос нет — и именно поэтому я пишу сию статью.
Выбор того или иного кодека зависит от конкретной задачи. А именно:
1. От оборудования и ПО, с помощью которого будет воспроизводиться звук. Т.е. от наличия поддержки того или иного формата аудио, а также качества воспроизведения (им желательно руководствоваться при выборе битрейта).
2. От объема памяти, который будет выделен под конечный материал. Соответственно подбирается больший или меньший целевой битрейт/качество.
Ну и, конечно же, необходимо кроме формата и битрейта подобрать оптимальный кодировщик и параметры кодирования. При этом надо понимать, что различные форматы/кодеры по-разному проявляют себя на разных диапазонах битрейта.
Таким образом, алгоритм примерно следующий:
1) Выяснить, какие форматы поддерживает целевое устройство.
2) Определиться, сколько места вы сможете выделить под аудио материал, а также определить суммарную продолжительность аудио предназначенного для кодирования.
3) Вычислить нужный битрейт по формуле: битрейт = дисковое_пространство(в килобитах) / суммарная_продолжительность(в секундах).
4) В соответствии с битрейтом выбрать из поддерживаемых форматов оптимальный (об этом далее).
5) Подобрать наилучший кодер и параметры к нему.
- поддержка более широкого набора форматов (вплоть до 48 каналов) и частот дискретизации звука (от 8 кГц до 96 кГц);
- более эффективный и простой банк фильтров: гибридный банк фильтров МР3 был заменен обычным MDCT (модифицированным дискретным косинусным преобразованием);
- более широкие пределы варьирования частотно-временного разрешения в банке фильтров — в восемь раз (в МР3 — в три раза) — привели к улучшению кодирования транзиентов (переходных процессов) и стационарных участков аудиосигнала;
- более качественное кодирование частот выше 16 кГц;
- более гибкий режим кодирования стереосигналов, позволяющий переключаться в режим M/S («joint stereo») независимо в различных частотных полосах;
- дополнительные возможности стандарта, повышающие эффективность компрессии: технология формирования шума во временной области (TNS), предсказание MDCT-коэффициентов по времени (long term prediction), режим параметрического кодирования стереосигнала (parametric stereo), синтез шумов (perceptual noise substitution), технология восстановления высоких частот (SBR).
OGG Vorbis
Ogg Vorbis — это относительно новый универсальный формат аудио компрессии, официально вышедший летом 2002 года. Он принадлежит к тому же типу форматов, что и МР3, AAC, VQF и WMA, то есть к форматам компрессии с потерями. Психоакустическая модель, используемая в Ogg Vorbis, по принципам действия близка к МР3 и иже с ними, но и только — математическая обработка и практическая реализация этой модели в корне отличаются, что позволяет авторам объявить свой формат совершенно независимым от всех предшественников.
Главное неоспоримое преимущество формата Ogg Vorbis — это его полная открытость и свободность. Более того, в нем использована новейшая и наиболее качественная психоакустическая модель, из-за чего соотношение битрейт/качество значительно ниже, чем у других форматов. Как результат — качество звука лучше, но размер файла меньше.
В формате имеется большое количество достоинств. Например, формат Ogg Vorbis не ограничивает пользователя только двумя аудио каналами (стерео — левый и правый). Он поддерживает до 225 отдельных каналов с частотой дискретизации до 192kHz и разрядностью до 32bit (чего не позволяет ни один формат сжатия с потерями), поэтому Ogg Vorbis великолепно подходит для кодирования 6-ти канального звука DVD-Audio. К тому же, формат OGG Vorbis — sample accurate. Это гарантирует, что звуковые данные перед кодированием и после декодирования не будут иметь смещений или дополнительных/потерянных сэмплов относительно друг друга. Это легко оценить, когда вы кодируете non-stop музыку (когда один трек постепенно входит в другой) — в итоге сохранится целостность звука.
Возможностью потокового вещания сейчас никого не удивишь, но у этого формата она заложена с самых основ. Это дает формату достаточно полезный побочный эффект — в одном файле можно хранить несколько композиций с собственными тегами. При загрузке такого файла в плеер должны отобразиться все композиции, будто их загрузили из нескольких различных файлов.
Отдельно стоит упомянуть достаточно гибкую систему тегов. Заголовок тегов легко расширяется и позволяет включать тексты любой длины и сложности (например, текст песни), перемежающиеся изображениями (например, фотография обложки альбома). Текстовые теги хранятся в UTF-8, что позволяет писать хоть на всех языках одновременно и исключает возможные проблемы с кодировками. Это значительно удобнее различных ухищрений типа id3 тегов.
Ogg Vorbis по умолчанию использует переменный битрейт, при этом значения последнего не ограничены какими-то жесткими значениями, и он может варьироваться даже на 1kbps. При этом стоит заметить, что форматом жестко не ограничен максимальный битрейт, и при максимальных настройках кодирования он может варьироваться от 400kbps до 700kbps. Такой же гибкостью обладает частота дискретизации — пользователям предоставляется любой выбор в пределах от 2000Hz до 192000Hz.
Ogg Vorbis был разработан сообществом Xiphophorus для того, чтобы заменить все платные запатентованные аудио форматы. Несмотря на то, что это самый молодой формат из всех конкурентов МР3, Ogg Vorbis имеет полную поддержку на всех известных платформах (Windows, PocketPC, Symbian, DOS, Linux, MacOS, FreeBSD, BeOS и др.), а также большое количество аппаратных реализаций. Популярность на сегодняшний день значительно превосходит все альтернативные решения.
Стоит заметить, что Ogg Vorbis является всего лишь небольшой частью мультимедиа проекта Ogg Squish, в который также входят свободные кодировщики: Speex — для сжатия голоса; FLAC — для сжатия звука без потерь; Theora — для сжатия видео.
Musepack
- Формат не производит второе dct-преобразование, он фактически не страдает артефактами pre-echo, в отличие от таких форматов как MP3, Vorbis, AAC и WMA.
- Более эффективные алгоритмы переменного битрейта. Если проследить, как изменяется битрейт во время проигрывания треков MPC, можно заметить, что для более простых участков кодер выделяет меньший битрейт, а для сложных — значительно больший, иногда выше 400 (!) кбит/с. Так же тут стоит упомянуть один интересный факт: кодер МР3 в режиме VBR для тишины выделяет битрейт 32 кбит/с (при частоте дискретизации 44100 Гц), AAC и OGG Vorbis — 2кбит/с, Musepack же кодирует тишину с минимальными затратами,
- Мощная и гибкая психоакустическая модель. Тут можно упомянуть, например, динамический НЧ фильтр на базе фреймов (в других кодерах устанавливается фиксированная полоса пропускания для каждой предустановки качества).
- Более продвинутое сжатие, основанное на оптимизированных таблицах Хаффмана (тот же LAME MP3 впустую тратит около 20% битрейта — только лишь из-за несовершенного математического сжатия)
Windows Media Audio — лицензируемый формат файла, разработанный компанией Microsoft для хранения и трансляции аудиоинформации.
Изначально формат WMA рекламировался как альтернатива MP3, но на сегодняшний день Microsoft противопоставляет ему формат AAC. Номинально формат WMA характеризуется хорошей способностью сжатия, что позволяет ему «обходить» формат MP3 и конкурировать по параметрам с форматами Ogg Vorbis и AAC. Но как было показано независимыми тестами, а также при субъективной оценке, качество форматов всё-таки не является однозначно эквивалентным, а преимущество даже перед MP3 однозначным, как это утверждается компанией Microsoft.
Теперь непосредственно к сути дела.
Чтобы облегчить вам выбор, я хотел бы поделиться своим опытом, полученным в ходе многочисленных сравнений, прослушиваний, а также на основе анализа результатов открытых слуховых тестов.
И так, ниже я расскажу о наиболее подходящих для каждого отдельного случая кодерах, а также о правильном выборе параметров. Для конвертирования рекомендую использовать foobar2000 (подробно настройка конвертера описана здесь), собственно параметры указаны как раз для него. Кроме того, для foobar2000 есть большое количество полезных DSP, которые могут нам пригодиться для предварительной обработки аудио.
Для тех же, кто собирается конвертировать через консоль или другую программу: переменную %s надо заменить на имя файла-источника (или аналогичную переменную), а %d — на имя выходного файла.
Обратите внимание, что для каждого диапазона битрейта указаны возможные варианты форматов: первый — самый приоритетный. Если же ваш плеер не поддерживает первый вариант — обратите внимание на следующий, и т.д. Как я уже писал, внимания на самом деле сегодня достойны только три кодека — это AAC, OGG Vorbis и Musepack. WMA же, по причине своей закрытости, особым качеством не отличается, но всё же в большинстве случаев лучше, чем MP3. Учитывая, что некоторые устройства из альтернатив поддерживают только WMA, я буду давать рекомендации для каждого из четырех форматов.
Насчет битрейтов: надо понимать, что оптимальным режимом кодирования является т.н. True VBR, т.е. режим с целевым качеством, а не битрейтом. В идеале результатом является трек с переменным битрейтом, но постоянным качеством (не приравнивайте эти два понятия — более сложным фрагментам трека для поддержания качества нужно больше бит). Таким образом битрейт а выходе — трудно предсказуем. Потому значения битрейтов ниже указаны только как примерные, по возможности — средние для большого количества композиций различной сложности.
Упоминаемые в этой статье, а также некоторые другие кодеры, с русскими описаниями основных параметров и рекомендациями можно найти здесь.
Сверхнизкие битрейты (~25-40 кбит/с)
Этот диапазон прекрасно подходит для кодирования аудиокниг. И тут вариант может быть только один — AAC, а точнее, Nero AAC. Параметры следующие:
-lc -q 0.35 -ignorelength -if - -of %d
При этом материал должен быть предварительно преобразован в моно и ресемплирован до частоты 22050 Гц (желательно ресемплером SoX). На выходе получим обычное Low Complexity AAC с битрейтом около 25 кбит/с.
Для музыки в этом диапазоне тоже есть варианты:
1) Nero AAC. Тут никаких преобразований не нужно:
-q 0.15 -ignorelength -if - -of %d
На выходе — High Efficiency AAC v2 (с параметрическим стерео и синтезом ВЧ), ~35 кбит/с. Прекрасный вариант для какого-нибудь интернет-радио. Только тут надо не забывать, что декодер в плеере должен поддерживать HE-AACv2, иначе получите полное отсутствие ВЧ и монофонию.
2) OGG Vorbis AoTuV — данная модификация libvorbis включает усовершенствование алгоритма кодирования с низкими битрейтами и, даже без технологии SBR, не сильно уступает HE-AACv2. Командная строка:
Полученные таким образом файлы должны быть полностью совместимы со стандартными декодерами OGG Vorbis. Битрейт — аналогичный — около 35 кбит/с.
3) WMA 10 Pro. Для таких случаев у Microsoft тоже есть что-то наподобие SBR (синтез ВЧ), звучит не так плохо, как могло бы. Правда битрейт чуть выходит за рамки — 48 кбит/с.
-silent -a_codec WMA9PRO -a_mode 3 -a_setting 48_44_2_16 -input %s -output %d
Учтите, что старые (особенно «железные») декодеры не поддерживают WMA 10. Для такого случая можно использовать WMA 9.2 (кодер тот же), правда, его качество на низких битрейтах значительно хуже.
-silent -a_codec WMA9STD -a_mode 3 -a_setting 48_44_2 -input %s -output %d
Низкий битрейт, ~64 кбит/с
1) QuickTime AAC — победитель (если не считать новоиспеченный Opus/CELT) того самого теста. Ниже указаны настройки для кодера QAAC:
-s -v 64 --he -q 2 --ignorelength - -o %d
На выходе имеем HE-AAC (с SBR, но без Parametric Stereo), что должно поддерживаться различными iPod'ами и тому подобным.
2) OGG Vorbis AoTuV — хоть и оказался довольно далеко от QAAC, но всё же:
3) И на всякий случай WMA 10 Pro:
-silent -a_codec WMA9PRO -a_mode 3 -a_setting 64_44_2_16 -input %s -output %d
Для старых декодеров — WMA 9 Standard:
-silent -a_codec WMA9STD -a_mode 3 -a_setting 64_44_2 -input %s -output %d
Чуть выше, ~80-100 кбит/с
А этот битрейт я рассматриваю уже из-за Vorbis.
1) Как показали тесты, лучше всего с ним справляется кодер OGG Vorbis AoTuV:
2) Nero AAC — очень неплохой результат. В местах, где высокие выражены не так ярко, может звучать даже лучше Vorbis'а (на высоких проигрывает из-за синтеза).
30 -ignorelength -if — -of %d
Используемый профиль — HE-AAC.
Стандарт де-факто, 128 кбит/с
Интересный факт: многие утверждают, что для MP3 128 кбит/с — «пограничный битрейт», с которого начинается неотличимое от оригинала качество. Пожалуй, это так… для пластмассовых китайских колонок с блатняком. Реально же этот порог находится где-то около 200 кбит/с, при чем новые форматы дают на этом битрейте более стабильное качество.
Современным кодерам эту планку в 128 кбит/с удалось занизить чуть ли не в два раза (опять же, по заявлениям разработчиков). Но, тем не менее, если у вас более-менее приличная акустика (или наушники), на сложных фрагментах разницу можно уловить и при 128 кбит/с.
-q 0.40 -ignorelength -if - -of %d
Профиль — обычный AAC LC.
-silent -a_codec WMA9PRO -a_mode 3 -a_setting 128_44_2_24 -input %s -output %d
Для старых декодеров — WMA 9 Standard:
-silent -a_codec WMA9STD -a_mode 3 -a_setting 128_44_2 -input %s -output %d
~160-192 кбит/с
В этом диапазоне разница межу кодерами Nero, QuickTime AAC и Vorbis практически сходит на нет. Но здесь уже на сцену выходит тот самый Musepack. Как раз на этих битрейтах начинает проявляться его преимущество (за счет необычайно гибкого VBR режима, а также принципиально другого алгоритма сжатия):
1) Musepack --silent --quality 5 - %d
2) Nero AAC -q 0.50 -ignorelength -if - -of %d
-silent -a_codec WMA9STD -a_mode 3 -a_setting 160_44_2 -input %s -output %d
Порог прозрачности: ~200-225 кбит/с
То, о чем я говорил. При этом битрейте практически все кодеры дают прозрачный для большинства слушателей звук. И именно этот диапазон является оптимальным в плане размер/качество.
Кстати, у LAME MP3 в этом районе тоже находится подобный порог (VBR V2), но у этого кодека очень большие проблемы с пре-эхом (искажения предшествующие резким всплескам сигнала), а на слух часто ощущается Noise Shaping (шумы от ошибок квантования таким образом переносятся в высокочастотную область).
У таких же кодеков, как Vorbis, AAC и MPC на этом пороге начинается четкая прорисовка в композициях даже фоновых шумов.
1) Musepack --silent --quality 6 - %d
2) Nero AAC -q 0.55 -ignorelength -if - -of %d
-silent -a_codec WMA9PRO -a_mode 3 -a_setting 192_44_2_24 -input %s -output %d
WMA 9 Standard, максимальный битрейт воспринимаемый старыми декодерами:
-silent -a_codec WMA9STD -a_mode 3 -a_setting 192_44_2 -input %s -output %d
Разумный максимум: ~320-350 кбит/с
Должен обратить ваше внимание: после ~225 кбит/с повышение битрейта чаще всего уже не дает слышимого прироста качества, а размер файлов, естественно увеличивается. Но всё же, для особенно сложных композиций (и хорошей аппаратуры/ушей) существуют более высокие настройки качества. На этих битрейтах для таких кодеров как Museppack и Vorbis мне даже не удалось найти киллер-семплов (проблемные семплы, на которых явно проявляются недостатки алгоритма кодирования). И так:
2) Musepack --silent --quality 10 - %d
3) QAAC -s -V 127 -q 2 --ignorelength - -o %d
4) WMA 10 Pro -silent -a_codec WMA9PRO -a_mode 3 -a_setting 384_44_2_24 -input %s -output %d
Опережая ваши вопросы: да, для некоторых из этих кодеров существуют и более высокие настройки качества, но дальнейшее их повышение уже не имеет никакого смысла. Разве что вам действительно не важен объем занимаемый музыкой памяти, а поддержкой lossless ваше устройство не располагает.
Вот, собственно, и всё, чем я хотел с вами поделиться. Пробуйте, комментируйте, задавайте вопросы.
Отдельные открытия, сделанные человеком, оказываются настолько практичными изобретениями, что остаются в повседневной жизни надолго . Например, стандарту цифрового сжатия звука MP3 уже около 20 лет, что по меркам компьютерных технологий — более чем долгий срок. За эти двадцать лет произошло немало открытий и технологических прорывов. Но для цифрового аудио, как это ни странно, пока мало что изменилось. MP3 «забрался» во все устройства, какие только можно, — смартфоны, портативные проигрыватели, DVD-плееры, часы и прочие электронные приборы.
Почему так? Ведь кодирование с потерями — это неизбежное ухудшение качества звука. Простому обывателю вполне может показаться, что у MP3 давно есть альтернативы — FLAC, APE и прочие алгоритмы компрессии аудиоданных с возможностью идентичного восстановления волновой формы после декодирования. Суждение о том, что появление алгоритмов сжатия звука без потерь составит MP3 конкуренцию во всех отношениях, — очень поверхностно. Помимо качества звука, за которое так переживают любители музыкальных коллекций, существует еще немало других объективных причин, по которым MP3 не может быть забыт и заменен принципами сжатия без потерь.
Прежде всего, потому что форматы кодирования звука с потерями используются не только для музыки, но и для передачи голоса через Интернет. Главный козырь MP3 и других механизмов сжатия с потерями — эффективное использование каналов передачи. Чтобы организовать IP-телефонию, необходимо обеспечить внятную речь как можно большему числу абонентов. При этом качество звука уходит на второй план. Кроме этого, очень важна возможность «мгновенного» декодирования потока, без которого затрудняется синхронный обмен информацией. В данном случае использование (даже теоретически) алгоритмов сжатия без потерь приводило бы к сильным временным задержкам, и интерактивное общение было бы просто невозможным.
Тем не менее MP3 не лишен недостатков. Не секрет, что низкий битрейт «съедает» детали звука, наделяя его к тому же целым набором неприятных артефактов — призвуками, свистом и звоном, разного рода искажениями. При использовании MP3 в IP-телефонии наблюдаются большие временные задержки из-за необходимости дополнительной буферизации данных.
Новый открытый кодек Opus лишен самых серьезных недостатков MP3, при этом он сохранил все достоинства «народного» кодека и даже приумножил их.
Структура Opus позволяет ему эффективно справляться со звуковыми артефактами. Для этого была предложена многоступенчатая архитектура обработки аудиосигнала. Основной аргумент, который говорит в пользу применения нового кодека для IP-телефонии, — низкая временная задержка.
Один из создателей кодека Opus — Jean-Marc Valin
Принцип работы кодека не нов, но оригинален и главное — позволяет получить очень хороший результат на выходе. Поступивший сигнал кодируется SILK или CELT избирательно.
Первый движок (SILK) применяется для компрессии голоса, а также в тех случаях, когда требуется эффективно расходовать пропускную способность канала связи. Обрабатываемый аудиосигнал анализируется кодеком на предмет наличия человеческой речи. Голосовые составляющие отделяются от прочих звуков, после чего кодек выполняет анализ частотной характеристики звука, понижая уровень дискретизации для данных, содержащих голосовую информацию, то есть речь. Затем Opus исследует присутствующие шумы и оптимизирует сигнал для определенного битрейта. Далее кодек преобразовывает сигнал с помощью фильтра предварительной очистки. Используя речевые кадры, модуль предсказания частоты аудиосигнала вносит изменения в последующие кадры, после чего частотное квантование нормирует частоты человеческой речи. Далее следует важный этап обработки звука — устранение искажений, возникающих при недостаточно высоком битрейте. После этого используется модуль формирования шума квантования, который снижает шумы внутри рабочей полосы, вытесняя их за пределы рабочего диапазона. На заключительном этапе интервального кодирования SILK работает с дискретными величинами, которые могут принимать ограниченное число значений, — осуществляется покадровый вывод сигнала.
В процессе кодирования аудиоданных с высоким качеством, например музыки, задействуется модуль CELT. Его механизм схож с принципом работы наиболее популярных кодеков с потерями и завязан на дискретных косинусных преобразованиях, а также на «оптимизации» звука. Последняя состоит в том, что из сигнала удаляются составляющие, которые не несут полезной нагрузки для слуха человека, — до кодирования он их или не слышит, или слышит с большим трудом.
Если заглянуть в настройки кодирования, например в программе EZ CD Audio Converter (бывший Easy CD-DA Extractor), можно увидеть, что новый кодек предлагает выбрать режим сжатия — звук или музыку. Эта настройка и определяет приоритет того или иного алгоритма кодирования Opus.
Opus поддерживает частоты дискретизации от 8 до 48 кГц. Кодирование звука возможно в диапазоне битрейта 6—510 кбит/с. Длительность кадров варьируется от 2,5 до 20 мс.
Кодек осуществляет кодирование в режимах моно и стерео, используя технологию постоянного и переменного битрейта, а также поддерживает компрессию до 255 каналов.
Универсальность структуры кодека Opus позволила ему на невысоком битрейте обойти самых главных конкурентов — Apple HE-AAC, Nero HE-AAC, Vorbis и AAC LC. На данной диаграмме вы можете наблюдать, насколько лучше параметры задержки у нового кодека по сравнению с конкурентами.
А это — график, демонстрирующий превосходство Opus над другими кодеками по качеству звука. Результаты тестирования говорят о том, что аудио, декодированное с помощью Opus, в большинстве случаев более полно восстанавливает исходную картину звука — на разных битрейтах и на разной частоте. Под терминами fullband stereo и narrowband подразумеваются граничные частоты дискретизации.
Говоря о достоинствах нового кодека, нужно отметить и стабильность его работы в разных условиях, что особенно важно при передаче данных в беспроводных сетях. Opus обладает гибким алгоритмом адаптации к изменению пропускной способности канала связи, поэтому качество звука остается неизменным, а сам кодек частично компенсирует потери, обеспечивая трансляцию без сбоев.
Разработчики программного обеспечения торопятся выпустить обновления с поддержкой кодека Opus. Такие популярные утилиты для работы со звуком, как EZ CD Audio Converter, foobar2000, AIMP, VLC Media Player, уже могут работать с файлами в этом формате. Новый кодек принят на вооружение и при организации потокового вещания посредством Icecast, он включен в K-Lite Codec Pack и фильтры LAV.
В ближайших версиях альтернативной прошивки для портативных аудиоустройств Rockbox также появится поддержка Opus. Любители смогут слушать музыку и аудиокниги на плеерах iPod, Archos и прочих. На портативных устройствах под управлением Android также можно будет слушать аудио через Rockbox, установив соответствующее приложение RaaA (Rockbox as an Application).
На данный момент новый кодек уже поддерживается в разработках Mozilla — Firefox и Thunderbird. Очевидно, что поддержку Opus скоро можно будет увидеть и в других браузерах. В ближайшее время он появится и в Skype.
Opus: палки в колесах
Очевидное превосходство качества, которое показывает Opus при кодировании, еще не означает его безоговорочной победы. Данный кодек пока не избавился от всех багов и только в сентябре этого года прошел сертификацию в IETF (Internet Engineering Task Force) как стандарт аудиокодека для использования в Интернете.
Кроме того, новой разработке еще предстоит «пободаться» с многочисленными претензиями и судебными исками, которые следует ожидать в будущем. Opus имеет статус royalty-free, то есть за его использование не нужно платить никаких отчислений правообладателям. Появление такого продукта, понятное дело, невыгодно многим конкурентам.
Первые «бузотеры» уже высказались против нового кодека — компании Qualcomm и Huawei заявили о том, что новая разработка нарушает принадлежащие им патенты. Разработчики Opus дали комментарии по этому поводу, сообщив, что они не нарушили авторских прав и более того — они ожидали появления подобных заявлений и готовы отстаивать свою правоту.
Спустя 20 лет существования MP3 человек все так же плохо слышит разницу между оригинальным звуком и звуком, который претерпел потери в результате компрессии. Тем не менее он всячески ищет способы улучшить качество оцифрованного звука и минимизировать потери при одинаковом битрейте.
Кодек Opus, безусловно, ждет большое будущее. Низкий уровень искажений, а также минимальные по сравнению с конкурирующими алгоритмами временные задержки — все это делает Opus идеальным для интеграции данной технологии в сфере IP-телефонии и трансляции речи.
Впрочем, скорее всего, такого размаха, который сопутствовал победоносному шествию MP3, «Опусу» вряд ли удастся достичь. В свое время появление кодека MP3 стало настоящей революцией в сфере хранения и передачи звука. Сегодня новый кодек может лишь предложить более эффективное использование каналов передачи на низких скоростях. Что же касается музыкальных предпочтений, то, полагаем, любители портативного звука останутся стоять на своем — звук должен быть без потерь. Да и сами разработчики это не отрицают.
В презентации Opus сказано буквально следующее: «Кодек может использоваться для любых целей, за исключением Lossless-сохранения (для этого используйте FLAC) и за исключением кодирования с ультранизким битрейтом (для этого используйте codec2)».
Аппаратная поддержка Opus будет обязательно. Ведь показатели у нового кодека отличные, а значит, в скором времени можно будет ожидать использования новой технологии в беспроводных наушниках и портативных плеерах, которые мы по-прежнему будем по старинке называть MP3-плеерами.
На прошедшей недели мы представили обновленные клиенты 3CX для Android и iOS. Разработчики стараются сделать работу пользователя с мобильным VoIP-клиентом как можно более комфортной, и, в то же время, добавить возможности, наиболее востребованные пользователями.
Главное новшество в мобильных клиентах — добавление голосового кодека OPUS, о преимуществах которого мы поговорим ниже. Вторая доработка — возможность регистрации добавочного номера с нескольких мобильных устройств и доставка PUSH-уведомлений о вызовах на каждое из устройств параллельно. Также, надежность доставки PUSH-уведомлений на устройства значительно повышена. Кроме того, у обоих клиентов существенно снижен расход заряда аккумулятора и ускорено подключение к серверу 3CX.
Обратите внимание, что для поддержки новых возможностей мобильных клиентов 3CX необходима установка обновления v15.5 Update 6, которое в данный момент готовится к выпуску. Также, для установки клиента 3CX для iOS Beta прямо сейчас, следует зарегистрироваться в программе Apple TestFlight.
Клиент 3CX для Android — список улучшений
Читайте также: