NO318973B1 - Fremgangsmate for stoyreduksjon - Google Patents

Fremgangsmate for stoyreduksjon Download PDF

Info

Publication number
NO318973B1
NO318973B1 NO20033021A NO20033021A NO318973B1 NO 318973 B1 NO318973 B1 NO 318973B1 NO 20033021 A NO20033021 A NO 20033021A NO 20033021 A NO20033021 A NO 20033021A NO 318973 B1 NO318973 B1 NO 318973B1
Authority
NO
Norway
Prior art keywords
macroblock
parameter
skipped
transformation
pixel
Prior art date
Application number
NO20033021A
Other languages
English (en)
Other versions
NO20033021D0 (no
Inventor
Gisle Bjontegaard
Original Assignee
Tandberg Telecom As
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 Tandberg Telecom As filed Critical Tandberg Telecom As
Priority to NO20033021A priority Critical patent/NO318973B1/no
Publication of NO20033021D0 publication Critical patent/NO20033021D0/no
Priority to JP2006518567A priority patent/JP2007529144A/ja
Priority to CNA2004800236767A priority patent/CN1836449A/zh
Priority to PCT/NO2004/000190 priority patent/WO2005004496A1/en
Priority to EP04748766A priority patent/EP1639832A1/en
Priority to US10/880,460 priority patent/US7327785B2/en
Publication of NO318973B1 publication Critical patent/NO318973B1/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/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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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
    • 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

Abstract

Den foreliggende oppfinnelse anvendes for videokoding og fremviser en fremgangsmåte for å fjerne transformasjonskodingsstøy, spesielt i flate områder for en ramme, som fremtrer som gjenværende deler av bevegelige deler i et videobilde. Dette skaffes til veie ved å tvinge en makroblokk til å bli intrakodet i stedet for interkodet når bestemte kriterier blir oppfylt. Hensikten er å avsløre om en makroblokk inneholder irriterende kvantiseringsgenerert støy og detektere om en utjevning er nødvendig.

Description

Oppfinnelsens område
Oppfinnelsen er relatert til videokomprimeringssystemer.
Oppfinnelsens bakgrunn
Sending av bevegelige bilder i sanntid blir anvendt i flere applikasjoner så som for eksempel videokonferanser, nett-møter, TV-kringkastning og videotelefoni.
Men å representere bevegelige bilder krever en stor mengde informasjon, idet digital video typisk blir beskrevet ved å representere hvert piksel i et bilde med 8 bit {1 byte). Slike ukomprimerte videodata resulterer i store bit-volum og kan ikke bli sendt over konvensjonelle kommunikasjons-nettverk og transmisjonslinjer i sanntid som følge av begrenset båndbredde.
Således, for å muliggjøre sanntidsvideotransmisjon kreves en stor mengde av datakompresjon. Datakomprimering kan imidlertid utgjøre et kompromiss med hensyn til bildekvalitet. Derfor har store anstrengelser blir gjort for å utvik-le komprimeringsteknikker som tillater sanntidssending av høykvalitetsvideo over dataforbindelser med begrenset båndbredde .
I videokomprimeringssystemer vil hovedformålet være å representere videoinformasjon med så lite kapasitet som mulig. Kapasitet blir definert som bit, enten som en konstant verdi eller som bit/tid pr. enhet. I begge tilfeller vil hovedhensikten være å redusere antallet bit.
Den vanligste videokodingsmetoden blir beskrevet i MPEG<*> og H.26<*> standarder. Videodata gjennomgår fire hovedprosesser før sending, nemlig prediksjon, transformasjon, kvantisering og entropikoding.
Prediksjonsprosessen reduserer signifikant mengden av bits som er nødvendig for at hvert bilde i en videosekvens skal bli overført. Den tar fordel av likhet for deler av sekvensen med andre deler av samme sekvens. Siden prediksjons-delen er kjent for både koder og dekoder, vil det kun være nødvendig å sende forskjellen. Denne forskjellen vil typisk kreve mye mindre kapasitet for sin representasjon. Prediksjonen er hovedsakelig basert på bildeinnhold fra foregående rekonstruerte bilde der lokalisasjonen for innholdet blir definert.ved bevegelsesvektorer ("motion vectors"). Prediksjonsprosessen blir typisk utført på rektangulære blokkstørrelser (for eksempel 16x16 piksler). I noen tilfeller vil prediksjoner på piksler bli basert på nabopiksler i samme bilde, i stedet for piksler for foregående bilder. Dette blir referert til som intraprediksjon, i mot-setning til interprediksjon.
De resterende bits representert som en blokk av data (for eksempel 4x4 piksler) vil fremdeles inneholde intern korrelasjon. En velkjent metode for å ta fordel av dette er å utføre en todimensjonal blokktransformasjon. ITU rekomman-deringen H.264 bruker en 4x4 heltallstype transformasjon. Dette transformerer 4x4 piksler til 4x4 transformasjonskoeffisienter, og de kan vanligvis bli representert ved færre bits enn pikselrepresentasjonen. Transformasjon av en 4x4 tabell ("array") av piksler med intern korrelasjon, vil sannsynligvis resultere i en 4x4 blokk med transformasjonskoeffisienter med mye færre "ikke-null" verdier enn den
originale 4x4 pikselblokken.
Direkte representasjon av transformasjonskoeffisienter er fremdeles for kostbart for mange applikasjoner. En kvantiseringsprosess blir utført for en videre reduksjon av data-representasjonen. Således vil transformasjonskoeffisientene gjennomgå kvantisering. De mulige verdiområder for transformasjonskoeffisienter blir delt inn i verdiintervaller der hvert blir begrenset av en øvre og nedre bestemmelsesverdi og tilegnet en fast kvantiseringsverdi. Transformasjonskoeffisienter blir så kvantisert til kvantiserings-verdier assosiert med intervallene innenfor hvert av de respektive koeffisienters område. Koeffisientene som ligger lavere enn den laveste bestemmelsesverdien blir kvantisert til nuller. Det skal nevnes at denne kvantiseringsprosess resulterer i at den rekonstruerte videosekvensen blir noe forskjellig sammenlignet med den ukomprimerte sekvens.
Som allerede indikert, en karakteristikk ved videoinnhold som skal kodes er at behovene for bits som skal beskrive sekvensen, varierer sterkt. For flere applikasjoner er det velkjent for en fagmann på området at innholdet i en vesentlig del av bildet blir uendret fra ramme til ramme. H.264 utvider denne definisjonen slik at deler av bildet med konstant bevegelse også kan bli kodet uten bruk av til-leggsinformasjon. Regioner med liten eller ingen endring fra ramme til ramme krever et minimum antall av bit for å bli representert. Blokkene inkludert i slike regioner blir definert som "skipped", noe som reflekterer at ingen endring eller kun forutsigbar bevegelse relativ til korresponderende foregående blokker opptrer. Således kreves ingen data for å representere disse blokkene, bortsett fra en indikasjon om at blokkene skal bli dekodet som "skipped". Denne indikasjonen kan være felles for flere makroblokker.
Den nåværende status for videokoding (H.263/H.264) er svært effektiv i reduksjon av bitrater, og den ivaretar likevel jevnt over en subjektivt god bildekvalitet. Feilene som blir introdusert er for det meste akseptable sett fra et subjektivt syn, selv om de objektive feilene for det rekonstruerte bildet tilsvarer det vi ville fått om vi anvendte pikselrepresentasjon og reduserte antallet av bits/piksler fra åtte til fire.
Det finnes et utall av eksempler innenfor den kjente tek-nikk som viser teknikker for piksel prediksjon eller kvan-tiserings prosesser for å redusere den subjektive støyen. Fra US 6,037,98 er det kjent en fremgangsmåte for video kompresjon, denne metoden omhandler defekter som følge av komprimering. Publikasjonen fokuserer på subjektiv kvalitet innenfor enkelt vinduer, vanligvis referert til som intra-bilde ("intra-picture"). Verktøyene som anvendes i denne publikasjonen for bedring av subjektiv kvalitet innenfor enkelt vinduer er: • Estimer "støy immunitet" (noise immunity) basert på skarpe kanter i nærhet av jevne overflater, denne tek-nikken har lenge vært kjent for fagmannen på området. • Resultatet av den foregående beregningen blir brukt for å påvirke Q-faktoren, justeringen av Q-faktoren er det eneste konstruktive trekk som det refereres til. • Traversere bildet i flere trinn (passes) for å justere Q-faktoren til hver enkelt makroblokk (MB) resulterende i et "mål" (target) bit telling for bildet og videre ta hensyn til den beregnede "støy immunitet" for
således å bedre den subjektive kvaliteten av bildet.
Men US 6,037,985 foreslår ingen forslag til losing på irriterende subjektiv støy som følge av bevegelser fra et bilde til det neste. Fra US 2002/0168011 blir det vist en annen velkjent metode for detektering av støy i en strøm av video data kodet av makroblokk i henhold til en prediktiv blokk-basert kodingsteknikk. Men denne fremgangsmåten løser ikke problemer som følge av bevegelser fra et bildet til det neste.
I det etterfølgende vil det gis forklaringer på mekanismer som forårsaker alvorlige irriterende synlige effekter som ikke adresseres av de ovenfor nevnte publikasjoner.
Men det er velkjent at enkelte typer av video materiale har en tendens til å skape synlig irriterende feil (artefacts). Problemet er spesielt relatert til kanter eller overganger mellom relativt "flate" områder i bildet, det vil si områder med relativt uniforme pikselverdier. Problemet er gene-relt relatert til feil introdusert ved kvantisering av transformasjonskoeffisienter, men det er mer opplagt i til-fellet av et bevegelig objekt som avslører en glatt bakgrunn. Problemet illustreres i venstre side av figur 1. Idet den mørke delen beveger seg etterlater den seg noe "søppel" i et bakgrunnsområde som skal være uniformt lyst.
Disse fenomener har vært velkjent så lenge den nåværende prediksjons-/transformasjonskodingen har vært i bruk. Feno-menet har enkelte ganger blitt kalt "dirty window effect"
("skittent vindu effekt"). Lignende fenomener har også blitt referert til som "mosquito effect".
En annen lignende effekt blir relatert til blokksegmenter-ing brukt i forbindelse med koding som beskrevet tidligere. Blokkodingen er et kraftfullt anvendelig verktøy for komprimering og tar fordel av sammenhengen mellom nabopiksler. Metoden er imidlertid ikke velegnet for å behandle enkeltstående pikselverdier. Dette blir reflektert i noen tilfeller der en blokk hovedsakelig inkluderer "flatt" innhold. Bortsett fra der én eller et fåtall piksler nær kant-en av et hjørne av en blokk skiller seg vesentlig. Dette kan typisk skje om blokken akkurat berører et annet objekt. I slike situasjoner vil enkeltstående piksler kunne forbli uendret, noe som resulterer i irriterende sorte eller hvite flekker nær blokkenes kantlinjer i den dekodede ramme, for eksempel når forskjellige objekter starter å bevege seg bort fra blokken. Problemet blir illustrert på høyre side i figur 1. Her vises et sort område som i utgangspunktet er stasjonært posisjonert og så vidt dekker et av hjørnene av en blokk og er i ferd med å bevege seg bort fra blokken. Endringen som følge av bevegelsen er så liten at blokken fremdeles vil bli indikert som "skipped", og således vil blokken forbi uendret. Imidlertid synes endringene å bli større i naboblokken og blir derfor korrekt oppdatert (merk at den ovenfor beskrevne "mosquito effect" kan opptre hvor som helst innenfor en blokk, uavhengig av de nåværende dis-kuterte effekter). Resultatet er et gjenværende sort hjørne godt synlig i midten av et lyst område. Dette problemet blir referert til som "hjørneproblemet" ("corner problem").
Sammendrag av oppfinnelsen
Det er en hensikt med den foreliggende oppfinnelse å skaffe til veie en fremgangsmåte som unngår de ovenfor beskrevne problemer.
Trekkene definert i de selvstendige kravene vedlagt, karak-teriserer denne fremgangsmåten.
Spesielt fremviser fremgangsmåten støyreduksjon for koding av en makroblokk sammensatt av et antall av subblokker som representerer en rektangulær del av videobildet, kodingen inkluderer prediksjon av pikselverdier for makroblokken, transformering av pikselverdiene og/eller prediksjonsverdiene for disse, og/eller å kvantifisere resulterende transformasjonskoeffisienter og utføre en betingelses test for ensartethet gjennom makroblokken: Om testen indikerer at en vesentlig subjektiv kvantiseringsgenerert støy som følge av bevegelser i videobildet kan forekomme i en korresponderende dekodet versjon av makroblokken så skal intraprediksjon av pikselverdier i makroblokken velges, eller
Når testen indikerer at ingen vesentlig subjektiv kvantiseringsgenerert støy som følge av bevegelser i video bildet sannsynligvis vil forekomme i en korresponderende dekodet versjon av makroblokken, så skal en velge interprediksjon av pikselverdiene i makroblokken.
Kort beskrivelse av tegningene
For å gjøre oppfinnelsen enklere forståelig, vil en i dis-kusjonen som følger referere til vedlagte tegninger, der figur 1 illustrerer to tilfeller av kvantiseringsgenerert støy som følge av bevegelige objekter i et videobilde,
figur 2 er et flytskjema som viser trinnene for en foretrukket utførelsesform av den foreliggende oppfinnelse.
Detaljert beskrivelse av den foreliggende oppfinnelse
I det etterfølgende vil den foreliggende oppfinnelse bli diskutert ved å beskrive en foretrukket utførelsesform og ved å referere til de vedlagte tegninger. Imidlertid vil en fagmann på området innse at det finnes andre applikasjoner og modifikasjoner innenfor omfanget av oppfinnelsen som definert i de vedlagte selvstendige krav.
Den foreliggende oppfinnelse viser en fremgangsmåte for å fjerne transformasjonskodestøy spesielt i flate områder av en ramme, som opptrer som gjenværende deler av bevegelige objekter i et videobilde. Dette oppnås ved å tvinge en makroblokk til å bli intrakodet i stedet for interkodet når bestemte kriterier blir oppfylt. Hensikten er å avsløre om makroblokken inneholder irriterende kvantiseringsgenerert støy og å detektere om en utjevning er nødvendig.
Kriteriene kan bli definert som følger: makroblokken inkluderer ingen eller kun en liten bevegelse, det var bevegelse i den samme makroblokken i den foregående rammen, dataene som skal kodes er i det vesentlige flate (relativt uniforme gjennom blokken) mens prediksjonen av blokken inkluderer mindre uniformt innhold og en hjørneblokk inneholder enkeltstående divergente piksler.
Om en kombinasjon av noen eller alle disse betingelser er oppfylt, vil en spesiell modus for intrakoding bli brukt. Denne modus vil typisk produsere en glatt datablokk og således fjerne den irriterende støyen.
Ifølge en foretrukket utførelsesform for oppfinnelsen vil det å detektere om en makroblokk inkluderer ingen eller kun en liten bevegelse bli skaffet til veie ved å undersøke om blokken kan bli definert som "skipped". Dette kan gjøres uten en full transformasjon av pikselverdier. I denne hensikt blir en fremgangsmåte kalt "early skip" utført. Denne fremgangsmåten bruker en forenklet binær transformasjon i stedet for en full heltallstransformasjon som definert i H.264 for å detektere "skipped" modus. Transformasjonen blir basert på en Hadamard-transformasjon, og basisvektorene er som følger:
Basisvektorene blir multiplisert med resten av hver av de 4x4 blokkene for makroblokken. Resten blir definert som piksel-for-pixel-forskjellen mellom makroblokken som skal kodes og den sammenstilte blokken i tidligere dekodet ramme.
Multiplisering av restblokken med basisvektorene assosiert med de respektive koeffisientposisjoner, medfører at man får binærtransformasjonskoeffisientene for en 4x4 blokk. Alternativt kan restbinærtransformasjonskoeffisientene også utledes ved først å transformere hver komponent (henholdsvis makroblokken som skal kodes og den sammenstilte blokken) , for så å ta forskjellen mellom transformasjonskoeffisientene. Men med de ovenfor nevnte basisvektorer vil be-regningene bli redusert til addisjoner og subtraksjoner.
Bruk av de ovenfor nevnte basisvektorer for utledning av de fire koeffisienter øverst til venstre, gir et resultat som er rimelig nært til de korresponderende koeffisienter for 4x4 heltallstype transformasjonen spesifisert i H.264. Fak-tisk vil koeffisienten øverst til venstre være identisk med den virkelige transformasjonen. Således vil det laveste be-stemmelsesnivå for DC koeffisienten for 4x4 heltallstype transformasjonen kunne bli brukt direkte som terskler for de respektive fire koeffisienter for den forenklede transformasjon. Når ingen koeffisient i noen av 4x4 blokkene i en makroblokk er over en terskel, vil makroblokken bli definert som "skipped".
Den forenklede binærtransformasjon blir også brukt for å undersøke andre kriterier. Binærtransformasjonskoeffisientene blir utnyttet for å beregne enkelte parametere som representerer karakteristikken for hver blokk. Basisvektoren KO vist over, blir brukt for å beregne DC verdien for blokken som den blir multiplisert med. K1-K3 gir noen av de korresponderende AC verdier. Anta at 01, 02, 03 og 04 er de resulterende koeffisienter når en multipliserer basisvektorene for den forenklede transformasjon med en 4x4 blokk av piksler som skal kodes. Anta videre at Pl, P2, P3 og P4 er koeffisienter for en transformasjon for den korresponderende prediksjon. I henhold til den foreliggende oppfinnelse vil følgende første parameter bli beregnet for hver m (00,15) 4x4 blokk i en makroblokk:
Denne parameteren reflekterer hvor mye blokken avviker fra å være totalt "flat". En andre parameter som reflekterer hvor mye resten mellom den originale og beregnede verdi av blokken varierer, blir også beregnet. Den andre parameter blir definert som følger:
Summen av den første og den andre parameter på tvers av alle 4x4 blokker i makroblokken blir så beregnet:
Deretter vil antallet 4x4 blokker i makroblokken som det er sannsynlig at en vesentlig kvantiseringsstøy vil bli gene-rert for, bli bestemt (heretter referert til som NO). I dette henseende blir det antatt at en 4x4 blokk sannsynligvis vil inkludere en vesentlig kvantiseringsgenerert støy om Aclm er vesentlig større enn ACOm. Erfaring har vist at åtte ganger AClm større enn ni ganger ACOm
(8xAClm > 9xAC0m) er en passende tilnærming for denne bestemmelsen .
I tillegg blir antallet av 4x4 blokker innenfor den ukodede makroblokken som blir definert som "flat", også talt (heretter referert til som Ni). En blokk blir benevnt som "flat" om AC01 er mindre enn en forhåndsdefinert terskel. Erfaring har vist at 25 er en passende verdi for denne terskel.
I henhold til oppfinnelsen vil en spesielt se på hjørne-blokker for makroblokkene i den hensikt å detektere om hjørneproblemer er tilstedeværende. I dette henseendet vil hjørneblokkene som har den største AClm, bli funnet. Om denne AClm verdien er vesentlig større enn korresponderende ACOm verdi for denne blokken, blir det antatt at et hjørne-problem eksisterer. Erfaring har vist at med 2 ganger AClm større enn 3 ganger ACOm (2xAClm > 3xAC0m) er en passende tilnærming for denne bestemmelsen.
Etter å ha utført de ovenfor beskrevne forberedelser, vil en endelig avgjørelse bli gjort for om man skal intrakode makroblokken eller ikke. Avgjørelsen er todelt og basert på de beregnede parametrene og de forhåndsutførte tester. Den første del av avgjørelsesprosessen er hovedsakelig ment å oppfange tilfeller der et bevegelig objekt akkurat har for-latt et område representert av makroblokken, eller akkurat har stoppet sin bevegelse. Det antas at kvantiseringsgenerert støy trolig vil forekomme, og makroblokken vil bli intrakodet om alle de etterfølgende betingelser er sanne:
• Makroblokken blir definert som "skipped" • Den korresponderende makroblokken for det foregående bilde i videosekvensen ble ikke definert som "skipped". • AC1 assosiert med makroblokken er vesentlig større enn den korresponderende ACO eller NO er større enn en første forhåndsdefinert terskel eller Ni er større enn en andre forhåndsdefinert terskel i tillegg til at en har et hjørneproblem.
Spesielt har erfaring vist at egnede verdier for den første og den andre forhåndsdefinerte terskel kan være henholdsvis syv og fem. Videre vil et forslag for å definere AC1 som vesentlig større enn ACO, være 8xACl > 9xAC0.
Den andre del av avgjørelsesprosessen er hovedsakelig ment å oppfange tilfeller der objekter innenfor området representert av makroblokken, akkurat har starte og bevege seg. Det antas at kvantiseringsgenerert støy trolig vil forekomme og makroblokken vil bli intrakodet om det følgende er tilfelle: Makroblokken blir definert som "skipped"
Den korresponderende makroblokk for det foregående bildet i videosekvensen blir også definert som "skipped"
Et hjørneproblem eksisterer
Den diagonale makroblokknaboen for 4x4 blokken for hvilken et hjørneproblem eksisterer, blir ikke definert som "skipped"
Ni er større enn den andre terskel.
Et eksempel på avgjørelsesprosessen eksponert for en makroblokk blir vist i flytskjema for figur 2. Prosessen starter ved å bestemme om makroblokken er "skipped" eller ikke. Dette blir gjort gjennom trinnene 1-3. Her er "simple_cof" binærtransformasjonskoeffisientene som blir brukt for å bestemme "skip" modus for hver 4x4 blokk, og "Threshold" er kvantiseringsterskelen i et heltalls-transformasjonsdomene der de blir sammenlignet. Kun om makroblokken blir definert som "skipped", vil prosessen fortsette til trinn 4. Trinn 4 forbereder for kodetypeavgjørelsen {intra- vs. interkoding) ved å detektere om et hjørneproblem eksisterer. Deretter, i trinn 5, blir det bestemt om den foregående makroblokken
ble definert som "skipped".
Om så er tilfelle (valg "nei" for trinn 5), vil den andre del av avgjørelsesprosessen beskrevet over finne sted. Dette impliserer en videre test (trinn 6) for om de diagonale naboer for 4x4 hjørneblokken assosiert med den største AClm ikke blir "skipped". Om ikke (valg "ja" for trinn 6), blir antall av "flate" originale 4x4 blokker (NI) beregnet
(trinn 10), etterfulgt av en endelig test for den andre av-gjørelsesprosessen som bestemmer om et hjørneproblem eksisterer og om en Nl>5 (trinn 11). Kun i de tilfeller der begge disse kriterier er oppfylt vil makroblokken bli intrakodet .
Om en så går tilbake til trinn 5, om den foregående makroblokken blir bestemt å være ikke "skipped" (valg "ja" for trinn 5), vil den første del av avgjørelsesprosessen beskrevet over finne sted. Trinn 7 bestemmer om AC1 for makroblokken er vesentlig større enn ACO. Om dette er tilfelle (valg "ja" for trinn 7), blir det bestemt å utføre intrakoding av makroblokken uten noen videre testing av de gjenværende parametere. Om ikke, vil et antall av 4x4 blokker (NO), der AClm er vesentlig større en ACOm bli talt (trinn 8), og om dette antall er større enn syv (valg "ja" for trinn 9), blir det bestemt å utføre intrakoding. Om ikke (valg "nei" for trinn 9), vil valget om bruk intra- eller interkoding på makroblokken bli overlatt til trinn 10 og 11 som beskrevet over.
Hovedfordelen for fremgangsmåten i henhold til den foreliggende oppfinnelse er at den fremviser en rask oppdatering av blokker der irriterende kvantiseringsgenerert støy blir antatt å forekomme. Den er kraftfull og resulterer i en sterkt synlig forbedring. Ingen komplekse tillegg er nød-vendig for dekoding prosessen, og kun en begrenset økning i kodingskompleksiteten blir introdusert.

Claims (12)

1. Fremgangsmåte for støyreduksjon for koding av en makroblokk sammensatt av et antall av subblokker som representerer en rektangulær del av videobildet, idet kodingen inkluderer prediksjon av pikselverdier for makroblokken, transformering av pikselverdiene og/eller prediksjonsverdiene for disse, og/eller å kvantifisere resulterende trans-formasjons koeffisienter, karakterisert ved å utføre en betingelsestest for ensartethet gjennom makroblokken : om testen indikerer at en vesentlig subjektiv kvantiseringsgenerert støy som følge av bevegelser i videobildet kan forekomme i en korresponderende dekodet versjon av makroblokken, så skal intraprediksjon av pikselverdier i makroblokken velges, eller når testen indikerer at ingen vesentlig subjektiv kvantiseringsgenerert støy som følge av bevegelser i video bildet sannsynligvis vil forekomme i en korresponderende dekodet versjon av makroblokken, så skal en velge interprediksjon av pikselverdiene i makroblokken.
2. Fremgangsmåte i henhold til krav 1, karakterisert ved at betingelsestesten for ensartethet gjennom makroblokken utføres og nevnte test indikerer om vesentlig subjektiv kvantiseringsgenerert støy antas sannsynlig forekommende når de følgende kriterier blir oppfylt: makroblokken er i ferd med å bli definert som "skipped", en tidligere korresponderende makroblokk ble ikke definert som "skipped", og pikselverdiene er vesentlig uniforme mens prediksjonsverdiene er i det vesentlige ikke-uniforme.
3. Fremgangsmåte i henhold til krav 1, karakterisert ved at betingelsestesten for ensartethet gjennom makroblokken utføres og nevnte test indikerer om vesentlig subjektiv kvantiseringsgenerert støy blir antatt sannsynlig å forekomme når de følgende kriterier blir oppfylt: makroblokken er i ferd med å bli definert som "skipped", en tidligere korresponderende makroblokk ble ikke definert som "skipped", og én eller et fåtall av enkeltstående piksler inkludert i en hjørnesubblokk for makroblokken er divergerende relatert til et flertall av pikslene i makroblokken, mens antallet av subblokker vesentlig uniforme pikselverdier er større enn en første forhåndsdefinert terskel.
4. Fremgangsmåte i henhold til krav 1, karakterisert ved at betingelsestesten for ensartethet gjennom makroblokken utføres og nevnte test indikerer om vesentlig subjektiv kvantiseringsgenerert støy blir antatt sannsynlig å forekomme når de følgende kriterier blir oppfylt: makroblokken er i ferd med å bli definert som "skipped", en tidligere korresponderende makroblokk ble definert som "skipped", én eller et fåtall av enkeltstående piksler inkludert i en hjørnesubblokk for makroblokken er divergerende relatert til et flertall av pikslene i makroblokken, mens antallet av subblokker som inkluderer vesentlige uniforme pikselverdier, er større enn en første forhåndsdefinert terskel, og en diagonal nabomakroblokk til nevnte hjørnesubblokk ikke er eller ikke kommer til å bli definert som "skipped".
5. Fremgangsmåte i henhold til krav 1, karakterisert ved at trinnet for transformering videre inkluderer: transformering av pikselverdiene for makroblokken ved en binær transformasjonsfunksjon som genererer assosierte pikseltransformasjonskoeffisienter, transformering av prediksjonsverdiene for makroblokken ved nevnte binære transformasjonsfunksjoner som genererer assosierte prediksjonstransformasjonskoeffisi-enter, og/eller transformering av restverdier av piksel- og prediksjonsverdiene for makroblokken ved nevnte binære transformasjonsfunksjon eller beregne restverdier av piksel- og prediksjonstransformasjonskoeffisientene for generering av assosierte restverditransformasjons-koef f isienter .
6. Fremgangsmåte i henhold til krav 5, karakterisert ved at en makroblokk blir antatt å være i ferd med å bli definert som "skipped" om en eller flere restverditransformasjonskoeffisienter korresponderende til den laveste koordinaten i makroblokken er mindre enn en andre forhåndsdefinert terskel som korres-ponderer til en bestemmelsesverdi under en verdi der transformasjonskoeffisientene blir kvantisert til null.
7. Fremgangsmåte i henhold til et av kravene 5 eller 6, karakterisert ved å beregne en første parameter (ACOm) for hver subblokk i makroblokken ved å summere en eller flere av piksel-transformasjonskoeffisientene av de internt laveste koordinater innenfor de respektive subblokker, bortsett fra koeffisienten for de helt laveste koordinatene, å beregne en andre parameter (AClm) for hver subblokk i makroblokken ved å summere en eller flere av rest-verdipikseltransformasjonskoeffisientene for de internt laveste koordinater innenfor de respektive subblokker, bortsett fra koeffisienten for de helt laveste koordinatene.
8. Fremgangsmåte i henhold til krav 7, karakterisert ved å beregne en tredje parameter (ACO) ved å summere de første parametere (ACOm) assosiert med alle subblokker inkludert i makroblokken, å beregne en fjerde parameter (AC1) ved å summere de andre parametere (AClm) assosiert med alle subblokker inkludert i makroblokken.
9. Fremgangsmåte i henhold til et av kravene 7 eller 8, karakterisert ved å bestemme et første antall (NO) av subblokker i makroblokken der nevnte andre parameter (AClm) er vesentlig større enn nevnte første parameter (ACOm), å bestemme et andre antall (NI) av subblokker i makroblokken der nevnte første parameter (ACOm) er mindre enn en tredje forhåndsdefinert terskel.
10. Fremgangsmåte i henhold til et av kravene 8 eller 9, karakterisert ved å anta at pikselsverdiene er vesentlig uniforme mens pre-diks jonsverdiene er i det vesentlige ikke-uniforme om nevnte fjerde parameter (AC1) i det vesentlige er større enn nevnte tredje parameter (ACO) og/eller nevnte første antall (NO) for subblokkene er større enn en fjerde forhåndsdefinert terskel.
11. Fremgangsmåte i henhold til et av kravene 7-10, karakterisert ved å bestemme den ene hjørnesubblokk for hjørnesubblokk-ene i makroblokken som har den største andre parameter (AClm), å anta at en eller et fåtall av enkeltstående piksler inkludert i denne hjørnesubblokken er divergerende relatert til et flertall av pikslene i makroblokken, om nevnte andre parameter (AClm) assosiert med disse er i det vesentlige større enn det korresponderende første parameter (ACOm).
12. Fremgangsmåte i henhold til et av kravene 7-10, karakterisert ved at intraprediksjon av pikselverdier impliserer prediksjon basert på piksler mot-stående til makroblokken i samme videobilde.
NO20033021A 2003-07-01 2003-07-01 Fremgangsmate for stoyreduksjon NO318973B1 (no)

Priority Applications (6)

Application Number Priority Date Filing Date Title
NO20033021A NO318973B1 (no) 2003-07-01 2003-07-01 Fremgangsmate for stoyreduksjon
JP2006518567A JP2007529144A (ja) 2003-07-01 2004-06-25 マクロブロック符号化時にノイズを防止する方法
CNA2004800236767A CN1836449A (zh) 2003-07-01 2004-06-25 用于对宏块编码时防止噪声的方法
PCT/NO2004/000190 WO2005004496A1 (en) 2003-07-01 2004-06-25 Method for preventing noise when coding macroblocks
EP04748766A EP1639832A1 (en) 2003-07-01 2004-06-25 Method for preventing noise when coding macroblocks
US10/880,460 US7327785B2 (en) 2003-07-01 2004-07-01 Noise reduction method, apparatus, system, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
NO20033021A NO318973B1 (no) 2003-07-01 2003-07-01 Fremgangsmate for stoyreduksjon

Publications (2)

Publication Number Publication Date
NO20033021D0 NO20033021D0 (no) 2003-07-01
NO318973B1 true NO318973B1 (no) 2005-05-30

Family

ID=27800755

Family Applications (1)

Application Number Title Priority Date Filing Date
NO20033021A NO318973B1 (no) 2003-07-01 2003-07-01 Fremgangsmate for stoyreduksjon

Country Status (6)

Country Link
US (1) US7327785B2 (no)
EP (1) EP1639832A1 (no)
JP (1) JP2007529144A (no)
CN (1) CN1836449A (no)
NO (1) NO318973B1 (no)
WO (1) WO2005004496A1 (no)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7804896B2 (en) * 2005-09-19 2010-09-28 Intel Corporation Content adaptive noise reduction filtering for image signals
US7778476B2 (en) * 2005-10-21 2010-08-17 Maxim Integrated Products, Inc. System and method for transform coding randomization
US8306118B1 (en) * 2006-03-01 2012-11-06 Maxim Integrated, Inc. High quality low bitrate video coding by enabling and disabling a non-residual mode
US20090268818A1 (en) * 2008-04-29 2009-10-29 International Business Machines Corporation Method and system for integrating noise filtering in predictive video coding
US8254457B2 (en) * 2008-10-20 2012-08-28 Realtek Semiconductor Corp. Video signal processing method and apparatus thereof
FR2940736B1 (fr) * 2008-12-30 2011-04-08 Sagem Comm Systeme et procede de codage video

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2562364B1 (fr) * 1984-04-03 1987-06-19 Thomson Csf Procede et systeme de compression de debit de donnees numeriques transmises entre un emetteur et un recepteur de television
JPH0813138B2 (ja) * 1990-11-28 1996-02-07 松下電器産業株式会社 画像符号化装置
JPH05276500A (ja) * 1991-07-19 1993-10-22 Sony Corp 動画像符号化及び復号化装置
JP2673778B2 (ja) * 1994-02-22 1997-11-05 国際電信電話株式会社 動画像の復号化における雑音低減装置
US5654760A (en) * 1994-03-30 1997-08-05 Sony Corporation Selection of quantization step size in accordance with predicted quantization noise
JP3855286B2 (ja) * 1995-10-26 2006-12-06 ソニー株式会社 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録媒体
GB2318246B (en) * 1996-10-09 2000-11-15 Sony Uk Ltd Processing digitally encoded signals
JP3676525B2 (ja) * 1996-10-30 2005-07-27 日本ビクター株式会社 動画像符号化復号化装置及びその方法
US6037985A (en) 1996-10-31 2000-03-14 Texas Instruments Incorporated Video compression
GB2327577B (en) * 1997-07-18 2002-09-11 British Broadcasting Corp Re-encoding decoded signals
JP3825615B2 (ja) * 2000-08-11 2006-09-27 株式会社東芝 動画像符号化装置および動画像符号化方法およびプログラムを記録した媒体
FR2823943A1 (fr) 2001-04-24 2002-10-25 Koninkl Philips Electronics Nv Procede de detection de bruit dans un flux de donnees video codees
US20040179610A1 (en) * 2003-02-21 2004-09-16 Jiuhuai Lu Apparatus and method employing a configurable reference and loop filter for efficient video coding
US20060209951A1 (en) * 2005-03-18 2006-09-21 Qin-Fan Zhu Method and system for quantization in a video encoder

Also Published As

Publication number Publication date
WO2005004496A1 (en) 2005-01-13
US20050031036A1 (en) 2005-02-10
EP1639832A1 (en) 2006-03-29
JP2007529144A (ja) 2007-10-18
CN1836449A (zh) 2006-09-20
US7327785B2 (en) 2008-02-05
NO20033021D0 (no) 2003-07-01

Similar Documents

Publication Publication Date Title
US11089311B2 (en) Parameterization for fading compensation
US8644394B2 (en) Deblocking filter
US7460596B2 (en) Adaptive de-blocking filtering apparatus and method for MPEG video decoder
US7397853B2 (en) Adaptive de-blocking filtering apparatus and method for MPEG video decoder
US7539248B2 (en) Adaptive de-blocking filtering apparatus and method for MPEG video decoder
US7400679B2 (en) Adaptive de-blocking filtering apparatus and method for MPEG video decoder
US6765962B1 (en) Adaptive selection of quantization scales for video encoding
KR101045199B1 (ko) 화소 데이터의 적응형 잡음 필터링을 위한 방법 및 장치
US6845180B2 (en) Predicting ringing artifacts in digital images
US7496141B2 (en) Adaptive de-blocking filtering apparatus and method for MPEG video decoder
US7822125B2 (en) Method for chroma deblocking
KR20060072070A (ko) 이미지 또는 픽쳐 시퀀스를 인코딩하는데 사용될 수 있는양자화 매트릭스를 발생하는 방법 및 장치
US20050243914A1 (en) Adaptive de-blocking filtering apparatus and method for mpeg video decoder
EP1503596B1 (en) Methods for encoding or decoding in a videoconference system in presence of noisy image acquisition
KR100834625B1 (ko) 비디오 인코딩 데이터율 제어를 위한 실시간 장면 전환검출 방법
NO318973B1 (no) Fremgangsmate for stoyreduksjon
CN112740690B (zh) 用于编码和解码代表至少一个图像的数据流的方法和设备
Ishida et al. Block-Adaptive Selection of Recursive and Non-Recursive Type Intra Prediction Modes for Image Coding
Choi et al. Macroblock-level adaptive dynamic resolution conversion technique
Wojciechowski et al. Optimizing video compression using robust parameter design
Hållmarker et al. Fast Mode Selection Algoritm for H. 264 Video Coding

Legal Events

Date Code Title Description
CREP Change of representative

Representative=s name: ONSAGERS AS, POSTBOKS 6963 ST OLAVS PLASS, 0130 OS

MM1K Lapsed by not paying the annual fees