NO335667B1 - Metode for videokomprimering - Google Patents

Metode for videokomprimering Download PDF

Info

Publication number
NO335667B1
NO335667B1 NO20110939A NO20110939A NO335667B1 NO 335667 B1 NO335667 B1 NO 335667B1 NO 20110939 A NO20110939 A NO 20110939A NO 20110939 A NO20110939 A NO 20110939A NO 335667 B1 NO335667 B1 NO 335667B1
Authority
NO
Norway
Prior art keywords
filter
alf
pixel
losses
adaptive loop
Prior art date
Application number
NO20110939A
Other languages
English (en)
Other versions
NO20110939A1 (no
Inventor
Gisle Bjøntegaard
Arild Fuldseth
Original Assignee
Cisco Systems Int Sarl
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cisco Systems Int Sarl filed Critical Cisco Systems Int Sarl
Priority to NO20110939A priority Critical patent/NO335667B1/no
Priority to US13/538,171 priority patent/US9332278B2/en
Priority to PCT/US2012/044942 priority patent/WO2013003726A1/en
Publication of NO20110939A1 publication Critical patent/NO20110939A1/no
Publication of NO335667B1 publication Critical patent/NO335667B1/no

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Fremgangsmåte i videokomprimering, omfattende koding og dekoding av digitale videosignaler ved å anvende et adaptivt sløyfefilter (ALF) for filtrering av pikselverdier i minst en del av en bilderamme i en videokodings- eller 5 -dekodingsprosess. Filtertap-ene for ALF er adaptive hva gjelder minimering av kvadratdifferansen mellom minst en del av bilderamme, og en korresponderende rekonstruert del av en bilderamme etter ALF-filtrering, og hvor filtertap-ene er assosiert med pikselposisjoner i bilderammen i et filtertap-mønster som er symmetrisk omkring en piksel posisjon for en piksel som skal filtreres.

Description

Fremgangsmåte for videokomprimering
Område for oppfinnelsen
Oppfinnelsen vedrører området digital videokomprimering, inkludert koding og dekoding av digitale videosignaler.
Bakgrunn
Mange video komprimeringsstandarder har blitt utviklet i løpet av de siste 20 årene. Mange av disse fremgangsmåtene er standardisert gjennom ISO (International Standards Organization) eller ITU (International Telecommunications Union). Dessuten har en rekke andre proprietære fremgangsmåter blitt utviklet. De viktigste standardiserte fremgangsmåtene er: ITU: H.261, H.262, H.263, H.264
ISO: MPEG1, MPEG2, MPEG4/AVC)
En videokoder blir vanligvis implementert ved å dele hver ramme av originale videodata i blokker av piksler. I eksisterende standarder for videokomprimering vil disse blokkene normalt være av størrelse 16x16 og bli referert til som makroblokker (MB). I den fremtidige HEVC/H.265-standard vil blokkene typisk være større (for eksempel 64x64) og kan være rektangulære, for eksempel ved rammegrenser. Vanligvis blir blokkene prosessert og / eller overført i raster scan-rekkefølge, dvs. fra den øverste raden av blokker til den nederste raden av blokker, og fra venstre til høyre i hver rad med blokker.
For hver blokk av originale pikseldata blir kodingen vanligvis utført på følgende måte: - Produsér prediksjonspiksler med rekonstruerte pikselverdier fra i) forrige ramme (interprediksjon), eller ii) tidligere rekonstruerte piksler i gjeldende ramme (intraprediksjon). Avhengig av prediksjonstype blir blokken klassifisert som en interblokk eller et intrablokk. - Beregn differansen mellom hver original piksel og tilsvarende prediksjonspiksel innenfor blokken. - Anvend en todimensjonal transform på differansesamplene, hvilket resulterer i et sett av transformkoeffisienter. - Kvantisér hver transformkoeffisient til et heltall. Dette er hovedverktøy for å kontrollere bitproduksjonen og den rekonstruerte bildekvaliteten. - Etabler en skanning av de todimensjonale transformkoeffisientdataene til et endimensjonalt sett av data.
Trinnene ovenfor er oppført i en naturlig rekkefølge for koderen. Dekoderen vil til en viss grad utføre operasjonene i motsatt rekkefølge og gjøre "inverse" operasjoner slik som invers transform i stedet for transform og dekvantisering istedenfor kvantisering.
Ved koderen så vel som ved dekoderen vil bildene bli rekonstruert. Grunnet kvantiseringstrinnet vil de rekonstruerte bildene avvike fra de ukomprimerte inngangsbildene. Imidlertid skal de rekonstruerte bildene være identiske ved koder-og dekodersiden.
En implementering av en kodings- og dekodingsprosess i henhold til eksisterende standarder for videokomprimering er nærmere gjennomgått i det følgende, med henvisning til figur 2 og 3.
Med henvisning til figur 3 er en gjeldende ramme og en prediksjonsramme inngangsdata til en subtraherer 9. Subtrahereren 9 forsynes med inndata fra en intraprediksjonsprosesseringsbane 3 og en bevegelseskompenseringsprosesseringsbane 5. Valget mellom disse styres av bryteren 7. Intraprediksjonsprosessering velges for å finne likheter innenfor den aktuelle bilderammen, og er således referert til som "intra"-prediksjon. Bevegelseskompensasjon har en temporal komponent, og involverer derfor en analyse mellom etterfølgende rammer, som omtales som "inter"-prediksjon.
Utgangen fra bryteren 7 subtraheres fra pikslene for den gjeldende ramme i en subtraherer 9, før den gjøres til gjenstand for en todimensjonal transformprosess 13. De transformerte koeffisientene blir deretter gjort til gjenstand for kvantisering i kvantisereren 15 og deretter til gjenstand for en entropikoder 17. Entropikoding fjerner redundans uten tap av informasjon, og er referert til som en tapsfri kodingsprosess. Deretter blir de kodede data arrangert i nettverkspakker via en pakker (eng.: packetizer), før disse blir overført i en bitstrøm.
Imidlertid blir utgangen av kvantisereren 15 også tilført en invers transform og benyttet for å assistere i prediksjonsprosessering. Utgangen føres til et deblokkingsfilter 8, som undertrykker noe av skarpheten i kantene for å forbedre klarhet og for bedre å støtte prediksjonsprosessering. Utgangen fra deblokkingsfilteret 8 er ført til et rammeminne 6, som holder de prosesserte
bildepikseldata i minnet for bruk i etterfølgende bevegelsesprosessering.
Den tilsvarende dekodingsprosessen for hver blokk kan beskrives som følger (som angitt i figur 4). Etter entropidekoding 22 (for å produsere de kvantiserte transformkoeffisientene) og todimensjonal invers transformasjon 26 av den kvantiserte transformkoeffisienten for å gi en kvantisert versjon av differansesamplene, rekonstrueres det resulterende bildet etter tilføyelse av interprediksjons- og intrapre diksjons data som omtalt tidligere.
Noen av de mer detaljerte kodings- og dekodingsprosesseringstrinn vil nå bli beskrevet i nærmere detalj. I videokodere kan blokker deles inn i sub-blokker. Vanligvis blokkene er av fast (kvadratisk) størrelse, mens sub-blokker kan være av ulike fasonger, for eksempel rektangulære. Dessuten vil partisjonering i sub-blokker vanligvis variere fra en blokk til en annen.
Interprediksjon oppnås normalt ved å utlede et sett av bevegelsesvektorer for hver sub-blokk. Bevegelsesvektorene definerer romlig forskyvning mellom de opprinnelige pikseldata og de tilsvarende rekonstruerte pikseldata i foregående ramme. Således kan mengden av data som må sendes til en dekoder bli sterkt redusert dersom et element (eng.: a feature) i en første ramme kan identifiseres som å ha flyttet til et annet sted i en etterfølgende ramme. I denne situasjon kan en bevegelsesvektor benyttes til effektivt å formidle informasjon om elementet som har endret posisjon fra en ramme til den neste.
Intraprediksjon oppnås vanligvis ved å avlede en intraretningsmodus for hver sub-blokk. Intraretningsmodusen definerer den romlige forskyvning mellom de opprinnelige pikseldata og tidligere rekonstruerte pikseldata i gjeldende ramme. Både bevegelsesvektorer og intraretningsmoduser kodes og overføres til dekoderen som sideinformasjon for hver sub-blokk. For å redusere antallet bits som brukes for denne sideinformasjonen, avhenger koding av disse parametrene av tilsvarende parametre i tidligere prosesserte sub-blokker.
Typisk benyttes en form for adaptiv entropikoding. Tilpasningen gjør entropikoding/-dekoding for en sub-blokk avhengig av tidligere prosesserte sub-blokker. Entropi koding er tapsfri koding som reduserer antall av bits som er nødvendig for å formidle informasjon til et mottakende sted.
Adaptivt sløyfefilter ( eng. : Adaptive Loop Filter) ( ALF)
I den tidligere nevnte HEVC/H.265 standarden, under utvikling, blir ALF vanligvis utført i tillegg til en kodings-/dekodingsprosedyre som angitt ovenfor. "L" står for Loop, som betyr at filteroperasjonen finner sted innenfor kodings-/ prediksjonssløyfen, i motsetning til mange andre vanlig kjente filteroperasjoner som utføres utenfor sløyfen, enten som et pre-kodings- eller som et post-dekodingstrinn, for eksempel for å minimere subjektiv kodingsstøy. Derfor må filtreringsprosessen være identisk på koder- og dekoderside for å sikre samme basis for etterfølgende prediksjoner.
I HEV C/H.265 standarden som er under utvikling finnes det i dag en versjon av ALF som vil bli kort beskrevet nedenfor. Denne versjonen vil i det følgende bli referert til som HM-ALF.
Hensikten med ALF
Hensikten med å innføre en filtreringsprosess i sløyfen er å redusere kodingsstøyen ved å filtrere de rekonstruerte piksler med filter-taps (eng.: filter taps) opprettet for å minimalisere forskjellen fra de opprinnelige piksler. Filter-tapsene er adaptive og blir generelt kodet, overført og dekodet sammen med residualene, eller en indikasjon på hvilke av et antall forhåndsdefinerte filtertaps som nåværende er i bruk og som transmiteres i den kodede datastrømmen.
Det finnes flere mulige filtertap-mønstre eller piksel-masker som danner et filtertap-sett i HM. En typisk maske er den 7x7-diamantformede masken vist nedenfor.
j
k h i
1 m e f g
d c b a b c d
g f e m 1
i h k
j
Posisjonene til bokstavene a til m indikerer pikselposisjoner. a er i senterposisjon, og er posisjonen som skal filtreres. Bokstavene a til m angir verdiene for filtertap-ene som brukes under filtrering. Hvis mønsteret ovenfor er rotert 180 grader, er bokstavene fortsatt i samme posisjon. Denne egenskapen kalles rotasjonssymmetri.
Vanligvis, på bildebasis, blir filteruttalene a til m beregnet og tilpasset for å minimere kvadratdifferansen mellom det opprinnelige bildet og det rekonstruerte bildet etter ALF-operasjonen. Beregningen som utføres på kodersiden innebærer de følgende trinn: • Å etablere et uttrykk for kvadratdifferansen mellom det opprinnelige bildet og det rekonstruerte bildet • Å minimalisere denne differansen ved å kreve at den partialderiverte med hensyn til hver filtertap er lik 0. Dette resulterer i 13 lineære ligninger - én for hver koeffisient a til m.
• Å løse dette settet med 13 ligninger ved hjelp av en standard ligningsløser.
Når filtertap-ene er beregnet, blir de kvantisert på en lignende måte som transformkoeffisientene standard videokoding. I den foreliggende versjon av ALF består dette i det grunnleggende i å inndele koeffisientene med en trinnstørrelse på 2"°. De resulterende kvantiserte koeffisienter a' til j' kan da representeres med heltall.
De kvantiserte filtertaps blir så kodet tapsfritt, for eksempel ved entropikoding, og overføres til dekoderen.
Med den beskrevne fremgangsmåten vil både koder og dekoder ha tilgjengelig flere sett av filtertaps til å utføre på individuelle pikselposisjoner innen hver ramme. Imidlertid kan kodede filtertaps-sett overføres for bildesegmenter mindre enn det totale bildet. Et slikt segment kan være en Largest Coding Unit (LCU), og kan typisk bestå av 64x64 piksler. Vanligvis vil koderen utføre filtrering med flere av de tilgjengelige sett av filtertaps dedikert for denne LCU og finne ut hvilket sett som resulterer i den beste rekonstruksjon. Tallet for dette beste settet signaliseres til dekoderen for å sette dekoderen i stand til å gjøre den samme filtrering som koderen.
I tillegg kan pikslene i rammen som skal filtreres, klassifiseres i henhold til varisjon av pikselverdier omkring en piksel. Denne variasjonen beregnes på følgende måte. Anta at pikselen som tas i betraktning i mønsteret nedenfor, er c.
a
bed
e
La I 2c-b-d | + | 2c-a-e | angi pikselvariasjon omkring piksel c. Beregn så:
Varians = sum_over_et _lite_pikseområde (|2ci-bi-di| + |2ci-aj-ei |) hvor a; til e; representerer pikselverdier i et lite pikselområde. Variansen brukes til å klassifisere en piksel eller et lite område av piksler i ulike pikselklasser. Beregningen ovenfor av filterkoeffisienter blir utført for hver klasse av piksler.
Filtreringen kan typisk være som dette:
Filteredpixelposition
a= ^coeffV* pixel; +2n_1 »n
^Vi=o ) )
Coeff i er de kvantiserte koeffisienter a' til m' i henhold til piksel masken i det ovenstående.
Pixelier pikselverdiene.
» N er et høyreskift eller divisjon hvor n avhenger av kvantiseringstrinnstørrelse.
Den "objektive forsterkning" (eng.: the "objective gain") kan defineres som reduksjonen i bitrate ved fortsatt produksjon med den samme toppverdi-signal-til-støyforhold (eng.: Peak Signal to Noise Ratio) (PSNR). Den objektive forsterkning for ALF brukt i HM er typisk 5%.
Tilsvarende "subjektiv forsterkning" (eng.: "subjective gain") kan defineres som reduksjonen i bitrate når det fortsatt produseres en videokvalitet som bedømmes av menneskelig inspeksjon å være den samme. Den subjektive foresterkning med ALF er vanligvis større enn den objektive forsterkning.
På den negative siden er den beskrevne versjon av ALF svært prosesseringsintensiv. For noen anvendelser kan dette innebære at ALF ikke kan brukes.
En annen ulempe med HM-ALF er relatert til kodingsforsinkelse. Operasjoner blir vanligvis utført på hele videorammer. Dette vil introdusere en ekstra kodingsforsinkelse på én videoramme eller mer. Dette er en ulempe for bruk av kodingsfremgangsmåten i samtaletjenester der lav kodings-/dekodingsforsinkelse er ett av de viktigste krav.
WO-2010034206 Al fremlegger en videokoder som benytter adaptiv filtrering for koding av videodata.
US-2007064792 Al fremlegger et filtertap-mønster med pikselen som skal behandles, i senteret.
Sammenfatning av oppfinnelsen
Den foreliggende oppfinnelse omfatter et adaptivt sløyfefilter (eng.: Adaptive Loop Filter) (ALF) som angitt i det selvstendige krav 1.
Det adaptive sløyfefilteret er et adaptivt sløyfefilter for filtrering av pikselverdier i minst en del av en bilderamme i en videokodings eller dekodingsprosess, idet filtertaps for ALF er adaptive når det gjelder minimalisering av kvadratforskjellen mellom i det minste en del av bilderammen og en tilsvarende rekonstruert del av en bilderamme etter ALF-filtrering, idet filtertap-ene er assosiert med pikselposisjoner i bilderammen i et filtertap-mønster som er symmetrisk omkring en pikselposisjon til en piksel som skal filtreres, hvor: filtertap-mønsteret er dannet av fire linjer, langs hvilke respektive subsett av filtertap-ene er jevnt fordelt, innbefattende en horisontal linje, er en vertikal linje, et første diagonal linje i en vinkel på 45 grader med den horisontale linje, og en andre
diagonal linje i en vinkel på 45 grader med den vertikale linje,
de respektive midtpunktsposisjoner for de fire linjer sammenfaller alle med pikselposisjonen for pikselen som skal filtreres,
de respektive subsett av filtertaps er individuelt symmetriske omkring pikselposisjonen for pikselen som skal filtreres ved at to filtertaps med samme avstand på hver side av pikselposisjonen for pikselen som skal filtreres er like.
Ytterligere trekk ved oppfinnelsen er blitt fremsatt i de vedføyde uselvstendige krav.
Kort beskrivelse av tegningene
Figur 1 viser rektangulære områder som angir videoramme og enheter; Figur 2 viser de forskjellige trinnene i en kodingsprosess;
Figur 3 er et blokkskjema for en videokoder, og
Figur 4 er et blokkskjema for en videodekoder.
Detaljert beskrivelse av oppfinnelsen
Foreliggende oppfinnelse beskriver en ny ALF-fremgangsmåte som oppfinnerne har funnet tilveiebringer den samme eller bedre objektive og subjektive kodingsforsterkning, sammenlignet med den tidligere kjente fremgangsmåten beskrevet ovenfor, men som på samme tid er funnet å være omvendt mindre prosesseringsintensiv. En annen viktig egenskap er lav kodings-/ dekodingsforsinkelse. Fremgangsmåten ifølge foreliggende oppfinnelse er derfor spesielt nyttig i anvendelser med stramme grenser for beregningsressurser og/eller med strenge krav til kodings-/dekodingsforsinkelse. Hovedtrekkene ved fremgangsmåten er beskrevet i det følgende. Filtertaps (eng.: filter taps) vil også bli referert til som ALF-koeffisienter.
Pikselmasken vist i beskrivelsen ovenfor kan kalles en tett pikselmaske, siden alle piksler i et område er inkludert. Ifølge én utførelsesform av den foreliggende oppfinnelse, brukes den viste piksel masken nedenfor.
Pikslene i piksel masken ligger på de 4 linjer som betegnes som horisontale, vertikale, diagonal_45 og dioganal_135. Pikselmasken kan være mindre eller større enn den som er vist.
I en alternativ utførelsesform av den foreliggende oppfinnelse kan en pikselmaske, egnet for lav kompleksitet,være som følger:
En klassifisering av piksler i ulike klasser kan også anvendes. Klassifiseringsprosedyren er forskjellig fra den som brukes i HM-ALF. Et område av piksler n<*>m er tilordnet et klassetall. Klassifiseringen kan typisk gjøres i henhold til variasjoner av pikselverdier innenfor n<*>m pikselområde eller i samsvar med orientering (f.eks horisontal eller vertikal), eller strukturen av pikselinnholdet innenfor n*m-pikselområdet Bare én klasse kun brukes (i praksis ingen klassifisering), eller typisk et lite antall klasser (for eksempel opp til 16). Typisk kan n = 4 og m = 4, men andre verdier av n og m kan brukes. De følgende beregninger av ALF-koeffisienter er deretter gjort for hver pikselklasse.
I de følgende eksempler i henhold til foreliggende oppfinnelse vil de to sist illustrerte pikselmasker ovenfor bli brukt. Imidlertid er den foreliggende oppfinnelsen ikke begrenset til bare disse to masker.
Pikselmaskene ifølge utførelser av den foreliggende oppfinnelse illustrert ovenfor, fremlegger bare mønsteret for maskene. Imidlertid er et annet viktig trekk ved foreliggende oppfinnelse symmetrien for filtertap-ene omkring pikselposisjonen som skal beregnes.
Symmetri omkring senterpikselposisjonen langs de ulike aksene ifølge teknikkens stand er også brukt i den foreliggende oppfinnelsen, men symmetrien er også utvidet. Anta videre den følgende pikselmaske.
Med denne type av pikselmaske og rotasjonssymmetri er det mulig å gjøre eksplisitt filtrering i en av de fire retningene.
• Horisontal filtrering hvis ingen andre koeffisienter enn a, b, c, d ^ 0
• Vertikal filtrering hvis ingen andre koeffisienter enn a, e, f ^ 0
• Diagonal_45 filtrering hvis ingen andre koeffisienter enn a, g, h ^ 0
• Diagonal_135 filtrering hvis ingen andre koeffisienter enn a, i, j ^ 0
Som et eksempel vil beregningene for å oppnå optimale ALF-koeffisienter vises for den mindre pikselmatrisen ovenfor. I pikselmasken nedenfor betegner nO posisjonen av pikselen som skal filtreres. nO til nl8 betegner piksel posisjoner som skal brukes til å beregne den filtrerte versjonen ved posisjon nO, idet pi er pikselverdien ved posisjon i.
Kvadratdifferansen mellom pnO og den filtrerte versjonen ved posisjon pnO er:
Merk at p-parameteren i fet skrift i uttrykket ovenfor og i de følgende uttrykk er en ikke-kodet pikselverdi, mens P-parametrene som ikke er i fet skrift, er rekonstruerte pikselverdier.
For å finne koeffisientene a til j kreves at kvadratdifferansen over et sett av piksler skal minimaliseres. Dette settet med piksler kan være et fullstendig bilde, en LCU eller noe annet. Spesielt kan rektangulære områder, som angitt i figur 1, benyttes.
Stort rektangel angir en videoramme. De to mindre rektangler indikerer mulige enheter for å utføre ALF. Hovedpoenget er den begrensede vertikale størrelse på enhetene for å redusere kodings-/ dekodingsforsinkelse.
Dette settet av piksler der koeffisientene beregnes og ALF utføres, vil bli referert til som en ALF-enhet.
Uttrykket som skal minimaliseres, kan være:
Summen over n indikerer summen av settet av piksler inkludert i f.eks en LCU eller et helt bilde. Den normale måten å minimalisere dette uttrykket på, er å kreve at hver av de partiellderiverte med hensyn til koeffisientene a til j skal være 0. Som et eksempel kreves at den partiellderiverte med hensyn til a, må være null, eller:
Lignende uttrykk kan oppnås som de partiellderiverte med hensyn til de andre koeffisienter b til j. Dette resulterer i et sett av 10 lineære ligninger som kan løses for å finne de ukjente a til j.
En kvantiseringsmåte er å multiplisere koeffisientene med et tall etterfulgt av en konvertering til et heltall. Det er hensiktsmessig å multiplisere med et tall 2n. n kan typisk avhenge av kvantiseringsparameteren (qp) brukt i den initielle koding, ved bruk av mindre n for større qp. En typisk verdi for n kan være 6, slik at 2<6>= 64. Deretter avledes kvantiserte versjoner av b til j:
b - Nearest integer (b<*>64)
c Nearest integer (c<*>64)
d - Nearest integer (d<*>64)
e - Nearest_integer (e<*>64)
f Nearest integer (f<*>64)
g - Nearest_integer (g<*>64)
h '= Nearest integer (h<*>64)
i Nearest integer (i<*>64)
j '= Nearest_integer (j<*>64)
Nearest integer () er en funksjon som gir nærmeste heltall som en utgang.
Eksempel:
Nearest_integer (23.64) = 24
Sett til slutt:
Dette resulterer i en DC-respons for filteret lik 1.. Hvis vi hadde kvantisert tilsvarende for de andre koeffisientene, vi ville ha hatt behov for en finere kvantiserer, som krever flere bits for overføring, for å sikre en egnet DC-respons.
De kvantiserte ALF-koeffisientene gjennomgår videre tapsfri koding og overføres til dekoderen. Tidligere kjent CABAC eller CAVLC kan brukes i denne forbindelse.
Etter eksempelet ovenfor beregnes en ny verdi for pikselposisjon NO som:
der » 6 betyr høyreskift med 6 biter, som er det samme som divisjon med 64.
Som nevnt i forbindelse med tidligere kjent HM-ALF, kan filtreringen utføres på et sett av piksler forsjellig fra det som ble brukt for å beregne filterkoeffisienter.
Ett aspekt ved foreliggende oppfinnelse foreslår at beregningen av koeffisienter og følgende filtrering gjøres på det samme sett av piksler. Dette kan være en LCU bestående av 64x64 piksler eller annen enhet. Denne tilnærmingen bidrar å balansere relativt grov kvantisering beskrevet ovenfor, som resulterer i en moderat bruk av bits for å overføre et sett av kvantiserte koeffisienter.
Med denne tilnærmingen er det lite eller intet behov for å gjøre multippel filtrering med ulike sett av koeffisienter, siden beregnede koeffisientene er de optimale de for piksler som skal filtreres (for eksempel en LCU).
Ved å gjøre en i-sløyfe-filtrering, vil virkningen av filtreringen bestå i de neste pikslene i den samme romlige lokasjonen. Spesielt, vil hvis det ikke er noen endring fra ramme til ramme, vil filtreringseffekten alltid bestå, og det er ingen grunn til å filtrere på nytt. Dette er svært nyttig for å redusere prosesseringskompleksiteten for ALF. De følgende fremgangsmåter for å redusere antallet av piksler for å gjennomgå ALF kan brukes: • Systematisk filtrering av maksimalt en fraksjon av pikslene. lA er et eksempel på en slik fraksjon, og det synes som om kodingseffekten er praktisk talt den samme som om alle piksler ble filtrert. Dette kan implementeres ved å gjøre ALF på lA av bildene. Andre valgregler kan brukes, som å gjøre ALF på lA av hver ramme på en systematisk måte. Det antas at koderen og dekoderen kan benytte de samme regler for å unngå å sende bits i denne forbindelse. • Utelat ALF hvis det ikke har vært noen signifikant endring av piksler som skal filtreres siden sist det ble tatt i betraktning for ALF. Både koder og dekoder kan gjøre den samme beslutning uten å sende bits i denne sammenheng. • Utelat filtrering hvis b' til j' = 0.1 dette tilfellet filtrering vil ikke ha noen effekt. 1 bit kan brukes til å signalisere om alle koeffisienter b 'til j' er 0 eller ikke. • Giveren kan gjøre en rate-distorsjonsbeslutning om å bruke ALF. Dette innebærer beregning av en kostnads funksjon basert på bitbruk av ALF koeffisienter og distorsjonsforbedring.
Generelt brukes én bit for å gi signal til dekoderen om ALF-enheten skal filtreres eller ikke. I det tilfellet at ALF-enheten ikke skal filtrere, kodes ingen filterkoeffisienter.

