Ṣatunṣe akopọ Bluetooth lati mu ohun dara lori awọn agbekọri laisi AAC, aptX ati awọn kodẹki LDAC

Ṣaaju kika nkan yii, a gba ọ niyanju pe ki o ka nkan ti tẹlẹ: Ohun nipasẹ Bluetooth: awọn alaye ti o pọju nipa awọn profaili, codecs ati awọn ẹrọ

Diẹ ninu awọn olumulo agbekọri alailowaya jabo didara ohun ti ko dara ati aini awọn igbohunsafẹfẹ giga nigba lilo kodẹki Bluetooth SBC boṣewa, eyiti o ṣe atilẹyin nipasẹ gbogbo awọn ẹrọ ohun. Iṣeduro ti o wọpọ fun imudara ohun ni lati ra awọn ẹrọ ati awọn agbekọri ti o ṣe atilẹyin aptX ati awọn kodẹki LDAC. Awọn kodẹki wọnyi nilo awọn idiyele iwe-aṣẹ, nitorinaa awọn ẹrọ ti o ṣe atilẹyin wọn jẹ gbowolori diẹ sii.

O wa ni jade pe didara kekere ti SBC jẹ nitori awọn idiwọn atọwọda ti awọn akopọ Bluetooth ati awọn eto agbekọri, ati pe aropin yii le jẹ fori lori eyikeyi awọn ẹrọ ti o wa tẹlẹ nipasẹ awọn iyipada sọfitiwia si foonuiyara tabi kọnputa.

Kodẹki SBC

Kodẹki SBC ni ọpọlọpọ awọn ayeraye oriṣiriṣi ti o jẹ idunadura lakoko ipele iṣeto asopọ. Lára wọn:

  • Nọmba ati iru awọn ikanni: Sitẹrio apapọ, Sitẹrio, ikanni meji, Mono;
  • Nọmba awọn ẹgbẹ igbohunsafẹfẹ: 4 tabi 8;
  • Nọmba awọn bulọọki ninu apo: 4, 8, 12, 16;
  • Algorithm fun pinpin awọn die-die lakoko titobi: ariwo, SNR;
  • Iwọn ti o pọju ati iye ti o kere julọ ti adagun-odo ti a lo lakoko titobi (bitpool): nigbagbogbo lati 2 si 53.

Ẹrọ iyipada gbọdọ ṣe atilẹyin eyikeyi akojọpọ awọn paramita wọnyi. Awọn kooduopo le ma ṣe ohun gbogbo.
Awọn akopọ Bluetooth ti o wa ni igbagbogbo gba lori profaili wọnyi: Sitẹrio Ijọpọ, awọn ẹgbẹ 8, awọn bulọọki 16, Npariwo, bitpool 2..53. Profaili yii ṣe koodu ohun afetigbọ 44.1 kHz ni iwọn biiti ti 328 kbps.
Awọn paramita bitpool taara yoo ni ipa lori Odiwọn biiti laarin profaili kan: ti o ga julọ, iwọn ti o ga julọ, ati nitori naa didara naa.
Sibẹsibẹ, paramita bitpool ko ni so mọ profaili kan pato; Odiwọn biiti tun ni ipa pupọ nipasẹ awọn paramita miiran: iru awọn ikanni, nọmba awọn ẹgbẹ igbohunsafẹfẹ, nọmba awọn bulọọki. O le mu iwọn bitrate pọ si ni aiṣe-taara, nipa gbigba lori awọn profaili ti kii ṣe boṣewa, laisi yiyipada bitpool.

Ṣatunṣe akopọ Bluetooth lati mu ohun dara lori awọn agbekọri laisi AAC, aptX ati awọn kodẹki LDAC

Agbekalẹ fun oniṣiro SBC bitrate

Fun apẹẹrẹ, Ipo ikanni Meji ṣe koodu awọn ikanni lọtọ, ni lilo gbogbo bitpool fun ikanni kọọkan. Nipa fipa mu ẹrọ naa lati lo ikanni Meji dipo Sitẹrio Isopọpọ, a gba fere ilọpo meji bitrate pẹlu iye bitpool ti o pọju kanna: 617 kbps.
Ni ero mi, lilo iye bitpool ti ko ni asopọ si profaili kan ni ipele idunadura jẹ abawọn ninu boṣewa A2DP, eyiti o yori si aropin atọwọda ti didara SBC. Yoo jẹ oye diẹ sii lati dunadura bitrate kuku ju bitpool.

