NO328906B1 - Fremgangsmate for forbedring av farveskarphet i video- og stillbilder - Google Patents
Fremgangsmate for forbedring av farveskarphet i video- og stillbilder Download PDFInfo
- Publication number
- NO328906B1 NO328906B1 NO20076555A NO20076555A NO328906B1 NO 328906 B1 NO328906 B1 NO 328906B1 NO 20076555 A NO20076555 A NO 20076555A NO 20076555 A NO20076555 A NO 20076555A NO 328906 B1 NO328906 B1 NO 328906B1
- Authority
- NO
- Norway
- Prior art keywords
- cxd
- shift2
- pixel information
- decimated
- shiftl
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 241000023320 Luma <angiosperm> Species 0.000 claims abstract description 37
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 claims abstract description 37
- 230000008569 process Effects 0.000 claims abstract description 20
- 238000007906 compression Methods 0.000 abstract description 11
- 230000006835 compression Effects 0.000 abstract description 11
- 229910052804 chromium Inorganic materials 0.000 abstract description 6
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 abstract 6
- 239000011651 chromium Substances 0.000 abstract 5
- 239000000203 mixture Substances 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 230000002596 correlated effect Effects 0.000 description 4
- 230000000875 corresponding effect Effects 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000003709 image segmentation Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 102000001045 Connexin 43 Human genes 0.000 description 1
- 108010069241 Connexin 43 Proteins 0.000 description 1
- -1 Cx34 Proteins 0.000 description 1
- 101710198379 Gap junction alpha-3 protein Proteins 0.000 description 1
- 101710091789 Gap junction alpha-6 protein Proteins 0.000 description 1
- 101000969688 Homo sapiens Macrophage-expressed gene 1 protein Proteins 0.000 description 1
- 102100021285 Macrophage-expressed gene 1 protein Human genes 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002845 discoloration Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000011425 standardization method Methods 0.000 description 1
- 210000000352 storage cell Anatomy 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- 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/117—Filters, e.g. for pre-processing or post-processing
-
- 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
-
- 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/186—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 a colour or a chrominance component
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- 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
-
- 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/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/86—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Color Television Systems (AREA)
- Image Processing (AREA)
Abstract
Den foreliggende oppfinnelsen omhandler video- og stillbildekompresjonssystemer. Den adresserer problemet med opptreden av uklare kanter på bilder som eksponeres til konvensjonelle dekodings- og kodingsprosesser. Den foreliggende oppfinnelsen tilveiebringer en metode som tillater noe "lekkasje" av kantene og høyfrekvensinnhold fra den fulloppløslige lumakanalen til de lavoppløselige kromakanalene. Den blir justert for å operere på deler av et bilde som skal dekodes (blokker, linjer, etc.), for å undersøke konformiteten mellom tilgjengelig desimert kromainformasjon med desimert lumainformasjon. Dersom en god tilpasning kan finnes, dvs. passende parametere kan bli bestemt for å uttrykke desimerte kromaverdier med desimerte lumaverdier, blir disse parameterne anvendt på fulloppløsning lumaverdier for å oppnå estimerte fulloppløselige kromaverdier istedenfor interpolasjon. Dersom en god tilpasning ikke kan bli funnet, vil fulloppløsningskromaverdiene gradvis avta til en standard tilbakefallsmetode for interpolering. Denne prosessen blir repetert for hele bildet og for hver kromakanal.
Description
Introduksjon
Oppfinnelsen omhandler video- og stillbildekompresjonssystemer, og spesielt til kompresjon/dekompresjon av digitale videosystemer.
Bakgrunn for oppfinnelsen
Transmisjon av bevegelige bilder i sanntid blir utført i flere applikasjoner som f.eks. videokonferanser, nettmøter, TV-kringkasting og videotelefoni.
Imidlertid krever representering av bevegelige bilder mye informasjon siden digital video typisk er beskrevet ved å representere hver piksel i et bilde med 24 bits (3 byte). Slike ukomprimerte videodata resulterer i store bitrater, og kan ikke bli overført over konvensjonelle kommunikasjonsnettverk og transmisjonslinjer i sanntid på grunn av begrenset båndbredde.
Dermed krever sanntids videotransmisjon en høy datakompresjon. Datakompresjon kan imidlertid ofre billedkvalitet. Store ressurser har derfor blitt brukt på å utvikle kompresjonsteknikker som tillater sanntidstransmisjon av høykvalitetsvideo over båndbreddebegrensede dataforbindelser.
I videokompresjonssystemer er hovedmålet å representere videoinformasjon med så liten overført informasjon som mulig innenfor den begrensede kapasiteten til en gitt kanal. Kapasiteten er definert med bits, enten som en konstant verdi eller som bits/tid enhet. I begge tilfeller er hovedmålet å redusere antall bits.
Mange videokompresjonsstandarder har blitt utviklet i de siste 20 årene. Mange av disse metodene er standardiserte gjennom ISO (International Standards Organization) eller ITU (International Telecommunications Union). Videre har et antall andre proprietære metoder blitt utviklet. Hovedstandardiseringsmetodene er: ITU: H.261, H.262, H. 263, H.264/AVC
ISO: MPEG1, MPEG2, MPEG4/AVC)
Alle videokompresjonsformatene benytter statistiske egenskaper i inngangsdata, forut for den standardiserte videokompresjonen/dekompresjonen, hvor råvideodata må konverteres til et format som er passende for kompresjon. Dette formatet er beskrevet i standardene, men prosessen med konvertering til/fra denne er i noen grad opp til utviklerne. Konverteringsprosessen er en prosess beheftet med tap (lossy process) siden den innbefatter spatial desimering og interpolasjon. Den elektroniske representasjonen av et bilde kan vanligvis bli tolket som lumainformasjon (i store trekk korresponderende til "svart-hvitt" innhold) og et tall på kroma (fargeforskjell) kanaler som danner et bilde. I dette tilfellet blir luma- og kromainformasjon transformert fra en diskret todimensjonal matrise med piksler som hver inneholder en rød-grønn-blå underpikseltriplett, som typisk er tilfelle for bildesensorer og displayer. Fargerommet med luma- og kromainformasjon blir ofte kalt YCbCr (luma, blåkromadifferanse, rødkromadifferanse) og spatial informasjon med kromakanaler blir redusert (desimert) vertikalt og/eller horisontalt med en faktor mellom 1:1 og 4:1. Ett viktig slikt format er "YCbCr 4:2:0", som blir brukt i ulike former i de fleste MPEGx og h26x videokompresjonsformater nevnt over. Prinsippene med spatial desimering (redusering av antall piksler) og interpolering (øking av antall piksler) er å fjerne informasjon som ikke kan bli sendt pålitelig, og representere tilgjengelig informasjon på en perseptuell behagelig måte respektivt. Siden desimering/interpolering av kromakanaler er en prosess beheftet med tap, vil ulike metoder lage ulike artefakter som kan være forkastelige for et gitt sett med inngangsbilder med fulloppløsning samt fremvisningsenheter.
Et eksempel på spatial lineær interpolering i henhold til tidligere kjent teknikk er beskrevet under.
For en filterkjerne med lengde K=2 indeksert med k:
Lineær filtrering av inputsignal x(n) omfattende pikselverdier ved offset n, som bruker kjernen h:
Droppe sampler og skifte til ønsket fase:
I praktiske systemer, er ikke-heltallslagringsceller uvanlig, slik at z vil bli skiftet til en praktisk fase, og nullkomponenter blir sett bort fra:
Metoden beskrevet over er basisen for generell bildedesimering og kromakanaldesimering. Interpolasjon kan bli beskrevet på en svært lik måte. Hensikten er å "lekke" verdier langs pikselgrenser før eller etter forandring av antall piksler slik at oppfattet bilde forblir relativt konstant selv om antall piksler brukt for å beskrive bildet forandres.
Videokonferansedata inneholdende en blanding av kontinuerlig toneinnhold og palletert innhold er nå ganske vanlig. Eksempler innbefatter fanging av et skjermbilde (screen capture), websider, utdannings- og treningsvideoer (spesielt de som inneholder skjerminnfangingsbilder eller websider), og forretnings-presentasjoner blant andre ting. Web-sider innbefatter ofte fotografier som er satt mellom tekst og andre annet palletert innhold. I tillegg til en blanding av innhold, er det også veldig vanlig å sende to parallelle strømmer i en videokonferanse, én som innbefatter videoinnhold og én som innbefatter datainnhold, slik som presentasjoner eller skjermbilder. Imidlertid er alle data kodet og dekodet med et kodingsskjema som beskrevet over, som er mest optimalt for kontinuerlig tonebilder, dvs. videobilder fanget inn av et videokamera. Dette betyr at den oppfattede kvaliteten for inputbilder som inneholder skarpe kanter og krappe transisjoner slik som i ren tekst eller strekbilder, etc, blir redusert, siden de skarpe kantene i noen grad blir spredt ut spatialt av kodingsprosessen. Hvorfor dette skjer forklares i det følgende med henvisning til fig. 1-7.
Fig. 1 inneholder en forenklet 1x6 piksel bilde som inneholder RGB-verdier [0 0 0] og [255 0 0]. Den samme bildeinformasjonen er også vist i fig. 3 som en endimensjonal søylegraf, som viser rødintensiteten som en brå forandring for den høyre siden av bildet.
I fig. 3 blir den samme billedinformasjon transformert til ITU-R BT.601 YCbCr fargerom hvor svart søyle representerer Y (luma) informasjon, mens cyan- og magentasøyler representerer Cb- og Cr-verdier respektivt. Den spatiale oppløsningen er ikke forandret.
I fig. 4 har imidlertid kromakanalene blitt desimert med en faktor på 2 som representerer nivåene ved 1.5, 3.5 og 5.5. Metoden med desimering var en enkel middelverdi av de to nærmeste kildepikslene. Dette er likt til et FIR-filter som bruker en kjerne med [0.5 0.5] etterfulgt ved å velge annethvert piksler.
Mens kanten fremdeles er synlig for lumakanalen, har den blitt glattet ut for kromakanalene, siden de må representere både svarte og røde nivåer som faller innenfor x = [2.5, 4.5] området.
I fig. 5 ble nye høyere pikseltall kromavektorer funnet ved enkelt å repetere verdiene fra fig. 4. Dette er ekvivalent med nullfylling for hvert annet sampel, og deretter filtrering med en FIR-kjerne på [1 1].
Fig. 6 og 7 viser til slutt at det rekonstruerte bildet har visuelle feil langs transisjonen. Ikke bare er rødfargen vasket ut, men vi får også en misfarging (forandring i relativ rgb-miks). Den nøyaktige verdien og størrelsen av slike artefakter er en basisegenskap for desimering/interpoleringsteknikken som benyttes.
De initielle og slutt rgb-matrisene bruker 6 (piksler) x 3 (farger) = 18 bytes for å lagre eller sende dette en-dimensonale bildet. Det 2x undersamplede YCbCr-alternativet brukte 6 (lumapiksler) og 2x3 (kromapiksler) for en total av 12 bytes. Dersom et mer realistisk eksempel ble brukt, vil besparelsene være større med å desimere kroma i to dimensjoner.
Dersom dette blir vurdert som et båndbreddeproblem, kunne dette bildet klart blitt sendt med fulloppløsnings- lumakanal, og en tabell som mapper lumaverdiene til fullfarge rgb-tripletter:
Det kan produseres 6 + 2x3 bytes for transmisjon, akkurat som YCbCr-desimert i dette eksemplet gjør, men uten noe kvalitetstap. Prosessen er primært slik at systemet for båndbreddereduksjon blir optimalisert for sakte varierende, fullfargekilder, slik som fotografiinnhold. Dersom (full) spatial løsning til lumakanalen kunne blitt kombinert med den reduserte spatialoppløsningen til kromakanalene for å produsere "lokale fargekart", ville bilder med skarpe kanter korrelert i luma og kroma men med lav bruk av hele fargerommet predikterbart se bedre ut.
En måte å løse dette problemet på er beskrevet i US patent nr. 7 072 512 ('512). I denne publikasjonen er det vist en bildesegmenteringsalgoritme som identifiserer "kontinuerlig tone" bildeinnhold f.eks. fotografisk innhold, og "palletert" billedinnhold f.eks. tekst. Bilder som skal sendes blir analysert av algoritmen og basert på innholdet av denne analysen kodet av en kodek spesialisert for innholdstypen som blir identifisert. Ved å kode "palletert" innhold med et kodingsskjema justert for denne type innhold, kan problemet med uskarpe kanter bli unngått.
Imidlertid, siden ulike kodingsskjemaer blir brukt på transmisjonssiden, er det krevd at den mottakende siden har korresponderende forskjellige dekodingsskjemaer installert og vise versa. Følgelig er ikke '512 i stand til å løse problemet fra en mediastrøm kodet på en konvensjonell, standardisert måte, men krever spesialiserte kodeker på begge sider.
Sammendrag av oppfinnelsen
Trekkene definert i de vedlagte selvstendige kravene karakteriserer metoden til den foreliggende oppfinnelsen.
Den foreliggende oppfinnelsen beskriver spesielt en metode for i en dekodingsprosess for å bestemme fulloppløsnings kromapikselinformasjon (Cx) korresponderende til spatial fraksjon av et bilde representert ved fulloppløsnings-lumapikselinformasjon og desimert kromapikselinformasjon (Cxd) desimert av en kjent desimeringsprosess, ved desimering av fulloppløsnings lumapikselinformasjon (Y) ved nevnte kjente desimeringsprosess som resulterer i en desimert spatial lumafraksjon (Yd), som bestemmer om den desimerte kromapikselinformasjonen (Cxd) i det minste omtrentlig kan bli uttrykt ved {(Yd+shiftl)<*>scale - shift2}, for å lagre verdier med scale, shift 1, shift2 som resulterer i et minimums avvik mellom {(Yd+shiftl)<*>scale - shift2} og Cxd, og beregne {(Y+shiftl)<*>scale - shift2} som en første kandidat (Cxi) for fulloppløsnings kromapikselinformasjon (Cx).
Videre trekk er definert i de vedlagte uselvstendige kravene.
Kort beskrivelse av tegningene
Fig. 1 viser et referansebilde som inneholder en brå transisjon fra svart til rød; Fig. 2 viser en RGB-triplett-representasjon av referansebildet; Fig. 3 viser en YCbCr-triplett-representasjon av referansebildet; Fig. 4 viser en desimert YCbCr-representasjon av referansebildet; Fig. 5 viser en interpolert YCbCr-representasjon av referansebildet; Fig. 6 viser en interpolert RGB-representasjon av referansebildet; Fig. 7 viser det gjenvunne referansebildet med fargefrynser langs transisjonen; Fig. 8 illustrerer konseptet med å finne sannsynlig glattede kanter ved å observere lumaopp førsel; Fig. 9 viser et toppnivå blokkdiagram av én utførelse av den foreliggende oppfinnelsen; Fig. 10 illustrerer en lokal tilgang av luma/kroma-piksler; Fig. 11 viser et blokkdiagram av et eksempel av "formtilpasning" modul i én utførelse av den foreliggende oppfinnelsen; Fig. 12 viser et referansebilde; Fig. 13 viser referansebildet desimert og interpolert i henhold til tidligere kjent teknikk, og Fig. 14 viser referansebildet desimert og interpolert i henhold til den foreliggende oppfinnelsen.
Detaljert beskrivelse
I det følgende vil den foreliggende oppfinnelsen bli beskrevet og diskutert med foretrukne utførelser. Imidlertid vil en fagperson på området innse at andre applikasjoner og modifikasjoner innenfor omfanget av oppfinnelsen er definert i det vedlagte selvstendige kravet.
En løsning på det foreliggende problemet beskrevet over er å tillate noe "lekkasje" av kanter og høyfrekvensinnhold fra fulloppløsnings lumakanal til lavoppløsnings kromakanaler. Dette hviler på den forutsetning at luma- og kromakildekanaler er høyt korrelerte, noe som vil være tilfelle med f.eks. rød tekst på svart bakgrunn. Designet for en praktisk interpolering for å oppnå dette med akseptable "worst case" karakteristikker og kompleksitet som er passende for sanntids lavkostnadsapplikasjoner er imidlertid ikke trivielle.
Den foreliggende oppfinnelsen er justert for å operere på deler av bildet (blokker, linjer, etc), ved å undersøke konformiteten mellom de tilgjengelige desimerte kromainformasjoner med desimert lumainformasjon. Dersom en god tilpasning kan bli funnet, dvs. passende shift og skalleringsparametre kan bli bestemt for å uttrykke desimerte kromaverdier med desimerte lumaverdier, vil disse parameterne bli anvendt på fulloppløsnings lumaverdier for å oppnå estimert fulloppløsnings kromaverdier istedenfor interpolasjon. Dersom en god tilpasning ikke kan finnes, vil fulloppløsnings kromaverdier gradvis forringes til en standard tilbakefallsinterpolasjonsmetode. Denne prosessen blir repetert for hele bildet og for hver kromakanal.
Fig. 8 viser informasjonen som normalt ville blitt tilgjengelig for en mottaker i en konvensjonell kodesendingsdekodingskommunikasjonslink. Ved å desimere de lokalt mottatte lumakomponenten (sorte søyler) med den eksakt samme prosessen som produserte den kromakomponenten, vil kantene mellom pikslene 3 og 4 bli glattet ut. Den opprinnelige verdien til lumapiksel 3 er mye nærmere verdien til pikslene 1 og 2, mens den opprinnelige verdien til lumapiksel 4 var mye nærmere til pikslene 5 og 6. Verdiene til den desimerte lumakanalen trenger ikke være den samme som de desimerte kromkanalene, men deres form (lineære rampe i dette tilfellet) foreslår at de er en del av en enkel kant korrelert i alle kanalene til bildet.
Med andre ord kan det uttrykkes som en funksjon av en annen: xl=a<*>(x2-b)+c, hvor xl og x2 er ethvert par av 3-elementvektorer Y', Cb' og Cr'.
Basisen til den foreliggende oppfinnelsen er forsøket på å uttrykke kroma som en funksjon av luma, Cb'=al<*>(Y'-bl)+cl, Cr'=a2<*>(Y'-b2)+c2 for de tilgjengelige desimerte kanalene. Dersom en god match kan bli funnet blir det så antatt at ved å erstatte Cb' med al<*>(Y-bl)+cl er et bedre valg enn interpoleringen Cb'. Dersom en god match ikke kan finnes, vil denne antagelsen ikke kunne gjøres, og klassisk interpolering av tilgjengelige desimerte kromaverdier blir valgt.
Fig. 9 viser et høynivå blokkdiagram av én utførelse av oppfinnelsen. "Y" er lumakanalen og "Cx" er kromakomponenten (dvs. Cb eller Cr). Begge er i full oppløsning. Forut for transmisjon over begrenset båndbreddekanal (og mulig videokompresjon), blir Cx-kanalen desimert til et sub-samplingsskjema, slik som 4:2:2 eller 4:2:0 som produserer Cxd.
Den mottakende siden har tilgang til Y og Cxd. Siden Y allerede er fulloppløsning, kan den videreføres nedstrøms for videre prosessering. Cxd må bli interpolert til å være f.eks. fremvist. Den lumatilpassede delen av interpolasjonen tar som input Y og Cxd, og genererer Yd, som er en lumakanal desimert med den samme algoritmen som den brukt for kromakanalene. Utførelsen beskrevet i fig. 9 kan bli tolket som en "klassisk" kromainterpolasjon, hvor bunndelen leder til Cx'2, en ny interpolering som leder til Cx'l, og en "blandings" komponent hvor blandingen av disse to blir regulert av "kvaliteten" til Cx'l til en kompositt Cx' utgangsverdi med samme oppløsning som Y. Blandingsboksen kan også bli tolket som en lineær interpolering mellom det valgte Cx'l og Cx'2 kontrollert av resultatet av tilpasningstesten i formtilpasningsboksen.
Formålet med Cx'2 signalstien og blandingskomponenten er å ha en tilbakefallsmulighet i tilfelle hvor luma og kroma ikke retter seg bra inn, og i dette tilfellet en lik kvalitet til den som oppnås ved tradisjonell kromainterpolering.
Den foreliggende oppfinnelsen skal operere på regioner av et bilde, siden lokale statistiske korrelasjoner mellom luma og kroma forventes å være mye større enn noen globale korrelasjoner. Imidlertid skal regulære interpolasjons/desimeringskomponenter operere på utsiden av den segmentbaserte kjernealgoritmen dersom ønskelig for å oppnå mer fleksibilitet, dersom f.eks. disse er tilgjengelig i spesialisert hardware eller algoritmer. En region kan være en del av en linje, en regulær blokk med piksler, eller i irregulære segmenter basert på bildesegmentering. Regionen brukt for prosessering kan være større enn regionen brukt for output, som leder til f.eks. overlappet blokkprosessering.
Hovedformålet med modulen nevnt i fig. 9 er "formtilpasning" å finne 3 parametere, "shift 1", "shift2" og "scale" som tillater Cxd-signalet til å bli beskrevet i henhold til uttrykket nevnt som {(Yd+shiftl)<*>scale-shift2} med minimum "feil". Forutsetningen er at enhver spatial sløring eller andre artefakter forårsaket av desimering vil være åpenbar i både Yd og Cxd dersom de deler kanter - men ikke i Y. I tillegg kan denne modulen også gi ut et mål som beskriver kvaliteten til tilpasningen som funksjon av 0...1 er en perfekt tilpasning og 0 ikke er tilpasning.
Straks parameterne shift 1, shift2 og scale som tillater Cxd til å uttrykkes som en funksjon av Yd er funnet, blir parameterne anvendt på en tilsvarende måte for å uttrykke en ny Cx'l basert kun på de parameterne og fulloppløsnings Y. Det vil si at den nye Cx'l blir funnet av uttrykket {(Y+shiftl)<*>scale-shift2}. Dette vil fungere så lenge som høyfrekventinnhold tapes i desimeringen Y -> Yd blir korrelert med høyfrekventinnhold tapt i desimeringen Cx -> Cxd, og en god tilpasning mellom Cxd og Yd kan bli funnet. Som en del av den foreliggende oppfinnelsen som ikke er regulær desimering og interpolering som opererer på segmentene til inputrammen, som produserer f.eks. en kvalitetsskalar og én separat blanding av Cx'l og Cx'2 for hvert segment. Fulloppløsnings kromapikselinformasjon (Cx) kan utledes i "blanding" boksen fra en lineær blanding mellom Cx'l og Cx'2 i henhold til uttrykket Cx = Q<*>Cxl + (l-Q)<*>Cx2. Fig. 10 viser et utvalg av todimensjonal pikseldata for luma (Y), kromakomponent (Cx) i både fulloppløsning og 2x2 desimerte former. Y og Cxd er typisk allerede tilgjengelig ved den mottakende siden, mens Yd normalt kan tilegnes ved lavkostnad med en regulær desimeringsprosess. Interpolering av Cxd til et estimat av Cx er en mer kompleks prosess. I dette tilfellet et glidende vindu og 6x6 lumapiksler (Y11...Y66) korresponderende til et 3x3 vindu med desimerte piksler (Yd/Cxdl l...Cxd66) bli brukt for å estimere Cx-piksler Cx33, Cx34, Cx43 og Cx44. Imidlertid kan den foreliggende oppfinnelsen bli brukt for et antall av ulike konfigurasjoner, innbefattende overlappende vinduer med varierende størrelse og overlapping, ikke-overlappende vinduer med varierende størrelser og linjer eller linjesegmenter. Fig. 11 viser et eksempel på hvordan en "formtilpasset" modul som vist i fig. 9 kan bli implementert. Den blir utledet fra uttrykket til relasjonen mellom luma og kroma Cxd = {(Yd+shiftl)<*>scale-shift2} som har shiftl, shift2 og scale som output. Det er åpenbart fra dette uttrykket over at matrisen Yd og Cxd kan bli delt på hverandre, etter å først skifte dem om deres senterverdi for å lage skalaparameteren. Shiftl og shift 2 kan så følgelig komme ut som den negative av senterverdien til Yd-blokken og Cxd-blokken respektivt. I tillegg, fordi nominatorene og denominatorene nært til null skal unngås blir blokken kalt "Avoid 0/0" utført før divisjonsblokken. En kvalitetsblokk som lager den ovenfor nevnte kvalitetsparameteren blir også lagt til. Bortsett fra det, omfatter kretsen primært å plukke senterverdiene fra den foreliggende 3x3 matrisen av desimerte Yd- og Cxd-verdier, Yd22 og Cxd22 til fig. 10, trekke disse fra korresponderende 3x3 matriser Yd og Cxd og utføre en 3x3 divisjon.
Blokken "Avoid 0/0" nevnt over kan bli implementert på ulike måter. I utførelsen i den foreliggende oppfinnelsen illustrert i fig. 11, blir for hver 3x3 inputmatrise elementvis absolutt verdi sammenlignet med en terskelverdi for å unngå urimelig store eller små skaleringsfaktorer. For 8 bit presisjon, ser heltall med 1 eller 2 ut til å fungere bra. Konsekvensen med å sette en stor terskelverdi er at et stort antall blokker vil ha færre eller ingen piksler vurdert som "sikre" og vil tendere til å forårsake en tilbakefallsinterpolering til å bli brukt oftere. En AND-operasjon ble utført på den Boolske output til terskelen, siden delingen skal bli utført kun på elementet hvor både Yd - Yd22 og Cxd - Cxd22 er tilstrekkelig langt unna 0. "Poptelling" teller antall virkelige elementer, som gir et tall 0...8 (siden senterelementet alltid er feil). En full 3x3 elementvis deling blir så utført til høyre på denne modulen, men ugyldige elementer blir fjernet, og resterende elementer blir så oppsummert og skalert med deres tall.
Sum av absolutte differanser (SAD) er en enkel vektorinstruksjon vanligvis funnet i video hardware og software for å sammenligne similariteter til to vektorer. I dette tilfellet blir den brukt for å sammenligne Cxd input til en "estimert" Cxd som kommer fra den desimerte luma, Yd. Ideen er at om outputene "scale", "shiftl" og "shift2" er gode for å beskrive Cxd med hensyn til Yd, så skal SAD for disse to være liten. For å definere hva "liten" er, blir output til SAD skalert til et område på 0...1 i den siste blokken før "outputkvaliteten" er klar. "Qualityscale" er en fast parameter som skal bli justert for å finne den optimale balansen mellom en aggressiv forming og "sikker" tilbakefallsinterpolering. Dersom vindusstørrelsene blir forandret, skal Quality scale forandres for å reflektere totalstørrelse av vektor/matrise som går inn i SAD-blokken.
Fig. 12 er et referansebilde (ingen desimering/interpolasjon) som er vist desimert og interpolert i henhold til en konvensjonell algoritme i fig. 13, og i henhold til den foreliggende oppfinnelsen i fig. 14. Det ses at den tekstede delen av bildet klart er forbedret i fig. 14 sammenlignet med den tekstede delen av fig. 13, uten å redusere kvaliteten til bildedelen av bildet.
Den foreliggende oppfinnelsen forbedrer leseligheten og opplevd kvalitet av tekst og linjetegning for bildeinnhold typisk for den som kommer fra en datamaskin eller andre syntetiske bilde/videokilder uten å overdrive kanalstøy eller gjøre kantene for skarpe. Den relativt lave kompleksiteten gjør den anvendelig i en sanntids kommunikasjonssammenheng.
Claims (7)
1. Fremgangsmåte i en dekodingsprosess for å bestemme fulloppløsnings-kromapikselinformasjon (Cx) korresponderende til en spatial fraksjon av et stillbilde og/eller videobilde representert ved fulloppløsningslumapiksel-informasjon og desimert kromapikselinformasjon (Cxd) desimert av en kjent desimeringsprosess,
karakterisert ved: å desimere fulloppløsnings- lumapikselinformasjonen (Y) ved nevnte kjente desimeringsprosess som resulterer i en desimert spatial lumafraksjon (Yd); å bestemme om den desimerte kromapikselinformasjonen (Cxd) i det minste omtrentlig kan uttrykkes som {(Yd+shiftl)<*>scale - shift2}, hvor shiftl og shift2 er parametere som angir spatial forskyvning av pikselinformasjon, og hvor scale angir en skalering av pikselinformasjonen; å lagre verdiene til scale, shiftl, shift2 som resulterer i minimumsavvik mellom {(Yd+shiftl)<*>scale - shift2} og Cxd, og å beregne {(Y+shiftl)<*>scale - shift2} som en første kandidat (Cxi) for fulloppløsningskromapikselinformasjonen (Cx).
2. Fremgangsmåte i henhold til krav 1,
karakterisert ved følgende tilleggstrinn: å beregne en kvalitetsparameter (Q) ved å sammenligne {(Yd+shiftl)*scale - shift2} med Cxd, å interpolere Cxd, ved en kjent interpoleringsprosess korresponderende til den kjente desimeringsprosessen, som resulterer i en andre kandidat (Cx2) for fulloppløsningskromapikselinformasjonen (Cx), å kombinere de første og andre kandidatene i henhold til kvalitetsparameteren som gir fulloppløsningskromapikselinformasjonen (Cx).
3. Fremgangsmåte i henhold til krav 2,
karakterisert ved at kvalitetsparameteren er et flyttall fra 0 til 1, hvor 0 fremtrer når det ikke er noen match mellom {(Yd+shiftl)<*>scale - shift2} og Cxd, og 1 fremtrer når det er en optimal match mellom {(Yd+shiftl)<*>scale - shift2} og Cxd.
4. Fremgangsmåte i henhold til krav 2 eller 3,
karakterisert ved at trinnet ved å kombinere de første og andre kandidatene i henhold til kvalitetsparameteren innbefatter å lage en fulloppløsnings-kromapikselinformasjon (Cx) som en lineær miks mellom de to kandidatene i henhold til uttrykket Cx = Q<*>Cxl + (l-Q)<*>Cx2.
5. Fremgangsmåte i henhold til et av de foregående kravene, karakterisert ved at kromapikselinformasjon er blåkromadifferanse-informasjon.
6. Fremgangsmåte i henhold til et av kravene 1-4,
karakterisert ved at kromapikselinformasjon er rødkromadifferanse-informasjon.
7. Fremgangsmåte i henhold til et av de foregående kravene, karakterisert ved at spatial fraksjon korresponderer til en kvadratblokk med piksler, og at shiftl er -Ydcenter5 hvor Ydcenter er en senterpikselverdi til Yd, shift2 er -Cxdcenter, hvor Cxdcenter, er en senterpikselverdi til Cxd og scale er (Cxd+shift2)/(Yd+shiftl).
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NO20076555A NO328906B1 (no) | 2007-12-19 | 2007-12-19 | Fremgangsmate for forbedring av farveskarphet i video- og stillbilder |
EP08862639.5A EP2235951B1 (en) | 2007-12-19 | 2008-12-19 | Method for improving the colour sharpness in video- and still-images |
PCT/NO2008/000463 WO2009078736A1 (en) | 2007-12-19 | 2008-12-19 | Method for improving the colour sharpness in video- and still-images |
US12/339,703 US8259813B2 (en) | 2007-12-19 | 2008-12-19 | Method and system for improving color sharpness in video and images |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NO20076555A NO328906B1 (no) | 2007-12-19 | 2007-12-19 | Fremgangsmate for forbedring av farveskarphet i video- og stillbilder |
Publications (2)
Publication Number | Publication Date |
---|---|
NO20076555L NO20076555L (no) | 2009-06-22 |
NO328906B1 true NO328906B1 (no) | 2010-06-14 |
Family
ID=40795722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NO20076555A NO328906B1 (no) | 2007-12-19 | 2007-12-19 | Fremgangsmate for forbedring av farveskarphet i video- og stillbilder |
Country Status (4)
Country | Link |
---|---|
US (1) | US8259813B2 (no) |
EP (1) | EP2235951B1 (no) |
NO (1) | NO328906B1 (no) |
WO (1) | WO2009078736A1 (no) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7189447B2 (en) | 2002-01-04 | 2007-03-13 | 3M Innovative Properties Company | Laminates |
KR101997462B1 (ko) | 2010-04-09 | 2019-07-08 | 엘지전자 주식회사 | 비디오 데이터 처리 방법 및 장치 |
JP6408884B2 (ja) * | 2014-11-28 | 2018-10-17 | キヤノン株式会社 | 画像処理装置、画像処理方法及びプログラム |
KR101981725B1 (ko) * | 2014-12-19 | 2019-05-23 | 에이치에프아이 이노베이션 인크. | 비디오 및 이미지 코딩에서의 비-444 색채 포맷을 위한 팔레트 기반 예측의 방법 |
GB2554680B (en) * | 2016-10-03 | 2020-04-01 | Advanced Risc Mach Ltd | Selecting encoding options |
US10070098B2 (en) * | 2016-10-06 | 2018-09-04 | Intel Corporation | Method and system of adjusting video quality based on viewer distance to a display |
GB2567835B (en) | 2017-10-25 | 2020-11-18 | Advanced Risc Mach Ltd | Selecting encoding options |
US10679070B1 (en) * | 2018-02-23 | 2020-06-09 | Facebook, Inc. | Systems and methods for a video understanding platform |
WO2020180737A1 (en) * | 2019-03-04 | 2020-09-10 | Alibaba Group Holding Limited | Method and system for processing video content |
CN115037927B (zh) * | 2022-05-07 | 2024-10-01 | 同济大学 | 融合全色度与混合色度的图像编码和解码方法及其装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6539120B1 (en) * | 1997-03-12 | 2003-03-25 | Matsushita Electric Industrial Co., Ltd. | MPEG decoder providing multiple standard output signals |
US6993076B1 (en) * | 1999-05-11 | 2006-01-31 | Thomson Licensing S.A. | Apparatus and method for deriving an enhanced decoded reduced-resolution video signal from a coded high-definition video signal |
US7136417B2 (en) * | 2002-07-15 | 2006-11-14 | Scientific-Atlanta, Inc. | Chroma conversion optimization |
US7072512B2 (en) * | 2002-07-23 | 2006-07-04 | Microsoft Corporation | Segmentation of digital video and images into continuous tone and palettized regions |
JP3791922B2 (ja) * | 2002-09-06 | 2006-06-28 | 富士通株式会社 | 動画像復号化装置及び方法 |
US7289163B2 (en) * | 2003-04-28 | 2007-10-30 | Samsung Electronics Co., Ltd. | Method and apparatus for adjusting color edge center in color transient improvement |
US7558320B2 (en) * | 2003-06-13 | 2009-07-07 | Microsoft Corporation | Quality control in frame interpolation with motion analysis |
JP2007516630A (ja) * | 2003-06-23 | 2007-06-21 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | シーンを合成する方法及び復号器 |
US20060291565A1 (en) * | 2005-06-22 | 2006-12-28 | Chen Eddie Y | System and method for performing video block prediction |
US7483037B2 (en) * | 2005-10-27 | 2009-01-27 | Apple, Inc. | Resampling chroma video using a programmable graphics processing unit to provide improved color rendering |
TW200742449A (en) * | 2006-04-28 | 2007-11-01 | Realtek Semiconductor Corp | Image processing circuit and method |
-
2007
- 2007-12-19 NO NO20076555A patent/NO328906B1/no not_active IP Right Cessation
-
2008
- 2008-12-19 US US12/339,703 patent/US8259813B2/en active Active
- 2008-12-19 EP EP08862639.5A patent/EP2235951B1/en active Active
- 2008-12-19 WO PCT/NO2008/000463 patent/WO2009078736A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
US20090245387A1 (en) | 2009-10-01 |
NO20076555L (no) | 2009-06-22 |
US8259813B2 (en) | 2012-09-04 |
EP2235951A1 (en) | 2010-10-06 |
EP2235951B1 (en) | 2015-11-11 |
WO2009078736A1 (en) | 2009-06-25 |
EP2235951A4 (en) | 2014-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NO328906B1 (no) | Fremgangsmate for forbedring av farveskarphet i video- og stillbilder | |
US20200382800A1 (en) | Parameter derivation for intra prediction | |
US20200382769A1 (en) | Neighboring sample selection for intra prediction | |
US10242646B2 (en) | RGB to YUV format conversion and inverse conversion method and circuit for depth packing and depacking | |
EP3298787B1 (en) | Pixel pre-processing and encoding | |
EP3017594B1 (en) | Method and processor for efficient video processing in a streaming environment | |
EP3586509B1 (en) | Method and device for decoding a high-dynamic range image | |
US8780996B2 (en) | System and method for encoding and decoding video data | |
US20220103720A1 (en) | Method and device for color gamut mapping | |
CN107211128A (zh) | 自适应色度下采样和色彩空间转换技术 | |
JP5734617B2 (ja) | 映像データの処理装置、表示システム、及び処理方法 | |
US6665344B1 (en) | Downconverting decoder for interlaced pictures | |
EP1613097A1 (en) | Digital video signal compression and decompression method and apparatus | |
US20240137574A1 (en) | Adaptive bilateral filter in video coding | |
US20120263356A1 (en) | Method for efficient representation and processing of color pixel data in digital pathology images | |
US20110317755A1 (en) | Systems and methods for highly efficient compression of video | |
US20240137573A1 (en) | Bilateral filter in video coding | |
Chung et al. | Effective content-aware chroma reconstruction method for screen content images | |
CN109413445A (zh) | 一种视频传输方法及装置 | |
Vermeir et al. | Adaptive guided image filtering for screen content coding | |
JP2005348176A (ja) | 画像処理装置 | |
KR100255773B1 (ko) | 디지탈 티브이 수신 디코더 장치의 역 이산코사인변환기 | |
KR100255777B1 (ko) | 디지탈 티브이 수신 디코더 장치 | |
WO2020176220A1 (en) | Adaptive variation of chroma subsampling in image compression | |
Lin et al. | Low-Complexity Chroma Subsampling Using Optimal Lines of Subproblems of Pixel Distortion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM1K | Lapsed by not paying the annual fees |