Когда вы говорите об "эффективности", вы, вероятно, имеете в виду субъективное качество звука, которое предлагает один кодек при заданной скорости передачи данных, то есть то, как люди воспринимают качество звука при определенных условиях.
Каковы наиболее часто используемые и наиболее эффективные аудиокодеки?
Сейчас слишком много кодеков, чтобы их можно было сравнить. На сегодняшний день наиболее актуальными и наиболее эффективными являются:
- AAC
- Опус (который специально нацелен на низкие битрейты)
И, хотя и немного старше, все еще актуально, но не так эффективно:
Какой из них лучше?
В целом можно сказать, что семейство кодеков AAC намного эффективнее, чем MP3. Это, вероятно , кодек выбора для большинства современных мультимедийных приложений. Опус снова является лучшим выбором практически для любого приложения, особенно для передачи голоса по IP, но он не так широко поддерживается на отдельных мультимедийных устройствах.
Для сравнения качества различных кодеков взгляните на этот рисунок на веб-сайте Opus:
Чем выше кривая, тем лучше компромисс между качеством и битрейтом. Вы можете видеть, как Opus превосходит другие кодеки, но AAC отстает в более высоких диапазонах битрейта (что было бы типично для сложного звука, такого как музыка). Заметьте, насколько плох MP3 по сравнению с большинством этих кодеков?
Итак, в заключение, я бы рекомендовал придерживаться AAC для мультимедийных приложений.
Какие есть версии AAC?
Существуют различные версии AAC, в зависимости от того, какие функции используются. Это так называемые профили. Особенно хорошо известны AAC-LC (низкая сложность) и HE-AAC (высокая эффективность). Европейский вещательный союз (EBU) опубликовал подробный технический обзор HE-AAC v2 в 2006 году, который дает более подробную информацию о реализации, ее отличиях от "обычного" AAC-LC и сравнивает его с другими кодеками.
Кроме того, AAC и Vorbis довольно легко обгоняют MP3 в сценариях с низким битрейтом.
Более подробную информацию о кодеках, пожалуйста?
Часто спецификация кодека говорит только о том, как декодировать (то есть, как структурировать и анализировать поток битов). Это означает, что нет никаких ограничений на то, как написать кодировщик. Из-за этого, например, вы можете испытывать резкие различия в субъективном качестве между двумя разными MP3-кодерами. То же самое касается AAC и Vorbis.
Поскольку кодировщики не стандартизированы, на рынке существует определенная конкуренция, и в некоторых случаях появляются "лидеры рынка", такие как LAME в разделе бесплатных кодеров MP3 или FAAC для бесплатных кодеров AAC (хотя fdk-aac должно быть лучше). Конечно, существуют коммерческие кодировщики, такие как MP3-кодер Fraunhofer или кодировщик Nero AAC.
В конечном итоге все сводится к личным предпочтениям. Естественно, вы не можете объективно оценить, насколько "хорош" кодер. Вам нужно собрать несколько человек и попросить их послушать убедительные примеры. Это называется тестом прослушивания кодека. Есть несколько вариантов тестов, в зависимости от того, что именно вы хотите узнать, например:
- Кодек А лучше, чем Б? (Например, если AAC лучше, чем MP3 на низких битрейтах)
- Какой кодек самый лучший? (Например, все виды кодеков отсортированы по предпочтению)
Возможные комбинации почти бесконечны, и, конечно, эти тесты выполняются с конкретными кодировщиками (например, FAAC), а не просто тестируют "AAC" в качестве кодека. Поскольку эти тесты требуют времени и тщательной подготовки, а результаты не могут быть сведены в одно предложение, я предлагаю вам взглянуть на раздел результатов Википедии, где опубликовано немало результатов тестов.
В зависимости от вашего приложения, вы найдете "самый эффективный" формат среди победителей. Например, вот тест на прослушивание, взятый из технического отчета EBU, на который я ссылался выше, который показывает, как AAC обычно превосходит MP3 и Windows Media Audio со скоростью 48 кбит / с (низкая скорость передачи битов):
Доступен еще один отчет от EBU, который дает вам еще больше подробностей о реальном тестировании, в том числе о кодеках и настройках теста.