Awọn iye Bitpool ti o wa titi ati Bitrate ti ipilẹṣẹ lati tabili kan pẹlu awọn iye iṣeduro fun lilo fun ohun didara giga. Ṣugbọn iṣeduro kii ṣe idi kan lati fi opin si ararẹ si awọn iye wọnyi.

Ṣatunṣe akopọ Bluetooth lati mu ohun dara lori awọn agbekọri laisi AAC, aptX ati awọn kodẹki LDAC

Sipesifikesonu A2DP v1.2, eyiti o ṣiṣẹ lati ọdun 2007 si 2015, nilo gbogbo awọn ẹrọ iyipada lati ṣiṣẹ ni deede pẹlu awọn bitrates to 512 kbps:

Oluyipada ti SNK yoo ṣe atilẹyin gbogbo awọn iye bitpool ti o ṣee ṣe ti ko ja si ju oṣuwọn bit ti o pọju lọ. Profaili yii fi opin si iwọn bit ti o pọju ti o wa si 320kb/s fun mono, ati 512kb/s fun awọn ipo ikanni meji.

Ninu ẹya tuntun ti sipesifikesonu ko si opin lori Odiwọn biiti. A ṣe iṣiro pe awọn agbekọri ode oni ti a tu silẹ lẹhin ọdun 2015 ti o ṣe atilẹyin EDR le ṣe atilẹyin awọn oṣuwọn bit to ≈730 kbps.

Fun idi kan, Lainos (PulseAudio), Android, Blackberry ati MacOS Awọn akopọ Bluetooth ti Mo ni idanwo ni awọn opin atọwọda lori iye ti o pọ julọ ti paramita bitpool, eyiti o kan taara iwọn biiti ti o pọju. Ṣugbọn eyi kii ṣe iṣoro ti o tobi julọ; o fẹrẹ to gbogbo awọn agbekọri tun ṣe opin iye bitpool ti o pọju si 53.
Gẹgẹbi Mo ti rii tẹlẹ, ọpọlọpọ awọn ẹrọ ṣiṣẹ ni pipe lori akopọ Bluetooth ti a ṣe atunṣe pẹlu iwọn 551 kbps, laisi awọn idilọwọ tabi awọn gige. Ṣugbọn iru bitrate bẹẹ kii yoo ni ibamu labẹ awọn ipo deede, lori awọn akopọ Bluetooth deede.

Iyipada akopọ Bluetooth

Eyikeyi akopọ Bluetooth ti o ni ibamu pẹlu boṣewa A2DP ni atilẹyin fun ipo ikanni Meji, ṣugbọn ko ṣee ṣe lati muu ṣiṣẹ lati inu wiwo.

Jẹ ki ká fi kan toggle to ni wiwo! Mo ti ṣe awọn abulẹ fun Android 8.1 ati Android 9 ti o ṣafikun atilẹyin ikanni Meji ni kikun si akopọ, ṣafikun ipo kan si akojọ aṣayan toggle ninu awọn irinṣẹ dev, ati tọju awọn SBC ti o ni ikanni Meji bi ẹnipe wọn jẹ koodu kodẹki afikun bi aptX , AAC, tabi LDAC ( Android n pe HD Audio yii) nipa fifi aami ayẹwo kun awọn eto ẹrọ Bluetooth. Eyi ni ohun ti o dabi:

Ṣatunṣe akopọ Bluetooth lati mu ohun dara lori awọn agbekọri laisi AAC, aptX ati awọn kodẹki LDAC

Patch fun Android 9
Patch fun Android 8.1

Nigbati apoti ba ti muu ṣiṣẹ, ohun Bluetooth yoo bẹrẹ lati tan kaakiri ni iwọn diẹ 551 kbps, ti awọn agbekọri ba ṣe atilẹyin iyara asopọ ti 3 Mbit/s, tabi 452 kbps, ti awọn agbekọri nikan ṣe atilẹyin 2 Mbit/s.

Patch yii wa ninu awọn famuwia omiiran atẹle:

  • LineageOS
  • Ajinde Remix
  • crDroid

Nibo ni 551 ati 452 kbit/s ti wa?

