Teknisk område Den foreliggende oppfinnelsen angår multimediakompresjonssystemer. Spesielt viser den foreliggende oppfinnelsen fremgangsmåter, et

Like dokumenter
(12) PATENT (19) NO (11) (13) B1 NORGE

kontekstadaptiv binær aritmetisk koding (CABAC) som dekoder (806) den første gruppen av syntakselementer;

Anordning og fremgangsmåte for kanalkoding og -dekoding i et kommunikasjonssystem som anvender low-density parity-check-koder

DV - CODEC. Introduksjon

(12) PATENT (19) NO (11) (13) B1. (51) Int Cl. NORGE. Patentstyret

NORGE. Patentstyret (12) SØKNAD (19) NO (21) (13) A1. (51) Int Cl.

Nyere Videoformater. Disclaimer

TDT4105/TDT4110 Informasjonsteknologi grunnkurs:

(12) PATENT (19) NO (11) (13) B1 NORGE. (51) Int Cl. Patentstyret

NORGE. Patentstyret (12) SØKNAD (19) NO (21) (13) A1. (51) Int Cl. G06Q 20/00 ( )

Lempel-Ziv-koding. Lempel-Ziv-koding. Eksempel på Lempel-Ziv. INF 2310 Digital bildebehandling. Kompresjon og koding Del II

PATENTKRAV. - før filtreringen per se av etterspørselskurven:

DOBBELTSKRÅNENDE BAUGTANK FOR NLG-FARTØY

EP Patentkrav. 1. Dekoder omfattende:

Fremgangsmåte og apparat for separering av en væske fra en gassinnstrømning i en katalytisk reaktor

(12) PATENT (19) NO (11) (13) B1 NORGE. (51) Int Cl. Patentstyret

Patentkrav. 2. Fremgangsmåte ifølge krav 1, der nevnte mottaker er en VR/AR-innretning.

(12) Translation of european patent specification

PATENTKRAV. og en første lett kjede og en andre lett kjede, hvor første og andre lette kjeder er forskjellige.

Overføring av petroleumsbrønndata fra en mobil borerigg. Den foreliggende redegjørelsen vedrører petroleumsbrønndata innsamlet på mobile borerigger.

Introduksjon Bakgrunn

Analog til digital omformer

INF1040 Digital representasjon

Senderplattform og tilhørende fremgangsmåte for å sende signaler på flere frekvensressurser i et telekommunikasjonssystem

Løsningsforslag, Ukeoppgaver 9 INF2310, våren kompresjon og koding del I

TRANSPORTENHET FOR LEVENDE FJÆRFE OM BORD PÅ EN LASTEBIL

Reelle tall på datamaskin

Patentkrav. 1. Fremgangsmåte med følgende trinn:

INF 1040 Løsningsforslag til kapittel

En pneumatisk madrass er en madrass som har en flerhet av pneumatiske celler som

Forbedret tilordning i et cellulært system

Oppfinnelsens tekniske område

Løsning av øvingsoppgaver, INF2310, 2005, kompresjon og koding

INF2810: Funksjonell Programmering. Huffman-koding

Anordning og fremgangsmåte for fjerning av barrer fra støpeformer og støpeinstallasjoner med en slik anordning

P28416NO05. Fagfelt Oppfinnelsen angår generelt fleksible rør og især en ny utforming for et fleksibelt rør med et tett båndlag.

BAGASJE MED MELLOMLIGGENDE PLATE

Søknadsnr.: CURO AS, Industriveien 53, 7080 Heimdal

For J kvantiseringsnivåer er mean square feilen:

Tittel: Metode og enhet for randomisering av en hemmelig nøkkel for beskyttelse mot angrep fra supplerende kanaler

INF1040 Oppgavesett 6: Lagring og overføring av data

Leketøysbyggesett. Med det er det mulig f.eks. for et barn å bygge konstruksjoner, så som leketøysfigurer med leddede kroppsdeler.

NORGE. Patentstyret (12) SØKNAD (19) NO (21) (13) A1. (51) Int Cl.

ALL YOU NEED IS BLU. Blu-ray Disc og Blu-ray 3D Fremtiden er her nå LÆR OM DITT NYE VIDEOFORMAT DETTE TRENGER DU. Blu-ray eller Blu-ray 3D-filmer

Kanalbæreelement, fremgangsmåte for å fremstille kanalbæreelement og bæresystem for et tørrveggstak

SIE 4005, 9/10 (4. Forelesn.)

FREMGANGSMÅTE FOR Å SORTERE POSTFORSENDELSER I FLIP/FLOP MODUS

Utregning av en konvolusjonssum

(12) Oversettelse av europeisk patentskrift

