Закодируйся по Bluetooth: всё о кодеках

Приветствую, уважаемые!

Не все йогу… кодеки одинаково полезны. Впрочем, вы и сами знаете: увидев в характеристиках беспроводных наушников только три буквы SBC, многие сразу делают «фи» и отказываются от покупки. А вот если там будет указан LDAC или хотя бы AptX Adaptive, то уже можно считать данную модель достойной внимания. Так что же такое эти кодеки, и действительно ли SBC плох? Давайте разбираться!

Table of Contents

Что такое кодек и зачем оно надо?

В случае обычного кабельного подключения всё очень просто: есть файл в некоем формате, есть декодер этого формата, есть ЦАП с усилителем и выход на наушники. И это всё вполне нормально помещается внутри смартфона. Ну или «благодаря» маркетингу, лишившему большинство мобильники выхода 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 по кабелю с отдельными ЦАП-усилителями ждёт вас! Ну как, готовы?

Источник

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.