Приветствую, уважаемые!
Не все йогу… кодеки одинаково полезны. Впрочем, вы и сами знаете: увидев в характеристиках беспроводных наушников только три буквы SBC, многие сразу делают «фи» и отказываются от покупки. А вот если там будет указан LDAC или хотя бы AptX Adaptive, то уже можно считать данную модель достойной внимания. Так что же такое эти кодеки, и действительно ли SBC плох? Давайте разбираться!
Table of Contents
- Что такое кодек и зачем оно надо?
- Психоакустика и потери
- SBC
- AAC
- aptX-ы
- LDAC
- HWA: LDHC, LLAC, LDHC-V
- SSC
- LC3 и LC3plus
- Другие
- Что в итоге?
Что такое кодек и зачем оно надо?
В случае обычного кабельного подключения всё очень просто: есть файл в некоем формате, есть декодер этого формата, есть ЦАП с усилителем и выход на наушники. И это всё вполне нормально помещается внутри смартфона. Ну или «благодаря» маркетингу, лишившему большинство мобильники выхода 3.5 мм, присутствует в виде связки «смартфон плюс внешний USB-цап». Нет никаких ограничений, ничего никому не мешает — просто залили музыку в максимальном качестве и в таком же качестве её слушаете.
Но как только вы захотели избавиться от кабеля у наушников и купили модель с Bluetooth, всё стало сложнее: сигнал теперь передаётся по радиоканалу, и нужно сделать так, чтобы он, во-первых, долетел до наушников в целости и своевременно, во-вторых, максимально сохранил качество и, в-третьих, смог бы протиснуться в технические ограничения работы этого самого Bluetooth для потоковой передачи (невозможно передать повреждённый кусок информации повторно как в случае с файлом). А ещё и эфир вокруг загрязнён: куча других устройств излучают свои сигналы, так или иначе мешая друг другу.
Вот для этого и нужен кодек: он определённым образом упаковывает звук и передаёт его на наушники, где тот распаковывается обратно и с помощью ЦАП и усилителя превращается в аналоговый сигнал, идущий на излучатель наушников.
Психоакустика и потери
Чтобы передать звук CD-качества, нужна скорость потока 1411 кбит/с, что в принципе не так и много. Но как только дело доходит до практической реализации, оказывается, что получить стабильную передачу с такой скоростью по Bluetooth нереально, и приходится что-то придумывать. Но что?
Можно сжать звук на стороне передачи, пропихнуть в канал, а потом снова растянуть до исходного состояния. Проблема сжатия заключается в невозможности это делать бесконечно — придётся искать баланс между размером и количеством ошибок после распаковки. А как уменьшить само количество передаваемой информации, чтобы слушатель не заметил ухудшения качества?
Можно было бы использовать сжатие без потерь, когда восстановление данных происходит полностью. Это, к примеру, известные многим FLAC и ALAC и более редкий APE (MonkeyAudio). Но увы, это не используется — в реальности такие потоки не получается передавать без проблем, а потому надо ещё больше сжимать и упаковывать звук.
Чтобы это сделать, придётся использовать сжатие с потерями, которые к тому же не должны быть особенно заметны после распаковки. Тут нам на помощь приходит психоакустика. Дело в том, что человек не может услышать тихий звук одновременно с громким или сразу после него, шум может замаскировать какой-то тон и так далее, включая появление новой частоты за счёт разницы между двумя более высокочастотными сигналами. Такая маскировка может быть как одномоментной (когда маскируемый и маскирующий звуки звучат одновременно), так и разномоментной (между этими двумя есть небольшая разница во времени появления в фонограмме). Так что если удалить маскируемый звук, это не будет особо заметно при прослушивании, а место сэкономит.
Промежуточный вывод: в Bluetooth-наушниках технически нет вариантов «слушать без потерь».
SBC
Он же Subband Codec, cамый нелюбимый (а зря!) вариант у народа. Является стандартным кодеком для профиля A2DP, отвечающего за передачу аудио на подключённые к гаджету устройства воспроизведения (наушники, колонки и подобное), то есть, все устройства, поддерживающие профиль, автоматически умеют работать с SBC.
Также он прост с точки зрения обработки и потребляет минимальное количество вычислительных ресурсов по сравнению с другими кодеками, использует 4 или 8 поддиапазонов частот — нарезает все частоты на куски и кодирует каждый кусок отдельно, начиная с басов и заканчивая ВЧ, динамически выделяя биты для максимальной сохранности «материала» (то есть, максимальная экономия всегда приходится на ВЧ). Его битрейт доходит до 510 кбит/с или даже до 1500 кбит/с (по некоторым источникам). Казалось бы, скорости достаточно, да и другие параметры кодека можно настраивать (семплы, распределение битов и т.д.), но…
Но производители в лучшем случае используют рекомендуемый профиль SBC High Quality, ограничивающий поток до 328 кбит/с (для частоты дискретизации 44.1 кГц), а разработчики Bluetooth-стеков со своей стороны не стали заморачиваться поддержками других профилей и вариантов настроек. Это и технически проще, и, опять же, самый высокий битрейт всё равно не получается передавать на наушники без проблем. А если кто-то будет использовать более простые профиль (тот же Middle Quality) и настройки, то мы получим достаточно плохое звучание, которое часто встречается в дешёвых ушках с Aliexpress и иногда попадается у серьёзных производителей. Да и задержку в 170-270 мс трудно назвать приемлемой. Так что потенциал у SBC хороший, но реализовывать его, увы, не хотят, разве что существует пара неофициальных патчей (например, SBC XQ), разблокирующих поток вплоть до 600 кбит/с.
AAC
Он же Advanced Audio Coding, использует психоакустическую модель для получения лучшего результата при ограниченной скорости потока. Многие считают, что его разработали Apple, я даже слышал версию расшифровки AAC как Apple Audio Codec, но это не так. А вот заявление, что лучшие результаты работы с этим кодеком на яблочных продуктах, — чистая правда. Виной тому использование разных реализаций кодирования в разных же устройствах: Apple AAC на iOS, Fraunhofer AAC в одних нормальных девайсах на Android и Не-Понять-Что-За-Реализация ААС в других нормальных, а также более простых устройствах, куда входят множество третьесортных производителей смартфонов.
С точки зрения производительности AAC требует заметно больше вычислительных ресурсов, чем SBC и aptX, плюс на Android есть гибкая система управления питанием, которая может посчитать кодирование в AAC более затратным, чем нужно на данный момент, и снизит качество.
Максимальный битрейт кодека — 320 кбит/с, но встречается и 256 кбит/с. Да, при таком потоке он даёт лучше качество, чем SBC, но из-за неясной реализации на конкретном смартфоне и большей затратности может быть далеко не лучшим выбором. Средняя задержка составляет от 90 до 150 мс.
aptX-ы
Я с удивлением узнал, что кодек разработан ни разу не Qualcomm (они его просто купили), а неким Стивеном Смитом в 1980-х как часть исследований для докторской работы в Университете Квинс в Белфасте. Уменьшение объёма в кодеке достигается не благодаря психоакустике, а адаптивную дифференциальную импульсно-кодовую модуляцию (адаптивную потому, что шаг квантования может меняться). Но Qualcomm после покупки продолжил развивать кодек, и из обычного aptX вышли aptX HD, aptX Adaptive, aptX Loseless и aptX Low Latency. Есть ещё E-aptX, aptX Live и aptX Voice, но они не используются для привычных задач: первый создан для передачи аудио по радио, включая цифровое, второй заточен под работу с беспроводными микрофонами и подобным оборудованием для записи и живых выступлений, а третий ориентирован на более качественную передачу голоса в процессе звонков.
Стандартный вариант кодека aptX выдаёт 325 кбит/с максимум для частоты дискретизации 44.1 кГц (или 384 кбит/с для 48 кГц), что сравнимо с SBC, но при этом у него ниже шумовой порог (и он начинает заметно расти у SBC уже на 2.5 кГц, а у aptX — примерно на 5 кГц) и меньше искажений высоких частот. И да, из-за отсутствия возможности свободно изменять настройки производителями смартфонов обеспечивается намного большая предсказуемость результата. В стандартном варианте даёт задержку по разным измерениям от 80 до 170 мс и в зависимости от конкретного «железа» может быть сравним на слух с SBC-вариантом.
Более навороченный aptX HD представляет собой вариант обычного aptX, но с большим битрейтом — до 576 кбит/с за счёт использования гибридной схемы кодирования и большего количества данных для частотных диапазонов. Верхние частоты сохраняются лучше, динамический диапазон больше (120 дБ), а за счёт меньшим требованиям к вычислительным мощностям может вполне спокойно работать на более слабых устройствах, обеспечивая относительно высокое качество звучания.
Следующий шаг — aptX Adaptive, фишка которого заключается в изменяемой скорости потока от 276 до 420 кбит/с. Коэффициент сжатия тоже изменяется, что позволяет получить качество звучания, сравнимое с aptX HD.
Ещё лучшее качество обещает aptX Loseless — самый свежий вариант с битрейтом до 1200 кбит/с и адаптивным его изменением. Представленный в 2019 году, он до сих пор так и не получил распространения, требует современных процессоров с поддержкой платформы Qualcomm Snapdragon Sound. В среди наушников я лично не могу назвать ни одну модель из известных. Так что ждём.
Ну и последний из серии — aptX Low Latency, по сути тоже вариация aptX с минимальной задержкой. Скорость потока 352 кбит/с, но задержки около 30-40 мс, что уже вполне приемлемо для кино и в особенности игрушек. Для прослушивания музыки его использовать не имеет смысла.
LDAC
Активно рекламируемый своими создателями из Sony, кодек обеспечивает действительно высокое качество звучания со скоростью потока до 990 кбит/с и поддержкой аудио 96 кГц/24 бит. А CD-качество и вообще передаёт без каких-либо изменений и ухудшений. Да и присутствует на всех устройствах с Android 8 и новее. Казалось бы, идеальное решение найдено! Но не всё так просто.
Во-первых, кодек может работать в режимах Hi-Res и CD, при этом второй режим передаёт именно аудио 44.1 кГц/16 бит, используя выбранный битрейт. Во-вторых, у кодека есть три варианта качества: лучшее соединение (330 кбит/с), сбалансированный (660 кбит/с) и максимальное качество (990 кбит/с), и далеко не факт, что смартфон умеет работать с последним. А при 330 кбит/с LDAC будет звучать не лучше SBC или AAC, явно не обеспечивая CD-качество.
И ещё одна сложность с кодеком заключается в необходимости стабильного соединения: 660 и особенно 990 кбит/с требуют небольшого расстояния между смартфоном и наушниками в реальных условиях использования. Да и на 330 кбит/с он справляется похуже AAC с SBC. Плюс «качество» надо ещё принудительно выбирать в настройках, если это возможно в случае конкретного смартфона и прошивки. Задержка составляет до 200 мс, что вообще не подходит для игр и подобного. Так что LDAC действительно хорош только на своём максимуме качества и при достаточно хороших условиях радиопередачи.
HWA: LDHC, LLAC, LDHC-V
Он же «кодек от Huawei», разработанный на самом деле компанией Savitech. Расшифровывается как Low-latency High-Definition audio Codec (а HWA как Hi-Res Wireless Audio) и является прямым конкурентом LDAC и aptX HD с Adaptive, активно продвигается Huawei. Битрейты 400, 560 и 900 кбит/с, максимальное качество аудио 96 кГц/24 бит — всё это делает LDHC вполне серьёзным решением.
В штатной версии задержка такая же, как и у LDAC – до 200 мс, но есть LLAC (Low-latency Audio Codec или LDHC LL) с задержками до 30 мс. При этом максимальный битрейт сокращается всего лишь до 600 кбит/с, обеспечивая вполне пристойный звук для игр.
Самый свежий вариант кодека LDHC-V ориентирован на «полноценный Hi-Res» и имеет битрейты от 128 до 1000 кбит/с и является своеобразным «анонсом» LDHC Loseless, у которого скорости теоретически могут доходить до 1400 кбит/с.
Если сравнивать LDAC и LDHC, то у первого чуть выше максимальный битрейт (990 против 900 кбит/с), но зато в плохих условиях передачи минимальный битрейт будет выше у второго (330 против 400 кбит/с). Плюс наличие варианта с низкой задержкой, на которую у Sony нечем ответить.
SSC
А вот и кодек от корейцев — Samsung Scalable Codec. Адаптивный, с изменяемым от 88 до 512 кбит/с битрейтом, он заточен на максимальную стабильность передачи сигнала в любых условиях даже в ущерб качеству звучания. Главное — никаких заиканий и провалов!
Про этот кодек мало что написано в сети, разве что упоминается его обновление-продолжение SSC Hi-Fi, рассчитанное на более качественный звук. Его максимальный битрейт поднимется до 584 кбит/с, что всё равно ниже конкурентов. Время задержки не указывается, увы.
Ну а самое главное в этом кодеке — они работают только на продуктах Samsung. То есть, и смартфон или планшет, и наушники должны быть Samsung и поддерживать SSC, иначе чуда не произойдёт.
LC3 и LC3plus
Один из самых новых кодеков, Low Complexity Communication Codec, был разработан Fraunhofer IIS и Ericsson в качестве замены SBC. Битрейт от 160 до 345 кбит/с, но качество при этом заметно выше. Кодек входит в стандарт Bluetooth 5.2 LE и потому пока ещё слабо распространён, зато точно можно сказать, что за счёт меньшего энергопотребления наушники с ним будут работать дольше.
Вариант LC3plus рассчитан на более высококачественный звук и даже был признан сообществом Japan Audio Society (JAS) наряду с MQair, LDAC и LHDC. Но при этом у него нет совместимости с обычным LC3. Битрейт доходит до 600 кбит/с, задержки неизвестны.
Другие
Есть и другие кодеки, например, UAT или MQAir, но они обычно требуют больше чем просто наушники и смартфон. К примеру, тот же UAT от китайской компании HiBy хоть и может выдавать 1200 кбит/с, работает с продуктами HiBy — например, какой-нибудь плеер или ЦАП с приёмником, куда будут подключаться наушники. А MQAir (или SCL6), фирменный кодек от создателей спорного стандарта MQA, обещает поток от 200 кбит/с до 20 мбит/с, но собирается использовать для высоких битрейтов уже Wi-Fi. Что тоже не позволяет назвать его полноценным Bluetooth-кодеком. И опять же вопрос поддержки наушниками как минимум.
Что в итоге?
А в итоге получается довольно забавная ситуация: SBC вроде бы и плохой кодек, но по факту хороший, AAC отличается на iOS и Android, aptX очень разный, у LDAC надо вручную выбирать максимальное качество и чтобы это качество ещё поддерживалось, LDHC и LLAC пока ещё расширяются, SSC ушёл в себя, а LC3 только начинает свой путь.
Что выбрать? То, что ваш смартфон может выдать лучше всего и то, что поддерживают интересующие вас наушники. Владельцам Apple в этом плане проще — только AAC, только хардкор. И не забывайте, что каким бы замечательным ни был кодек, чистым эфир и качественным исходник, у беспроводных наушников есть собственный ЦАП и усилитель, которые вдвоём могут сотворить со звуком такое, что даже самый лучший кодек с самыми верными настройками не поможет.
Совет прост и стандартен: прежде чем что-то брать, послушайте. Вам же потом с этим в ушах ходить, и только вы можете решить, нравится вам, как звучит любимая музыка, или нет. Ну или доверьтесь обзорам «правильных» людей на крайний случай. А если всё равно сомневаетесь и не хотите мучиться, прекрасный и удивительный мир Настоящего Hi-Res по кабелю с отдельными ЦАП-усилителями ждёт вас! Ну как, готовы?
Отличная статья! Спасибо!
Статья крайне полезная для многих. Но слишком много ошибок в тексте. Вы бы хоть сами вычитали его перед публикацией, если редактора толкового нет.
Интересно и просто написано. Даже такому нубу как я понятно. Спасибо, читал с интересом, благо и от Эппл наушники есть и от Хуавей и от рилми даже (топовые модели). И да, звук отличается. Хотя может и не в кодеке дело а в самих наушниках.
Не знал что их так много. Спасибо. Но больше всего жалею, что вместо этого зоопарка, нет реализации bitstream. Было бы классно, если уже сжатые мр3/аас/опус потоки, пробрасывались на наушники в своем оригинальном виде. И вообще, не понимаю этой войны кодеков. На битрейтах 256+ звук десктопных кодеков не различается. Есть подозрение, что для синезубых аналогично. Жаль нет десктопных версий этих кодеков. Чтобы можно было потестировать качество и вычислительную сложность.
Еще заметил любопытную вещь. Подключали неплохие наушники к разным аппаратам. Если реализован AptX, качество SBC специально загрублено. А на девайсах где его нет, SBC звучит ничуть не хуже. Ох уж эти темные паттерны маркетинга.
Кроме задержки и возможных проблем совместимости, конечный результат (звучание) одинаковый на любом из этих кодеков, иначе и быть не может, потому инженеры придерживаются одних и тех же стандартов, основанных на психофизиологии слуха. Все остальное, что написал автор статьи — это дремучая аудиофилия, тиражирование их мифов и заблуждений
График с различиями в реализации AAC на разных смартфонах кочует из текста в текст и создаёт впечатление, что там речь о том, что Айфон не режет высокие частоты и это хорошо, а Хуавей сильно режет и это плохо. Но это не график передаваемых частот, в оригинальном исследовании есть описание, которое почему-то никто не приводит. Там речь о вносимых кодером искажениях на разных частотах, а не тупо срезе частоты на этой границе. Суть в том, что кодек с потерями в любом случае внесёт искажения, количество выкинутой информации при одном битрейте будет одинаковым (по определению), разница в ее качестве — насколько она будет заметна для уха. И об этом судить по таким графикам можно только примерно, а уж выводы делать точно не стоит.
Вадим, Посмотрел статью. Мне показалось, что это именно график частот. Только странно, почему взят второй (AAC lossless files), а не первый график, где есть сравнение с SBC. А графики шумов, представлены отдельной спектрограммой.
Еще удивило, что в сравнении нет десктопной версии AAC из ffmpeg. Если имели возможность отобразить на графиках 'test file', нет проблем и с 'PC AAC'.
Вадим, Перечитал. Да, кажется я неправ, это все-таки именно частоты. Но вторая часть моего коммента остается в силе — самый широкий спектр не означает автоматически лучшего звучания.
Cherrtyka, Кто вам сказал, что инженеры придерживаются одного и того же стандарта и одинаково успешно его реализуют? Там задача иная: сохранить по-максимуму при минимуме передаваемых данных. И желательно не сильно напрягать процессор.
Lecron, Ну слушать по сети на смартфоне — совсем другая логика процесса получается: там другие буферы, большой объём данных предзагружается на смартфон и по сути читается локально.
Но вон MQAir же хочет использовать Wi-Fi для супер-качества. Правда, всё равно это будет скорее всего не в формате наушников, а колонок/ресиверов/цапов компактных.
Дима Noname, А как кодеки переключать?
Отличная базовая статья. Спасибо
Mrakobesoborets, В настройках блютуза. Где-то можно, где-то нет.
Kostyamba, не вы выбираете, а ваш смартфон + наушники
Автор молодец. Помогла определиться с выбором наушников. Познавательно, однако.