Puuyksikön koodaus - Coding tree unit
Koodauspuuyksikkö ( CTU ) on korkean hyötysuhteen videokoodauksen (HEVC) videostandardin perusprosessointiyksikkö ja vastaa rakenteeltaan käsitteellisesti makrolohkoyksiköitä , joita käytettiin useissa aikaisemmissa videostandardeissa. CTU: ta kutsutaan myös suurimmaksi koodausyksiköksi ( LCU ).
CTU voi olla kooltaan 16 × 16 pikseliä ja 64 × 64 pikseliä, ja suurempi koko yleensä lisää koodaustehokkuutta. Ensimmäinen videostandardi, joka käyttää CTU: ita, on HEVC / H.265, josta tuli ITU-T- standardi 13. huhtikuuta 2013.
Historia
Macroblock-koodausmenetelmiä on käytetty digitaalisissa videokoodausstandardeissa H.261: stä lähtien, joka julkaistiin ensimmäisen kerran vuonna 1988. Virheenkorjauksessa ja signaali-kohinasuhteessa 16x16-vakio makrolohkon koko ei kuitenkaan pysty saamaan sellaisia bittivähennyksiä kuin informaatioteoria ja koodausteoria ovat teoriassa ja käytännössä mahdollisia.
Tekniset yksityiskohdat
HEVC korvaa makrolohkot , joita käytettiin aiempien videostandardien kanssa, CTU: illa, jotka voivat käyttää suurempia lohkorakenteita, jopa 64 × 64 pikseliä, ja voivat paremmin jakaa kuvan osiin erikokoisiksi rakenteiksi.
HEVC jakaa kuvan aluksi CTU: iin, jotka jaetaan sitten kullekin luma / kromakomponentille koodaaviksi puulohkoiksi (CTB).
CTB voi olla 64 × 64, 32 × 32 tai 16 × 16 ja suurempi pikselilohkon koko lisää yleensä koodaustehokkuutta. CTB: t jaetaan sitten yhdeksi tai useammaksi koodausyksiköksi (CU) siten, että CTU: n koko on myös suurin koodaavan yksikön koko.
- Järjestely CU on CTB tunnetaan quadtree koska osa-alue johtaa neljä pienempää alueilla.
- CU: t jaetaan sitten joko kuvan sisäisten tai kuvien välisten ennusteiden ennustusyksiköihin (PU), joiden koko voi vaihdella välillä 64 × 64 - 4 × 4. Pahimman mahdollisen muistin kaistanleveyden rajoittamiseksi, kun liikekompensointia käytetään dekoodausprosessissa, kuvien välisen ennusteen avulla koodatut ennustusyksiköt rajoitetaan vähimmäiskokoon 8 × 4 tai 4 × 8, jos ne ennustetaan yhdestä viitteestä (uniprediction) tai 8 × 8, jos ne ennustetaan kahdesta viitteestä (kaksisuuntainen ennustus).
- Ennusteen jäännöksen koodaamiseksi CU on jaettu neljän puun DCT- muunnosyksiköihin (TU). TU: t sisältävät kertoimia avaruuslohkon muunnokselle ja kvantisoinnille. TU voi olla 32 × 32, 16 × 16, 8 × 8 tai 4 × 4 pikselilohkokokoa.
Standardointi
Heinäkuussa 2012 pidetyssä HEVC-kokouksessa päätettiin ehdotuksen JCTVC-J0334 perusteella, että HEVC-tason 5 ja sitä korkeammat vaaditaan käyttämään CTB-kokoja joko 32 × 32 tai 64 × 64. Tämä lisättiin HEVC: hen kansainvälisen standardiluonnoksen tasorajana muuttujalle Log2MaxCtbSize.
Log2MaxCtbSize nimettiin uudelleen CtbSizeY-nimeksi lokakuun 2012 HEVC-luonnoksessa ja sitten CtbLog2SizeY-nimeksi tammikuun 2013 HEVC-luonnoksessa.
Koodauksen tehokkuus
Useimpien videokoodausstandardien suunnittelun tavoitteena on ensisijaisesti korkein koodaustehokkuus. Koodaustehokkuus on kyky koodata videota alhaisimmalla mahdollisella bittinopeudella pitäen samalla yllä tiettyä videolaadun tasoa. HEVC hyötyy suurempien CTB-kokojen käytöstä.
Tämä on osoitettu PSNR-testeissä HM-8.0 HEVC -enkooderilla, jossa se pakotettiin käyttämään asteittain pienempiä CTU-kokoja. Kaikille testisekvensseille verrattuna 64 × 64 CTU -kokoon osoitettiin, että HEVC-bittinopeus kasvoi 2,2% pakotettuna käyttämään 32 × 32 CTU -kokoa ja kasvoi 11,0%, kun pakotettiin käyttämään 16 × 16 CTU -kokoa .
Luokan A testisekvensseissä, joissa videon resoluutio oli 2560 × 1600, verrattuna 64 × 64 CTU -kokoon osoitettiin, että HEVC-bittinopeus kasvoi 5,7%, kun se pakotettiin käyttämään 32 × 32 CTU -kokoa ja kasvoi 28,2%, kun pakotettiin käyttämään 16 × 16 CTU -kokoa.
Testit osoittivat, että suurista CTU-kooista tulee entistä tärkeämpiä koodaustehokkuudelle korkeamman resoluution videolla. Testit osoittivat myös, että 16 × 16 CTU -koossa koodatun HEVC-videon dekoodaus kesti 60% kauemmin kuin 64 × 64 CTU -koko. Testit osoittivat, että suuret CTU-koot lisäävät koodauksen tehokkuutta ja samalla vähentävät dekoodausaikaa. Testit tehtiin HEVC: n pääprofiililla perustuen yhtä suureen signaali-kohinasuhteeseen (PSNR).
| Videotestisekvenssit | Videokoodauksessa käytetty suurin CTU-koko verrattuna 64 × 64- CTU: hin |
||
|---|---|---|---|
| 64 × 64 CTU: ta | 32 × 32 CTU: ta | 16 × 16 CTU: ta | |
| Luokka A (2560 × 1600 pikseliä) | 0% | 5,7% | 28,2% |
| Luokka B (1920 × 1080 pikseliä) | 0% | 3,7% | 18,4% |
| Luokka C (832 × 480 pikseliä) | 0% | 1,8% | 8,5% |
| D-luokka (416 × 240 pikseliä) | 0% | 0,8% | 4,2% |
| Yleensä ottaen | 0% | 2,2% | 11,0% |
| Aikakoodaus | 100% | 82% | 58% |
| Dekoodausaika | 100% | 111% | 160% |
Katso myös
- Korkean hyötysuhteen videokoodaus (HEVC) - videostandardi, joka tukee 8K UHDTV -tekniikkaa ja jopa 8192 × 4320 -resoluutioita
- H.264 / MPEG-4 AVC - HEVC: n edeltäjän videostandardi
- VP9 - videokoodekki, jossa on superlohkot, jotka ovat samanlaisia kuin CTU: t
- Macroblock - useissa aikaisemmissa videostandardeissa käytetty peruskäsittely-yksikkö