Claims (10)

1. Et adaptivt sløyfefilter (ALF) for filtrering av pikselverdier i minst en del av en bilderamme i en videokodings- eller dekodingsprosess, idet filtertaps for sløyfefilteret er adaptive når det gjelder minimalisering av kvadratforskjellen mellom i det minste en del av bilderammen og en tilsvarende rekonstruert del av en bilderamme etter ALF-filtrering, idet filtertap-ene er assosiert med pikselposisjoner i bilderammen i et filtertap-mønster som er symmetrisk omkring en pikselposisjon til en piksel som skal filtreres, hvor: filtertap-mønsteret er dannet av fire linjer, langs hvilke respektive subsett av filtertap-ene er uniformt fordelt, innbefattende en horisontal linje, er en vertikal linje, et første diagonal linje i en vinkel på 45 grader med den horisontale linje, og en andre diagonal linje i en vinkel på 45 grader med den vertikale linje, de respektive midtpunktsposisjoner for de fire linjer sammenfaller alle med pikselposisjonen for pikselen som skal filtreres, de respektive subsett av filtertaps er individuelt symmetriske omkring pikselposisjonen for pikselen som skal filtreres ved at to filtertaps med samme avstand på hver side av pikselposisjonen for pikselen som skal filtreres, er like.
2. Et adaptivt sløyfefilter (ALF) ifølge krav 1, hvor kodings- eller dekodingsprosessen innbefatter koding eller dekoding av filtertap-ene.
3. Et adaptivt sløyfefilter (ALF) ifølge krav 2, hvor kodingen av filtertap-ene omfatter kvantisering av de respektive filtertaps bortsett fra en filtertap assosiert med pikselposisjonen for pikselen som skal filtreres ved å multiplisere med m og å avrunde til nærmeste heltall, og å beregne filtertap-en assosiert med pikselposisjonen for pikselen som skal filtreres ved å subtrahere fra m summen av alle de andre kvantiserte filtertaps multiplisert med 1, slik at den resulterende DC-respons for filteret er lik 1.
4. Et adaptivt sløyfefilter (ALF) ifølge krav 3, hvor m er lik 64 og n er lik 2.
5. Et adaptivt sløyfefilter (ALF) ifølge krav 1, hvor ALF-et anvendes på en fraksjon av rammene i et videobilde eller en fraksjon av hver ramme.
6. Et adaptivt sløyfefilter (ALF) ifølge krav 5, hvor ALF-et anvendes på hver fjerde ramme i et videobilde eller lA av pikslene i en ramme.
7. Et adaptivt sløyfefilter (ALF) ifølge krav 1, hvor hvert subsett av filtertaps omfatter ni filtertaps.
8. Et adaptivt sløyfefilter (ALF) ifølge krav 1, hvor hvert subsett av filtertaps omfatter fem filtertaps.
9. Et adaptivt sløyfefilter (ALF) ifølge krav 1, hvor en bit er tildelt for å indikere om i det minste en del av bilderammen skal filtreres, og derved kodede filtertaps skal overføres, eller ikke.
10. Et adaptivt sløyfefilter (ALF) ifølge krav 1, hvor minst en del av bilderammen er rektangulærformet med den vertikale lengde vesentlig mindre enn den horisontale lengde.
NO20110939A 2011-06-29 2011-06-29 Metode for videokomprimering NO335667B1 (no)

