Re fetola stack ea Bluetooth ho ntlafatsa molumo ho li-headphone ntle le AAC, aptX le LDAC codecs.

Pele u bala sengoloa sena, ho khothaletsoa hore u bale sengoloa se fetileng: Audio ka Bluetooth: lintlha tse ngata mabapi le li-profile, li-codec le lisebelisoa

Basebelisi ba bang ba li-headphone ba se nang mohala ba tlaleha boleng bo bobe ba molumo le ho haella ha maqhubu a phahameng ha ba sebelisa SBC Bluetooth codec, e tšehetsoang ke lisebelisoa tsohle tsa molumo. Keletso e tloaelehileng ea ho ntlafatsa molumo ke ho reka lisebelisoa le li-headphones tse tšehetsang li-codec tsa aptX le LDAC. Li-codec tsena li hloka litefiso tsa laesense, kahoo lisebelisoa tse li tšehetsang li bitsa chelete e ngata.

Hoa etsahala hore boleng bo tlaase ba SBC bo bakoa ke mefokolo ea maiketsetso ea li-stacks tsa Bluetooth le litlhophiso tsa li-headphone, 'me moeli ona o ka fetisoa ho lisebelisoa leha e le life tse teng ka liphetoho tsa software ho smartphone kapa khomphuteng.

Codec SBC

Codec ea SBC e na le liparamente tse ngata tse fapaneng tseo ho buisanoang ka tsona nakong ea ho seta ha khokahano. Har'a bona:

  • Palo le mofuta oa likanale: Stereo e Kopaneng, Stereo, Dual Channel, Mono;
  • Palo ea lihlopha tsa maqhubu: 4 kapa 8;
  • Palo ea li-blocks ka har'a sephutheloana: 4, 8, 12, 16;
  • Algorithm bakeng sa ho aba likotoana nakong ea quantization: Loudness, SNR;
  • Boleng bo phahameng le bo tlase ba letamo la likotoana tse sebelisoang nakong ea quantization (bitpool): hangata ho tloha 2 ho isa ho 53.

Sesebediswa sa dikhoutu se tlameha ho tshehetsa motswako ofe kapa ofe wa diparamente tsena. Encoder e kanna ea se ke ea kenya tšebetsong tsohle.
Li-stack tsa Bluetooth tse teng ka tloaelo li lumellana le boemo bo latelang: Joint Stereo, lihlopha tse 8, li-blocks tse 16, Loudness, bitpool 2..53. Boemo bona bo kenyelletsa molumo oa 44.1 kHz ka bitrate ea 328 kbps.
Parameter ea bitpool e ama ka ho toba bitrate ka har'a profil e le 'ngoe: e phahameng, e phahameng ea bitrate, ka hona boleng.
Leha ho le joalo, parameter ea bitpool ha e tlameletsoe ho boemo bo itseng; The bitrate e boetse e susumetsoa haholo ke li-parameter tse ling: mofuta oa liteishene, palo ea lihlopha tsa maqhubu, palo ea li-blocks. U ka eketsa bitrate ka tsela e sa tobang, ka ho lumellana le litlaleho tse sa tloaelehang, ntle le ho fetola bitpool.

Re fetola stack ea Bluetooth ho ntlafatsa molumo ho li-headphone ntle le AAC, aptX le LDAC codecs.

Foromo ea ho bala bitrate ea SBC

Ka mohlala, Dual Channel mode e kenyelletsa liteishene ka thoko, e sebelisa bitpool eohle bakeng sa mocha ka mong. Ka ho qobella sesebelisoa ho sebelisa Dual Channel ho e-na le Joint Stereo, re fumana hoo e batlang e le habeli bitrate e nang le boleng bo lekanang ba bitpool: 617 kbps.
Ka maikutlo a ka, tšebeliso ea boleng ba bitpool e sa tlamelletsoeng ho profil sethaleng sa lipuisano ke bofokoli boemong ba A2DP, bo entseng hore ho be le moeli oa maiketsetso oa boleng ba SBC. E ka ba ntho e utloahalang ho buisana le bitrate ho e-na le bitpool.