Fremgangsmåte for å styre strømforsyningsinnstillinger for en mottaker/dekoder for betal-tv

signalstyrken mottatt fra mini-bts-laveffektsstasjonen, å registrere signalstyrken mottatt

Løsningsforslag, Ukeoppgaver 9 INF2310, våren kompresjon og koding del I

Arnstein Andreassen. Windows media series? Familie av digital media software

(12) PATENT (19) NO (11) (13) B1. (51) Int Cl. NORGE. Patentstyret

Forelesning 25. MAT1030 Diskret Matematikk. Litt repetisjon. Litt repetisjon. Forelesning 25: Trær. Dag Normann

(12) PATENT (19) NO (11) (13) B1. (51) Int Cl. NORGE. Patentstyret

Oppfinnelsen angår generelt fleksible rør og især en ny utforming for et fleksibelt rør med et tett båndlag og en fremgangsmåte for å fremstille et

(12) Translation of european patent specification

MAT1030 Diskret Matematikk

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and

UNDERBUKSE FOR MENN MED SEPARAT ROM FOR PENIS.

Tittel: Fleksibelt rørformet element med tettende tapelag

Repetisjon: Sampling. Repetisjon: Diskretisering. Repetisjon: Diskret vs kontinuerlig. Forelesning, 12.februar 2004

d. Utviklingssteg for å utforme animasjonssekvenser:

INF2810: Funksjonell Programmering. Huffman-koding

Sampling, kvantisering og lagring av lyd

UTLEGGINGSANORDNING OG FREMGANGSMÅTE FOR UTLEGGING AV BETONGMATTER PÅ EN SJØBUNN

Tittel: WC-SKÅL OG MONTERINGSSOKKEL BAKGRUNN FOR OPPFINNELSEN

(12) Oversettelse av europeisk patentskrift

Oppfinnelsen vedrører en bunn eller øverste del av en åttekantet pakke, og en flat foldet struktur derav.

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen

Datamaskinens oppbygning

Den foreliggende oppfinnelsen vedrører generelt en propell for anvendelse i en båt, og mer spesifikt en propell som kan øke båtens fremdriftskraft.

UNIVERSITETET I OSLO

(12) PATENT (19) NO (11) (13) B1 NORGE. (51) Int Cl. Patentstyret

(12) PATENT (19) NO (11) (13) B1. (51) Int Cl. NORGE. Patentstyret

Modell: en binær symmetrisk kanal. binær: sendes kun 0 eller 1

Plan. Oppgaver og repetisjon Eksempler med fikspunkt og induksjon: 1. sortering 2. divisjon 3. Heis? IN 315: Foilsett 9: Unity: Arkitekturer

Inspeksjon Brukermanual

Konfigurasjonsstyring. INF1050: Gjennomgang, uke 11

Forkunnskapskrav. Hva handler kurset om. Kontaktinformasjon. Kurset er beregnet på en student som kan

Divar - Archive Player. Driftshåndbok

Husk å registrer deg på emnets hjemmeside!

Søker: Tage Stabell-Kulø Vesterliveien Tromsø

MAT1030 Forelesning 25

INF2810: Funksjonell Programmering. Huffmankoding

NORGE. Patentstyret (12) SØKNAD (19) NO (21) (13) A1. (51) Int Cl.

NORGE. Patentstyret (12) SØKNAD (19) NO (21) (13) A1. (51) Int Cl.

er utformet for å likne veldig på en arm, ikke vil være en særlig god kandidat til en hale.

Oppfinnelsen vedrører en sykkel som har en ramme, et sykkelstyre og en kopling som er utformet for festing og låsing på en fast holder anbrakt i

Anvendelse av en sensibiliseringssammensetning for et eksplosiv

Oppfinnelsens område. Bakgrunn for oppfinnelsen

Håbamyrå Sandnes. Lasse Haugland Pastellveien Bryne. Postboks SANDNES

Informasjonsteori Skrevet av Joakim von Brandis,

(12) Translation of european patent specification

MUVI ATOM micro DV Produkt Innhold

FREMGANGSMÅTE FOR DEAKTIVERING OG EVENTUELT REAKTIVERING AV SIM-KORT

Europeisk patent nr P16219NOEP. P.O. Box Tranås Sverige. Strandgaten Bergen. Stallbergavägen 1B S Sommen Sverige

Håbamyrå Sandnes. Lasse Haugland Pastellveien Bryne. Postboks SANDNES

Obligatorisk oppgave 2 INF2310 Våren 2018

Transkript:

