Videokoodaus - Parempi Packet Loss Tolerance

Sep 25, 2018

Videokoodaus - Parempi Packet Loss Tolerance


Video Coding - Better Packet Loss Tolerance.png

Nykyinen H.264-videovirta (ei-hierarkkinen) on hyvin kypsä tietojen pakkaamisessa, ja kaikkia kirjoista oppimistapoja käytetään tietojen pakatessa. Yksi tärkeimmistä on lähettää lisäyksiä. tiedot. Jos videokuvan kehys muuttuu vain hieman edellisen kehyksen perusteella, lähetettäessä kehyksen kuvaa ei ole välttämätöntä välittää tietoja, joita ei ole muutettu. Koodekki lähettää vain inkrementaalitietoja ja ilmoittaa vastaanottimelle: "Nämä pikselit ovat tehneet tällaisia muutoksia, kun muut pikselit pysyvät ennallaan." Tällä tavoin lähetettävät tiedot ovat paljon pienempiä kuin koko kehyksen kuvan lähettämä informaatio, joten pakkausvaikutus on paljon parantunut.

 

Kuitenkin, kun verkossa on pakettihäviö, tämän inkrementaalisen tiedonsiirtomenetelmän epäkohta korostuu. Kun paketti on kadonnut, vastaanottopää ei voi saada viimeisintä videon kuvakehyksen muutosinformaatiota, joten videokuvassa on pieni virhe. Kun seuraava paketti on saavutettu, itse kuva perustuu vääriin tietoihin, joten kuvan laatu on vielä huonompi. Vasteena tähän ongelmaan, nykyinen koodekki käyttää menetelmää täydellisen kuvakehyksen informaation lähettämiseksi aika ajoin. Kun pakettihäviö on ilmennyt, vastaanotin voi pyytää päivittämään koko kuvan kehyksen trimmausprosessin nopeuttamiseksi. Tämä kuitenkin aiheuttaa koko verkon viivästymisen ja koodekin sisäisen käsittelyajan, tulos on itsestäänselvyys.

 

On myös joitakin toimittajia, jotka käyttävät eteenpäin virheenkorjausalgoritmeja (FEC) tämän ongelman ratkaisemiseksi. FEC on lohkokoodausalgoritmin tyyppi, joka parantaa tarkkuutta luomalla tarpeeton informaation ja lähettämällä ylimääräiset tiedot alkuperäisen pakettivirran mukana. Tämä ylimääräinen tieto voi auttaa rekonstruoimaan kadonneita paketteja verkossa edellyttäen, että oikeat tiedot ja tarpeeton tieto ovat riittäviä. Tämä menetelmä kuulostaa hyvältä, mutta tietenkin se maksaa vähän. Koska koodekin on myös lähetettävä tarpeeton tieto, verkon kaistanleveysvaatimukset kasvavat vastaavasti. Jotkin koodekit takaavat jatkuva lähetyskaistanleveyden (video plus FEC ylimääräinen) uhraamalla videolle allokoidun kaistanleveyden. Ilmeisesti tämä heikentää videovirran laatua. Lisäksi FEC-algoritmissa, ennen FEC-koodin lähettämistä, on luotava datapaketti ja FEC-koodi on laskettava. Vastaanottavassa päähän on kerättävä datapaketti ja tarpeeton informaatio kadonneen datapaketin rekonstruoimiseksi, mikä väistämättä lisää viivettä. Viivästymisen kasvu vähentää videoneuvottelun vuorovaikutteisuutta ja lisää kaksisuuntaisen keskustelun vaikeutta.

 

Joten, mitä SVC voi ratkaista tämän ongelman? Tiedämme, että SVC luo videokuvaa peruskerroksen ja yhden tai useamman lisäkerroksen kautta, joita kuljetetaan verkon eri datapaketeissa, pohjakerroksen datapakettien menettämisen vaikutuksesta ja ei-hierarkkisen koodauksen tuloksesta. Se on johdonmukainen, mutta parannuskerroksen pakettihäviön vaikutus on paljon pienempi. Koska parannuskerros perustuu peruskerrokseen etukehyskuvan sijaan, parannuskerroksen paketin menetys saa vain väliaikainen terävyyden ja kehysnopeuden huonontumisen vaikuttamatta videokuvan perusarkkitehtuuriin.

 

FEC-koodi voi suojata SVC-videovirran pohjakerroinformaatiota samalla tavoin kuin ei-hierarkkinen koodaus. SVC-videokommunikaatiossa, jolla on pienemmät resoluution vaatimukset, FEC-koodien käytöllä on myös alhaisen kaistanleveyden ei-hierarkkisen koodauksen rajoitukset, ylivuotot ja viive-ongelmat. Korkeammissa kaistanleveysvaatimuksissa erotus kerroksellisten ja ei-kerrostettavissa olevien videokoodaustekniikoiden välillä on hyvin ilmeinen. Tämä johtuu siitä, että peruskerroksessa on vain yleiskatsaus, mutta ei parannuskerroksessa. Esimerkiksi jos FEC-koodi lisää yhteensä 20% yläpuolella ja peruskerros kattaa vain 25% koko videokommunikaation kaistanleveydestä, eli kerrostetussa videokoodauksessa FEC-koodi vie vain 5% koko videoviestinnän. Kaistanleveys, kun taas FEC-koodit käyttävät 20% koko kaistanleveydestä ei-kerroksellisessa videokoodauksessa.

 

Siksi kerrostetun videokoodaustekniikan etuja heijastuu kerrostetun videovirtaarkkitehtuurin ja pohjakerroksen FEC-suojauksen yhdistelmässä. Alhaisen kaistanleveyden puheluissa kerrosten välisen videokoodauksen ja kerrostetun videokoodauksen vaikutukset ovat samankaltaisia. Kuitenkin korkean kaistanleveyden puheluissa kerrostettu videokoodaus voi tarjota parempaa videokuvaa verkossa, joka on helppo pudottaa paketteja, ja vaatii vähemmän suojausta kuin ei-kerrostettavissa oleva videokoodaus.


Saatat myös pitää