Lintlha tsena tse tsitsitseng tsa Bitpool le Bitrate li tsoa tafoleng e nang le litekanyetso tse khothaletsoang bakeng sa tšebeliso ea molumo oa boleng bo holimo. Empa khothaletso ha se lebaka la ho ipehela meeli ho litekanyetso tsena.

Re fetola stack ea Bluetooth ho ntlafatsa molumo ho li-headphone ntle le AAC, aptX le LDAC codecs.

Tlhaloso ea A2DP v1.2, e neng e sebetsa ho tloha 2007 ho isa 2015, e hloka hore lisebelisoa tsohle tsa li-decoding li sebetse ka nepo ka li-bitrate ho fihla ho 512 kbps:

Decoder ea SNK e tla ts'ehetsa litekanyetso tsohle tse ka bang teng tsa bitpool tse sa hlahiseng ho feta tekanyo e phahameng ea bit. Boemo bona bo beha moeli oa boholo bo fumanehang ba sekhahla sa bonyane ho 320kb/s bakeng sa mono, le 512kb/s bakeng sa mekhoa ea likanale tse peli.

Phetolelong e ncha ea litlhaloso ha ho na moeli ho bitrate. Ho hakanngoa hore li-headphones tsa morao-rao tse lokollotsoeng ka mor'a 2015 tse tšehetsang EDR li ka tšehetsa litekanyetso tsa ho fihla ho ≈730 kbps.

Ka lebaka le itseng, li-stacks tsa Linux (PulseAudio), Android, Blackberry le macOS Bluetooth tseo ke li lekileng li na le meeli ea maiketsetso ho boleng bo phahameng ba parameter ea bitpool, e amang ka ho toba boholo ba bitrate. Empa sena ha se bothata bo boholo; hoo e batlang e le li-headphones kaofela li boetse li fokotsa boleng bo phahameng ba bitpool ho 53.
Joalokaha ke se ke bone, lisebelisoa tse ngata li sebetsa ka mokhoa o phethahetseng ho stack ea Bluetooth e fetotsoeng e nang le bitrate ea 551 kbps, ntle le ho sitisoa kapa ho phunyeha. Empa bitrate e joalo e ke ke ea hlola e tsitsa tlas'a maemo a tloaelehileng, ho li-stacks tse tloaelehileng tsa Bluetooth.

Ho fetola Bluetooth stack

Stack efe kapa efe ea Bluetooth e tsamaellanang le maemo a A2DP e na le tšehetso bakeng sa mokhoa oa Dual Channel, empa ha ho khonehe ho e kenya tšebetsong ho tsoa ho sehokelo.

Ha re eketse toggle ho sebopeho! Ke entse li-patches bakeng sa Android 8.1 le Android 9 tse eketsang tšehetso e felletseng ea Dual Channel ho stack, eketsa mokhoa oa ho fetola menyu ho lisebelisoa tsa dev, le ho tšoara li-SBC tse nolofalitsoeng ke Dual Channel joalo ka ha eka ke codec e eketsehileng joalo ka aptX. , AAC, kapa LDAC ( Android e bitsa HD Audio ena) ka ho kenya letšoao ho litlhophiso tsa sesebelisoa sa Bluetooth. Ena ke tsela eo e shebahalang ka eona:

Re fetola stack ea Bluetooth ho ntlafatsa molumo ho li-headphone ntle le AAC, aptX le LDAC codecs.

Patch bakeng sa Android 9
Patch bakeng sa Android 8.1

Ha lebokose la ho hlahloba le kentsoe tšebetsong, molumo oa Bluetooth o qala ho fetisoa ka lebelo la bitrate 551 kbps, haeba li-headphone li tšehetsa lebelo la khokahanyo la 3 Mbit/s, kapa 452 kbps, haeba li-headphones li tšehetsa 2 Mbit/s feela.

