NO318973B1 - Fremgangsmate for stoyreduksjon - Google Patents
Fremgangsmate for stoyreduksjon Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000009467 reduction Effects 0.000 title claims description 3
- 230000009466 transformation Effects 0.000 claims description 37
- 230000008569 process Effects 0.000 claims description 18
- 238000012360 testing method Methods 0.000 claims description 15
- 230000033001 locomotion Effects 0.000 claims description 14
- 230000001131 transforming effect Effects 0.000 claims description 6
- 238000000844 transformation Methods 0.000 claims 1
- 238000013139 quantization Methods 0.000 description 12
- 239000013598 vector Substances 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 238000007906 compression Methods 0.000 description 6
- 230000006835 compression Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000036039 immunity Effects 0.000 description 3
- 241000255925 Diptera Species 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 241000519995 Stachys sylvatica Species 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/48—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods 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.
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)
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)
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 |
-
2003
- 2003-07-01 NO NO20033021A patent/NO318973B1/no not_active IP Right Cessation
-
2004
- 2004-06-25 WO PCT/NO2004/000190 patent/WO2005004496A1/en active Application Filing
- 2004-06-25 JP JP2006518567A patent/JP2007529144A/ja active Pending
- 2004-06-25 EP EP04748766A patent/EP1639832A1/en not_active Withdrawn
- 2004-06-25 CN CNA2004800236767A patent/CN1836449A/zh active Pending
- 2004-07-01 US US10/880,460 patent/US7327785B2/en not_active Expired - Fee Related
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 |