NO174986B - Mönster - prosessering - Google Patents
Mönster - prosessering Download PDFInfo
- Publication number
- NO174986B NO174986B NO883209A NO883209A NO174986B NO 174986 B NO174986 B NO 174986B NO 883209 A NO883209 A NO 883209A NO 883209 A NO883209 A NO 883209A NO 174986 B NO174986 B NO 174986B
- Authority
- NO
- Norway
- Prior art keywords
- values
- pattern
- patterns
- store
- class
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
-
- 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/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- 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/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/527—Global motion vector 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Ultra Sonic Daignosis Equipment (AREA)
- Error Detection And Correction (AREA)
- Image Processing (AREA)
- Exposure Of Semiconductors, Excluding Electron Or Ion Beam Exposure (AREA)
- Acyclic And Carbocyclic Compounds In Medicinal Compositions (AREA)
- Image Analysis (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Polarising Elements (AREA)
- Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)
- Mechanical Treatment Of Semiconductor (AREA)
- Radar Systems Or Details Thereof (AREA)
- Dc Digital Transmission (AREA)
- Details Of Television Scanning (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Crystals, And After-Treatments Of Crystals (AREA)
- Power Steering Mechanism (AREA)
- Picture Signal Circuits (AREA)
- Photoreceptors In Electrophotography (AREA)
Description
Den foreliggende oppfinnelsen vedrører mønster-prosessering og angår spesielt, dog ikke utelukkende, det å anvende slik prosessering til koding av videosignaler.
Et eksempel er i videokodere som benytter seg av inter-billedlig betinget utfyllende koding for overføring av bevegelige bilder. Differansen mellom bildeelement-verdier og forutsette verdier (dvs. dem fra det foregående delbildet) tas. Differansene tilføres en terskelkrets som for hver differanseverdi tilveiebringer en "1" eller "0" som indikerer om en"terskelverdi er overskredet eller ikke, og danner derved en "bevegelsesmatrise". Bare de elementverdiene (eller, om foretrukket, elementdifferansene) med "1" idet korresponderende elementet til bevegelsesmatrisen blir kodet for overføring.
I mottakeren blir den mottatte informasjonen brukt til å oppdatere et bilde som er lagret i et lokalt bildelager. For at mottakeren skal kunne dekode den mottatte informasjonen på korrekt måte må sideinformasjon som indikerer hvilke koeffisienter som er sendt inkluderes i overføringen. Det å sende alle bitene til bevegelsesmatrisen medfører overføring av en betydelig mengde overflødige data (overhead), og det har derfor vært foreslått å dele bildet inn i 8 x 8 blokker og "vektorkvantisere" hver 8x8 bevegelsesmatrise ved å tilpasse den til den nærmeste av en mengde av (f.eks.) 32 mønstre som kan identifiseres for mottakeren ved bruk av bare 5 overførte biter. Hittil har denne tilpasningen vært oppnådd ved å bruke en korrelasjonsmetode med mønstrene. Dette er beregningsmessig ekstravagant, og selv med høyhastighets prosessering er 32 mønstre normalt det maksimale antall som i praksis kan benyttes i sann tid.
Teknikken lar seg også benytte til såkalte hybrid-videokodere hvor en kombinasjon av transformkoding og inter-billedlig betinget utfyllende koding benyttes. Transformkoding omfatter å anvende en todimensjonal transformasjon som Hadamard- eller diskret cosinus (DCT)-transformasjon til (for eksempel 8x8) blokker av billedelementer for å danne en korresponderende matrise av transformasjons-koeffisienter
(transformasjonen av et helt bilde på en gang er for langsom for sanntids prosessering). Her er bevegelsesmatrisen basert på differansene mellom koeffisientene til matrisen til det nåværende delbildet og den fra det foregående delbildet.
I en variant av denne prosedyren kan differansene mellom delbildene tas før transformasjonen istedet for etter.
Ifølge en side ved den foreliggende oppfinnelsen er det tilveiebrakt et apparat for å klassifisere en mengde verdier som representerer et todimensjonalt mønster, og apparatet kjennetegnes ved at det omfatter en summasjonsanordning for å danne en veid sum, modulo x, av disse verdiene, hvor x er et heltall mindre enn 2P, og hvor p er antall verdier i mengden, og et lager (8) med x plasser som hver inneholder et klasseidentifikasjons-ord som representerer ett av en mengde av standardmønstre, idet adresseinngangene til lageret er koplet for å motta utdata fra summasjonsanordningen.
Ifølge en annen side ved oppfinnelsen er det tilveiebrakt en anordning for videokoding, omfattende et apparat for å klassifisere en mengde av verdier som representerer et todimensjonalt mønster. Anordningen kjennetegnes ved at den har inter-billedlige kodeanordninger og midler som generer en bevegelsesmatrise som indikerer de elementene av et bildemønster som har endret seg vesentlig mellom delbildene, at det nevnte apparat omfatter en summasjonsanordning for å danne en veid sum, modulo x, av de nevnte verdiene, hvor x er et heltall mindre enn 2P, og hvor p er antall verdier i mengden, og et lager med x plasser som hver inneholder et klasseidentifikasjons-ord som representerer ett av en mengde av standardmønstre. Adresseinngangene til lageret er koplet for å motta utdata fra summasjonsanordningen, hvorved apparatet benyttes for å klassifisere slike bevegelsesmatriser, og anordningen har også midler for overføring til en mottaker, for hvert billedmønster, av det korresponderende klasseidentifikasjonsordet og informasjon som vedrører de elementene i billedmønsteret som er valgt i samsvar med standardmønstret som er assosiert med det
klasseidentif ikasj onsordet.
I prinsipp kunne verdiene det er henvist til være verdiene assosiert med hvert element i mønsteret, men summeringen kan forenkles og utledningen av vekttallene og modulus gjøres enklere ved først å danne en mengde av verdier som hver representerer et antall elementer. Således vil man fortrinnsvis utlede mengden av verdier ved å identifisere, for hver av flere grupper av elementer i mønsteret, den ene i en mengde av forhåndsdefinerte slike grupper, som hver har en tilordnet kode, som gruppen likner mest på ifølge et forhåndsbestemt kriterium. Kodene assosiert med gruppene identifisert på denne måten danner mengden av verdier.
Gruppene kan være rekkene (eller kolonnene) i en rektangulær mønstermatrise, selv om andre valg er mulige.
En utførelsesform av den foreliggende oppfinnelse vil nå bli beskrevet, ved eksempler, med henvisning til de vedføyde tegningene, i hvilke: Figur 1 er et blokkdiagram av et apparat for vektor-kvantisering av bevegelsesmatriser,
figur 2 illustrerer en mengde av standard linjevektorer, figur 3 illustrerer en mengde av standardmønstre,
figur 4 er et diagram som illustrerer konseptet med avbildning av mønsterområder,
figurene 5 & 6 er flytdiagrammer for koeffisient- og modulusutledning, og
figur 7 er et diagram som illustrerer generering av bevegelsesvektorer.
Arrangementene som vil bli beskrevet er benyttet i en videokoder som antas å danne, som beskrevet i innledningen, en 8x8 bevegelsesmatrise for hver av et antall 8x8 pixel-blokker. Hvert element i bevegelsesmatrisen er en enkelt bit som indikerer hvorvidt det tilhørende billedelementet (eller transformasjons-koeffisienten) har endret seg vesentlig mellom delbildene.
Problemet drøftet over er å tilordne 2<64> mulige mønstre til et mindre antall (32) klasser. I teorien skulle det kunne oppnås ved å bruke en oppslagstabell med 2<64> klasser som hver inneholder et 5-bit tall som indikerer hvilken klasse mønsteret tilhører, men det er klart at en tabell av en slik størrelse er upraktisk. Selv om matrisen forbehandles med å vektorkvantisere rekkene til matrisen, det vil si å representere hver 8-bit linje med 5 biter, blir tabellstørrelsen fortsatt 2<40>. Den foreslåtte fremgangsmåten bruker en modulo x summeringsfunksjon til å avbilde de 2<64>
(2<40>) mønstrene til et mindre antall x klasser. Verdiene til summerings funksjonens koeffisienter og modulus x må selvsagt velges for å passe den ønskede mengden av mønstre, som drøftet nedenfor. Selv om en bestemt mengde av mønstre unntagsvis kan gjøre det mulig å få x lik antall klasser er dette som regel ikke tilfellet, men i praksis har det vist seg at x kan gjøres lite nok til å gjøre det mulig å lage en oppslagstabell med x klasser som hver inneholder et 5-bit tall som identifiserer en av de 32 klassene.
Figur 1 viser et arrangement som danner en del av en videokoder, hvilket arrangement tjener til å identifisere hvilket av 32 standardmønstre en innkommende 8x8x1 bit bevegelsesmatrise likner mest på. Bevegelsesmatrisen med en bit b(i,j) pr. element antas å være generert og er lagret i et 64-bit bufferlager 1. En 6-bit adresseteller 2 klokkes for å generere adresser fra 0 til 63 som tilføres adresseinngangene til lageret 1. Dataene b(i,j) som kommer fra lageret 1 og kolonneadressene j tilføres en linjekvantiserer 3 som danner en fem-bit linjevektor-kode q(i). Rekkeadressene i tilføres adresseinngangene til et koeffisient-leselager 4 med 8 plasser som hver inneholder en 8-bit koeffisent c(i). Linjevektor-kodene q(i) og data som kommer ut fra lageret 4 føres videre til en multiplikator 5 som danner produktet. Produktene tilføres en akkumulator som omfatter en modulo x adderer 6 og en 16-bit lås 7. Låsens utgang er tilbakekoplet til en av addererens innganger. Modulusen kan selvsagt ikke overstige 216.
Utdata fra akkumulatoren danner adresse-inndata til en oppslagstabell som består av et ytterligere leselager 8 med 2<16 >= 64K plasser (av hvilke bare x er brukt), som hver inneholder et fem-bit ord som identifiserer en av 32 mønsterklasser som
de innkommende bevegelsesmatrisene skal tilordnes.
Utdata 8 til lageret 7 tilveiebringer således fem-bit ordet som er valgt fra tabellen i samsvar med verdien av modulo x summen.
Betraktes prosessen mer detaljert, går det frem at det er antatt at det innkommende mønsteret består av en 8 x 8 matrise B med elementer b(i,j) som hvert er en enkel bit som indikerer hvorvidt et korresponderende billedelement (pixel) i et bilde er bedømt til å være i bevegelse ("1") eller ikke ("0"). Dette er en signifikant faktor i å finne kriteriet for likhet, siden det er gunstigere å representere en pixel som i bevegelse når den ikke er det, enn å representere en pixel i bevegelse som stasjonær.
I linjekvantisereren 3 blir informasjonsinnholdet i 8 x 8 x 1 matrisen "linjekvantisert" ved at hver horisontale linje med 8x1 biter tilpasses den nærmeste av en mengde av 8 x 1 basisvektorer. Seks basisvektorer er antatt, som vist i figur 2. Legg merke til at det i prinsipp ikke er nødvendig at gruppene på 8 biter som går igjennom denne prosessen utledes fra linjene til den innkommende matrisen. Andre valg er også mulige. Hver basisvektor representeres av en kode v0...v5. Disse kunne i prinsipp vært heltallene 0 til 6. Imidlertid har det vist seg at andre valg gir bedre resultater. Spesielt har det vist seg fordelaktig å bruke tall i god avstand fra hverandre, hovedsaklig primtall, i området 0 til 255 - eksempelvis 141, 95, 111, 173, 237, 29, 192, 224 eller 149, 97, 113, 173, 239, 29, 137, 43.
Mengden må velges manuelt, men sammenlikninger av mulige kandidat-mengder kan sammenliknes med å anvende den iterative algoritmen for beregning av koeffisientene som er beskrevet under på hver av dem (de samme tilfeldige tallene brukes i hvert tilfelle). Den mengden som gir den raskeste konvergensen antas å være den beste.
Tilpasningsprosessen krever at en innkommende linje med en "1" i en hvilken som helst posisjon ikke bør tilpasses til en basisvektor med en "0" i den posisjonen. For eksempel kan den tenkte innkommende linjen El vist i figur 2 ikke tilpasses til v4 (tilsynelatende den nærmeste) på grunn av "l"-eren i posisjon 7: den må tilpasses til v0.
På den måten fortsetter man ved å identifisere basis-vektoren (e) med "1" i alle posisjoner hvor den innkommende linjen har en "1". Hvis det finnes mer enn en, velges den nærmeste av disse, det vil si den som har færrest antall biter som er forskjellig fra de korresponderende bitene i den innkommende linjen.
Den innkommende 8x8 matrisen er nå omformet til en vektor [q(i)] med 8 elementer.
Denne vektoren kvantiseres nå ytterligere av multi-plikatoren 5 og akkumulatoren 6, 7 med hjelp av koeffisient-lageret 4 ved å danne en veid sum h av dets elementer modulo x, således:
(Denne definisjonen henvises til i den følgende beskrivelsen som en summefunksjon).
Når den innkommende matrisen på denne måten er omformet til en skalarsum (med verdimengde fra 0 til x) brukes denne for å få tilgang til oppslagstabellen til lageret 8, fra hvilket kodeord som indikerer det ene av de standard-mønstrene som skal brukes, kan leses ut. 14 eksempler på standard-mønstere er vist i figur 3, sammen med de tilsvarende kodene
Det går klart frem at den veide summen som vil bli dannet av akkumulatoren uten modulo x begrensningen representerer en avbildning av de mulige mønstrene - av hvilke noen få er representert i figur 4 som kryss, A til E, innen et tenkt mønster-område P, inn i et "sum"-område S med størrelse som vil avhenge av verdiene til koeffisientene c(j) og linjevektor-kodene v0...v5. Hvis koeffisientene er plassert i god numerisk avstand fra hverandre, vil alle mønstrene bli avbildet inn i ulike posisjoner innen området S. Hvis denne betingelsen ikke er tilfredsstilt, vil noen mønstre fremstå som det samme mønsteret i S-området (se mønster C, E). Dette er selvsagt bare ønskelig hvis de to mønstrene tilhører den samme klassen.
Bruken av modulo x akkumulering reduserer størrelsen til området S ved å folde det tilbake på seg selv en eller flere ganger. En enkelt folding er vist for illustrasjon i figur 4 hvor mønster B nå sammenfaller med C og E i området H.
Koeffisientene og modulusen må velges slik at en akseptabelt lav verdi av modulus oppnås samtidig som det sikres at, om mulig, kun de mønstrene som tilhører den samme klassen avbildes i de samme verdiene av H (selv om noen få feil kan, som drøftet under, tolereres i praksis). Oppfinneren kjenner ikke til noe teoretisk bevis for at dette kan oppnås, heller ikke til noen teoretisk metode for å utlede verdiene av c(i) og x. Eksperimenter har imidlertid vist at tilfredsstillende resultater kan oppnås ved å bruke en iterativ prosedyre for å finne disse verdiene.
En fremgangsmåte for å oppnå passende verdier for koeffisientene c(i) og modulus x vil nå bli beskrevet. En iterativ fremgangsmåte brukes for å finne koeffisientene c(i), og dette krever en periodisk test av de itererte koeffisientene ved å anvende summe-funksjonen (uten modulus begrensningen) på en testfølge av mønsteret.
Det er klart at det ikke er praktisk å teste alle 2<64 >mulige 8x8 mønstre, eller til og med de 2<40> mønstre som er mulige når de uttrykkes som linjekvantiserte vektorer. Derfor begrenses testen til standard-mønstrene selv, og en videre klasse av mønstere definert som varianter av standard-mønstrene. Et variantmønster er definert som et standardmønster (på basisvektor-form) med en eller flere av vektorene mønsteret består av byttet ut med en alternativ vektor. Hver basisvektor har kun et bestemt område av muligheter for substitusjon, nemlig de vektorene som har "l"ere kun i posisjoner hvor den opprinnelige vektoren også har en "1". Figur 2 lister variantvektorene forbundet med hver basisvektor. Mengden av variantmønstere omfatter alle mulige kombinasjoner av slike substitusjoner. Denne defininsjonen av varianter representerer et kriterium for likhet mellom et variantmønstrer og et basismønster. Dvs. når bildekoding utføres, bør et variantmønster danne det samme kodetallet som standardmønsteret det er en variant av gjør.
En test av en mengde av koeffisienter C = [c(i)] utføres ved å anvende summeringen på standard- og variantmønstrene for å oppnå verdier for summen h' (apostrofen indikerer at summen ikke er en modulosum). Hvis den fullføres, vil denne prosessen danne en mengde av verdier h' som ligger i verdimengden cimin 2 c(i) ti:L ^max 2 c(i) hvor qmin og <q>max er de minste og største verdiene av q (eller v).
Imidlertid sjekkes hver ny generert h' mot tidligere verdier av h'. Gjentak av en tidligere verdi av h' er akseptabel hvis mønstrene som gir opphav til den verdien tilhører den samme standardmønster / variantmønster-gruppen (det vil si at de har det samme kodetallet). Ellers impliserer dette en avbilding av adskilte mønstre til den samme verdien av h', og betegnes som et "sammenstøt". Antall sammenstøt som oppstår i testen tas som et mål på godheten TEST (C) til koeffisientmengden C som testes.
Den iterative prosessen er illustrert i flytdiagrammet på figur 5. Cn = [cn q <c>n,7^1 er ^en n'te iterasjonen til mengden av koeffisienter. RND(r, s) indikerer dannelsen av et tilfeldig tall i området r til s. Prosessen går frem som følger.
Et første estimat C0 gjøres (1). Dette kan være helt tilfeldig, eller prosessen kan forkortes ved at operatøren foretar en inspirert gjetning på et passende startpunkt. Deretter testes dette (2), og iterasjons- og maksimal tids ("time-out")- tellere initialiseres (3, 4). En ny verdi av Cn utledes (5) fra <C>n-1 ved å velge en tilfeldig (cn R) av koeffisientene og foreta en tilfeldig endring P av den. I den første iterasjonen foretas en stor endring (for eksempel i området 8 til 255 for koeffisientverdier i området 0 til 255) mens det i senere iterasjoner kun foretas en liten endring
(eksempelvis i området 1 til 7). Dette kan gjøres ved å legge til modulo 256 for å holde koeffisientene i området.
Deretter testes den nye koeffisientmengden (6). Hvis intet sammenstøt oppstår (7) er prosessen fullført. Ellers inkrementeres maksimaltids- telleren (8), og resultatet Gn av testen sammenliknes (9) med resultatet Gn-1 av den foregående testen. Hvis en forbedring er oppnådd, inkrementeres (10) løkketelleren og løkken gjentas inntil det er oppnådd en mengde av koeffisienter som ikke resulterer i et sammenstøt. Dette kravet kan imidlertid lempes på, enten fordi det ikke er oppnåelig, eller for å redusere iterasjonstiden, og iterasjonen stoppes når antall sammenstøt i en test er mindre enn en gitt brøkdel, for eksempel 5 eller 10%, av antall mønstre som er testet. Alternativt kan antall iterasjoner begrenses. Når sammenstøt tillates på denne måten er det nødvendig å avgjøre hvilken av de to (eller flere) klassene som avbildes på den bestemte verdien av h', den verdien av h' skal velges å representere. For å gjøre det resulterende antall klassifiseringsfeil minst mulig, vil man vanligvis velge klassen som har høyest sannsynlighet for å dukke opp i et typisk bilde.
Hvis det på noe tidspunkt ikke oppnås noen forbedring, forkastes den siste koeffisientmengden ved at det ikke lykkes å inkrementere løkketelleren før en ytterligere endring forsøkes (11). Hvis det er utført 10 mislykkede forsøk på å forbedre en bestemt koeffisientmengde, impliserer dette at prosessen går i gal retning, og løkketelleren dekrementeres (12) slik at både den siste og den foregående mengden forkastes. Selvsagt (13, 14) gjelder ikke denne begrensningen for den første iterasjonen (eller til etterfølgende tidspunkt hvor prosessen faller tilbake til G0) .
Avslutning av iterasjonen gir en mengde koeffisienter Cn som ikke gir sammenstøt (eller et begrenset antall sammenstøt) i testen når modulus-begrensningen ikke anvendes på summeringen. Mengden av verdier h'j (j=0...T-l, hvor T er antall testede mønstre) som er oppnådd ved å bruke den mengden av koeffisienter antas (6a) å være lagret, og behandles nå for å finne modulusen x. Dette oppnås ved å konvertere mengden av h' for suksessive verdier av x fra og med M, hvor M er antall standardmønstre.
Den minste verdien av x som ikke gir opphav til et sammenstøt (som definert ovenfor) - eller et begrenset antall sammenstøt - er det påkrevde resultatet. Denne prosessen er illustrert i flytdiagrammet på figur 6. Den ytre løkken A undersøker hver verdi av x i tur og orden, og avsluttes når den finner en verdi som ikke gir opphav til et sammenstøt. Den midtre løkken B beregner, for nåværende modulus x, hver påfallende verdi av hk, mens den indre løkken C sjekker hk mot alle tidligere verdier av h ved denne verdien av x, for sammenstøt.
Det går klart frem at ikke alle mulige innkommende mønstre er testet ved utledning av koeffisientene og modulus. Det er meningen at standardmønstrene og deres varianter bør velges for å dekke mønstrene av størst interesse. I dette eksempelet er det meningen å representere mønstre hvor flere enn halvparten av klassene inneholder "1" med et standard "bare enere" mønster (Z13) . Disse og andre utestede mønstre kan i operasjonene gi opphav til falske resultater, og derfor omfatter fremgangsmåten som et ytterligere steg å kontollere resultatet. Standardmønsteret som tilsvarer den oppnådde koden sammenliknes med det innkommende mønsteret. Hvis det sistnevnte innholder en "1" på en hvilken som helst plass hvor det førstnevnte ikke gjør det, mislykkes kontrollen, og Z13 byttes ut med den oppnådde koden. Operasjonen er gjengitt skjematisk i figur 1 av testenhet 9 og veksler 10. Denne prosessen vil også kompensere for feil forårsaket av det alternative mildnende sammenstøt-kriteriet henvist til ovenfor.
En annen anvendelse av oppfinnelsen er ved generering av bevegelsesvektorer. Dette omfatter å sammenlikne en blokk av et foregående delbilde med forskjøvne blokker av det nåværende delbildet (eller vice versa), for å finne blokkposisjonen innen det nåværende delbildet som samsvarer mest med den foregående blokken, og danne en bevegelsesvektor som representerer bevegelsens størrelse og retning. En bruk av denne teknikken er i inter-billedlige kodingssystemer, hvor bevegelsesvektoren kan overføres til mottakeren og brukes til å forbedre det foregående delbildets effektivitet som prediktor ved istedet å bruke det foregående delbildet med passende deler av bildet forskjøvet.
Som tidligere er korrelasjonsmetoder langsomme. Bruken av bevegelsesvektorer på denne måten krever ikke at tilpasningen mellom blokkene som er forskjøvet og de som ikke er det er eksakt, sålenge resultatet er en bedre prediksjon enn det umodifiserte foregående delbildet.
Resultatene av dannelsen av bevegelsesvektorer som nå skal beskrives, kan brukes direkte, eller kan danne et første estimat for å begrense "søkeområdet" for konvensjonelle metoder for å generere bevegelsesvektorer.
Det antas at alle blokkene i bildet har blitt tilordnet kodenummere som på den ovenfor beskrevne måte (basert på elementverdier istedefor transformasjonskoeffisienter). Man går frem ved først å lokalisere en eller flere blokker med "bare bevegelse" koden Z13 - dvs. ved å identifisere de områdene av bildet hvor det forekommer en vesentlig mengde bevegelse.
For hver slik blokk foretas en sammenlikning mellom kodene for den blokkposisjonen i de nåværende og foregående delbildene for å bestemme retningen til bevegelsen som denne representerer (som vil bli beskrevet i større detalj nedenfor). De åtte omgivende blokkene granskes på tilsvarende måte, og hvis konsistens oppnås (for eksempel hvis mer enn halvparten av de utledete retningene er de samme), så blir denne retningen tatt som det påkrevde estimatet.
Sammenlikningsprosessen er illustrert i figur 7. Hvis kodene for de foregående og nåværende delbildene er Z X1 og Z6, som representerer standardmønstrene illustrert i figur 7(a), så antas bevegelsens retning å være som illustrert av pilen.
Figurene 7(b) og (c) illustrerer ytteliggere eksempler. En oppslagstabell kan tilveiebringes med bevegelsesvektor-parametre som tilsvarer hvert kodepar.
Hvis en sammenlikning av to blokker viser at de er i total bevegelse, oppnås selvsagt ingen informasjon, og bestemmelsen tas på basis av sammenlikningene mellom blokkene som omgir denne blokken eller - hvor tilliggende blokker også er i total bevegelse i begge delbildene - blokkene som omgir en gruppe av slike blokker.
Claims (8)
1. Apparat for å klassifisere en mengde av verdier som representerer et todimensjonalt mønster, karakterisert ved at det omfatter en summasjonsanordning (5,6,7) for å danne en veid sum, modulo x, av disse verdiene, hvor x er et heltall mindre enn 2P, og hvor p er antall verdier i mengden, og et lager (8) med x plasser som hver inneholder et klasseidentifikasjons-ord som representerer ett av en mengde av standardmønstre, idet adresseinngangene til lageret (8) er koplet for å motta utdata fra summasjonsanordningen (5,6,7) .
2. Apparat ifølge krav 1,
karakterisert ved at det omfatter midler (1,3) for å motta data som representerer de respektive elementene i mønsteret og for å identifisere, med hensyn på hver av flere grupper av elementer i mønsteret, hvilken i et sett av forhåndsdefinerte slike grupper som likner mest på denne ifølge et forhåndsbestemt kriterium, idet hver gruppe i settet av forhåndsdefinerte slike grupper har tilordnet en kode, hvor kodene assosiert med gruppene identifisert på denne måten danner mengden av verdier.
3. Apparat ifølge krav 1 eller 2, karakterisert ved at den veide summen dannes av en summasjonsfunksjon av formen:
hvor q(i) er de nevnte verdiene, N er antall verdier i mengden, og c(i) er vekttall eller koeffisienter som er utledet ved en iterativ prosess i hvilken en tilfeldig endring av koeffisientverdiene er foretatt, og en modifisert summasjonsfunksjon definert av:
anvendes på en rekke av testmønstre, hvilken tilfeldig endring opprettholdes for en ytterligere iterasjon bare hvis endringen har resultert i en forbedring i antall sammenstøt som oppstår, hvilket sammenstøt defineres som dannelsen av identiske verdier av h' med hensyn til to mønstre som ifølge et forhåndsbestemt klassifiserings-kriterium ikke tilhører den samme klassen, og prosessen gjentas.
4. Apparat ifølge krav 3,
karakterisert ved at modulusen x er utledet ved å finne det minste heltallet for hvilket modulo-reduksjon av h' verdiene oppnådd for mengden av koeffisienter funnet ved iterasjon resulterer i ingen sammenstøt, eller i færre enn et forhåndsbestemt antall sammenstøt.
5. Apparat ifølge et av de foregående krav, karakterisert ved at det videre omfatter testmidler (9) for å sammenlikne det todimensjonale mønsteret med standardmønsteret som svarer til klasseidentifikasjonsordet oppnådd ved utgangen til lageret (8), og for å substituere et alternativt klasseidentifikasjonsord i tilfelle mønsteret ikke tilhører den samme klassen som standardordet, i henhold til et forhåndsbestemt klassifiseringskriterium.
6. Anordning for videokoding, omfattende et apparat for å klassifisere en mengde av verdier som representerer et todimensjonalt mønster,
karakterisert ved at anordningen har inter-billedlige kodeanordninger og midler som generer en bevegelsesmatrise som indikerer de elementene av et bildemønster som har endret seg vesentlig mellom delbildene, at det nevnte apparat omfatter en summasjonsanordning for å danne en veid sum, modulo x, av de nevnte verdiene, hvor x er et heltall mindre enn 2P, og hvor p er antall verdier i mengden, og et lager med x plasser som hver inneholder et klasseidentifikasjons-ord som representerer ett av en mengde av standardmønstre, idet adresseinngangene til lageret er koplet for å motta utdata fra summasjonsanordningen, hvorved apparatet benyttes for å klassifisere slike bevegelsesmatriser, samt midler for overføring til en mottaker, for hvert billedmønster, av det korresponderende klasseidentifikasjonsordet og informasjon som vedrører de elementene i billedmønsteret som er valgt i samsvar med standardmønstret som er assosiert med det klasseidentifikasjonsordet.
7. Anordning for videokoding ifølge krav 6, karakterisert ved at det omfatter midler for å danne en bevegelsesvektor med hensyn til et billedområde i bevegelse ved å sammenlikne klasseidentifikasjonsord for de korresponderende områdene i to på hverandre følgende delbilder.
8. Anordning for videokoding ifølge krav 7, karakterisert ved at sammenlikningen utføres ved å benytte de to klasseidentifikasjonsordene som tilgang til en oppslagstabell i hvilken det er lagret bevegelsesvektorer som tilsvarer de respektive kombinasjoner av klasseidentif ikas j onsord.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB868627787A GB8627787D0 (en) | 1986-11-20 | 1986-11-20 | Pattern processing |
| PCT/GB1987/000816 WO1988004084A1 (en) | 1986-11-20 | 1987-11-17 | Pattern processing |
Publications (4)
| Publication Number | Publication Date |
|---|---|
| NO883209D0 NO883209D0 (no) | 1988-07-19 |
| NO883209L NO883209L (no) | 1988-09-19 |
| NO174986B true NO174986B (no) | 1994-05-02 |
| NO174986C NO174986C (no) | 1994-08-10 |
Family
ID=10607665
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| NO883209A NO174986C (no) | 1986-11-20 | 1988-07-19 | Mönster - prosessering |
Country Status (20)
| Country | Link |
|---|---|
| US (1) | US4930013A (no) |
| EP (1) | EP0272794B1 (no) |
| JP (1) | JP2674770B2 (no) |
| KR (1) | KR950001947B1 (no) |
| CN (1) | CN1015951B (no) |
| AT (1) | ATE133508T1 (no) |
| AU (1) | AU607450B2 (no) |
| CA (1) | CA1292320C (no) |
| DE (1) | DE3751684T2 (no) |
| DK (1) | DK171882B1 (no) |
| ES (1) | ES2081799T3 (no) |
| FI (1) | FI96646C (no) |
| GB (1) | GB8627787D0 (no) |
| HK (1) | HK110897A (no) |
| IE (2) | IE65473B1 (no) |
| IN (4) | IN170294B (no) |
| NO (1) | NO174986C (no) |
| NZ (1) | NZ222623A (no) |
| PT (1) | PT86190B (no) |
| WO (1) | WO1988004084A1 (no) |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5083206A (en) * | 1990-03-19 | 1992-01-21 | At&T Bell Laboratories | High definition television arrangement including noise immunity means |
| JPH03272290A (ja) * | 1990-03-20 | 1991-12-03 | Victor Co Of Japan Ltd | 画像フィルタ処理装置 |
| US6005627A (en) * | 1991-05-31 | 1999-12-21 | Kabushiki Kaisha Toshiba | Video coding apparatus |
| US5325126A (en) * | 1992-04-01 | 1994-06-28 | Intel Corporation | Method and apparatus for real time compression and decompression of a digital motion video signal |
| US5337085A (en) * | 1992-04-10 | 1994-08-09 | Comsat Corporation | Coding technique for high definition television signals |
| DE4314483A1 (de) * | 1993-05-03 | 1994-11-10 | Philips Patentverwaltung | Überwachungssystem |
| US5909460A (en) * | 1995-12-07 | 1999-06-01 | Ericsson, Inc. | Efficient apparatus for simultaneous modulation and digital beamforming for an antenna array |
| US6614845B1 (en) * | 1996-12-24 | 2003-09-02 | Verizon Laboratories Inc. | Method and apparatus for differential macroblock coding for intra-frame data in video conferencing systems |
| FR2770726A1 (fr) * | 1997-11-03 | 1999-04-30 | Telediffusion Fse | Procede de transmission d'images video numerisees |
| JP4636786B2 (ja) * | 2003-08-28 | 2011-02-23 | カシオ計算機株式会社 | 撮影画像投影装置、撮影画像投影装置の画像処理方法及びプログラム |
| CN1319373C (zh) * | 2003-09-19 | 2007-05-30 | 四川长虹电器股份有限公司 | 一种信号模式识别的方法及adc参数的设置方法 |
| US7965773B1 (en) * | 2005-06-30 | 2011-06-21 | Advanced Micro Devices, Inc. | Macroblock cache |
| US10402436B2 (en) | 2016-05-12 | 2019-09-03 | Pixel Forensics, Inc. | Automated video categorization, value determination and promotion/demotion via multi-attribute feature computation |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE2423817A1 (de) * | 1973-07-16 | 1975-02-06 | Ibm | Verfahren und schaltungsanordnungen zur codierung zweidimensionaler bildinformationen |
| JPS5952768B2 (ja) * | 1976-09-14 | 1984-12-21 | 三菱電機株式会社 | 色彩図形の特徴抽出方式 |
| JPS5929020B2 (ja) * | 1977-06-08 | 1984-07-17 | 松下電器産業株式会社 | 2次元ブロック符号化方法 |
| JPS55105475A (en) * | 1979-02-06 | 1980-08-13 | Nippon Telegr & Teleph Corp <Ntt> | Color picture coding process system |
| CA1212452A (en) * | 1982-06-11 | 1986-10-07 | Tokumichi Murakami | Vector quantizer |
| EP0192929A1 (de) * | 1985-02-07 | 1986-09-03 | Siemens Aktiengesellschaft | Anordnung zum selbsttätigen Ermitteln von Reaktionen in Abhängigkeit von Situationen |
| US4779131A (en) * | 1985-07-26 | 1988-10-18 | Sony Corporation | Apparatus for detecting television image movement |
-
1986
- 1986-11-20 GB GB868627787A patent/GB8627787D0/en active Pending
-
1987
- 1987-11-17 WO PCT/GB1987/000816 patent/WO1988004084A1/en not_active Ceased
- 1987-11-17 JP JP62506817A patent/JP2674770B2/ja not_active Expired - Lifetime
- 1987-11-17 IN IN827/MAS/87A patent/IN170294B/en unknown
- 1987-11-17 US US07/221,790 patent/US4930013A/en not_active Expired - Lifetime
- 1987-11-17 DE DE3751684T patent/DE3751684T2/de not_active Expired - Lifetime
- 1987-11-17 AT AT87310139T patent/ATE133508T1/de not_active IP Right Cessation
- 1987-11-17 KR KR1019880700873A patent/KR950001947B1/ko not_active Expired - Fee Related
- 1987-11-17 EP EP87310139A patent/EP0272794B1/en not_active Expired - Lifetime
- 1987-11-17 AU AU82342/87A patent/AU607450B2/en not_active Ceased
- 1987-11-17 ES ES87310139T patent/ES2081799T3/es not_active Expired - Lifetime
- 1987-11-19 CA CA000552281A patent/CA1292320C/en not_active Expired - Lifetime
- 1987-11-20 IE IE314087A patent/IE65473B1/en not_active IP Right Cessation
- 1987-11-20 NZ NZ222623A patent/NZ222623A/xx unknown
- 1987-11-20 CN CN87101244A patent/CN1015951B/zh not_active Expired
- 1987-11-20 PT PT86190A patent/PT86190B/pt not_active IP Right Cessation
- 1987-11-20 IE IE873140A patent/IE873240L/xx unknown
-
1988
- 1988-07-12 DK DK389588A patent/DK171882B1/da active
- 1988-07-19 NO NO883209A patent/NO174986C/no unknown
- 1988-07-20 FI FI883431A patent/FI96646C/fi not_active IP Right Cessation
-
1991
- 1991-05-27 IN IN400MA1991 patent/IN173776B/en unknown
- 1991-05-27 IN IN402MA1991 patent/IN173778B/en unknown
- 1991-05-27 IN IN401MA1991 patent/IN173777B/en unknown
-
1997
- 1997-06-29 HK HK110897A patent/HK110897A/en not_active IP Right Cessation
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| NO174986B (no) | Mönster - prosessering | |
| EP1715695A2 (en) | Encoding system of motion image containing arbitrary shape objects | |
| US5732157A (en) | Image processing apparatus and method using lossless encoding of a difference between image blocks | |
| JPS6318777A (ja) | デイザ信号の符号復号処理方法 | |
| KR20040091208A (ko) | 동영상 전송 시스템의 에러 검출 방법 | |
| SE511514C2 (sv) | Förfarande och anordning för bildkompression | |
| US7085421B2 (en) | Image processing method for facilitating data transmission | |
| JPH1023259A (ja) | 画像パターン変換装置 | |
| JPH09139955A (ja) | データ符号化装置およびその方法ならびにデータ復号化装置およびその方法 | |
| US5815600A (en) | Image data signal compression/transmission method and image data signal compression/transmission system | |
| US7450769B2 (en) | Image processing method for facilitating data transmission | |
| JP3226637B2 (ja) | 予測符号化方式の符号化装置および復号化装置 | |
| KR100613106B1 (ko) | 나무구조벡터양자화(tsvq)에 기반하는 부호화를 위한 인덱스할당방법 | |
| KR0173079B1 (ko) | 프린팅 방법 | |
| JPS63185166A (ja) | 階調画像デ−タ圧縮方式 | |
| KR940007683B1 (ko) | 중간조화상의 경계성분을 보존하는 블럭 부호화방법 | |
| JP2561292B2 (ja) | 画像データの圧縮装置 | |
| JP3295507B2 (ja) | 二値画像符号化復号化方法 | |
| JPH06311368A (ja) | 2値画像伝送装置 | |
| Xu et al. | Context clustering in lossless compression of gray-scale image | |
| JP2936042B2 (ja) | 2値画像伝送装置 | |
| JPH09284568A (ja) | 画像圧縮方法 | |
| JP2001169118A (ja) | 画像処理装置及びその方法、コンピュータ可読メモリ | |
| JPH06141184A (ja) | 多値画像データ符号化方法および装置、と多値画像データ復元方法および装置 | |
| Lo et al. | New fast VQ encoding algorithm for image compression |