1 2 3 Teknisk område Den foreliggende oppfinnelsen angår multimediakompresjonssystemer. Spesielt viser den foreliggende oppfinnelsen fremgangsmåter, et datamaskinlesbart medium og et datamaskinsystem av den art som er angitt i de etterfølgende patentkrav. Kjent teknikk Digitalt baserte elektroniske mediaformater er definitivt i ferd med å erstatte analoge elektroniske mediaformater i stor grad. Digitale CD-plater har i lang tid erstattet analoge vinylplater. Analoge magnetkassetter er i ferd med å bli sjeldne. Andre og tredje generasjons digitale lydsystemer, slik som minidisker og MP3 (MPEG audio-lag 3) tar nå markedsandeler fra det førstegenerasjons lydformatet til CD en. Videomedia har vært tregere med å flytte seg over til digitale lagrings- og overføringsformater enn lyd. Dette har stort sett skyldtes de massive mengdene med digital informasjon som kreves for å representere video i digital form nøyaktig. De massive mengdene med digital informasjon som behøves for å nøyaktig representere video krever svært høykapasitets digitale lagringssystemer og overføringssystemer med høy båndbredde. Imidlertid forflytter video seg nå hurtig over til digitale lagrings- og overføringsformater. Raskere datamaskinprosessorer, høytetthets lagringssystemer og nye effektive kompresjons- og kodingsalgoritmer har omsider ført til at digital video er blitt tilgjengelig til forbrukspriser. DVD (Digital Versatile Disc), et digitalt videosystem, har vært ett av de raskest selgende forbrukselektronikkproduktene på mange år. DVD er har raskt fortrengt videokassettopptakere (VCR) som det valgte avspillingssystemet for forhåndsinnspilt video på grunn av sin høye videokvalitet, svært høye lydkvalitet, bekvemmelighet og andre egenskaper. Det foreldede analoge NTSC (National Television Standards Committee) videooverføringssystemet er nå i ferd med å bli erstattet med digitale ATSC (Advanced Television Standards Committee)-videooverføringssystemet. Datamaskinsystemer har anvendt ulike digitale videokodingsformater i et antall år. Blant de beste digitale videokompresjons- og kodingssystemene som anvendes av datamaskinsystemer har vært de digitale videosystemene støttet av Motion Pictures Expert Group, vanligvis kjent under akronymet MPEG. De tre mest velkjente og mest anvendte digitale videoformatene fra MPEG er enkelt kjent som MPEG-1, MPEG-2 og MPEG-4. VideoCD er (VCD) og tidlig forbrukskvalitets digitale videoediteringssystemer anvender det tidlige MPEG-1 digitale videokodingsformatet. DVD er og DBS (Dish Network brand Direct Broadcast Satellite-fjernsynskringkastingssystemet anvender den høyere kvaliteten MPEG-2 digitalvideokompresjons- og kodingssystemet. MPEG-4-kodingssystemet adapteres

2 raskt av de siste datamaskinbaserte digitale videokoderne og tilknyttede digitale videospillere. 2 3 MPEG-2- og MPEG-4-standardene komprimerer en serie videorammer eller videofelter og koder så de komprimerte rammene eller feltene til en digital bitstrøm. Når en videoramme eller felt kodes med MPEG-2- og MPEG-4-systemer, oppdeles videorammen eller feltet inn i et rektangulært gitter bestående av makroblokker. Hver makroblokk komprimeres og kodes uavhengig. Når en videoramme eller et felt komprimeres, kan MPEG-4-standarden komprimere rammen eller feltet enveispredikterbare rammer (P-rammer) eller toveispredikerte rammer (B-rammer). Intra-rammer koder en uavhengig videoramme, fullstendig uavhengig uten henvisning til andre videorammer. P-rammer definerer en videoramme med henvisning til en enkelt tidligere vist videoramme. B-rammer definerer en videoramme med henvisning til både en videoramme vist før den aktuelle rammen og en videoramme som skal vises etter den nåværende rammen. På grunn av deres respektive bruk av redundant videoinformasjon, tilveiebringer P- rammer og B-rammer generelt best kompresjon. Sammendrag av oppfinnelsen Oppfinnelsen vedrører fremgangsmåter, et datamaskinlesbart medium og et datamaskinsystem som angitt i de etterfølgende patentkrav. En fremgangsmåte og et apparat for mellombildetimingspesifikasjon med variabel nøyaktighet for digital videokoding er vist. Den foreliggende oppfinnelsen viser spesielt et system som tillater at den relative timingen av nærliggende videobilder å bli kodet på en svært effektiv måte. I en utførelsesform bestemmes fremvisningstidsforskjellen mellom et nåværende videobilde og et nærliggende videobilde. Fremvisningstidsforskjellen kodes så til en digital representasjon av videobildet. I en foretrukket utførelsesform er det nærliggende videobildet det mest nylig overførte lagrede bildet. For kodingseffektivitet kan fremvisningstidsforskjellen kodes ved bruk av et variabel lengde-kodingssystem eller aritmetisk koding. I en alternativ utførelsesform kodes fremvisningstidsforskjellen som en potens på to for å redusere antall bits som overføres. Andre formål, egenskaper og fordeler ved den foreliggende oppfinnelsen vil fremkomme fra de vedlagte tegningene og fra den følgende detaljerte beskrivelsen. Beskrivelse av tegningene Formålene, egenskapene og fordelene ved den foreliggende oppfinnelsen vil være tydelig for fagpersoner på området, ved å se på den følgende detaljerte beskrivelsen hvor:

3 Fig. 1 illustrerer et høynivå blokkdiagram av en mulig utførelsesform av et digitalt videokodingssystem. 2 3 Fig. 2 illustrerer en serie videobilder i rekkefølgen som bildene bør vises hvor pilene som kobler ulike bilder indikerer mellombildeavhengigheten dannet ved bruk av bevegelseskompensasjon. Fig. 3 illustrerer videobildene fra fig. 2 listet i en foretrukket overføringsrekkefølge av bilder hvor pilene kobler ulike bilder som indikerer mellombildeavhengighet dannet ved bruk av bevegelseskompensasjon. Fig. 4 illustrerer grafisk en serie videobilder hvor avstandene mellom videobilder som henviser til hverandre velges å være potenser av to. Detaljert beskrivelse En fremgangsmåte og system for spesifisering av mellombildetiming med variabel nøyaktighet i et multimedia kompresjons- og kodingssystem er vist. I den følgende beskrivelsen vil det på grunn av forklaringsformål, fastsettes spesifikk terminologi for å tilveiebringe en god forståelse av den foreliggende oppfinnelsen. Imidlertid vil det være tydelig for en fagperson på området at disse spesifikke detaljene ikke er påkrevd for å praktisere den foreliggende oppfinnelsen. F.eks. er den foreliggende oppfinnelsen blitt beskrevet med henvisning til MPEG-4 multimediakompresjonsog kodingssystemet. Imidlertid vil de samme teknikkene enkelt kunne anvendes med andre typer kompresjons- og kodingssystemer. Oversikt over multimediakompresjon og -koding Fig. 1 illustrerer et høynivå blokkdiagram av en typisk digital videokoder 0 som er av velkjent type. Den digitale videokoderen 0 mottar en innkommende videostrøm av videorammer til venstre for blokkdiagrammet. Hver videoramme prosesseres av en DCT-enhet (Discrete Cosine Transformation) 1. Rammen kan prosesseres uavhengig (en intra-ramme) eller med henvisning til informasjon fra andre rammer mottatt fra bevegelseskompensasjonsenheten (en mellomramme). Deretter kvantifiserer en kvantifiseringsenhet (Q) 1 informasjonen fra DCTenheten 1. Til slutt kodes den kvantifiserte videorammen med en entropikodingsenhet (H) 180 for å produsere en kodet bitstrøm. Entropikodingsenheten 180 kan anvende et variabel lengde-kodingssystem (VLC). Siden en mellomrammekodet videoramme er definert med henvisning til andre nærliggende videorammer, trenger den digitale videokoderen 0 å danne en kopi av hvor dekodet hver ramme vil fremtre i en digital videodekoder slik at mellomrammene kan kodes. Dermed er den nedre delen av den digitale videokoderen 0 faktisk et digitalt videodekodersystem. Spesielt reverserer en invers kvantifiseringsenhet 1 (Q -1 ) kvantifiseringen av videorammeinformasjonen og en invers diskret cosinustransformasjonsenhet 140 (DCT -1 ) reverserer den diskrete cosinustransformasjonen av videorammeinformasjonen. Etter at alle DCT-

4 koeffisientene er rekonstruert fra idct, vil bevegelseskompensasjonsenheten anvende informasjonen sammen med bevegelsesvektorene, til å rekonstruere den kodede rammen som så anvendes som referanseramme for bevegelsesestimeringen av den neste rammen. 2 3 40 Den dekodede videorammen kan så anvendes for å kode mellomrammer (P-rammer eller B-rammer) som er definert relativt til informasjonen i den dekodede videorammen. Spesielt anvendes en bevegelseskompensasjonsenhet 0 (MC) og en bevegelsesestimeringsenhet 160 (ME) for å bestemme bevegelsesvektorene og generere differensielle verdier anvendt til å kode mellomrammene. En hastighetskontroller 190 mottar informasjon fra mange ulike komponenter i en digital videokoder 0 og anvender informasjonen til å allokere et bitbudsjett for hver videoramme. Hastighetskontrolleren 190 bør allokere bitbudsjettet på en måte som vil generere den høyeste kvaliteten på den digitale videobitstrømmen som er i samsvar med et spesifisert sett med restriksjoner. Spesielt forsøker hastighetskontrolleren 190 å generere høyest mulig kvalitet på den komprimerte videostrømmen uten overflytsbuffere (overstiger mengden tilgjengelig minne i en dekoder ved å sende mer informasjon enn det som kan lagres) eller underflytsbuffere (ikke sende videorammer hurtig nok slik at en dekoder går tom for videorammer som skal vises). Oversikt over multimediakompresjon og -koding I enkelte videosignaler er ikke tiden mellom etterfølgende videobilder (rammer eller felter) ikke nødvendigvis konstant. (Bemerk: dette dokumentet vil anvende begrepet videobilder for generelt å henvise til videorammer eller videofelter). F.eks. kan enkelte videobilder bli droppet fordi overføringsbåndbredden er begrenset. Videre kan også videotimingen variere på grunn av kamerairregularitet eller spesielle effekter slik som sakte film eller hurtig film. I enkelte videostrømmer kan den originale videokilden ganske enkelt ha ikke-uniforme mellombildetider ut fra design. F.eks. syntetisert video, slik som datagrafikkanimasjoner, kan ha ikkeuniform timing siden det ikke dannes vilkårlig videotiming av et uniformt videoopptakssystem slik som et videokamerasystem. Et fleksibelt digitalt videokodingssystem bør være i stand til å håndtere ikke-uniform timing. Mange digitale videokodingssystemer oppdeler videobilder i et rektangulært gitter av makroblokker. Hver individuelle makroblokk fra videobildet er uavhengig komprimert og kodet. I enkelte utførelsesformer anvendes subblokker av makroblokker, kjent som pikselblokker. Slike pikselblokker kan ha egne bevegelsesvektorer som kan interpoleres. Dette dokumentet vil henvise til makroblokker selv om den foreliggende oppfinnelsen kan anvendes på samme måte både på makroblokker og pikselblokker. Enkelte videokodingsstandarder, som f.eks. ISO MPEG-standardene eller ITU H.264-standarden, anvender ulike typer predikterbare makroblokker for å kode

2 3 videobilder. I et scenario kan makroblokkene være én av tre typer: 1. I-makroblokk - en intra-(i)-makroblokk anvender ingen informasjon fra andre videobilder i sin koding (den er fullstendig selvdefinert); 2. P-makroblokk - en enveispredikterbar makroblokk (P) henviser til bildeinformasjon fra et forutgående videobilde; eller 3. B-makroblokk - en toveispredikterbar (B) makroblokk anvender informasjon fra et foregående bilde og et fremtidig videobilde. Dersom alle makroblokkene i et videobilde er intra-makroblokker, så er videobildet en intra-ramme. Dersom et videobilde kun inkluderer enveispredikterbare makroblokker eller intra-makroblokker, så er videobildet kjent som en P-ramme. Dersom videobildet inneholder noen toveispredikterbare makroblokker, så er videobildet kjent som en B-ramme. For enkelthets skyld vil dette dokumentet betrakte tilfellet hvor alle makroblokker i et gitt bilde er av samme type. En eksempelsekvens på videobilder som skal kodes kan representeres som I 1 B 2 B 3 B 4 P B 6 B 7 B 8 B 9 P B 11 P 12 B 13 I 14... hvor bokstavene (I, P eller B) representerer hvorvidt videobildet er en I-ramme, P-ramme eller B-ramme og antallet representerer kamerarekkefølgen til videobildet i sekvensen av videobilder. Kamerarekkefølgen er rekkefølgen som et kamera tar opp videobildene og er på denne måten også rekkefølgen som videobildene bør vises i (fremvisningsrekkefølgen). Den forrige eksempelserien av videobilder er grafisk illustrert i fig. 2. Det henvises nå til fig. 2, hvor pilene indikerer at makroblokkene fra et lagret bilde (I-ramme eller P-ramme i dette tilfellet) anvendes i den bevegelseskompenserte prediksjonen av andre bilder. I scenariet i fig. 2 anvendes ingen informasjon fra andre bilder i kodingen av intrarammevideobildet I 1. Videobildet P er en P-ramme som anvender videoinformasjon fra forrige videobilde I 1 i sin koding, slik at en pil trekkes fra videobildet I 1 til videobildet P. Videobildet B 2, videobildet B 3, videobildet B 4 anvender all informasjon fra både videobildet I 1 og videobildet P i sin koding slik at pilene trekkes fra videobildet I 1 og videobildet P til videobildet B 2, videobildet B 3 og videobildet B 4. Som nevnt ovenfor er mellombildetidene generelt ikke de samme. Siden B-bildene anvender informasjon fra fremtidige bilder (bilder som vil bli vist senere, er overføringsrekkefølgen vanligvis ulik fremvisningsrekkefølgen. Spesielt bør videobilder som behøves til å konstruere andre videobilder overføres først. For sekvensen ovenfor kan overføringsrekkefølgen være I 1 P B 2 B 3 B 4 P B 6 B 7 B 8 B 9 P 12 B 11 I 14 B 13... Fig. 3 illustrerer grafisk overføringsrekkefølgen ovenfor av videobildene fra fig. 2. Igjen indikerer pilene i figuren at makroblokker fra et lagret videobilde (I eller P i

6 dette tilfellet) anvendes i den bevegelseskompenserte prediksjonen av andre videobilder. 2 3 Det henvises nå til fig. 3, hvor systemet først overfører I-rammen I 1 som ikke avhenger av noen annen ramme. Deretter overfører systemet P-rammevideobildet P som avhenger av videobildet I 1. Deretter overfører systemet B-rammevideobildet B 2 etter videobildet P selv om videobildet B 2 vil bli vist før videobildet P. Grunnen til dette er at når det blir tid for å dekode B 2, vil dekoderen allerede ha mottatt og lagret informasjonen i videobildene I 1 og P, som er nødvendig for å dekode videobildet B 2. På samme måte er videobildene I 1 og P klar til å bli brukt til å dekode det etterfølgende videobildet B 3 og videobildet B 4. Mottakeren/dekoderen sorterer videobildesekvensen for riktig fremvisning. I denne operasjonen er I- og P- bildene ofte henvist til som lagrede bilder. Kodingen av P-rammebildene utnytter vanligvis bevegelseskompensasjon, hvor en bevegelsesvektor beregnes for hver makroblokk i bildet. Ved bruk av den beregnede bevegelsesvektoren, kan en prediksjonsmakroblokk (P-makroblokk) dannes ved translasjon av piksler i det ovenfor nevnte forrige bildet. Forskjellen mellom den aktuelle makroblokken i P-rammebildet og prediksjonsmakroblokken kodes deretter for overføring. Hver bevegelsesvektor kan også overføres via prediktiv koding. F.eks. kan en bevegelsesvektorprediksjon dannes ved bruk av nærliggende bevegelsesvektorer. I et slikt tilfelle, så kodes forskjellen mellom den aktuelle bevegelsesvektoren og bevegelsesvektorprediksjonen for overføring. Hver B-makroblokk anvender to bevegelsesvektorer: en første bevegelsesvektor som henviser til et ovenfor nevnt forrige videobilde og en andre bevegelsesvektor som henviser til det fremtidige videobildet. Fra disse to bevegelsesvektorene beregnes to prediksjonsmakroblokker. De to predikerte makroblokkene kombineres deretter sammen ved bruk av en funksjon til å danne en endelig predikert makroblokk. Som ovenfor kodes forskjellen mellom den aktuelle makroblokken i B- rammebildet og den endelige predikerte makroblokken for overføring. Som ved P-makroblokker kan hver bevegelsesvektor (MV) av en B-makroblokk overføres via prediktiv koding. Spesielt er en predikert bevegelsesvektor dannet ved bruk av nærliggende bevegelsesvektorer. Deretter kodes forskjellen mellom den aktuelle bevegelsesvektoren og den predikerte for overføring. Imidlertid eksisterer det ved B-makroblokker en mulighet for interpolering av bevegelsesvektorer fra bevegelsesvektorer i det nærmeste lagrede bildemakroblokken. En slik interpolering utføres både i den digitale videokoderen og i den digitale videodekoderen. Denne bevegelsesvektorinterpolariseringen fungerer spesielt godt på videobilder fra en videosekvens hvor et kamera panorerer sakte over en stasjonær bakgrunn.

7 Faktisk kan en slik bevegelsesvektorinterpolarisering være tilstrekkelig til å bli brukt alene. Spesifikt betyr dette at ingen ulik informasjon behøver å bli beregnet eller overført for disse B-makroblokk-bevegelsesvektorene kodet ved bruk av interpolarisering. For å illustrere scenariet ovenfor ytterligere, la oss representere interpoleringsfremvisningstiden mellom bildene i og j som D i,j, dvs. dersom fremvisningstidene til bildene er henholdsvis T i og T j, så D i,j = T i - T j hvorfra det følger at D i,k = D i,j + D j,k D i,k = -D k,i Bemerk at D i,j kan være negativ i enkelte tilfeller. På denne måten, dersom MV,1 er en bevegelsesvektor for en P -makroblokk som henviser til I 1, så vil bevegelsesvektoren henvist til som henholdsvis I 1 og P for de tilsvarende makroblokkene i B 2, B 3 og B 4 interpoleres ved Merk at siden forholdene mellom fremvisningstidene er anvendt for bevegelsesvektorprediksjon, behøves ikke absolutte fremvisningstider. På denne måten kan relative fremvisningstider anvendes for D i,j fremvisningstidsverdier. Dette scenariet kan generaliseres, som f.eks. i H.264-standarden. I generaliseringen kan et P- eller B-bilde anvende ethvert tidligere bilde for sin bevegelsesvektorprediksjon. På denne måten kan bildet B i tilfellet ovenfor anvende bildet I 1 og bildet B 2 i sin prediksjon. Videre kan bevegelsesvektorene være ekstrapolert, ikke bare interpolert. På denne måten vil vi i dette tilfellet kunne ha: 2 En slik bevegelsesvektor-ekstrapolering (eller -interpolering) kan også anvendes i prediksjonsprosessen for prediktiv koding av bevegelsesvektorer.

8 I ethvert tilfelle er problemet, når det er snakk om ikke-uniforme mellombildetider, å overføre de relative fremvisningstidsverdiene for D i,j til mottakeren, og det er formålet med den foreliggende oppfinnelsen. I én utførelsesform av den foreliggende oppfinnelsen, for hvert bilde etter det første bildet, overføres fremvisningstidsforskjellen mellom det nåværende bildet og det mest nylig overførte lagrede bildet. For feiltoleranse, kan overføringen gjentas flere ganger innenfor bildet, f.eks. i de såkalte skiveheadere (eng: slice headers) i MPEG- eller H.264-standarden. Dersom alle skiveheadere mistes, så kan formodentlig heller ikke andre bilder som avhenger av det tapte bildet for dekodingsinformasjon bli dekodet. På denne måten vil vi i scenariet ovenfor overføre det følgende: For formålet bevegelsesvektorestimering kan nøyaktighetskravene for D i,j variere fra bilde til bilde. F.eks. dersom det kun er et enkelt B-rammebilde B 6 halvveis mellom to P-rammebilder P og P 7, så er det tilstrekkelig å sende: D 7, = 2 og D 6,7 = -1 hvor D i,j fremvisningstidsverdiene er relative tidsverdier. Dersom videobildet B 6 istedenfor kun er én fjerdedel av avstanden mellom videobildet P og videobildet P 7, så er de passende D i,j fremvisningstidsverdiene som skal sendes være: D 7, = 4 og D 6,7 = -1 2 3 Merk at i begge eksemplene ovenfor er fremvisningstiden mellom et videobilde B 6 og videobilde P 7 anvendt som fremvisningstids enhet og fremvisningstidsforskjellen mellom videobildet P og videobildet P 7 er fire fremvisningstids enheter. Generelt er bevegelsesvektorestimering mindre kompleks dersom divisorene er potenser av to. Dette oppnås enkelt i vår utførelsesform dersom D i,j (mellombildetiden) mellom to lagrede bilder er valgt til å være en potens av to som grafisk illustrert i fig. 4. Alternativt kan estimeringsprosedyren defineres til å trunkere eller avrunde alle divisorer til en potens av to. I tilfellet hvor en mellombildetid er en potens på to kan antallet databits reduseres kun dersom heltallspotensen (av to) overføres istedenfor fullverdien til mellombildetiden. Fig. 4 illustrerer grafisk et tilfelle hvor avstandene mellom bildene velges til å være potenser av to. I et slikt tilfelle overføres D 3,1 fremvisningstidsverdien på 2 mellom videobildet P 1 og videobildet P 3 som 1 (siden 2 1 = 2) og D 7,3 fremvisningstidsverdien på 4 mellom videobildet P 7 og videobildet P 3 kan overføres som 2 (siden 2 2 = 4). I noen tilfeller kan ikke bevegelsesvektorinterpolering anvendes. Imidlertid er det fortsatt nødvendig å overføre fremvisningsrekkefølgen til videobildene til

9 mottakeren/avspillingssystemet slik at mottakeren/avspillingssystemet vil vise videobildene i riktig rekkefølge. I dette tilfellet vil enkle fortegnede heltallsverdier for D i,j være tilstrekkelig med hensyn til de aktuelle fremvisningstidene. I enkelte applikasjoner behøves kun fortegnet. Mellombildetidene D i,j kan enkelt overføres som enkle tegnheltallsverdier. Imidlertid kan mange fremgangsmåter bli anvendt for koding av D i,j -verdiene for å oppnå ekstra kompresjon. F.eks. er et tegnbit fulgt av en variabel lengde-kodet størrelse relativt enkelt å implementere og tilveiebringer kodingseffektivitet. Ett slikt variabel lengde-kodingssystem som kan anvendes er kjent som UVLC (Universal Variable Length Code). UVLC-variabellengde-kodingssystemet er gitt av følgende kodeord: 2 En annen fremgangsmåte for koding av mellombilderammene kan være å anvende aritmetisk koding. Vanligvis utnytter aritmetisk koding betingede sannsynligheter til å bevirke en svært høy kompresjon av databits. På denne måten introduserer den foreliggende beskrivelsen en enkel, men effektfull fremgangsmåte for koding og overføring av mellombildefremvisningstider. Kodingen av mellombildefremvisningstidene kan gjøres svært effektivt med bruk av variabellengdekoding eller aritmetisk koding. Videre kan en ønsket nøyaktighet velges for å møte behovene til videodekoderen, men ikke mer. Det foregående har beskrevet et system for spesifisering av mellombildetiming med variabel nøyaktighet i et multimedia kompresjons- og kodingssystem. Det forutsettes at endringer og modifikasjoner kan gjøres av en fagperson på området, på materialene og arrangementet av elementene hos den foreliggende oppfinnelsen uten å forlate rammen av oppfinnelsen.

PATENTKRAV 2 3 1. Fremgangsmåte omfattende: mottak av et kodet, første videobilde og et kodet, andre videobilde; mottak av mer en instans av en kodet ordensverdi for det andre videobildet, hvor ordensverdien representerer en fremvisningsposisjon for det andre videobildet med henvisning til det første videobildet i en sekvens av videobilder; og dekoding av det andre videobildet ved bruk av ordensverdien til å beregne en bevegelsesvektor for det andre videobildet. 2. Fremgangsmåte i samsvar med krav 1, hvor ordensverdien representerer en tidsverdi. 3. Fremgangsmåte i samsvar med krav 1, hvor ordensverdien ikke representerer en tidsverdi. 4. Fremgangsmåte i samsvar med krav 1, hvor sekvensen av videobilder er en sekvens for fremvisning av videobilder.. Fremgangsmåte i samsvar med krav 1, hvor sekvensen av videobilder er en sekvens for dekoding av videobildene. 6. Fremgangsmåte i samsvar med krav 1, hvor bevegelsesvektoren for det andre videobildet beregnes basert på en bevegelsesvektor for et annet videobilde. 7. Fremgangsmåte i samsvar med krav 6, hvor et annet videobilde er et tredje videobilde. 8. Fremgangsmåte i samsvar med krav 6, hvor beregning av bevegelsesvektoren omfatter utføring av en interpoleringsoperasjon basert på bevegelsesvektoren til et annet videobilde. 9. Fremgangsmåte i samsvar med krav 6, hvor beregning av bevegelsesvektoren omfatter utføring av en ekstrapoleringsoperasjon basert på bevegelsesvektoren til et annet videobilde.. Fremgangsmåte i samsvar med krav 1, hvor ordensverdien er en komprimert ordensverdi. 11. Fremgangsmåte i samsvar med krav, hvor ordensverdien er komprimert ved bruk av en variabel lengde-koding. 12. Fremgangsmåte i samsvar med krav, hvor ordensverdiene er komprimert ved bruk av en aritmetisk koding. 13. Fremgangsmåte i samsvar med krav 1, hvor ordensverdien for det andre videobildet er utledet fra en verdi lagret i en skiveheader som er tilknyttet med det andre videobildet.

11 14. Fremgangsmåte i samsvar med krav 1, hvor ordensverdien representerer en ordensdifferanseverdi mellom det andre videobildet og det første videobildet.. Fremgangsmåte i samsvar med krav 1, hvor det første videobildet er et I- videobilde. 16. Fremgangsmåte i samsvar med krav 1, videre omfattende mottak av en sekvens av ordensverdier, hvor sekvensen av ordensverdier er ikke-uniform. 17. Fremgangsmåte omfattende: mottak av et første videobilde; koding av mer en instans av en ordensverdi for et andre videobilde, hvor ordensverdien representerer en fremvisningsposisjon for det andre videobildet med henvisning til det første videobildet i en sekvens av videobilder; koding av det andre videobildet ved bruk av ordensverdien til å beregne en bevegelsesvektor for det andre videobildet; og å sende det kodede første videobilde, det kodede andre videobildet og de kodede instansene for ordensverdien for det andre videobildet. 18. Et datamaskinlesbart medium som lagrer et datamaskinprogram som er kjørbart ved hjelp av minst én prosessor, hvor datamaskinprogrammet omfatter sett av instruksjoner for implementering av fremgangsmåten i samsvar med ett av kravene 1-17. 19. Datamaskinsystem omfattende midler for implementering av trinnene i samsvar med ett av kravene 1-17.