Aihealueet

Arkisto

    Videosignaalin transkoodaus ja uudelleen enkoodaus

    • Artikkelit | 24.02.2010

      Kerromme millaisia keinoja on transkoodata videokuva, erityisesti reaaliaikainen videosignaali.

       

      Alkusanat

      Videosignaalin peruskompressointi komposiitti-, komponentti- tai sarjadigitaalimuodosta MPEG- tai JPEG2000-muotoon on sinänsä oma lukunsa. Tähän käytetään enkoodereita. Tässä artikkelissa paneudumme kuitenkin ennen kaikkea valmiin, jo kompressoidun yleensä transport stream (TS) -muodossa olevan videosignaalin jatkokäsittelyyn ja muunnoksiin.

      Kun puhutaan enkoodauksesta tai transkoodauksesta, on pidettävä makrotasolla mielessä muutama asia.

      Ensinnäkin, on eroteltava toisistaan reaaliaikaisen live-kuvan kompressointi tiedostojen muuntamisesta. Ensimmäisessä aika on kriittinen tekijä, toiminnan kun pitää olla reaaliaikaista, toisessa saa käyttää periaatteessa kuinka paljon aikaa tahansa esimerkiksi kuvan laadun parantamiseksi. Tiedostojen käsittelyyn suosittelemme Rhozet Carbon Coderia tai Anystream Agilitya.

      Reaaliaikaisen kuvasignaalin kanssa on päätettävä, halutaanko keskittyä kuvan laatuun vai nopeuteen. Halutaanko, että muunnos tapahtuu lähes välittömästi, vai saako siihen käyttää enemmän aikaa ja resursseja, että saadaan mahdollisimman hyvä kuvanlaatu mahdollisimman pienellä bitratellä. Esimerkiksi uutiskäytössä ulkomaankirjeenvaihtajien kuva- ja äänisignaalin pitää muodostua nopeasti, alle 300 ms viipeellä. Tällaiseen ns. kontribuutiokäyttöön suosittelemme Adtec MediaHub -enkoodereita.

      Kolmanneksi, moni tehoon liittyvä asia riippuu halutuista kuvaformaateista: TV-tasoisen kuvan käsittely on merkittävästi raskaampaa kuin web-jakeluun päätyvien streamien. On myös syytä muistaa, että MPEG4 ja teräväpiirto (HD) tarvitsevat huikeasti 'hevosvoimia' sekä kompressoinnissa että vastaavasti dekoodatessa - HD vaatii noin 4 kertaa enemmän tehoa kuin SD, MPEG4 noin 4 kertaa enemmän kuin MPEG2.

      Reaaliaikaisen MPEG-signaalin kanssa on kolme eri tasoa, jolla signaalia voi muokata: transreittaus (rate-shaping), transkoodaus ja uudestaan enkoodaus (rekoodaus). Ensimmäisessä pidetään sama algoritmi, jälkimmäisissä ei välttämättä. Viimeisestä erikoismuoto on uudelleen enkoodaus web-muotoon, eli ns. live-streaming. Itse asiassa moni raskaan luokan enkooderi ja transkooderi tekee pääprofiilin ohella samaan aikaan tällaisia pienprofiileja, eli eri formaatteja web- tai mobiilijakeluun.

       

       

      Transrate

      Käydään läpi vaihtoehto, että ei transkoodata vaan pidetään sama kompressointialgoritmi kuin alkuperäisessä signaalissa. Esimerkiksi televisiosta tuttu MPEG2 pidetään MPEG2-muodossa.

      Transratingia eli rate-shapingia käytetään yleensä muuntamaan yksittäisiä TV-kanavia 'tasaisemmiksi', eli tekemään niistä tasaisen bitraten (CBR) SPTS-kanavia esimerkiksi IPTV-jakelua varten. Toinen syy muokata bitratea on mahduttaa tietty määrä kanavia samaan MPTS-kanavanippuun, jolloin statistinen multipleksaus pitää huolen siitä, että koko nippu ei koskaan ylitä tiettyjä kaistakattoja, vaikka yksittäisen kanavan kaistatarve  vaihtelisikin tarpeen mukaan.

      Kaikki transreittauslaitteet osaavat kuoria videosignaalista n. 30% pois ilman että kuvanlaatu kärsii. Tämä "kolmanneksen maksimi" onkin rate-shapingin suurin rajoitus.

      Perinteinen rate-shaping onnistuu helpoiten siihen suunnitellulla laitteella, kuten Cherry Pickerillä tai Harmonicin PS1000 yleismuksilla. Etuna on kustannustehokkuus: yksi 1RU:n laite osaa muokata jopa 80 SD (20 HD) -tasoista videosignaalia.

       

       

      Transcode

      Transkoodauksessa otetaan valmis MPEG TS ja muunnetaan videon kompressointi toiseen koodausalgoritmiin. Tyypillisesti SD-tasolla MPEG2 muunnetaan MPEG4:ksi, joskus harvoin toistepäin. Periaate on sama kuin rate-shapingissa, eli transport streamin rakenne pidetään yhtenäisenä, mutta videokuva käytännössä enkoodataan uudestaan. Sen lisäksi haasteena on usein em. MPEG4:n vaatima lisäteho: MPEG4:n dekoodaaminen ja enkoodaaminen vaatii enemmän 'potkua' kuin MPEG2.

      Transkoodereita on markkinoilla paljon. Esimerkiksi edellä mainittuun Harmonicin PS-1000 yleismuksiin on saatavilla nk. ACE-transkoodauskortteja, jotka muuntavat MPEG2 á MPEG4 ja toistepäin.

      Yleensä halu muuntaa kompressioalgoritmia perustuu toiveeseen saada samanlaatuinen videokuva mahtumaan pienempään kaistaan. Ja MPEG4 AVC lupaa jopa puolet pienempää bitratea kuin perinteinen MPEG2. Mutta: vaikka bitraten saakin puolitettua, niin transkoodatessa ongelmana on usein odotuksia kehnompi kuvanlaatu aivan muista syistä. Transkoodauksessa, eli algoritmistä toiseen rekoodattaessa, lopullisen kuvan laatu ei ole erinomainen, korkeintaan tyydyttävä. Tämä johtuu kahdesta pääasiallisesta syystä:

      Kun transkoodataan reaaliaikaisesti video esim. MPEG2-koodausalgoritmista MPEG4 mukaiseksi, signaali pysyy kompressoituna streamina koko ajan. Tämä lisää nopeutta, mutta ei filteröi pois virheitä, ja näin ollen lopullisessa videossa näkyy siis sekä MPEG2:lle että MPEG4:lle ominaiset virheet, jotka ovat luonteeltaan erilaisia. MPEG2-kompressoinnissa tulee tietynlaisia virheitä (esim. makroblokkeja), joita ei suinkaan esifilteröidä pois kun sama kompressoitu kuva ajetaan MPEG4-muotoon, joka taasen tuottaa erilaisia virheitä (esim. suttuiset pikselirajat, tasojen haamuheilunta)

      Transkoodereissa on tyypillisesti yksinkertainen nk. 'single pass' kompressointiprosessi, joka analysoi alkuperäisen lähteen ja pakkaa sen uuteen algoritmiin välittömästi. Kompressointi tehdään myös aina ilman kohinanpoistoa (filtering), koska lähdemuoto on jo valmis streami. Jälleen kerran, tämä lisää nopeutta mutta heikentää laatua.

       


      Rekoodaus

      Edellämainituista rajoituksista vapauttava vaihtoehto olisi aito dekoodaus basebandiin, eli takaisin kompressoimattomaksi kuvaksi (esimerkiksi SDI-muotoon), ja perään uudestaan enkoodaus vapaasti valittavaan videon resoluutioon, bitrateen, frame-rateen yms. Tällöin voidaan ottaa vaikka kuinka paljon alkuperäisestä bitratesta pois, koska alkuperäinen kaista ei vaikuta täysin uuden kompressiokierroksen enkoodauslaatuun.

      Haasteena on pikemminkin valmiin transport streamin mahdollisten muiden komponenttien - audio, tekstitys, tekstitv yms. - synkronointi uudestaan enkoodatun videostreamin kanssa (PCR-synkronointi), joka edellyttää erillistä multipleksausta ja PSI/SI-hallintaa. Kallista ja monimutkaista.

      Tähänkin on olemassa yksinkertaistettu ratkaisu. Joihinkin enkoodereihin on saatavilla erillinen sisäinen dekooderi, ja laite toimii samalla demultiplekserinä ja koodauksen jälkeen remultiplekserinä. Esimerkiksi Harmonicin ammattitason 1-4 kanavan enkoodereihin voidaan asentaa sisäinen Flex-dekooderikortti hoitamaan tämä asia. Flex-kortti purkaa valmiin transport streamin, dekoodaa MPEG-kuvan (MPEG2 tai 4, SD tai HD) sisäisesti SDI:ksi, 'pistää syrjään' muut PIDit, enkoodaa videon uudestaan haluttuun resoluutioon, bitrateen yms., ja sitten muksaa kokonaisuuden uudeksi kanavaksi synkronoidulla PCR:llä.

      Kun video puretaan alkutekijöihinsä SDI-tasolle ja kompressoidaan uudestaan käyttäen esimerkiksi yllä mainittua Flex-järjestelmää, voidaan hyödyntää nykyaikaisen huippuenkooderin erilaisia kohinanpoistomekanismeja sekä moniportaista kompressointiprosessia ('dual pass' tai 'triple pass'), jossa alkuperäinen video analysoidaan ensin esikompressointia varten, jonka jälkeen se analysoidaan uudestaan lopullista kompressointia varten. Tämä lisää viivettä, mutta parantaa merkittävästi kuvan laatua etenkin hyvin alhaisilla bitrateilla.

      Rekoodauksen huono puoli on hinta: jokaista yksittäistä kanavaa varten tarvitaan suhteellisen hintava enkooderi.


       

      Enkoodaus web-muotoon

      "Liian raskasta! Entä jos haluan vain videokuvaa webiin tai kännykkään?"

      Ei hätää, tällöin ei onneksi ole enää kyse transkoodauksesta vaan uudelleen enkoodauksen erityismuodosta, web-enkapsuloinnista. Nettijakeluun tarkoitetut videocodecit ovat tyypillisesti kevyitä, eli niillä saa riittävän hyvälaatuista kuvaa hyvinkin pieneen bitrateen.

      Reaaliaikaisen live-kuvan transkoodaus web-muotoon onnistuu PC-teknologiallakin, ja niihin käytetäänkin yleensä tiedostotranskoodereita, kuten Rhozet Carbon Coder tai Anystream Agility.

      Usein kuulee vain ihmisten toivovan, että löytyisipä valmis ja vakaa laite, sen sijaan että täytyy jatkuvasti pelätä palvelimen kaatumista tai muita vastaavia pulmia. Harmonicin PS-4000 on kone, joka ottaa sisäänsä valmista MPEG-transport streamia tai kompressoimatonta HD/SD SDI-signaalia, ja luo siitä halutun määrän eri web- ja mobiiliprofiileja (WM, QT, Flash, Q/CIF, h.263 jne). Koneen teho on allokoitu tehopaketeiksi: vähemmän vaativat web-muodot vievät vain yhden tehopaketin, kun taas raskaammat vievät jopa 4 - eli parhaimmillaan laitteella voi enkoodata useita eri kanavia haluttuihin muotoihin.


      Tiedostojen ulosajo webiin hoituu perinteisesti erilaisilla Windows Media server ja Linux -ratkaisuilla. Streamausta varten suosittelemme, että valmis signaali siirretään erillisille, tehokkaille streamaus-palvelimille, esim. Harmonicin STL 3000 Flash -streamereille tai Edgeware Orbit 2x -videopalvelimille.
       

       

      Yhteenveto

      Uudelleen enkoodauksen etuna on se, että ulos saa juuri sitä muotoa ja bitratea jota haluaa, valmiina synkronoituna transport streamina. Haasteena on hinta: kukin kanava vaatii oman enkooderikanavansa. Tämä on selkeästi kallein vaihtoehto.

      Vastaavasti transkoodauksen etu on kustannustehokkuus; hinta per kanava on hyvinkin edullinen. Mutta silloin pitää hyväksyä se, että laatu ei välttämättä ole paras mahdollinen. Laatuahan saa aina parannettua lisäämällä bitratea, mutta silloin tulee helposti kyseenalaistaneeksi koko transkoodauksen mielekkyyden.

      Transratingissa nyrkkisääntö on yleensä 'enintään kolmannes pois'. Eri web- ja mobiilijakeluun käytettäviä pienprofiileja saadaan joko enkooderista suoraan tai erillisellä PS-4000 streamerillä.

      Tärkeintä on muistaa, että asiat eivät ole niin yksinkertaisia kuin siltä ehkä vaikuttaisi. Siksi meiltä saa aina kysyä neuvoa!

      Lisätietoja antavat Petteri Pulkkinen ja Jere Nieminen

      Palaa takaisin

© Mediatrade 2009

Lähetä kaverille

Sähköposti lähetetty!