Imọ-ẹrọ pinpin afẹfẹ Bluetooth jẹ apẹrẹ lati tan kaakiri awọn apo-iwọn ti o wa titi nla. Gbigbe data waye ninu awọn iho, nọmba ti o tobi julọ ti awọn iho ti a firanṣẹ ni gbigbe kan jẹ 5. Awọn ọna gbigbe tun wa ti o lo awọn iho 1 tabi 3, ṣugbọn kii ṣe 2 tabi 4. Ni awọn iho 5 o le gbe to awọn baiti 679 ni iyara asopọ kan. ti 2 Mbit / s ati si oke 1021 baiti ni iyara ti 3 Mbit / s, ati 3 - 367 ati 552 baiti, lẹsẹsẹ.

Ṣatunṣe akopọ Bluetooth lati mu ohun dara lori awọn agbekọri laisi AAC, aptX ati awọn kodẹki LDAC

Ti a ba fẹ gbe data ti o kere ju 679 tabi 1021 awọn baiti, ṣugbọn diẹ sii ju 367 tabi 552 baiti, gbigbe naa yoo tun gba awọn iho 5 ati pe data yoo gbe ni akoko kanna, eyiti o dinku ṣiṣe gbigbe.

Ṣatunṣe akopọ Bluetooth lati mu ohun dara lori awọn agbekọri laisi AAC, aptX ati awọn kodẹki LDAC

SBC ni Ipo ikanni Meji, ni ohun 44100 Hz pẹlu awọn aye Bitpool 38, awọn bulọọki 16 fun fireemu kan, awọn sakani igbohunsafẹfẹ 8, ṣe koodu ohun ohun sinu awọn fireemu baiti 164, pẹlu bitrate ti 452 kbps.
Ohun gbọdọ wa ni fikun ni L2CAP ati awọn ilana gbigbe AVDTP, eyiti o gba awọn baiti 16 lati inu isanwo ohun.

Ṣatunṣe akopọ Bluetooth lati mu ohun dara lori awọn agbekọri laisi AAC, aptX ati awọn kodẹki LDAC

Nitorinaa, gbigbe Bluetooth kan pẹlu awọn iho 5 le gba awọn fireemu ohun afetigbọ mẹrin:

679 (EDR 2 mbit/s DH5) - 4 (L2CAP) - 12 (AVDTP/RTP) - 1 (заголовок SBC) - (164*4) = 6

A ni ibamu 11.7 ms ti data ohun sinu apo ti a firanṣẹ, eyiti yoo gbejade ni 3.75 ms, ati pe a ni awọn baiti 6 ti ko lo ti o ku ninu apo.
Ti o ba gbe bitpool soke diẹ, kii yoo ṣee ṣe lati di awọn fireemu ohun afetigbọ 4 sinu package kan. Iwọ yoo ni lati fi awọn fireemu 3 ranṣẹ ni akoko kan, eyiti o dinku ṣiṣe gbigbe, dinku iye ohun afetigbọ fun fireemu kan, ati pe yoo yarayara ja si ikọlu ohun ni awọn ipo redio ti ko dara.

Ni ọna kanna, a yan bitrate ti 551 kbit / s fun EDR 3 Mbit / s: pẹlu Bitpool 47, awọn bulọọki 16 fun fireemu, awọn sakani igbohunsafẹfẹ 8, iwọn fireemu jẹ awọn baiti 200, pẹlu iwọn bitrate ti 551 kbit / s. Apapọ kan ni awọn fireemu 5 tabi 14.6 ms ti orin.

Algoridimu fun iṣiro gbogbo awọn aye SBC jẹ eka pupọ, o le ni irọrun ni idamu ti o ba ka pẹlu ọwọ, nitorinaa Mo ṣe iṣiro ibaraenisepo lati ṣe iranlọwọ fun awọn ti o nifẹ si: btcodecs.valdikss.org.ru/sbc-bitrate-calculator

Kini idi ti gbogbo eyi nilo?

Ni idakeji si igbagbọ olokiki nipa didara ohun ti codec aptX, lori diẹ ninu awọn faili o le gbejade awọn abajade ti o buru ju SBC pẹlu iwọn bitrate boṣewa ti 328 kbps.