Patch ena e kenyelelitsoe ho li-firmwares tse ling tse latelang:

  • LineageOS
  • Remix tsoho
  • crDroid

551 le 452 kbit/s li tsoa hokae?

Theknoloji ea ho arolelana moea ea Bluetooth e etselitsoe ho fetisa lipakete tse kholo tsa boholo bo tsitsitseng. Ho fetisoa ha data ho etsahala ka li-slots, palo e kholo ka ho fetisisa ea li-slots e rometsoeng ka phetiso e le 'ngoe ke 5. Ho boetse ho na le mekhoa ea ho fetisa e sebelisang 1 kapa 3 slots, empa eseng 2 kapa 4. Li-slots tse 5 u ka fetisetsa ho li-byte tsa 679 ka lebelo la khokahanyo. ea 2 Mbit/s le ho fihla ho li-byte tse 1021 ka lebelo la 3 Mbit/s, le ho 3 - 367 le 552 bytes, ka ho latellana.

Re fetola stack ea Bluetooth ho ntlafatsa molumo ho li-headphone ntle le AAC, aptX le LDAC codecs.

Haeba re batla ho fetisetsa data e fokolang ho feta 679 kapa 1021 bytes, empa ho feta 367 kapa 552 bytes, phetisetso e ntse e tla nka li-slots tse 5 'me data e tla fetisetsoa ka nako e le' ngoe, e leng ho fokotsang katleho ea ho fetisa.

Re fetola stack ea Bluetooth ho ntlafatsa molumo ho li-headphone ntle le AAC, aptX le LDAC codecs.

SBC ka Dual Channel mode, ho audio ea 44100 Hz e nang le li-parameter tsa Bitpool 38, li-blocks tse 16 ka foreimi ka 'ngoe, li-frequency tse 8, e kenyelletsa molumo ho liforeimi tsa 164 byte, tse nang le bitrate ea 452 kbps.
Molumo o tlameha ho kenngoa ka har'a liprothokholo tsa phetisetso ea L2CAP le AVDTP, tse nkang li-byte tse 16 ho tsoa ho phallo ea molumo.

Re fetola stack ea Bluetooth ho ntlafatsa molumo ho li-headphone ntle le AAC, aptX le LDAC codecs.

Kahoo, phetiso e le 'ngoe ea Bluetooth e nang le li-slots tse 5 e ka amohela liforeimi tse 4 tsa molumo:

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

Re kenya 11.7 ms ea data ea audio ka har'a pakete e rometsoeng, e tla fetisoa ka 3.75 ms, 'me re na le li-byte tse 6 tse sa sebelisoeng tse setseng ka har'a pakete.
Haeba u phahamisa bitpool hanyenyane, ho ke ke ha hlola ho khoneha ho paka liforeimi tse 4 tsa molumo ka har'a sephutheloana se le seng. U tla tlameha ho romela liforeimi tse 3 ka nako e le 'ngoe, e leng ho fokotsang katleho ea phetisetso, ho fokotsa boholo ba molumo o fetisoang ka foreimi e le' ngoe, 'me ka potlako e lebisa ho hoeleng ha molumo maemong a mabe a seea-le-moea.

Ka mokhoa o ts'oanang, bitrate ea 551 kbit / s e khethiloe bakeng sa EDR 3 Mbit / s: e nang le Bitpool 47, li-blocks tse 16 ka foreimi, mekhahlelo ea maqhubu a 8, boholo ba foreimi ke li-byte tse 200, tse nang le bitrate ea 551 kbit / s. Sephutheloana se le seng se na le liforeimi tse 5 kapa 14.6 ms ea 'mino.

Algorithm ea ho bala liparamente tsohle tsa SBC e rarahane haholo, o ka ferekana habonolo ha o bala ka letsoho, kahoo ke entse sebali se sebetsang ho thusa ba nang le thahasello: btcodecs.valdikss.org.ru/sbc-bitrate-calculator

Ke hobane’ng ha see sohle se hlokahala?