Priority Applications (3)

Application Number Priority Date Filing Date Title
NO20110939A NO335667B1 (no) 2011-06-29 2011-06-29 Metode for videokomprimering
US13/538,171 US9332278B2 (en) 2011-06-29 2012-06-29 Video compression using an adaptive loop filter
PCT/US2012/044942 WO2013003726A1 (en) 2011-06-29 2012-06-29 Block based adaptive loop filter

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NO20110939A NO335667B1 (no) 2011-06-29 2011-06-29 Metode for videokomprimering

Publications (2)

Publication Number Publication Date
NO20110939A1 NO20110939A1 (no) 2012-12-31
NO335667B1 true NO335667B1 (no) 2015-01-19

Family

ID=47390684

Family Applications (1)

Application Number Title Priority Date Filing Date
NO20110939A NO335667B1 (no) 2011-06-29 2011-06-29 Metode for videokomprimering

Country Status (3)

Country Link
US (1) US9332278B2 (no)
NO (1) NO335667B1 (no)
WO (1) WO2013003726A1 (no)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5850214B2 (ja) * 2011-01-11 2016-02-03 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
EP2751997B1 (en) * 2011-08-31 2018-06-06 Mediatek Inc. Method and apparatus for adaptive loop filter with constrained filter coefficients
US9532074B2 (en) * 2011-10-26 2016-12-27 Mediatek Inc. Method and system for video coding system with loop filtering
EP2920962A4 (en) 2012-11-13 2016-07-20 Intel Corp ADAPTIVE TRANSFORMATION ENCODING OF CONTENT FOR NEXT GENERATION VIDEO
US9794569B2 (en) 2013-01-30 2017-10-17 Intel Corporation Content adaptive partitioning for prediction and coding for next generation video
BR112016011075B1 (pt) * 2013-11-15 2023-04-04 Mediatek Inc Método de filtragem de laço adaptativa baseada em blocos
US20160050442A1 (en) * 2014-08-15 2016-02-18 Samsung Electronics Co., Ltd. In-loop filtering in video coding
US10319348B2 (en) * 2015-05-11 2019-06-11 Vixs Systems, Inc. Memory subsystem consumer trigger
US10009620B2 (en) 2015-06-22 2018-06-26 Cisco Technology, Inc. Combined coding of split information and other block-level parameters for video coding/decoding
US10003807B2 (en) 2015-06-22 2018-06-19 Cisco Technology, Inc. Block-based video coding using a mixture of square and rectangular blocks
CN110100437B (zh) 2016-12-23 2020-09-08 华为技术有限公司 用于有损视频编码的混合域协作环路滤波器
WO2018117896A1 (en) 2016-12-23 2018-06-28 Huawei Technologies Co., Ltd Low complexity mixed domain collaborative in-loop filter for lossy video coding
EP3529985A1 (en) 2016-12-23 2019-08-28 Huawei Technologies Co., Ltd. Mixed domain collaborative post filter for lossy still image coding
WO2019093916A1 (en) 2017-11-07 2019-05-16 Huawei Technologies Co., Ltd Interpolation filter for an inter prediction apparatus and method for video coding
EP3711301A1 (en) 2017-11-13 2020-09-23 Huawei Technologies Co., Ltd. In-loop filter apparatus and method for video coding

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8611435B2 (en) * 2008-12-22 2013-12-17 Qualcomm, Incorporated Combined scheme for interpolation filtering, in-loop filtering and post-loop filtering in video coding
US9143803B2 (en) * 2009-01-15 2015-09-22 Qualcomm Incorporated Filter prediction based on activity metrics in video coding
KR101749269B1 (ko) * 2009-06-30 2017-06-22 삼성전자주식회사 적응적인 인루프 필터를 이용한 동영상 부호화와 복호화 장치 및 그 방법
US20120039383A1 (en) * 2010-08-12 2012-02-16 Mediatek Inc. Coding unit synchronous adaptive loop filter flags
US8335350B2 (en) * 2011-02-24 2012-12-18 Eastman Kodak Company Extracting motion information from digital video sequences
US8908979B2 (en) * 2011-06-16 2014-12-09 Samsung Electronics Co., Ltd. Shape and symmetry design for filters in video/image coding