SBC ni agbara n pin awọn iwọn pipọ si awọn ẹgbẹ igbohunsafẹfẹ lori ipilẹ-kekere si giga. Ti o ba ti lo gbogbo awọn Odiwọn biiti fun awọn iwọn kekere ati aarin, awọn igbohunsafẹfẹ giga yoo “ge” (ipalọlọ yoo wa dipo).
aptX ṣe iwọn awọn iye igbohunsafẹfẹ pẹlu nọmba kanna ti awọn iwọn ni gbogbo igba, eyiti o jẹ idi ti o ni iwọn bitrate igbagbogbo: 352 kbps fun 44.1 kHz, 384 kbps fun 48 kHz, ati pe ko le “iyipada-bit” si awọn igbohunsafẹfẹ wọnyẹn ti o nilo wọn julọ julọ. . Ko dabi SBC, aptX kii yoo “ge” awọn loorekoore, ṣugbọn yoo ṣafikun ariwo titobi si wọn, dinku iwọn agbara ti ohun ohun, ati nigbakan ṣafihan fifọ abuda abuda. SBC “jẹ awọn alaye” - sọ awọn agbegbe ti o dakẹ ju silẹ.
Ni apapọ, ni akawe si SBC 328k, aptX ṣafihan ipalọlọ diẹ sii ninu orin pẹlu iwọn igbohunsafẹfẹ jakejado, ṣugbọn ninu orin pẹlu iwọn igbohunsafẹfẹ dín ati sakani agbara jakejado, SBC 328k ma bori.

Ẹ jẹ́ ká gbé ọ̀ràn pàtàkì kan yẹ̀ wò. Spectrogram ti gbigbasilẹ piano kan:
Ṣatunṣe akopọ Bluetooth lati mu ohun dara lori awọn agbekọri laisi AAC, aptX ati awọn kodẹki LDAC

Agbara akọkọ wa ni awọn igbohunsafẹfẹ lati 0 si 4 kHz, ati tẹsiwaju si 10 kHz.
Spectrogram ti faili fisinuirindigbindigbin ni aptX dabi eyi:
Ṣatunṣe akopọ Bluetooth lati mu ohun dara lori awọn agbekọri laisi AAC, aptX ati awọn kodẹki LDAC

Ati pe eyi ni ohun ti SBC 328k dabi.
Ṣatunṣe akopọ Bluetooth lati mu ohun dara lori awọn agbekọri laisi AAC, aptX ati awọn kodẹki LDAC

O le ṣee ri pe SBC 328k lorekore patapata pa awọn iwọn loke 16 kHz, ati ki o lo gbogbo awọn Odiwọn biiti ti o wa lori awọn sakani ni isalẹ yi iye. Bibẹẹkọ, aptX ṣe afihan ipalọlọ diẹ sii sinu iwoye igbohunsafẹfẹ ti a gbọ si eti eniyan, bi a ti le rii ninu spectrogram atilẹba ti o yọkuro lati aptX spectrogram (ti o tan imọlẹ, ipalọlọ diẹ sii):
Ṣatunṣe akopọ Bluetooth lati mu ohun dara lori awọn agbekọri laisi AAC, aptX ati awọn kodẹki LDAC

Lakoko ti SBC 328k ba ami ifihan jẹ kere si ni iwọn lati 0 si 10 kHz, ati ge iyokù naa:
Ṣatunṣe akopọ Bluetooth lati mu ohun dara lori awọn agbekọri laisi AAC, aptX ati awọn kodẹki LDAC

Odiwọn 485k ti SBC ti to lati tọju gbogbo iwọn igbohunsafẹfẹ, laisi piparẹ awọn ẹgbẹ.
Ṣatunṣe akopọ Bluetooth lati mu ohun dara lori awọn agbekọri laisi AAC, aptX ati awọn kodẹki LDAC

SBC 485k jẹ pataki ni iwaju aptX lori orin yii ni iwọn 0-15 kHz, pẹlu iyatọ ti o kere ṣugbọn ti o tun ṣe akiyesi ti 15-22 kHz (okunkun ti o kere si ipalọlọ):
Ṣatunṣe akopọ Bluetooth lati mu ohun dara lori awọn agbekọri laisi AAC, aptX ati awọn kodẹki LDAC

Ile ifipamọ ti ohun atilẹba, SBC ati aptX.