Ho fapana le tumelo e tsebahalang mabapi le boleng ba molumo oa codec ea aptX, lifaeleng tse ling e ka hlahisa litholoana tse mpe ho feta SBC ka bitrate e tloaelehileng ea 328 kbps.

SBC e abela li-quantization bits ho li-frequency band ho tloha tlase ho isa holimo. Haeba bitrate eohle e ne e sebelisoa bakeng sa maqhubu a tlaase le a bohareng, maqhubu a phahameng a tla "khaoha" (ho e-na le hoo ho tla ba le khutso).
aptX e lekanya li-frequency band ka palo e ts'oanang ea li-bits ka linako tsohle, ke ka lebaka leo e nang le bitrate e sa feleng: 352 kbps bakeng sa 44.1 kHz, 384 kbps bakeng sa 48 kHz, 'me ha e khone "ho fetola" ho maqhubu ao a a hlokang haholo. . Ho fapana le SBC, aptX e ke ke ea "khaola" maqhubu, empa e tla ba ekelletsa lerata la quantization, e fokotsa mefuta e fapaneng ea molumo, 'me ka linako tse ling e hlahisa ho phatloha ho hoholo. SBC "e ja lintlha" - e lahla libaka tse khutsitseng ka ho fetesisa.
Ka karolelano, ha e bapisoa le SBC 328k, aptX e hlahisa ho sotha ho fokolang 'mino o nang le mefuta e mengata ea maqhubu, empa' mino o nang le mefuta e fokolang ea maqhubu le mefuta e mengata e matla, SBC 328k ka linako tse ling e hapa.

A re hlahlobeng taba e khethehileng. Spectrogram ea ho rekota ha piano e bapalang:
Re fetola stack ea Bluetooth ho ntlafatsa molumo ho li-headphone ntle le AAC, aptX le LDAC codecs.

Matla a ka sehloohong a ho maqhubu ho tloha ho 0 ho isa ho 4 kHz, 'me a tsoela pele ho fihla ho 10 kHz.
The spectrogram ea faele e hatelitsoeng ho aptX e shebahala tjena:
Re fetola stack ea Bluetooth ho ntlafatsa molumo ho li-headphone ntle le AAC, aptX le LDAC codecs.

'Me sena ke seo SBC 328k e shebahalang ka sona.
Re fetola stack ea Bluetooth ho ntlafatsa molumo ho li-headphone ntle le AAC, aptX le LDAC codecs.

Hoa hlokomeleha hore nako le nako SBC 328k e ne e tima mofuta o ka holimo ho 16 kHz, 'me e sebelise bitrate eohle e fumanehang mekhoeng e ka tlaase ho boleng bona. Leha ho le joalo, aptX e hlahisitse tšitiso e eketsehileng ka har'a sekhahla sa maqhubu se utloang litsebeng tsa motho, joalo ka ha ho bonoa setšoantšong sa mantlha se nkiloeng ho aptX spectrogram (e khanyang haholoanyane, e sothehileng le ho feta):
Re fetola stack ea Bluetooth ho ntlafatsa molumo ho li-headphone ntle le AAC, aptX le LDAC codecs.

Ha SBC 328k e sentse lets'oao le tlase ho tloha ho 0 ho isa ho 10 kHz, 'me ea khaola tse ling kaofela:
Re fetola stack ea Bluetooth ho ntlafatsa molumo ho li-headphone ntle le AAC, aptX le LDAC codecs.

485k bitrate ea SBC e ne e lekane ho boloka mefuta eohle ea maqhubu, ntle le ho tima lihlopha.
Re fetola stack ea Bluetooth ho ntlafatsa molumo ho li-headphone ntle le AAC, aptX le LDAC codecs.

SBC 485k e ka pele haholo ho aptX pina ena sebakeng sa 0-15 kHz, ka phapang e nyane empa e ntse e lemohuoa ea 15-22 kHz (e lefifi le ho khopama ho fokolang):
Re fetola stack ea Bluetooth ho ntlafatsa molumo ho li-headphone ntle le AAC, aptX le LDAC codecs.

