Videreutvikling har resultert i at den foreslåtte koderen kan bruke høyere ordensstatistikk samt betingede sannsynligheter mellom ulike symboler. Sammenligninger med den nyeste ITU-T/ISO/IEC H.264/AVC standardiserte koderen viser at PSNR-verdiene til den foreslåtte koderen er 1,5-2 dB lavere enn H.264/AVC-nyhetsprofilen for hovedsekvensen.
Innledning
Bakgrunn og motivasjon
Den siste standardiserte koderen fra ITU-T/ISO/IEC, H.264/AVC har derimot standardisert en kontekstbasert, adaptiv, binær aritmetisk koder (CA-BAC), som har vist seg å gi bitratebesparelser på 9-14 % sammenlignet med kontekstbaserte, adaptive koder med variabel lengde er også spesifisert i H.264/AVC[4]. Det høyeste signal-til-støy-forholdet (PSNR) for nyheter og formann-sekvenser og sammenlignet med hoved H.264/AVC-profilen.
Oppbygging av rapporten
Sammensetningen av lengdekoding (RLC) og variabel lengdekoding (VLC) er basert på faste tabeller. Oppgaven var også å sammenligne ytelsen til CABAC med en tidligere brukt blokkbasert aritmetisk koder og se hvordan kompleksiteten endret seg da CABAC ble introdusert.
Videokompresjon
Dekomposisjon
- Optimal kvadratisk transform
- Optimale filterbanker
- Kodingsgevinst
Et problem med transformasjonsdekomponering er at den ikke utnytter kryssblokkredundans ved at selve transformasjonen utføres i separate blokker. Et problem med å øke filterlengden for mye er at de ulike lokale statistikkene i naturbilder ikke kan utnyttes i etterkant.
Differensiell koding
Kodeforsterkningen til forskjellige dekomponeringsmetoder avhenger av valg av metode, lengden på filtrene og inngangsfordelingen til signalet. Når det gjelder valg av dekomponeringsmetode, vil ikke-enhetlige filterbanker utkonkurrere enhetlige filterbanker, som igjen overgår transformasjonsdekomponering.
2.3 3D-videokoding
- Hybrid videokoding
- Statistiske avhengigheter etter romlig dekorrelasjon
- Kvantisering
- Skalar uniform kvantiserer
- Effektspekter og ressursallokering
Flere forsøk med dekomponering basert på wavelets (med oktavbåndsdekomponering av lavpassdelbåndet), viser at den lineære korrelasjonen (ligning 2.7) mellom foreldrebildepunkter i et underbåndsnivå, og barnebildet i et underbånd på et lavere nivå viser. (se figur 2.8) er omtrent lik null. Dette betyr at den optimale raten for kilden er null i de områdene hvor kvantiseringsstøyen er større enn effekten av kilden (område 2 og 4 i figur 2.7) og liklog2(SXXµ(F)) i områdene hvor effekten av kilden er større enn kvantiseringsstøyen (område 1 og område 3).
2.8 “Zerotree” koding
- Dominant kodingsløp
- Underordnet kodingsløp
- Entropikoding
- Kvalitetsvurderinger
En ulempe med dette er at alle kodeord må være en heltallslengde og være minst én bit. Teorien bak aritmetisk koding er basert på å tildele et kodeord til hvert mulig sett med data som kan oppstå. Fordelen med aritmetisk koding fremfor Huffman-koding er at Huffman-koder krever minimum én bit per symbol, noe som resulterer i lav kodingseffektivitet for kilder som har en fordeling hvor en hendelse harpn > 0,5 (dette kan løses ved å kombinere Huffman-koding f.eks. RLC[9]).
En annen fordel med aritmetisk koding er at den har et klart skille mellom sannsynlighetsmodelleringen og selve kodingsprosessen [11]. En løsning på begge disse problemene er at koderen sender de mest betydningsfulle bitene så snart de er kjent. Et annet praktisk problem med aritmetisk koding er at hver hendelse krever en multiplikasjonsoperasjon for å skalere det valgte delintervallet.
En løsning på dette problemet er å bruke tilnærminger (f.eks. i form av kvantisering) av størrelsen på intervallet, og tilnærminger av sannsynlighetene for de ulike hendelsene [13][4]. De negative sidene ved å bruke PSNR som et kvalitetsmål er at metrikken ikke er tilpasset menneskelig visuell persepsjon. Det positive med PSNR som kvalitetsmål er at målingen ikke er komplisert, og den gir et estimat på kvaliteten på det komprimerte bildet.
Kontekstbasert, adaptiv, binæraritmetisk koding
- CABAC rammeverket
- Binærisering
- Unary kode og Truncated Unary (TU) kode
- k te ordens Exp-Golomb kode
- Fastlengde binærisering ( FL )
- Kontekstmodellering
- Binæraritmetisk koding
- Normal- og Bypassmodus
- Sannsynlighetsestimering i CABAC
- Oppdatering av kontekstmodell
- Initialisering av kontekstmodell
- Renormalisering i CABAC
Et problem med å bruke høyere-ordens statistiske korrelasjoner er at dette krever svært mange estimeringer av betingede sannsynligheter. Den vanligste metoden er basert på nabosymbolet over (A) og nabosymbolet til venstre (B) for gjeldende symbol (C), som vist i figur 3.2. Det siste trinnet er renormalisering, som forhindrer at bredden på intervallet går utenfor det lovlige området.
Dette gjøres i stedet for å halvere bredden på intervallet, noe som betyr at du unngår å doble L og R i renormaliseringsfasen. Hovedideen bak en multiplikasjonsfri aritmetisk kode er at estimerte sannsynlighetsverdier kan representeres av et tilstrekkelig stort sett med representasjonsverdier. En konsekvens av denne strukturen er at hver kontekstmodell kan bestemmes av to parametere: en 6-bits tilstandsindeks (som indikerer sannsynligheten for LPS), samt en 1-bits verdi, som representerer MPS-verdien.
Hvis den kodede hendelsen er LPS, og statusen ikke er 0, utføres et tabelloppslag på en TransitionLPS-tabell (som vist i figur 3.3), som indikerer den nye indeksen. Et problem med denne løsningen er at koderen vil bruke tid på å tilpasse seg kilden på nytt, noe som vil gi lavere ytelse i tilpasningsfasen. Ved hjelp av lineær regresjon ble to parametere (µγ, νγ) beregnet for hver modell, som bestemmer starttilstanden til kontekstmodellen basert på ligningen i figur 3.6.
Fremgangsmåte
- Foreslått koder
- Temporal dekomposisjon
- Romlig dekomposisjon
- Kvantisering
Problemet er at dette er en kostbar og krevende operasjon for koderen, i tillegg til at det legger begrensninger på valg av romlig dekomponeringsmetode. Et problem med 3D-videokodere (med eller uten bevegelseskompensasjon) er at de må buffere rammer før den tidsmessige dekomponeringen kan utføres. Denne operasjonen forårsaker en forsinkelse i systemet, samt øker minnekravene til koderen og dekoderen.
Et problem med den valgte metoden er at den ikke har mulighet til å kompensere for kamerabevegelser som panorering og zooming, noe som vil bety at den vil yte dårligere enn 3D-kodere med bevegelseskompensasjon for områder der den er utbredt. Utgangssignalet etter tidsmessig dekomponering er vist i figur 4.2, og det viser tydelig hvordan objektenes bevegelser fremstår som høye frekvenser i de ulike rammene. En ulempe med å bruke blokkbasert bevegelsesestimering og kompensasjon er at kantoverganger kan forekomme mellom de forskjellige blokkene.
Som et resultat må det benyttes en blokkbasert romlig dekomponering, som ikke vil kunne utnytte redundansen mellom blokkene. Fordelen med å dekomponere kilden til 64 underbånd er at koderen oppnår god frekvensoppløsning fra dekomponeringen på bekostning av romlig oppløsning innenfor hvert underbånd (på grunn av kritisk nedsampling). Dette betyr at skalar kvantisering og entropikoding kan brukes uten at ytelsen er vesentlig lavere enn vektorkvantisering.
4.5 “Zerotree” koding
CABAC
- Initialisering av kontekstmodell
- Zig-zag skan
- Binærisering
- Valg av kontekstmodell
- Koding av makroblokkflagg
- Koding av transformkoeffisienter
CABAC-implementeringen i den foreslåtte koderen er basert på CABAC-delen av H.264/AVC-referansekoderen som finnes i [18, versjon JM10.2]. Selve entropikodingsprosessen i den foreslåtte koderen starter med å initialisere kontekstmodellene (beskrevet i avsnitt 4.6.1), deretter kartlegges signalet fra et todimensjonalt til et endimensjonalt signal ved å bruke De ikke-binære dekomponeringskoeffisientene binarisert vha. å lage av UEG0 (beskrevet i avsnitt 4.6.3), og deretter velges en kontekstmodell for hver søppelkasse (beskrevet i avsnitt 4.6.4).
Kontekstmodellen og bin-verdien sendes deretter til den aritmetiske koderen, som utfører elementkoding (beskrevet i avsnitt 4.6.5 og avsnitt 4.6.6). Dette gjøres for å justere verdiene i ligningen til kvantiseringstrinnstørrelsene som er relevante for den foreslåtte koderen. Den foreslåtte koderen bruker sikksakk-skanning for å kartlegge et todimensjonalt signal til et endimensjonalt signal, som vist i figur 4.8.
Makroblokkflagget indikerer om makroblokken har signifikante koeffisienter (se avsnitt 4.6.2), og på grunn av effektkorrelasjonen mellom nabopiksler innenfor hvert underbånd (intrabåndeffektkorrelasjon), vil det være korrelasjon mellom nabomakroblokkens makroblokkflagg. CABAC utnytter dette ved å bruke to sett med kontekstmodeller, ett sett for det første bin-elementet i bin-strengen (bin-indeks 1, som er markert med mørkegrå i tabell 4.1) og ett sett for resten av bin-elementene i TU-en. 'et prefiks for passordet (bin-indeks 2-14). Kontekstmodellen for koding av delelementene med indeks 2-14 (markert med lys grått i tabell 4.1) er valgt ut fra antall koeffisienter med en absoluttverdi større enn 1.N umGr[k].
Resultater
Optimalisering av 3D-koderen
- Bufferstørrelse
- Dødsone
En dødsonestørrelse på 0,5∗∆ tilsvarer at bredden på nullområdet er like stor som et normalt kvantiseringstrinn.
Sammenligning mot 3D-koder uten CABAC
- Effektivitet
Blokker tilhørende kategori 1, som tilsvarer den laveste variansen, er ikke kodet, mens de resterende blokkene, som tilhører andre klassifikasjonskategorier, er kodet med en aritmetisk koder tilpasset inngangsfordelingen til den tilsvarende kategorien. Grafen er basert på kjøretidsmålinger kun for aritmetisk koding og inkluderer ikke blokkklassifisering i referansekoderen. Et problem med en adaptiv entropikoder er at tilpasning innebærer økt kompleksitet i form av tilbakemelding og estimater av betingede sannsynligheter.
Dette er en indikasjon på at kompleksiteten i CABAC er noe høyere enn ved bruk av standard aritmetiske kodere, siden utførelsestiden er svært avhengig av optimaliseringsgraden til kildekoden. Hvis hele kjøretiden vurderes for de to koderne, viser det seg derimot at den foreslåtte koderen har en gjennomsnittlig varighet per ramme, omtrent 5-10 % lavere enn referansekoderen (se figur 5.9). Dette kan skyldes at den foreslåtte koderen har en mer optimalisert kildekode og at referansekoderen bruker variansberegning, som består av en rekke multiplikasjonsoperasjoner som er kostbare å implementere.
Den totale utførelsestiden beregnes som gjennomsnittlig kodetid per ramme ved koding av sekvenser med en lengde på 32 rammer.
Sammenligning mot H.264/AVC
De største forskjellene vises i områdene med mye bevegelse, hvor det tydelig oppstår en ringeeffekt i 3D-koderen. Bildet viser ramme nummer 8 i nyhetsserien, med bildet til venstre kodet med 3D-koderen og bildet til høyre kodet med H.264/AVC.
Diskusjon
En sammenligning mellom den foreslåtte koderen og H.264/AVC viser at PSNR-verdiene til den foreslåtte koderen er 1,5-2 dB lavere enn H.264/AVC for sekvensielle nyheter og ca. 4-5 dB lavere for sekvensiell veileder. Ringeeffekten er et resultat av bruk av filterbanken som romlig dekomponering og tilsvarer blokkeffekten ved bruk av blokkvis transformasjonsdekomponering. Ved bruk av en mindre buffer vil bevegelser bli gjengitt mer naturlig, på bekostning av skarpheten til andre objekter.
Konklusjon
Videre arbeid
En slik effektkorrelasjon vil også kunne eksistere i tidsmessig retning, og en naturlig videreutvikling vil derfor være å se metoder for å utnytte dette. Et annet problem med den foreslåtte koderen er at den bruker en fast sannsynlighetsmodell for "nulltreet"-kodingen av LP-LP-underbåndet. Kodingen er basert på en fast Huffman-tabell, og utnytter derfor ikke at symbolsannsynlighetene i den dominerende kodesekvensen vil variere over tid.
På grunn av effektkorrelasjonen i tidsretningen vil det også være mulig å oppnå høyere ytelse dersom SPITH-algoritmen videreutvikles til å være anvendelig på 3D-signaler. På grunn av ringeeffekten som oppstår ved lavhastighetskoding, kan det visuelle inntrykket forbedres dersom en etterbehandling introduseres i dekoderen. Dette kan gjøres ved å bruke en algoritme for å oppdage områder med en ringeeffekt og deretter et passende filter for å fjerne denne uønskede effekten.
Bibliografi
Coding Artifact Reduction Using Edge Map-Driven Adaptive and Fuzzy Filtering. IEEE International Conference on Multimedia and Display, 2:1135–.
Tillegg A
Appendiks
Testing av programmet