Vaizdo kodavimas - geresnė paketų praradimo tolerancija

Sep 25, 2018

Vaizdo kodavimas - geresnė paketų praradimo tolerancija


Video Coding - Better Packet Loss Tolerance.png

Dabartinis H.264 vaizdo srautas (ne hierarchinis) yra labai brandus duomenų suspaudimo požiūriu, o visi metodai, gauti iš knygų, naudojami suspaudžiant duomenis. Vienas iš svarbiausių dalykų - siųsti žingsnius. informacija. Jei vaizdo įrašo rėmelis yra tik šiek tiek pakeistas, atsižvelgiant į ankstesnį rėmelį, tada, kai perduodate rėmelio vaizdą, nebūtina perduoti nesikeisti informacijos. Kodekas perduos tik papildomą informaciją ir informuos imtuvą: "Šie pikseliai padarė tokius pakeitimus, o kiti pikseliai lieka nepažeisti." Tokiu būdu perduodama informacija yra daug mažesnė už visą rėmo įvaizdį perduodamą informaciją, taigi suspaudimo efektas gerokai patobulintas.

 

Tačiau, kai tinklas turi paketų praradimą, bus pabrėžtas šio papildomo informacijos perdavimo metodo trūkumas. Kai paketas prarastas, gaunančiojo galo negalima gauti naujausio vaizdo įrašo rėmelio pakeitimo informacijos, taigi vaizdo įrašo vaizdas bus šiek tiek klaidingas. Kai pasiekiamas kitas paketas, pats vaizdas yra pagrįstas klaidinga informacija, todėl vaizdo kokybė yra dar blogesnė. Atsakydamas į šią problemą, dabartinis kodekas naudoja būdą perduoti visą vaizdo rėmo informaciją laikas nuo laiko. Kai paketo praradimas įvyksta, imtuvas gali prašyti atnaujinti visą vaizdo rėmelį, kad pagreitintų apkarpymo procesą. Tačiau tai sukels visą tinklo uždelsimą ir kodeko vidinį apdorojimo laiką, todėl rezultatas yra savaime suprantamas.

 

Taip pat yra keletas pardavėjų, kurie naudoja išankstinio klaidų taisymo algoritmus (FEC), kad išspręstų šią problemą. FEC yra blokinio kodavimo algoritmo tipas, kuris pagerina tikslumą, sukuriant nereikalingą informaciją ir perduodant nereikalingą informaciją kartu su pradiniu paketų srautu. Ši nereikalinga informacija gali padėti atstatyti prarastus paketus tinkle, jei pakanka tinkamos informacijos ir nereikalingos informacijos. Šis metodas atrodo gerai, bet, žinoma, tai kainuoja šiek tiek. Kadangi kodekas taip pat turi siųsti nereikalingą informaciją, tinklo pralaidumo reikalavimai atitinkamai padidėja. Kai kurie kodekai garantuoja nuolatinę transliavimo pralaidumą (vaizdo plus FEC pridėtines), aukodamos pralaidumą, priskirtą vaizdo įrašui. Akivaizdu, kad tai sumažins vaizdo įrašo srauto kokybę. Be to, FEC algoritmas, prieš perduodant FEC kodą, turi būti sukurtas duomenų paketas ir apskaičiuojamas FEC kodas. Gaunančioje dalyje reikia surinkti duomenų paketą ir nereikalingą informaciją, kad atkurtų prarastą duomenų paketą, o tai neišvengiamai padidins vėlavimą. Delsimo padidėjimas sumažins vaizdo ryšių sąveiką ir padidins dvipusio pokalbio sunkumus.

 

Taigi, ką SVC gali išspręsti šią problemą? Mes žinome, kad SVC sukuria vaizdo įrašus per pagrindinį sluoksnį ir vieną ar daugiau patobulinimų sluoksnių, kurie pateikiami skirtinguose tinklo duomenų paketuose, pagrindinio sluoksnio duomenų paketų praradimo ir nehierarchinio kodavimo rezultato. Tai yra nuosekli, bet patobulinto sluoksnio paketo praradimo poveikis yra daug mažesnis. Kadangi patobulinto sluoksnio pagrindas yra pagrindinis sluoksnis, o ne priekinio rėmo vaizdas, patobulinto sluoksnio paketo praradimas tik sukelia laikiną ryškumą ir kadrų skaičiaus degradaciją, nepažeidžiant pagrindinės vaizdo įrašo architektūros.

 

FEC kodas gali apsaugoti SVK vaizdo srauto bazinio sluoksnio informaciją taip pat, kaip ir ne hierarchinis kodavimas. SVC vaizdo ryšys su mažesnės skiriamosios gebos reikalavimais, FEC kodų naudojimas taip pat turi apribojimų, pralaidumo ir vėlavimo problemų su mažo dažnio juostos pločio ne hierarchiniu kodavimu. Aukštesniame dažnių juostos pločio reikalavime skirtumas tarp pakopų ir neklasifikuojamų vaizdo kodavimo metodų yra labai akivaizdus. Tai yra todėl, kad pagrindiniame sluoksnyje yra tik pridėtinės, bet ne papildymo sluoksnyje. Pavyzdžiui, jei FEC kodas papildo 20% pridėtinių išlaidų, o bazinis sluoksnis užima tik 25% viso vaizdo ryšio pralaidumo, tai yra, sluoksniuotojo vaizdo kodavimo atveju FEC kodas užima tik 5% visa vaizdo komunikacija. Juostos plotis, tuo tarpu FEC kodai užima 20% visos pralaidumo vaizdo sluoksniuose, kurie nėra sluoksniai.

 

Todėl sluoksniuotojo vaizdo kodavimo technologijų privalumai čia atsispindi sluoksnių vaizdo srauto architektūros ir bazinio sluoksnio FEC apsaugos derinyje. Dėl mažo pralaidumo skambučių, sluoksniuoju vaizdo kodavimu ir sluoksniuoju vaizdo kodavimu pasitaikantys padariniai yra panašūs. Tačiau naudojant didelės spartos skambučius, sluoksniuotojo vaizdo kodavimas gali suteikti geresnės kokybės vaizdo įrašą tinkle, kuriame yra lengvai pašalinti paketai, ir reikalauja mažesnės apsaugos nei neklasifikuojamos vaizdo kodavimo.


Tau taip pat gali patikti