Nipa yiyipada si SBC-bitrate giga, iwọ yoo gba ohun ti o ma n lu aptX nigbagbogbo lori agbekọri eyikeyi. Lori awọn agbekọri ti o ṣe atilẹyin Asopọmọra 3 Mbps EDR, iwọn biiti ti 551 kbps ṣe agbejade ohun ti o ni afiwe si aptX HD.

Ṣe o le ṣe paapaa diẹ sii?

Patch Android naa tun pẹlu aṣayan kan lati mu iwọn bitrate siwaju sii fun awọn ẹrọ EDR 2 Mbps. O le mu iwọn biiti pọ si lati 452 kbit/s si 595 kbit/s, ni idiyele idinku iduroṣinṣin gbigbe ni awọn ipo redio ti o nira.
O ti to lati ṣeto oniyipada persist.bluetooth.sbc_hd_higher_bitrate si 1:

# setprop persist.bluetooth.sbc_hd_higher_bitrate 1

Patch bitrate ti o ga julọ ti jẹ gbigba nikan ni LineageOS 15.1, ṣugbọn kii ṣe ni 16.0.

Ibamu ẹrọ

SBC Meji ikanni ni atilẹyin nipasẹ fere gbogbo awọn agbekọri, awọn agbohunsoke ati awọn ẹya ori ọkọ ayọkẹlẹ. Eyi kii ṣe iyalẹnu - boṣewa nilo atilẹyin rẹ ni eyikeyi awọn ẹrọ iyipada. Nọmba kekere ti awọn ẹrọ wa lori eyiti ipo yii n fa awọn iṣoro, ṣugbọn iwọnyi jẹ awọn iṣẹlẹ ti o ya sọtọ.
Awọn alaye diẹ sii nipa awọn ẹrọ ibaramu ni a le rii ni 4pda tabi XDA-kóòdù.

Ifiwera awọn iyatọ ohun

Mo ṣe iṣẹ wẹẹbu kan ti o ṣafikun ohun si SBC (bakannaa aptX ati aptX HD) ni akoko gidi, ni ẹrọ aṣawakiri. Pẹlu rẹ, o le ṣe afiwe ohun ti o yatọ si awọn profaili SBC ati awọn kodẹki miiran, laisi gbigbe ohun nitootọ nipasẹ Bluetooth, lori eyikeyi awọn agbekọri ti a firanṣẹ, awọn agbohunsoke, ati orin ayanfẹ rẹ, ati tun yi awọn aye fifi koodu pada taara lakoko ti o nṣire ohun.
btcodecs.valdikss.org.ru/sbc-encoder

Kan si Android Developer

Mo kowe si ọpọlọpọ awọn olupilẹṣẹ akopọ Bluetooth ni Google n beere lọwọ wọn lati ronu pẹlu awọn abulẹ ni ẹka Android akọkọ - AOSP, ṣugbọn ko gba esi kan. Awọn abulẹ mi wọle Gerrit alemo eto fun Android tun wà lai ọrọìwòye lati ẹnikẹni lowo.
Inu mi yoo dun ti MO ba le ni iranlọwọ diẹ ninu sisopọ pẹlu awọn olupilẹṣẹ ni Google ati mu SBC HD wa si Android. Patch ni gerrit ti jẹ igba atijọ (eyi jẹ ọkan ninu awọn atunyẹwo akọkọ), Emi yoo ṣe imudojuiwọn ti awọn olupilẹṣẹ ba nifẹ si awọn ayipada mi (ko rọrun fun mi lati ṣe imudojuiwọn rẹ, Emi ko ni awọn ẹrọ ti o ni ibamu pẹlu Android Q ).

ipari

Awọn olumulo ti awọn fonutologbolori pẹlu LineageOS, Remix Ajinde ati famuwia crDroid le gbadun didara ohun ti o ni ilọsiwaju ni bayi, kan mu aṣayan ṣiṣẹ ni awọn eto ẹrọ Bluetooth. Awọn olumulo Lainos tun le ni alekun SBC bitrate nipasẹ fifi sori ẹrọ alemo lati Pali Rohar, eyiti, laarin awọn ohun miiran, ṣe afikun atilẹyin fun aptX, aptX HD ati awọn kodẹki FastStream.

orisun: www.habr.com

Fi ọrọìwòye kun