Also Published As

Publication number Publication date
NO20110939A1 (no) 2012-12-31
WO2013003726A1 (en) 2013-01-03
US20130003871A1 (en) 2013-01-03
US9332278B2 (en) 2016-05-03

Similar Documents

Publication Publication Date Title
NO335667B1 (no) Metode for videokomprimering
JP5763210B2 (ja) 改良されたループ型フィルタリング処理のための方法と装置
TW202007166A (zh) 解碼器的視訊解碼方法及裝置
CA3017317C (en) Image encoding device, image decoding device, image encoding method, and image decoding method
JP5197630B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法、および画像復号方法
KR101752612B1 (ko) 비디오 코딩을 위한 샘플 적응적 오프셋 프로세싱의 방법
JP7343668B2 (ja) Vvcにおける色変換のための方法及び機器
KR102323427B1 (ko) 영상 부호화 방법 및 장치
CA3188026A1 (en) Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
AU2020364348B2 (en) Color transform for video coding
US20130336398A1 (en) Method and device for intra-prediction
JP2023508686A (ja) ビデオ符号化のための方法並びに、その装置、及びコンピュータプログラム
EP4078948A1 (en) Method and apparatus for video coding
CN103442229A (zh) 适用于hevc标准的编码器中sao模式判决的比特率估计方法
KR20170114598A (ko) 적응적 색상 순서에 따른 색상 성분 간 예측을 이용한 동영상 부호화 및 복호화 방법 및 장치
JP2024015184A (ja) 画像復号装置及び方法及びプログラム
WO2011064926A1 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
KR100359208B1 (ko) 고속 디블럭킹 필터 장치
TWI755653B (zh) 圖像編碼裝置、圖像編碼方法、圖像解碼裝置、圖像解碼方法
EP4042698A1 (en) Methods and apparatus of video coding in 4:4:4 chroma format
CN113196760A (zh) 图像编码设备和图像解码设备及其控制方法和程序
CN115988202A (zh) 一种用于帧内预测的设备和方法
JP2015080002A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
RU2782437C1 (ru) Преобразование цвета для видеокодирования
WO2023015161A1 (en) Adaptive up-sampling filter for luma and chroma with reference picture resampling (rpr)

Legal Events

Date Code Title Description
MM1K Lapsed by not paying the annual fees