Az FMUSER Wirless könnyebben továbbítja a videót és a hangot!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaans
sq.fmuser.org -> albán
ar.fmuser.org -> arab
hy.fmuser.org -> örmény
az.fmuser.org -> azerbajdzsán
eu.fmuser.org -> baszk
be.fmuser.org -> belorusz
bg.fmuser.org -> bolgár
ca.fmuser.org -> katalán
zh-CN.fmuser.org -> kínai (egyszerűsített)
zh-TW.fmuser.org -> kínai (hagyományos)
hr.fmuser.org -> horvát
cs.fmuser.org -> cseh
da.fmuser.org -> dán
nl.fmuser.org -> holland
et.fmuser.org -> észt
tl.fmuser.org -> filippínó
fi.fmuser.org -> finn
fr.fmuser.org -> francia
gl.fmuser.org -> galíciai
ka.fmuser.org -> grúz
de.fmuser.org -> német
el.fmuser.org -> Görög
ht.fmuser.org -> haiti kreol
iw.fmuser.org -> héber
hi.fmuser.org -> hindi
hu.fmuser.org -> magyar
is.fmuser.org -> izlandi
id.fmuser.org -> indonéz
ga.fmuser.org -> ír
it.fmuser.org -> olasz
ja.fmuser.org -> japán
ko.fmuser.org -> koreai
lv.fmuser.org -> lett
lt.fmuser.org -> litván
mk.fmuser.org -> macedón
ms.fmuser.org -> maláj
mt.fmuser.org -> máltai
no.fmuser.org -> norvég
fa.fmuser.org -> perzsa
pl.fmuser.org -> lengyel
pt.fmuser.org -> portugál
ro.fmuser.org -> román
ru.fmuser.org -> orosz
sr.fmuser.org -> szerb
sk.fmuser.org -> szlovák
sl.fmuser.org -> Szlovén
es.fmuser.org -> spanyol
sw.fmuser.org -> szuahéli
sv.fmuser.org -> svéd
th.fmuser.org -> Thai
tr.fmuser.org -> török
uk.fmuser.org -> ukrán
ur.fmuser.org -> urdu
vi.fmuser.org -> Vietnámi
cy.fmuser.org -> walesi
yi.fmuser.org -> jiddis
Amikor olyan eszközöket használunk, mint a Skype és a QQ, hogy zökkenőmentesen folytassunk hang- és videocsevegéseket a barátokkal, elgondolkodtunk már azon, vajon milyen hatékony technológiák állnak mögötte? Ez a cikk röviden bemutatja a hálózati hanghívásokban alkalmazott technológiákat, amelyek a leopárd bepillantásának tekinthetők.
1. Fogalmi modell
Az internetes hanghívások általában kétirányúak, ami modell szinten szimmetrikus. Az egyszerűség kedvéért a csatornát egy irányban tárgyalhatjuk. Az egyik fél megszólal, a másik pedig hallja a hangot. Egyszerűnek és gyorsnak tűnik, de a folyamat mögött meglehetősen bonyolult.
Ez a legalapvetőbb modell, amely öt fontos linkből áll: felvétel, kódolás, továbbítás, dekódolás és lejátszás.
(1) Hanggyűjtés
A hanggyűjtés a hangadatok mikrofonról történő gyűjtésére, vagyis a hangminták digitális jelekké történő átalakítására utal. Számos fontos paramétert tartalmaz: mintavételi frekvencia, mintavételi bitek száma és csatornák száma.
Leegyszerűsítve: a mintavételi gyakoriság az 1 másodperc alatt végzett akvizíciós műveletek száma; a mintavételi bitek száma az egyes megszerzési műveletekhez kapott adatok hossza.
Az audiokeret mérete megegyezik: (mintavételi frekvencia × mintavételi bitek száma × csatornák száma × idő)
A mintavételi keret időtartama általában 10 ms, azaz minden 10 ms adat képkockát jelent. Feltételezve: a mintavételezési sebesség 16k, a mintavételi bitek száma 16bit, a csatornák száma pedig 1, akkor a 10ms-es audiokeret mérete: (16000 * 16 * 1 * 0.01) / 8 = 320 bájt. A számítási képletben a 0.01 egy másodperc, azaz 10 ms.
(2) Kódolás
Feltéve, hogy az összegyűjtött hangkeretet közvetlenül kódolás nélkül küldjük el, akkor kiszámíthatjuk a szükséges sávszélesség-követelményt. Mégis a fenti példa: 320 * 100 = 32 KB / s, ha bit / s-re konvertáljuk, akkor 256 kb / s. Ez sok sávszélesség-használat. A hálózati forgalomfigyelő eszközökkel megállapíthatjuk, hogy amikor a hanghívásokat olyan IM szoftverrel végzik, mint a QQ, a forgalom 3-5 KB / s, ami nagyságrenddel kisebb, mint az eredeti forgalom. Ez elsősorban az audió kódolási technológiának köszönhető. Ezért a tényleges hanghívási alkalmazásban a kódolásnak ez a kapcsolata nélkülözhetetlen. Számos általánosan használt beszédkódolási technológia létezik, például G.729, iLBC, AAC, SPEEX és így tovább.
(3) Hálózati továbbítás
Ha egy audiokeret kódolva van, akkor azt a hálózaton keresztül el lehet küldeni a hívónak. A valós idejű alkalmazásoknál, például a hangbeszélgetéseknél, nagyon fontos az alacsony késleltetés és a stabilitás, ami megköveteli, hogy hálózatunk nagyon zökkenőmentesen továbbítson adatot.
(4) Dekódolás
Amikor a másik fél megkapja a kódolt keretet, dekódolja, hogy visszaállítsa azokat az adatokra, amelyeket közvetlenül a hangkártya játszhat le.
(5) Hanglejátszás
A dekódolás befejezése után a kapott hangkeret lejátszás céljából beküldhető a hangkártyára. Melléklet: Hivatkozhat az MPlayer hangbemutató komponensének bemutatására és bemutatására, valamint az SDK letöltésére
2. Nehézségek és megoldások a gyakorlati alkalmazásokban
Ha csak a fent említett technológiára támaszkodva valósulhat meg egy nagy párbeszédrendszer, amelyet a nagy kiterjedésű hálózaton alkalmaznak, akkor nincs sok szükség a cikk megírására. Pontosan sok reális tényező számos kihívást jelentett a fent említett koncepcionális modell előtt, ami miatt a hálózati hangrendszer megvalósítása nem olyan egyszerű, amely számos professzionális technológiát magában foglal. Természetesen e kihívások többségének már kiforrott megoldása van. Mindenekelőtt meg kell határoznunk egy „jó hatású” hangbeszélő rendszert. Úgy gondolom, hogy a következő pontokat kell elérnie:
(1) Alacsony késleltetés. Csak alacsony késleltetéssel érezheti a hívásban részt vevő két fél a Realtime-t. Természetesen ez elsősorban a hálózat sebességétől és a hívásban résztvevő két fél fizikai helye közötti távolságtól függ. A tiszta szoftver szempontjából az optimalizálás lehetősége nagyon kicsi.
(2) Alacsony háttérzaj.
(3) A hang sima, anélkül, hogy elakadna vagy szünetelne.
(4) Nincs válasz.
Az alábbiakban a tényleges hálózati hangbeszélő rendszerben alkalmazott további technológiákról fogunk egyenként beszélni.
1. Visszhang visszavonás AEC Szinte mindenki hozzászokott ahhoz, hogy hangos csevegés közben közvetlenül használja a PC vagy a notebook hanglejátszó funkcióját. Mint mindenki tudja, ez a kis szokás nagy kihívást jelentett a hangtechnika számára. A hangszóró funkció használatakor a hangszóró által lejátszott hangot a mikrofon ismét összegyűjti és továbbítja a másik félnek, hogy a másik fél hallja saját visszhangját. Ezért a gyakorlati alkalmazásokban az echo törlés funkciójára van szükség. Az összegyűjtött audiokeret megszerzése után ez a rés a kódolás előtt az az idő, amikor a visszhangtörlő modul működni fog. Az alapelv egyszerűen az, hogy a visszhangtörlő modul néhány törlésszerű műveletet hajt végre az összegyűjtött hangkeretben az éppen lejátszott hangkeretnek megfelelően, hogy eltávolítsa a visszhangot az összegyűjtött keretből. Ez a folyamat meglehetősen bonyolult, és kapcsolódik a csevegő helyiség méretéhez és a helyiséghez is, mert ez az információ határozza meg a hanghullám visszaverődésének hosszát. Az intelligens visszhangtörlő modul dinamikusan beállíthatja a belső paramétereket, hogy a legjobban alkalmazkodjanak az aktuális környezethez.
2. Zajelnyomás DENOISE A zajcsökkentés, más néven zajcsökkentés-feldolgozás a hangadatok jellemzőin alapul, hogy azonosítsák a háttérzaj részét és kiszűrjék azokat az audiokeretekből. Sok kódoló beépítette ezt a funkciót.
3. JitterBuffer A jitter buffer a hálózati jitter problémájának megoldására szolgál. Az úgynevezett hálózati jitter azt jelenti, hogy a hálózati késés nagyobb és kisebb lesz. Ebben az esetben, még akkor is, ha a feladó rendszeresen küld adatcsomagokat (például 100 ms-onként küld csomagot), a vevő nem tudja megkapni ugyanazt az időzítést. Néha egyetlen csomagot sem lehet fogadni egy ciklusban, és néha több csomag is érkezik egy ciklusban. Ily módon a vevő által hallott hang egy kártya egy kártya. A JitterBuffer a dekóder után és a hanglejátszás előtt működik. Vagyis a beszéddekódolás befejezése után a dekódolt keretet betesszük a JitterBuffer-be, és amikor megérkezik a hangkártya visszahívási visszahívása, a legrégebbi keretet letöltjük a JitterBuffer-ről lejátszás céljából. A JitterBuffer puffermélysége a hálózati jitter mértékétől függ. Minél nagyobb a hálózati jitter, annál nagyobb a puffer mélysége és annál nagyobb a késés az audio lejátszásában. Ezért a JitterBuffer nagyobb késleltetést alkalmaz a sima hanglejátszásért cserébe, mert a hanghoz képest egy kártya egy kártya, kissé nagyobb késés, de simább hatás, szubjektív élménye jobb. Természetesen a JitterBuffer puffermélysége nem állandó, hanem dinamikusan állítható be a hálózati jitter mértékének változásai szerint. Amikor a hálózat helyreállt nagyon sima és akadálytalan, a puffer mélysége nagyon kicsi lesz, így a JitterBuffer miatti lejátszási késleltetés növekedése elhanyagolható lesz.
4. Némításfelismerés VAD Ha egy hangos beszélgetés során nem szólal meg egyik fél, akkor nem jön létre forgalom. Erre a célra némításfelismerést használnak. A némításfelismerés általában a kódoló modulba is beépül. A csendes észlelési algoritmus az előző zajcsökkentő algoritmussal kombinálva azonosíthatja, hogy van-e hangbemenet jelenleg. Ha nincs hangbemenet, akkor kódolhat és kimenhet egy speciális kódolt keretet (például a hossza 0). Különösen egy több fős videokonferencián általában csak egy ember beszél. Ebben az esetben a csendes észlelési technológia használata a sávszélesség megtakarítása érdekében még mindig nagyon jelentős.
5. Algoritmus keverése Többszemélyes hangcsevegés során egyszerre több ember hangadatait kell lejátszanunk, és a hangkártya csak egy puffert játszik le. Ezért több hangot kell összekevernünk egybe. A keverési algoritmus ezt teszi. Még ha talál is módot a keverés megkerülésére és több hang egyszerre történő lejátszására, akkor a visszhang megszüntetése érdekében azt egy lejátszásba kell keverni, különben a visszhang törlés csak a több hang egy részét képes megszüntetni a a legtöbb. Egészen. A keverés történhet kliens oldalon vagy szerver oldalon (ami megspórolhatja a downstream sávszélességet). Ha P2P csatornákat használnak, akkor a keverés csak a kliens oldalon végezhető el. Ha keverés történik a kliensen, általában a keverés az utolsó link a játék előtt. Ez a cikk az OMCS hangos részének megvalósításában szerzett tapasztalataink áttekintő összefoglalása. Itt csak egy egyszerű leírást készítettünk az ábra minden egyes linkjéről, és bármelyiket be lehet írni egy hosszú papírba vagy akár egy könyvbe. Ezért ez a cikk csak egy bevezető térképet nyújt azok számára, akik még nem ismerik a hálózati hangrendszer fejlesztését, és néhány nyomot ad.
|
Írja be az e-mail címet a meglepetéshez
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaans
sq.fmuser.org -> albán
ar.fmuser.org -> arab
hy.fmuser.org -> örmény
az.fmuser.org -> azerbajdzsán
eu.fmuser.org -> baszk
be.fmuser.org -> belorusz
bg.fmuser.org -> bolgár
ca.fmuser.org -> katalán
zh-CN.fmuser.org -> kínai (egyszerűsített)
zh-TW.fmuser.org -> kínai (hagyományos)
hr.fmuser.org -> horvát
cs.fmuser.org -> cseh
da.fmuser.org -> dán
nl.fmuser.org -> holland
et.fmuser.org -> észt
tl.fmuser.org -> filippínó
fi.fmuser.org -> finn
fr.fmuser.org -> francia
gl.fmuser.org -> galíciai
ka.fmuser.org -> grúz
de.fmuser.org -> német
el.fmuser.org -> Görög
ht.fmuser.org -> haiti kreol
iw.fmuser.org -> héber
hi.fmuser.org -> hindi
hu.fmuser.org -> magyar
is.fmuser.org -> izlandi
id.fmuser.org -> indonéz
ga.fmuser.org -> ír
it.fmuser.org -> olasz
ja.fmuser.org -> japán
ko.fmuser.org -> koreai
lv.fmuser.org -> lett
lt.fmuser.org -> litván
mk.fmuser.org -> macedón
ms.fmuser.org -> maláj
mt.fmuser.org -> máltai
no.fmuser.org -> norvég
fa.fmuser.org -> perzsa
pl.fmuser.org -> lengyel
pt.fmuser.org -> portugál
ro.fmuser.org -> román
ru.fmuser.org -> orosz
sr.fmuser.org -> szerb
sk.fmuser.org -> szlovák
sl.fmuser.org -> Szlovén
es.fmuser.org -> spanyol
sw.fmuser.org -> szuahéli
sv.fmuser.org -> svéd
th.fmuser.org -> Thai
tr.fmuser.org -> török
uk.fmuser.org -> ukrán
ur.fmuser.org -> urdu
vi.fmuser.org -> Vietnámi
cy.fmuser.org -> walesi
yi.fmuser.org -> jiddis
Az FMUSER Wirless könnyebben továbbítja a videót és a hangot!
Kapcsolat
Cím:
No. 305 szoba HuiLan épület No.273 Huanpu Road Guangzhou, Kína 510620
Kategóriák
Hírlevél