Sebaka sa polokelo ea molumo oa mantlha, SBC le aptX.

Ka ho fetohela ho SBC e phahameng haholo, o tla fumana molumo o atisang ho otla aptX ho li-headphone life kapa life. Ho li-headphone tse tšehetsang khokahanyo ea 3 Mbps EDR, bitrate ea 551 kbps e hlahisa molumo o ka bapisoang le aptX HD.

A na u ka etsa le ho feta?

Patch ea Android e boetse e kenyelletsa khetho ea ho eketsa ho eketsa bitrate bakeng sa lisebelisoa tsa 2 Mbps EDR. O ka eketsa bitrate ho tloha ho 452 kbit / s ho ea ho 595 kbit / s, ka litšenyehelo tsa ho fokotsa botsitso ba phetisetso maemong a thata a seea-le-moea.
Ho lekane ho seta persist.bluetooth.sbc_hd_higher_bitrate e fapaneng ho isa ho 1:

# setprop persist.bluetooth.sbc_hd_higher_bitrate 1

Patch e feteletseng ea bitrate ho fihlela joale e amohetsoe feela ho LineageOS 15.1, empa eseng ho 16.0.

Tšebelisano ea lisebelisoa

SBC Dual Channel e tšehetsoa ke hoo e batlang e le li-headphones, libui le lihlopha tsa lihlooho tsa koloi. Sena ha se makatse - maemo a hloka ts'ehetso ea ona ho lisebelisoa life kapa life tsa decoding. Ho na le lisebelisoa tse fokolang tseo mokhoa ona o bakang mathata ho tsona, empa tsena ke maemo a ikhethileng.
Lintlha tse ling mabapi le lisebelisoa tse lumellanang li ka fumanoa ho 4pa kapa ba-xda-bahlahisi.

Papiso ea liphapang tsa molumo

Ke entse ts'ebeletso ea webo e kenyelletsang molumo ho SBC (hammoho le aptX le aptX HD) ka nako ea nnete, hantle ho sebatli. Ka eona, o ka bapisa molumo oa li-profiles tse fapaneng tsa SBC le li-codec tse ling, ntle le ho fetisa molumo ka Bluetooth, ho li-headphone, libui, le 'mino oo u o ratang haholo, hape o fetola liparamente tsa khouto ka kotloloho ha o ntse o bapala molumo.
btcodecs.valdikss.org.ru/sbc-encoder

Ikopanye le Bahlahisi ba Android

Ke ile ka ngolla bahlahisi ba bangata ba Bluetooth stack ho Google ke ba kopa hore ba nahane ka ho kenyelletsa li-patches lekaleng le ka sehloohong la Android - AOSP, empa ha baa ka ba fumana karabo e le 'ngoe. Li-patches tsa ka li kene Gerrit patch system bakeng sa Android hape a lula ntle le maikutlo a mang kapa mang ea amehang.
Nka thaba ha nka fumana thuso ea ho ikopanya le bahlahisi ba Google le ho tlisa SBC HD ho Android. Patch in gerrit e se e siiloe ke nako (ena ke e 'ngoe ea liphetoho tsa pele),' me ke tla e ntlafatsa haeba bahlahisi ba thahasella liphetoho tsa ka (ha ho bonolo ho 'na ho e ntlafatsa, ha ke na lisebelisoa tse lumellanang le Android Q. ).

fihlela qeto e

Basebelisi ba li-smartphones tse nang le LineageOS, Resurrection Remix le firmware ea crDroid ba ka natefeloa ke boleng ba molumo hona joale, feela kenya tšebetsong khetho ho litlhophiso tsa sesebelisoa sa Bluetooth. Basebelisi ba Linux le bona ba ka eketsa bitrate ea SBC ka ho kenya patch e tsoang Pali Rohar, eo, har'a lintho tse ling, e eketsang tšehetso bakeng sa aptX, aptX HD le FastStream codecs.

Source: www.habr.com

Eketsa ka tlhaloso