NO338548B1 - Fremgangsmåte og anordning for indikering av kvantifiseringsparametre i et videokodingssystem - Google Patents

Fremgangsmåte og anordning for indikering av kvantifiseringsparametre i et videokodingssystem Download PDF

Info

Publication number
NO338548B1
NO338548B1 NO20044070A NO20044070A NO338548B1 NO 338548 B1 NO338548 B1 NO 338548B1 NO 20044070 A NO20044070 A NO 20044070A NO 20044070 A NO20044070 A NO 20044070A NO 338548 B1 NO338548 B1 NO 338548B1
Authority
NO
Norway
Prior art keywords
quantization
video
quantization level
video sequence
blocks
Prior art date
Application number
NO20044070A
Other languages
English (en)
Other versions
NO20044070L (no
Inventor
Jani Lainema
Original Assignee
Nokia Technologies Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=29270538&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=NO338548(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of NO20044070L publication Critical patent/NO20044070L/no
Publication of NO338548B1 publication Critical patent/NO338548B1/no

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Description

Den foreliggende oppfinnelsen vedrører en fremgangsmåte, en koder, en dekoder og en anordning for koding av digital video. Nærmere bestemt vedrører oppfinnelsen til indikasjonen av kvantiseringsparameterverdier (QP) i et videokodingssystem.
Bakgrunn for oppfinnelsen
Digitale videosekvenser, slik som ordinære filmer tatt opp på film, omfatter en sekvens av stillbilder, hvor bevegelsesillusjonen blir dannet ved å vise bildene en etter en, typisk ved en hastighet på mellom 15 og 30 rammer per sekund.
Hver ramme av en ukomprimert digital videosekvens omfatter en tabell med bildepiksler. I et alminnelig anvendt digitalt videoformat, kjent som Quarter Common Interchange Format (QCIF), omfatter en ramme en tabell med 176 x 144 piksler (dvs. 25.344 piksler). Etter tur og orden representeres hver piksel ved et bestemt antall bit, som inneholder informasjon om luminansen og/eller fargeinnholdet for regionen av bildet som korresponderer til pikselen. Vanligvis anvendes en såkalt YUV-fargemodell til å representere luminans- og krominansinnholdet i bildet. Luminansen, eller Y-komponenten, representerer intensiteten (lysstyrke) for bildet, mens fargeinnholdet for bildet representeres av to krominans- eller fargedifferansekomponenter, merket U og V.
Fargemodellene, som er basert på en luminans-/krominansrepresentasjon av bildeinnholdet, frembringer bestemte fordeler sammenlignet med fargemodeller som er basert på en representasjon som involverer primærfarger (dvs. rød, grønn og blå, RGB). Det humane visuelle systemet er mer sensitivt til intensitetsvariasjoner enn det er til fargevariasjoner og YUV-fargemodeller utnytter denne egenskapen ved å anvende en lavere spatial oppløsning for krominanskomponentene (U, V) enn for luminanskomponenten (Y). På denne måten kan informasjonsmengden som behøves for å kode fargeinformasjonen i et bilde reduseres med en aksepterbar reduksjon i bildekvalitet.
Den lavere spatiale oppløsningen av krominanskomponentene oppnås vanligvis ved delsampling. Typisk deles hver ramme av en videosekvens inn i såkalte "makroblokker", som omfatter luminansinformasjon (Y) og tilknyttet krominans-informasjon (U, V), som delsamples spatialt. Figur 1 viser en måte hvori makroblokker kan dannes. Slik figur 1 viser, en ramme av en videosekvens representert ved å anvende en YUV-fargemodell, hvor hver komponent har den samme spatiale oppløsningen. Makroblokker dannes ved å representere en region med 16x16 bildepiksler i det originale bildet som fire blokker med luminansinformasjon, hvor hver luminansblokk omfatter en 8 x 8 tabell med luminansverdier (Y) og to spatial korresponderende krominanskomponenter (U og V) som er delsamplet med en faktor på to i både de horisontale og vertikale retningene for å avgi korresponderende tabeller med 8x8 krominans (U, V) verdier. Ifølge bestemte videokodings-anbefalinger, slik som International Telecommunications Union (ITU-T) anbefaling H.26L, kan blokkstørrelsen som anvendes innenfor makroblokkene være annet en 8 x 8, for eksempel 4x8 eller 4 x 4 (se T. Wiegand, "Joint Model Number 1", Doc. JVT-A003, Joint Video Team (JVT) av ISO/IEC MPEG og ITU-T VCEG, januar 2002, seksjoner 2.2 og 2.3). ITU-T anbefalingen H.26L tillater også makroblokker og organiseres sammen til det dannes såkalte "skiver". Mer bestemt dannes hver skive fra et antall etterfølgende makroblokker i koderekkefølge og kodes på en slik måte at den kan dekodes uavhengig uten å måtte referere til en annen skive av den samme rammen. Dette arrangementet er fordelaktig, idet det pleier å begrense utbredelsen av artefaktet i den dekodete videoen som kan oppstå på grunn av transmisjonsfeil. Mens det ikke er noen spesifikk begrensning på måten hvori skivene kan konstrueres, er en direkte fremgangsmåte å gruppere alle makroblokkene i en enkel rekke av en ramme sammen med en skive. Dette arrangementet, sammen med oppdelingen av et QCIF formatbilde inn i 16 x 16 makroblokker, er vist i figur 2.
Som kan sees fra figur 2, omfatter et QCIF-bilde 11x9 makroblokker (i dette tilfellet gruppert inn i ni skiver av elleve etterfølgende makroblokker hver). Dersom luminansblokkene og krominansblokkene representeres med 8 bits oppløsning (dvs. ved tall i området 0 til 255), er det totale antall bit som kreves per makroblokk (16 x 16 x 8) +2 x (8 x 8 x 8) = 3.072 bit. Antall bit som behøves for å representere en videoramme i QCIF-format er derfor 99 x 3072 =304.128 bit. Dette betyr at datamengden som kreves for å overføre/ta opp/fremvise en ukomprimert videosekvens i QCIF-format, representert ved å anvende en YUV-fargemodell, ved en hastighet på 30 rammer per sekund, er mer enn 9 Mbps (millioner bit per sekund). Dette er en ekstremt høy datahastighet er upraktisk for anvending i videoopptak, overføring og fremvisningsapplikasjoner på grunn av den veldig store lagringskapasiteten, overføringskanalkapasiteten og maskinvareytelsen som kreves.
Dersom videodata skal overføres i sanntid over et bestemt linjenettverk, slik som et ISDN (Integrated Services Digital Network) eller et konvensjonelt PSTN (Public Switched Telephone Network), er en tigjengelig dataoverføringsbånd-bredde, typisk i størrelsen 64 kbit per sekund. I mobilvideotelefoni, hvor over-føringen finner sted minst delvis over en radiokommunikasjonslink, kan den tilgjengelige båndbredden være så lav som 20 kbit/s. Dette betyr at en signifikant reduksjon i informasjonsmengden som anvendes til å representere videodata må oppnås for å muliggjøre overføring av digitale videosekvenser over kommunikasjonsnettverk med lav båndbredde. Av denne grunn har video-kompresjonsteknikker blitt utviklet som reduserer informasjons-mengden som overføres mens en beholder en akseptabel bildekvalitet.
Videokompresjonsmetoder er basert på å redusere de redundante og merkbare irrelevante delene av videosekvenser. Redundansen i videosekvenser kan kategoriseres inn i spatial, temporal og spektral redundans. "Spatial redundans" er termen som anvendes for å beskrive korrelasjonen (likheten) mellom nabopiksler innenfor en ramme. Termen "temporal redundans" uttrykker faktumet at objekter som dukker opp i en ramme av en sekvens kan sannsynligvis dukke opp i en etterfølgende ramme, mens "spektral redundans" refererer til korrelasjon mellom ulike fargekomponenter i det samme bildet.
Det er ofte en signifikant mengde spatialredundans mellom pikslene som utgjør hver ramme av en digital videosekvens. Med andre ord er verdien av en piksel innenfor en ramme av en sekvens hovedsakelig den samme som verdien av andre piksler i dens direkte nærhet. Typisk reduserer videokodingssystemet spatial redundans ved å anvende en teknikk kjent som «blokkbasert transformeringskoding», hvori en matematisk transformasjon, slik som en todimensjonal diskret cosinustransformering (DCT), påføres blokker av bildepiksler. Denne transformerer bildedataene fra en representasjon som omfatter pikselverdier til en form som omfatter et sett med koeffisientverdier representativ av spatiale frekvenskomponenter. Denne alternative representasjonen av bildedata reduserer spatial redundans betydelig og produserer derved mer kompakt representasjon av bildedata.
Rammer av en videosekvens som er komprimert ved å anvende blokkbasert transformeringskoding, uten referanse til en annen ramme innen sekvensen, refereres til som INTRA-kodeform eller 1-rammer.
Generelt reduserer videokodingssystemer ikke bare den spatiale redundansen innen individuelle rammer av en videosekvens, men anvender også en teknikk kjent som «bevegelseskompensert prediksjon», for å redusere den temporale redundansen i sekvensen. Ved å anvende bevegelseskompensert prediksjon, «beregnes» bildeinnholdet av noen (ofte mange) av rammene i en digital videosekvens fra én eller flere rammer i en sekvens, kjent som «referanse»-rammer. Prediksjon av bildeinnhold oppnås ved å spore bevegelsen av objekter eller regioner for et bilde mellom en ramme som skal kodes (komprimert) og referanserammen(e) ved å anvende «bevegelsesvektorer». Som i tilfellet for INTRA-koding utføres bevegelseskompensert prediksjon av en videoramme typisk makroblokk-for-makroblokk.
Rammer av en videosekvens, komprimert ved å anvende bevegelseskompensert prediksjon, henvises generelt til som INTER-kodete rammer eller P-rammer. Bevegelseskompensert prediksjon frembringer sjelden en tilstrekkelig presis representasjon av bildeinnholdet for en videoramme og er derfor typisk nødvendig for å frembringe en såkalt «prediksjonsfeil»-ramme (PE) med hver INTER-kodet ramme. Prediksjonsfeilrammen representerer ulikheten mellom en dekodet versjon av den INTER-kodede rammen og bildeinnholdet av rammen som skal kodes. Mer bestemt omfatter prediksjonsfeilrammen verdier som representerer ulikheten mellom pikselverdier i rammen som skal kodes og korresponderende rekonstruerte pikselverdier dannet på basis av en beregnet versjon av den aktuelle rammen. Som en konsekvens av dette har prediksjonsfeilrammen egenskaper i likhet med et stillbilde og blokkbasert transformeringskoding kan anvendes for å redusere dets spatiale redundans og følgelig datamengden (antall bit) som kreves til å representere det.
For å illustrere funksjonen av et videokodingssystem mer detaljert, henvises det til fig. 3 og 4. Fig. 3 viser et blokkdiagram av en generisk videokode som utøver en kombinasjon av INTRA- og INTER-koding for å produsere en komprimert (kodet) videobitstrøm. En korresponderende dekoder er illustrert i Fig. 4 og vil bli beskrevet senere i teksten.
Videokoderen 100 omfatter en inngang 101 for å motta et digitalt videosignal fra et kamera eller annen videokilde (ikke vist). Den omfatter også en transforma-sjonsenhet 104 som er innrettet til å utføre en blokkbasert diskret cosinustransformasjon (DCT), en kvantiserer 106, en inverskvantiserer 108, en invers-transformasjonsenhet 110, innrettet til å utføre en invers blokkbasert cosinustransformasjon (IDCT), kombinatorer 112 og 116, og et rammelager 120. Koderen omfatter videre en bevegelsesestimator 130, en bevegelsesfeltkoder 140 og en bevegelseskompensert prediktor 150. Brytere 102 og 114 drives kooperativt av kontrollstyreren 160 for å svitsje koderen mellom en INTRA-modus for videokoding og en INTER-modus for videokoding. Koderen 100 omfatter også en videomultiplekskoder 170 som danner en enkel bitstrøm fra de ulike informasjonstypene som produseres av koderen 100 for videre transmisjon til en fjern mottaksterminal, eller f.eks. for lagring på et masselagringsmedium, slik som en datamaskinharddisk (ikke vist).
Koderen 100 fungerer som følger. Hver ramme med ukomprimert video, frembrakt fra videokilden til inngangen 101, mottas og behandles makroblokk-for-makroblokk, fortrinnsvis i "raster-scan"-rekkefølge. Når kodingen av en ny videosekvens startes, kodes den første rammen som skal kodes som en intrakodet ramme. Etterfølgende programmeres koderen til å kode hver ramme i interkodet format, med unntak fra én av de følgende tilstander: 1) det er bestemt at den gjeldende makroblokken for rammen som kodes er så ulik fra pikselverdiene i referanserammen som anvendes i dens prediksjon at eksessiv prediksjonsfeilinformasjon produseres, ved tilfellet hvor den aktuelle makroblokken kodes i INTRA-kodet format,
2) en forhåndsdefinert INTRA-rammerepetisjonsintervall er utgått; eller
3) tilbakemelding er mottatt fra en mottaksterminal som indikerer en forespørsel foren ramme som skal tilveiebringes i I NTRA-kodet format.
Funksjonen for koderen 100 i INTRA-kodemodus vil nå bli beskrevet. I INTRA-kodemodus, driver kontrollstyreren 160 bryteren 102 til å akseptere video-inngangssignal fra inngangslinje 118. Videosignalinngangen mottas makroblokk-for-makroblokk og blokkene med luminans- og krominansverdier, som utgjør hver makroblokk, sendes til DCT-transformasjonsblokk 104. Her utføres en todimensjonal cosinustransformasjon og en todimensjonal tabell med DCT-koeffisienter dannes for hver blokk.
DCT-koeffisientene for hver blokk sendes til kvantisereren 106, hvor de kvantiseres ved å anvende en kvantiseringsparameter QP. Valget av kvantiseringsparameteren QP styres av kontrollstyreren 160 via kontrollinje 115.
Mer detaljert utføres kvantisering av DCT-koeffisientene ved å dele hver koeffisientverdi med kvantiseringsparameteren QP og å tilnærme resultatet til nærmeste heltall. På denne måten avgir kvantiseringsprosessen et sett med kvantiserte koeffisientverdier som har en redusert nummerisk presisjon sammenlignet med koeffisientverdiene som opprinnelig ble generert av DCT-transformeringsblokk 104. Derfor kan vanligvis hver av de kvantiserte DCT-koeffisientene representeres ved et mindre antall databit enn hva som trengs for å representere de korresponderende koeffisientene før kvantisering. Bestemte DCT-koeffisienter blir ytterligere redusert til null av kvantiseringsprosessen og reduserer derfor antall koeffisienter som må kodes. Begge disse effektene resulterer i en reduksjon i datamengden (dvs. databit) som kreves for å representere DCT-koeffisientene for en bildeblokk. Derfor frembringer kvantisering en ytterligere mekanisme hvorved datamengden som kreves for å representere hvert bilde av videosekvensen kan reduseres. Dette innfører også et irreversibelt informasjonstap, som fører til en korresponderende reduksjon i bildekvalitet. Mens denne reduksjon i bildekvalitet ikke alltid er ønskelig, frembringer kvantisering av DCT-koeffisientverdier muligheten til å regulere antall bit som kreves for å kode en videosekvens som tar til stilling til f.eks. den tilgjengelige båndbredden for overføring av den kodede sekvensen eller den ønskede kvaliteten av den kodede videoen.
Mer bestemt, ved å øke verdien på QP som anvendes til å kvantisere DCT-koeffisientene, kan en lavere, men mer kompakt representasjon av video-sekvensen dannes. Motsatt kan det dannes en høyere kvalitet, men mindre komprimert kodet bitstrøm ved å redusere verdien på QP.
De kvantiserte DCT-koeffisientene på hver blokk sendes fra kvantisereren 106 til videomultiplekskoderen 170, slik som indikert av linje 125 i Fig. 1. Video-multiplekskoderen 170 ordrer de kvantiserte transformeringskoeffisientene for hver blokk ved å anvende en sikk-sakk skanningsprosedyre, og derved konverterer den todimensjonale tabellen med kvantiserte koeffisientverdier til en endimensjonal tabell. Typisk representerer videomultiplekskoderen 170 videre hver ikke-nullkvantifiserte koeffisient i den endimensjonale tabellen ved et par med verdier, henvist til som nivå og rekke, hvor nivå er verdien på den kvanti serte koeffisienten og rekke er antallet etterfølgende nullverdikoeffisienter som følger etter den aktuelle koeffisienten. Rekke- og n/Våverdiene er ytterligere komprimert ved å anvende entropikoding. F.eks. kan en fremgangsmåte slik som variabel lengdekoding (VLC) anvendes for å produsere et sett med variable lengdekodeord som representerer hvert ( rekke, /7/Vå)-par.
Etter at { rekke, n/Vå)-parene har blitt entropikodet (f.eks. variabel lengdekodet), kombinerer videomultiplekskoderen 170 dem videre med kontrolllinformasjon, som også er entropikodet, f.eks. ved å anvende en fremgangsmåte for variabel lengdekoding som er egnet for informasjonstypen som er aktuell, for å danne en enkel komprimert bitstrøm med kodet bildeinformasjon 135. Det er denne bitstrømmen, omfattende de variable lengdekodeordene som representerer (rekke, nivå)-parene og kontrollinformasjon vedrørende bl.a. til kvantiseringsparameteren QP som anvendes for kvantisering av DCT-koeffisientene, som overføres fra koderen.
En lokal dekodet versjon av makroblokken dannes også i koderen 100. Dette gjøres ved å sende de kvantiserte transformeringskoeffisientene for hver blokk, utgangssignalet ved kvantiserer 106, gjennom inverskvantiserer 108 og å påføre en invers DCT-transformasjon i inverstransformasjonsblokk 110. Inverskvantiseringen utføres ved å reversere kvantiseringsoperasjonen som utføres i kvantiserer 106. Mer bestemt forsøker inverskvantiserer 108 å gjenvinne de originale DCT-koeffisientverdiene for en gitt bildeblokk ved å multiplisere hver kvantiserte DCT-koeffisientverdi med kvantiseringsparameter QP. Pga. tilnærmingsoperasjonen som utføres som del av kvantiseringsprosessen i kvantiserer 106, er det vanligvis ikke mulig å gjenvinne de originale DCT-koeffisientverdiene eksakt. Dette resulterer i en uoverensstemmelse mellom de gjenvunnete DCT-koeffisientverdiene og de som opprinnelige produseres av DCT-transformasjonsblokk 104 (derfor det irreversible tap av informasjon henvist til ovenfor).
Operasjonene som utføres av inverskvantiserer 108 og inverstransformasjonsblokk 110 avgir en rekonstruert tabell med pikselverdier for hver blokk av makroblokken. De resulterende dekodede bildedataene blir matet inn til kombinator 112. I INTRA-kodemodus blir bryter 114 satt slik at inngangssignalet til kombinator 112 via bryteren 114 er null. På denne måten er operasjonen som utføres av kombinator 112 identisk med å sende de dekodede bildedataene uendret.
Idet etterfølgende makroblokker av den gjeldende rammen mottas og går igjennom den tidligere beskrevne kodingen og lokale dekodingstrinn i blokker 104, 106, 108, 110 og 112, bygges en dekodet versjon av den INTRA-kodede rammen i rammelager 120. Når den siste makroblokken i den aktuelle rammen er blitt INTRA-kodet og etterfølgende dekodet, omfatter rammelager 120 en komplett dekodet ramme, tilgjengelig for bruk som en prediksjonsreferanseramme i koding av en etterfølgende mottatt videoramme i interkodet format. Flagget som indikerer INTRA- eller INTER-kodeformat frembringes i linje 122.
Driften av koderen 100 i INTER-kodemodus vil nå bli beskrevet. I interkodemodus styrer kontrollstyreren 160 bryteren 102 til å motta sitt inngangssignal fra linje 117, som omfatter utgangssignalet fra kombinator 116. Kombinatoren 116 mottar videoinngangssignalet makroblokk-for-makroblokk fra inngang 101. Idet kombinator 116 mottar blokkene med luminans- og krominansverdier som utgjør makroblokken, danner den korresponderende blokker med prediksjonsfeilinformasjon. Prediksjonsfeilinformasjonen representerer ulikheten mellom den aktuelle blokken og dens prediksjon, produsert i bevegelseskompenseringsblokk 150. Mer bestemt omfatter prediksjonsfeilinformasjonen for hver blokk av makroblokken en 2-dimensjonal tabell med verdier, hvor hver representerer ulikheten mellom en pikselverdi i blokken med luminans- og krominans-informasjon som blir kodet og en dekodet pikselverdi som oppnås ved å danne en bevegelseskompensert prediksjon for blokken ifølge fremgangsmåten beskrevet nedenfor.
Prediksjonsfeilinformasjonen for hver blokk i makroblokken sendes til DCT-transformasjonsblokk 104, som utfører en todimensjonal diskret cosinustransformering på hver blokk med prediksjonsfeilverdierforå produsere en todimensjonal tabell med DCT-transformeringskoeffisienterfor hver blokk.
Transformeringskoeffisienten for hver prediksjonsfeilblokk sendes til kvantiserer 106 hvor de blir kvantisert ved å anvende en kvantiseringsparameter QP på en lik måte som den beskrevet ovenfor i forbindelse med drift av koderen i INTRA-kodemodus. Igjen styres valg av kvantiseringsparameter QP av kontrollstyreren 160 via kontrollinje 115. Nøyaktigheten på prediksjonsfeilkodingen kan reguleres avhengig av den tilgjengelige båndbredden og/eller nødvendige kvaliteten på den kodede videoen. I et typisk diskret cosinustransformeringsystem (DCT) gjøres dette ved å variere kvantiseringsparameteren (QP) som anvendes i kvantisering av DCT-koeffisientene til en spesifikk nøyaktighet.
De kvantiserte DCT-koeffisientene som representerer prediksjonsfeilinformasjon for hver blokk i makroblokken sendes fra kvantiserer 106 til videomultiplekskoder 170, slik som indikert av linje 125 i fig. 1. Slik som i INTRAkodemodus ordrer video-multiplekskoderen 170 transformeringskoeffisientene for hver prediksjonsfeilblokk ved å anvende en fremgangsmåte for sikk-sakk-skanning og så representerer hver ikke-null-kvantisert som et { rekke, n/Vå)-par. Det komprimerer videre ( rekke,/7/Vå)-parene ved å anvende entropikoding, på en måte i likhet med den beskrevet i forbindelse med INTRAkodemodus. Videomultiplekskoder 170 mottar også bevegelses-vektorinformasjon (beskrevet i det etterfølgende) fra bevegelsesfeltkodingsblokken 140 via linje 126 og kontrollinformasjon (f.eks. å inkludere en indikasjon av kvantiseringsparameter QP) fra kontrollstyreren 160. Den entropikoder bevegelsesvektorinformasjonen og kontrollinformasjon og danner en enkel bitstrøm av kodet bildeinformasjon, hvor 135 omfatter den entropikodede bevegelsesvektoren, prediksjonsfeilen og kontrollinformasjonen. Indikasjonen, qz, av kvantiseringsparameteren QP frembringes til multipleks xoswe 170 via linje 124.
De kvantiserte DCT-koeffisientene som representerer prediksjonsfeilinformasjonen for hver blokk av makroblokken sendes også fra kvantiserer 106 til inverskvantiserer 108. Her blir de inverskvantisert på en lik måte som den som er beskrevet tidligere i forbindelse med koderen i INTRA-kodemodus. I INTERkodemodus kan kvaliteten på den kodede videobitstrømmen og antallet bit som er nødvendig for å representere videosekvensen reguleres ved å variere kvantiseringsgraden som påføres DCT-koeffisientene som representerer prediksjonsfeilinformasjonen.
De resulterende blokkene av inverskvantifiserte DCT-koeffisienter påføres invers DCT-transformeringsblokk 110, hvor de går igjennom invers DCT-transformasjon for å produsere lokale dekodede blokker av prediksjonsfeilverdier. De lokale dekodede blokkene med prediksjonsfeilverdier blir så inngangssignalet til kombinator 112. I interkodemodus blir bryter 114 satt slik at kombinatoren 112 også mottar beregnede pikselverdier for hver blokk av makroblokken, generert av bevegelseskompensert prediksjonsblokk 150. Kombinatoren 112 kombinerer hver av de lokale dekodete blokkene av prediksjonsfeilverdier med en korresponderende blokk med beregnende pikselverdier for å produsere rekonstruerte bildeblokker og lagre dem i rammelageret 120.
Idet etterfølgende makroblokker av videosignalet mottas fra videokilden og går igjennom den tidligere beskrevne kodings- og dekodingstrinn i blokkene 104, 106,108,110,112, oppbygges en dekodet versjon av rammen i rammelageret 120. Når den siste makroblokken av rammen har blitt behandlet, omfatter rammelageret 120 en fullstendig dekodet ramme, tilgjengelig for bruk som en prediksjonsreferanseramme i koding av en etterfølgende mottatt videoramme i I NTER-kodet format.
Formasjon for en prediksjon for en makroblokk av den gjeldende rammen vil nå bli beskrevet. En ramme som kodes i I NTER-kodet format krever en referanseramme for bevegelseskompensert prediksjon. Dette betyr nødvendigvis at når en videosekvens blir kodet må den første rammen som skal kodes, enten det er den første rammen i sekvensen eller en annen ramme, kodes i INTRA-kodeformat. Etter tur betyr dette at når videokoderen 100 svitsjes inn i INTER-modus av kontrollstyreren 160, er en fullstendig referanseramme, dannet ved å dekode lokalt en tidligere kodet ramme allerede tilgjengelig i rammelageret 120 på koderen. Generelt sett dannes referanserammen ved å dekode lokalt enten en INTRA-kodet ramme eller en INTER-kodet ramme.
Det første steget i å danne en prediksjon for en makroblokk av den gjeldende rammen utføres av bevegelsesestimeringsblokken 130. Bevegelsesestimeringsblokken 130 mottar blokken med luminans- og krominansverdier som utgjør den gjeldende makroblokken av rammen som skal kodes via linje 128. Dermed utfører den en blokkmatchingsfunksjon for å identifisere en region i referanserammen som korresponderer hovedsakelig med den aktuelle makroblokken. For å utføre blokkmatchingsfunksjonen, aksesseserer evegelsesestimeringsblokken referanserammedataene lagret i rammelager 120 via linje 127. Mer bestemt utfører bevegelsesestimeringsblokken 130 blokkmatching ved å kalkulere differanseverdier (f.eks. summer av absolutte differanser) som representerer differansen i pikselverdier mellom makroblokken under eksaminering og søke regioner med piksler som passer best fra en referanseramme lagret i ramme-ageret 120. En differanseverdi produseres for søkeregioner ved alle mulige posisjoner innenfor et forhåndsdefinert søkeområde i referanserammen og bevegelsesestimeringsblokken 130 bestemmer den minste kalkulerte verdien. Offseten mellom makroblokken i den gjeldende rammen og søke-blokken av pikselverdier i referanserammen som avgir den minste referanseverdien definerer bevegelsesvektoren for den aktuelle makroblokken.
Idet bevegelsesestimeringsblokken 130 har produsert en bevegelsesvektor for makroblokken, gir den ut bevegelsesvektoren til bevegelsesfeltkodingsblokken 140. Bevegelsesfeltkodingsblokken 140 tilnærmer bevegelsesvektoren som mottas fra bevegelsesestimeringsblokken 130 ved å anvende en bevegelses-modell som omfatter et sett med basisfunksjoner og bevegelseskoeffisienter. Mer bestemt representerer bevegelsesfeltkodingsblokken bevegelsesvektoren som et sett med bevegelses-koeffisientverdier som danner, når multiplisert av basisfunksjonene, en tilnærming for bevegelsesvektoren. Typisk anvendes en translasjonsbevegelsesmodell som har kun 2 bevegelseskoeffisienter og basisfunksjoner, men mer kompliserte bevegelsesmodeller kan også anvendes.
Bevegelseskoeffisientene sendes fra bevegelsesfeltkodingsblokken 140 til bevegelseskompenseringsprediksjonsblokk 150. Bevegelseskompenseringsprediksjonsblokk 150 mottar også søkeregionen som passer best med pikselverdier identifisert av bevegelsesestimeringsblokken 130 fra rammelager 120. Ved å anvende den tilnærmede representasjonen av bevegelsesvektoren som genereres av bevegelsesfeltkodingsblokken 140 og pikselverdiene for søkeregionen som passer best fra referanserammen, genererer bevegelseskompenseringsprediksjonsblokken 150 en tabell med beregnede pikselverdier for hver blokk av makroblokken. Hver blokk med beregnede pikselverdier sendes til kombinator 116 hvor de beregnede pikselverdiene trekkes fra de aktuelle (inngang) pikselverdiene i den korresponderende blokken av den aktuelle makroblokken, og derved danner et sett med prediksjonsfeilblokker for makroblokken.
Driften av videodekoderen 200, slik som vist i Fig. 2, vil nå bli beskrevet. Dekoderen 200 omfatter en videomultipleksdekoder 270, som mottar en kodet videobitstrøm 135 fra koderen 100 og demultiplekser den inn i sine konstituente deler, en inverskvantiserer 210, en invers DCT-transformer 220, en bevegelseskompenseringsprediksjonsblokk240, et rammelager 250, en kombinator 230, en kontrollstyrer 260, og en utgang 280.
Kontrollstyreren 260 styrer driften av dekoderen 200 i respons til om enten en INTRA- eller en INTER-kodet ramme blir dekodet. Et INTRA/INTER-trigger-styringssignal, som forårsaker at dekoderen svitsjer mellom dekodemoduser utledes, f.eks. bildetypeinformasjonen tilknyttet med hver komprimerte videoramme som mottas fra koderen. I NTRA/I NTER-triggerstyringssignalet ekstraheres fra den kodede videobitstrømmen av videomultipleksdekoderen 270 og sendes til kontrollstyreren 260 via kontrollinje 215.
Dekoding av en INTRA-kodet ramme utføres makroblokk-for-makroblokk. Videomultipleksdekoderen 270 separerer den kodede informasjon for blokkene av makroblokken fra mulig kontrollinformasjon vedrørende den aktuelle makroblokken. Den kodede informasjonen for hver blokk av en INTRA-kodet makroblokk omfatter variable lengdekodeord som representerer de VLC-kodede nivå- og rekkeverdier for ikke-null-DCT-koeffisientene i blokken. Videomultipleksdekoderen 270 dekoder de variable lengdekodeordene ved å anvende en fremgangsmåte for variabel lengdedekoding som korresponderer til fremgangsmåten for koding som anvendes i koderen 100 og derved gjenvinner ( rekke,/7/Vå)-parene. Derved rekonstruerer tabellen med kvantiserte transformerings-koeffsientverdier for hver blokk av makroblokken og sender dem til inverskvantiserer 210. Kontrollinformasjon vedrørende makroblokken dekodes i videomultipleksdekoderen ved å anvende en egnet fremgangsmåte for dekoding og sendes til kontrollstyreren 260. Mer bestemt ekstraheres informasjon ved-rørende nivået på kvantiseringen, som påføres transformeringskoeffisientene (dvs. kvantiseringsparameter QP) fra den kodede bitstrømmen av multipleks-dekoder 270 og frembrakt til kontrollstyrer 260 via kontrollinje 217. Kontrollstyreren leder denne informasjonen til inverskvantiserer 210 via kontrollinje 218. Inverskvantiserer 210 inverskvantiserer de kvantiserte DCT-koeffisientene for hver blokk av makroblokken ifølge kontrollinformasjon vedrørende kvantiseringsparameter QP og frembringer de nå inverskvantiserte DCT-koeffisientene til invers-DCT-transformerer 220. Inverskvantiseringsoperasjonen som utføres av inverskvantiserer 210 er identisk med den som utføres av inverskvantiserer 108 i koderen.
lnvers-DCT-omformer220 utføreren invers-DCT-transformasjon på de inverskvantiserte DCT-koeffisientene for hver blokk av makroblokken for å danne en dekodet blokk med bildeinformasjon som omfatter rekonstruerte pikselverdier. De rekonstruerte pikselverdiene for hver blokk av makroblokken sendes via kombinator 230 til videoutgangen 280 på dekoderen, hvor de f.eks. kan frembringes til en fremvisningsanordning (ikke vist). De rekonstruerte pikselverdiene for hver blokk av makroblokken lagres også i rammelaget 250. Pga. at bevegelseskompensert prediksjon ikke anvendes i kodingen/dekodingen av INTRA-kodede makroblokker, styrer kontrollstyreren 260 kombinator 230 til å sende hver blokk med pikselverdier til videoutgangen 280 og rammelager 250.
Idet etterfølgende makroblokker av den INTRA-kodede rammen dekodes og lagres, assembleres en dekodet ramme progressivt i rammelageret 250 og blir derfor tilgjengelig for bruk som en referanseramme for bevegelseskompensert prediksjon i forbindelse med dekodingen av etterfølgende mottatte INTER-kodede rammer.
INTER-kodede rammer dekodes også makroblokk-for-makroblokk. Videomultipleksdekoderen 270 mottar den kodede videobitstrømmen 135 og separarerer den kodede prediksjonsfeilinformasjonen for hver blokk av en INTER-kodet makroblokk fra kodet bevegelsesvektorinformasjon og mulig kontrollinformasjon vedrørende den aktuelle makroblokken. Slik som beskrevet ovenfor, omfatter den kodede prediksjonsfeilinformasjonen for hver blokk av makroblokken typisk variable lengdekodeord som representerer nivå- og re/c/ceverdier for ikke-null-kvantiserte transformeringskoeffisientene for den aktuelle prediksjonsfeilblokken. Videomultipleksdekoderen 270 dekoder de variable lengdekodeordene ved å anvende en variabel lengdedekodings-fremgangsmåte som korresponderer til fremgangsmåten for koding som anvendes i koderen 100 og derved gjenvinner { rekke,/7/Vå)-parene. Dermed rekonstruerer den en tabell med kvantiserte transformeringskoeffisientverdier for hver prediksjonsfeilblokk og sender dem til inverskvantiserer 210. Kontrollinformasjon vedrørende INTER-makroblokken dekodes også i videomultipleksdekoderen ved å anvende en egnet fremgangsmåte for dekoding og sendes til kontrollstyreren 260. Informasjon vedrørende nivået på kvantisering (QP) som påføres transformeringskoeffisientene for prediksjonsfeilblokkene ekstraheres fra den kodede bitstrømmen og frembringes til kontrollstyreren 260 via kontrollinje 217. Kontrollstyreren leder etter tur denne informasjonen til inverskvantiserer 210 via kontrollinje 218. Inverskvantiserer 210 inverskvantiserer de kvantiserte DCT-koeffisientene som representerer prediksjonsfeilinformasjonen for hver blokk av makroblokken ifølge kontrollinformasjonen som vedrører kvantisertngs-parameter-QP og frembringer de nå inverskvantiserte DCT-koeffisientene til invers DCT-omformer 220. Igjen er inverskvantiseringsoperasjonen som utføres av inverskvantiserer 210 identisk til den som utføres av inverskvantiserer 108 i koderen. I NTRA/I NTER-flagget frembringes i linje 215.
De inverskvantiserte DCT-koeffisientene som representerer prediksjonsfeilinformasjon for hver blokk inverstransformeres så i invers-DCT-omformeren 220 for å avgi en tabell med rekonstruerte prediksjonsfeilverdier for hver blokk av makroblokken.
Den kodede bevegelsesvektorinformasjonen tilknyttet med makroblokkene ekstraheres fra den kodede videobitstrømmen 135 av videomultipleksdekoder 270 og blir dekodet. Den dekodede bevegelsesvektorinformasjonen som derfor oppnås sendes via kontrollinje 225 til bevegelseskompenseringsprediksjonsblokk 240 som rekonstruerer en bevegelsesvektorfor makroblokken ved å anvende den samme bevegelsesmodellen som anvendes til å kode den interkodede makroblokken i koder 100. Den rekonstruerte bevegelsesvektoren tilnærmer bevegelsesvektoren som opprinnelig bestemmes av bevegelseses-timeringsblokk 130 på koderen. Bevegelseskompenseringsprediksjonsblokken 240 på dekoderen anvender den rekonstruerte bevegelsesvektoren for å identifisere lokasjonen for en region med rekonstruerte piksler i en prediksjonsreferanseramme som er lagret i rammelager 250. Regionen med piksler som er indikert av den rekonstruerte bevegelsesvektoren anvendes til å danne en prediksjon for den aktuelle makroblokken. Mer bestemt danner bevegelseskompenseringsprediksjonsblokken 240 en tabell med pikselverdier for hver blokk av makroblokken ved å kopiere korresponderende pikselverdier fra piksel-regionen som er identifisert i referanserammen. Disse blokkene med pikselverdier, utledet fra referanserammen, sendes fra bevegelsesskompenserings-prediksjonsblokk 240 til kombinator 230 hvor de kombineres med den dekodede prediksjonsfeilinformasjonen. Pikselverdiene for hver beregnede blokk blir lagt til korresponderende rekonstruert prediksjonsfeilverdierutgang av invers DCT-omformer 220. På denne måten oppnås en tabell med rekonstruerte pikselverdier for hver blokk av makroblokken. De rekonstruerte pikselverdiene sendes til videoutgangen 280 på dekoderen og lagres også i rammelager 250.
Idet etterfølgende makroblokker av den interkodete rammen dekodes og lagres, assembleres en dekodet ramme progressivt i rammelageret 250 og blir derfor tilgjengelig for bruk som en referanseramme for bevegelseskompensert prediksjon av andre interkodete rammer.
Som beskrevet ovenfor, er typiske video- og dekodingssystemer (vanligvis referert til som videokodeks) basert på bevegelseskompensert prediksjon og prediksjonsfeilkoding. Bevegelseskompensert prediksjon oppnås ved å ana-lysere og kode bevegelsen mellom videorammer og rekonstruere bildesegmenter ved å anvende bevegelsesinformasjon. Prediksjonsfeilkoding anvendes for å kode bevegelseskompenseringsbildesegmentet og korresponderende segmenter av det originale bildet. Nøyaktigheten for prediksjonsfeilkodingen kan reguleres avhengig av den tilgjengelige båndbredden og nødvendig kvalitet på den kodede videoen. I et typisk diskret cosinustransformasjonbasert system (DCT-system) gjøres dette ved å variere kvantiseringsparameteren (QP) som anvendes i kvantisering av DCT-koeffisientene til en spesifikk nøyaktighet.
Det skal merkes, at for å forbli i synkronisering med koderen, må dekoderen vite den eksakte verdien på QP som anvendes i den kodede videosekvensen. Typisk overføres QP-verdien én gang per skive som fører til økning i antall bit som trengs for å kode bildet. (Som forklart tidligere, omfatter en skive del av bildet og er kodet uavhengig fra andre skiver for å unngå propagasjon av mulig transmisjonsfeil inne i bildet). F.eks. dersom kodingen av en enkel QP-verdi tar 6 bit og 20 bilder, hvert delt inn i 10 skiver, blir overført hvert sekund, brukes 1,2 kbps for QP-informasjonen alene.
Kjente løsninger (f.eks. H.26L videokodingsanbefalingen presentert i dokumentet av T. Wiegand, «Joint Modell Number 1», Doc.JVT-A003, Joint Video Team (JVT) av ISO/IEC MPEG og ITU-T VCEG, jan. 2002), koder bildet/skive QP-parameteren uavhengig med en bestemt eller variabel lengdekode. Dette fører til økt transmisjonsbithastighet som beskrevet ovenfor. Mer bestemt, ifølge H.26L Joint Modell Number 1, er kvantiseringsparameterverdien QP som anvendes i kvantisering av DCT-koeffisientverdier typisk indikert i den kodede bitstrømmen ved begynnelsen av hvert bilde (T. Wiegand, «Joint Modell Number 1», DOC.JVT-A003, Joint Video Team (JVT) av ISO/IEC MPEG og ITU-T VCEG, jan. 2002, seksjon 3.3.1). Dersom makroblokkene innenfor en ramme anordnes i skiver, indikeres også QP-verdien ved begynnelsen av hver skive av rammen (f.eks. i en valgfri skiveheaderdel av den kodede bitstrømmen). I begge tilfeller indikeres QP-verdien slik eller blir kodet ved å anvende en egnet fremgangsmåte for variabel lengdekoding. Som beskrevet ovenfor skal det forstås at denne fremgangsmåten er veldig kostbar når det gjelder antall bit som er nødvendig for å representere kvantiseringsparameterinformasjonen, spesielt i situasjoner hvor rammer deles inn i mange skiver og/eller den tilgjengelige bånd-bredden som er tilgjengelig for transmisjon av den kodede videosekvensen er lav. Dette er et spesielt viktig problem i mobile videoapplikasjoner hvori den kodede video-bitstrømmen overføres over en radiokommunikasjonslink. I denne situasjonen kan båndbredden som er tilgjengelig for transmisjon av den kodede video-bitstrømmen være så lav som 20 kbits/s og QP-informasjonen som inkluderes i bitstrømmen kan representere en viktig del av totale tilgjengelig båndbredden. Videre, ifølge H.26L, kan verdien på QP valgfritt varieres ved makroblokknivå ved å sette inn en kvantiseringsforandringsparameter (Dquant) i delen av den kodede bitstrømmen som representerer den aktuelle makroblokken (se T. Wiegand, «Joint Modell Number 1», Doc.JVT-A003, Joint Video Team (JVT) av ISO/IEC MPEG og ITU-T VCEG, jan. 2002, seksjon 3.4.7). Dette fører til en ytterligere økning i informasjonsmengden som gis til indikasjonen av QP-relatert informasjon.
EP 0 540 961 A2 beskriver et system og en metode for koding av en digital videosekvens for anvendelse i en videokodingsapplikasjon for å produsere en kodet videobitstrom som representerer den digitale videosekvensen, hvor den digitale videosekvensen omfatter et antall rammer, og hver ramme for sekvensen omfatter en tabell av piksler som er delt inn i antall blokker, hvor hver blokker omfatter et bestemt antall piksler, og hvor metoden omfatter å kode en ramme for den digitale videosekvensen ved å anvende bevegelseskompensert prediksjon på blokker med piksler for å produsere korresponderende blokker med prediksjonsfeilverdier, og å anvende en transformeringskodingsteknikk på blokkene med prediksjonsfeilverdier for å produsere sett med transformerings-koeffisientverdier som representerer blokkene for prediksjonsfeilverdier.
US 5 907 362 angir at en kvantifisering kretse beregner en del kvantisering trinnverdier SLQ som vil bli benyttet som en standardverdi kvantifiseringstrinn for en del blokk basert på akkumulert aktivitet.
I lys av det ovennevnte, skal det merkes at det er et stort behov for forbedret mekanisme for å indikere informasjon som vedrører kvantisert ngsparameter-verdier i videokodingssystemer.
Kort beskrivelse av oppfinnelsen
Opfinnelsen er definert i patentkavene.
Kort beskrivelse av tegningene
Fig. 1 viser formasjonen på en 16x16 makroblokk ifølge kjent teknikk.
Fig. 2 viser underoppdeling av et QCIF-bilde inn i 16x16 makroblokker og gruppering av etterfølgende makroblokker inn i skiver.
Fig. 3 viser et blokkdiagram av en generisk videokoder ifølge kjent teknikk.
Fig. 4 viser blokkdiagram av en generisk videodekoder ifølge kjent teknikk og korresponderende til koderen vist i fig. 3. Fig. 5 viser et blokkdiagram av en videokoder ifølge én utførelse av oppfinnelsen. Fig. 6 viser et blokkdiagram av en videodekoder ifølge én utførelse av oppfinnelsen og korresponderende til koderen vist i Fig. 5. Fig. 7 viser en dekodingsprosesss ifølge én mulig utførelse av oppfinnelsen. Kvantiseringsparametere (QP) for hver skive oppnås ved å legge til sekvens QP (SQP) til skivespesifikkdifferanseverdiene QP (AQP<n>). Fig. 8 viser et blokkdiagram av en multimediakommunikasjonsterminal, hvori fremgangsmåten ifølge oppfinnelsen kan implementeres.
Detaljert beskrivelse av oppfinnelsen
I én foretrukket utførelse av oppfinnelsen overføres en videosekvensspesifikk kvantiseringsparameter (QP) og anvendes som en referanse når koding og dekoding av det faktiske bildet/skivekvantiseringsparameteren. På denne måten er det ikke noe behov for å overføre en full QP for hvert bilde/skive, men en statistisk mindre differanseverdi overføres og anvendes til å rekonstruere bildet/skiven QP, og fører derfor til reduksjon i transmisjonsbithastighet.
Utførelser av oppfinnelsen vil nå bli beskrevet med henvisning til fig. 5-8.
Fig. 5 viser et blokkdiagram av en videokoder implementert ifølge den foretrukne utførelsen av oppfinnelsen. Strukturen for videokoderen vist i Fig. 5 er hovedsakelig identisk med videokoderen av kjent teknikk vist i Fig. 3, med egnede modifikasjoner til de delene av koderen som utfører operasjoner vedrørende kvantisering av DCT-transformeringskoeffisienter og signalering av kvantiseringsparameterverdier (QP) som anvendes i videokodingsprosessen. Alle deler av videokoderen som implementerer funksjoner og fungerer på en identisk måte til den tidligere beskrevne kjente videokoderen er identifisert med like henvisningstall. Idet oppfinnelsen er spesielt relevant til signalering av kvantiseringsparameterverdier (QP) ved skive- eller rammenivå, vil det antas gjennom den følgende beskrivelse at videokoderen 600 ifølge den foretrukne
utførelsen av oppfinnelsen er spesielt tilpasset til å anvende en fremgangsmåte for videokoding, hvori rammene for en videosekvens som skal kodes, deles inn i makroblokker, og makroblokkene grupperes videre inn i skiver, og en indikasjon på kvantiseringsparameteren frembringes ved begynnelsen på hver ramme, og ved begynnelsen på hver ny skive innenfor en ramme. Et eksempel på en slik fremgangsmåte for videokoding er den tidligere refererte ITU-T H.26L videokodingsanbefalingen, som omtalt i T. Wiegand, «Joint Modell Number 1»,
DOC.JVT-A003, Joint Video Team (JVT) av ISO/IEC MPEG og ITU-T VCEG, jan. 2002). Alternativt kan fremgangsmåten anvendes i et videokodingssystem, hvori en indikasjon av kvantiseringsparametrene er gitt kun ved begynnelsen på rammen. Idet den følgende detaljerte beskrivelsen er skrevet spesifikt for å illustrere applikasjonen for fremgangsmåten i samsvar med oppfinnelsen i indikasjonen og signaleringen av skivenivåkvantiseringspara-meteren, skal det merkes at fremgangsmåten kan anvendes på en eksakt lik måte til representasjon av rammenivåkvantiserings-parametrene (bilde).
Driften av videokoderen 600 vil nå bli beskrevet detaljert. Når koding av en digital videosekvens, opererer koderen 600 på en lik måte som den beskrevet tidligere i forbindelse med Fig. 3 for å generere INTRA-kodete og INTER-kodete komprimerte videorammer. Som forklart tidligere i teksten, i INTRA-kodemodus, anvendes en diskret cosinustransformering (DCT) på hver blokk av bildedata (pikselverdier) for å produsere en korresponderende todimensjonal tabell med transformerings-koeffisientverdier. DCT-operasjonen utføres i transformeringsblokk 104 og koeffisientene som derfor produseres er etterfølgende sendt til kvantiserer 106, hvor de kvantiseres. I interkodemodus anvendes DCT-transformeringen som utføres i blokk 104 til blokkene med prediksjonsfeilverdier. Transformeringskoeffisientene som produseres som et resultat av denne operasjonen sendes også til kvantiserer 106 hvor de også kvantiseres.
Ifølge oppfinnelsen, når koding av en ny videosekvens starter, bestemmer koder 600 et standard- eller referansenivå for kvantisering som skal anvendes gjennom kodingen av videosekvensen for å kvantisere DCT-koeffisientverdiene som genereres i kvantiserer 106. Gjennom den følgende beskrivelsen vil dette standard- eller referansenivået for kvantisering benevnes som en «sekvensnivåkvantiseringsparameter», eller forkortet SQP. Valget av en SQP for en gitt videosekvens er styrt av kontrollstyreren 660, og kan f.eks. baseres på vurderingen av egenskaper for sekvensen som skal kodes og den tilgjengelige båndbredden for transmisjon av den kodede bitstrømmen som er produsert av koderen.
I den foretrukne utførelsen av oppfinnelsen bestemmer koder 600 SQP som standard- eller referansenivået for kvantisering som skal anvendes når det opereres i INTER-kodemodus, dvs. i situasjoner når DCT-koeffisientene, som genereres i transformeringsblokk 104, representerer prediksjonsfeilverdiene. Det skal merkes at fremgangsmåten ifølge oppfinnelsen også kan anvendes for kvantisering av DCT-koeffisientverdier som produseres i tradisjonell INTRA-kodemodus hvor ingen spatial prediksjon anvendes. Imidlertid, gitt de ulike startpunktene for transformerings-koeffisientene i INTRA- og INTER-kodemoduser (DCT-koeffisientene som produseres i INTRA-kodemodus er utledet fra pikselverdier, mens de som genereres i INTER-kodemodus er produsert ved å anvende en DCT-transformering til prediksjonsfeilverdier), er det usannsynlig at en enkel SQP-verdi kan bestemmes som er optimal for kvantisering av DCT-koeffisienter både i INTRA- og INTER-kodemoduser. Derfor, i én utførelse hvori fremgangsmåten ifølge oppfinnelsen anvendes i både INTRA- og INTER-kodemodus, anvendes to SQP-verdier, én som tilveiebringer den mest effektive representasjonen av QP-informasjon i INTRA-kodemodus og en annen som tilveiebringer den mest effektive representasjonen av QP-verdier som anvendes under INTER-koding. I alle andre tilfeller kan fremgangsmåten ifølge oppfinnelsen anvendes på en direkte lik måte i både INTRA- og INTER-kodemoduser. Selvfølgelig, i en alternativ utførelse kan en enkel SQP-verdi defineres og anvendes som sekvensnivåkvantiseringsparameteren både for INTRA- og INTER-kodingsrammene. Dette er en praktisk løsning, spesielt i moderne videokodingssystemer, slik som den beskrevet i T. Wiegand, «Joint Modell Number 1», Doc.JVT-A003, Joint Video Team (JVT) av ISO/IEC MPEG og ITU-T VCEG, jan. 2002), hvor spatialprediksjon anvendes for INTRA-kodede makroblokker før koding av INTRA-rediksjonsfeilen med DCT.
Det skal ytterligere merkes at flertallet av rammene i en typisk videosekvens kodes som INTER-rammer, og den største besparelsen i bithastighet oppnås ved å anvende fremgangsmåten ifølge oppfinnelsen til representasjonen av QP-verdier i INTER-kodemodus. Derfor, i den foretrukne utførelsen av oppfinnelse anvendes en enkel SQP-verdi, og denne verdien indikerer en standard- eller referanseverdi for kvantisering som skal anvendes i kvantisering av DCT-koeffisienter, som representerer prediksjonsfeilverdier i INTER-kodemodus.
Når SQP-verdien som skal anvendes for sekvensen har blitt bestemt, tilveiebringer kontrollstyreren 660 en indikasjon på den valgte SQP-verdien via kontrollinje 122 til videomultiplekskoder670 som, etter tur, setteren indikasjon for SQP-verdien inn i bitstrømmen 635 av kodet bildeinformasjon som representerer videosekvensen. Fortrinnsvis frembringes denne indikasjonen i en sekvensheaderdel (sequence header portion) av den kodede videobitstrømmen 635.
Videokoder 600 starter så å kode videosekvensen. Som forklart i forbindelse med videokoderen 100 i kjent teknikk, illustrert i fig. 3, kodes den første rammen i sekvensen som skal kodes i INTRA-format. Idet SQP-verdien som defineres ifølge den foretrukne utførelsen av oppfinnelsen er spesifikk til kvantiseringen av DCT-koeffisientverdiene som produseres i INTER-kodemodus er operasjon av koderen 600 i INTRA-kodemodus fullstendig lik til den videokoderen 100 i kjent teknikk, og vil ikke bli vurdert videre i detalj her.
Idet koding av den første rammen er ferdig, svitsjer kontrollstyrer 660 videokoderen 600 til INTER-kodemodus. I INTER-kodemodus opererer svitsj 102 til å motta sitt inngangssignal fra linje 117, som omfatter utgangssignalet fra kombinatoren 116. Kombinator 116 mottar videoinngangsignalet makroblokk-for-makroblokk fra inngangen 101 og danner en blokk med prediksjonsfeilinformasjon av makroblokken. Prediksjonsfeilinformasjon for hver blokk sendes til DCTtransformator 104, som utføreren todimensjonal, diskret cosinustransformering på hver blokk med prediksjons-feilverdier for å produsere en todimensjonal tabell med DCT-transformerings-koeffisienter for den aktuelle blokken. Transformeringskoeffisientene for hver prediksjonsfeilblokk sendes så til kvantiserer 106 hvor de blir kvantisert, som beskrevet tidligere, ved å anvende en kvantiseringsparameter QP. Resten av INTER-kodingsprosessen fortsetter som beskrevet tidligere i forbindelse med den kjente videokoderen 100.
Idet hver makroblokk mottas, bestemmer kontrollstyreren 660 om makroblokken, som for tiden behandles, er den første makroblokken av skiven. Dersom den er, bestemmer kontrollstyreren en kvantiseringsparameterverdi QP som skal anvendes i kvantisering av DCT-koeffisientverdiene som genereres i DCTtransformator 104. Det skal merkes at det er mulig å foreta en estimering om QP'en basert på bitbudsjettet som tillates for rammen, bit som allerede er brukt i de tidligere skivene eller den samme rammen og muligens bitene som er brukt for skiven i den tidligere rammen. Når dette er gjort, bestemmer kontrollstyreren 660 en differanse (AQP) mellom den tidligere definerte sekvensnivåkvanti-seringsparameterverdien SQP og den faktiske QP-verdien som skal anvendes for den aktuelle skiven. Deretter sendes en indikasjon for denne differansen via kontrollinje 624 til videomultiplekskoder670, som videre omfatteren indikasjon på differanseverdienAQP i bitstrøm 635. Fortrinnsvis frembringes denne indikasjonen i en skiveheaderdel (slice header portion) i den kodede video-bitstrømmen 635 som omfatter kontrollinformasjon spesifikt til den aktuelle skiven. Denne prosessen repeteres helt til alle skiver av den gjeldende rammen er blitt kodet i I NTER-kodet format, og hvor dette punktet starter video-koderen og koder den neste rammen for videosekvensen.
En videodekoder 700 som er implementert ifølge en foretrukket utførelse av oppfinnelsen, vil nå bli beskrevet med henvisning til Fig. 6. Strukturen for videodekoderen illustrert i Fig. 6 er hovedsakelig identisk til videodekoderen av kjent teknikk vist i Fig. 4, med egnede modifikasjoner til de deler av dekoderen som utfører operasjoner vedrørende inverskvantiseringen av DCT-transformerings-koeffisienter. Alle delene av videodekoderen som implementerer funksjoner og fungerer på en måte som er lik den tidligere beskrevne kjente videodekoderen er identifisert med like henvisningstall.
Her er det antatt at videodekoderen i Fig. 6 korresponderer til koderen beskrevet i forbindelse med Fig. 5 og er derfor i stand til å motta og dekode bitstrømmen 635 som overføres av koderen 600. Slik som beskrevet tidligere i den foretrukne utførelsen av oppfinnelsen bestemmer koder 600 en sekvensnivåkvantiseringsparameter SQP som skal anvendes i INTER-kodemodus. Korresponderende tilpasses dekoder 700 til å motta en indikasjon av denne SQP-verdien og å anvende sekvensnivå-kvantiseringsparameteren SQP i bestemmelse av inverskvantiseringsparametere som skal anvendes med blokkene med kvantiserte transformeringskoeffisientverdier (som representerer prediksjonsfeilverdier), som mottas i den kodede bitstrømmen for INTER-kodede rammer. I en alternativ utførelse av oppfinnelsen, kan den samme prosess også anvendes på kvantiserte transformeringskoeffisientverdier som er ekstrahert fra bitstrømmen fra INTRA-kodede rammer. Som forklart ovenfor, i denne alternative utførelsen, kan en angivelse til to SQP-verdier frembringes, én for INTRA-kodede rammer i sekvensen, og én for INTER-kodede rammer. I en ytterligere alternativ utførelse kan en enkel sekvensnivåkvantiseringsparameter henvises til for rammer som er kodet både i INTRA- og INTER-kodemoduser.
Drift av en videodekoder ifølge den foreliggende utførelsen av oppfinnelsen, vil nå bli beskrevet mer detaljert. Dekoder 700 mottar bitstrøm 635 og separerer den inn i sine konstituente deler. Denne operasjonen utføres av videomultipleksdekoder 770.
Når dekoding av en ny sekvens starter, ekstraherer først videomultipleksdekoder 770 informasjon og parametere vedrørende sekvensen som en helhet fra sekvens-headerdelen av den mottatte bitstrømmen 635. Som beskrevet ovenfor, i forbindelse med beskrivelsen av koder 600 ifølge den foretrukne utførelsen av oppfinnelsen, er sekvensheaderdelen av bitstrømmen modifisert for å inneholde en angivelse til sekvensnivåkvantiseringsparameteren SQP som anvendes i kvantisering av DCT-koeffisientverdier som produseres i INTERkodemodus. Videomultipleksdekoder ekstraherer angivelsen til SQP-verdien fra bitstrømmen og, dersom den var kodet, f.eks. ved å anvende variabel lengdekoding, anvendes egnet dekoding for å gjenvinne SQP-verdien. Dermed sender den SQP-verdien til dekoderens kontrollstyrer 760 som lagrer den i dekoderens minne.
Videodekoder 700 starter så å dekode de kodede rammene av videosekvensen, og dekodingen av hver ramme starter med en gang videodekoderen starter å motta informasjon vedrørende rammen i videobitstrøm 635. Videomultipleksdekoder 770 ekstraherer et I NTRA/I NTER-utløserkontrollsignal fra bildetypeinformasjonen tilknyttet hver komprimerte videoramme som mottas i den kodede bitstrømmen 635 og sender den til kontrollstyrer 760 via kontroll-linje 215. Kontrollstyreren 760 styren driften av dekoderen responsivt til I NTRA/I NTER-utløserkontrollsignalet, for å svitsje dekoderen inn i korrekt dekodemodus.
I den foretrukne utførelsen av oppfinnelsen utføres dekodingen av rammene som kodes i INTRA-format på en måte som er lik til den som er beskrevet tidligere i forbindelse med drift av videodekoder 200 i kjent teknikk. Dekodingen av rammene som kodes i INTER-format, foretas på en annen side slik som beskrevet i det følgende.
Når den mottar en angivelse at neste ramme som skal dekodes er en INTER-kodet ramme, ekstrahert fra den mottatte bitstrømmen av
videomultipleksdekoder 770, svitsjer kontrollstyrer 760 dekoder 700 til INTER-modus. Slik som beskrevet i forbindelse med beskrivelsen av koder 600 ifølge den foretrukne utførelsen av oppfinnelsen, hvori makroblokkene for hver ramme er gruppert inn i skiver, omfatter kodet bitstrøm 635 bestemt skivespesifikk kontrollinformasjon, som omfatteren angivelse til en skivespesifikk QP-verdi, representert som en referanseverdi AQP mht. sekvensnivåkvantiseringsparameteren SQP. Fortrinnsvis frembringes kontrollinformasjonen, som spesifikt vedrører hver skive, i en bitstrøm som en headerdel spesifikk til den aktuelle skiven. Ved mottak av en slik del av bitstrømmen, ekstraherer videomultipleksdekoder den skivespesifikke kontrollinformasjonen fra skiveheader-
delen av bitstrømmen og sender angivelsen til AQP for skiven, gjenfunnet i bitstrømmen, til kontrollstyrer 760 via kontrollinje 717.
Etterfølgende bestemmer kontrollstyrer 760 et nivå for inverskvantisering som skal anvendes med kvantiserings-DCT-koeffisientene for makroblokken i skiven. Dette er gjort for å kombinere AQP-verdien for skiven med den sekvens-spesifikke kvantiseringsparameteren SQP, tidligere mottatt og lagret i dekoderens minne. Slik som beskrevet tidligere i teksten, involverer inverskvantiseringsoperasjonen som utføres i dekoderen multiplisering av hver kvantiserte DCT-koeffisient med en verdi som er lik kvantiseringsnivået som opprinnelig anvendes, dvs., med QP-verdien som anvendes i den korresponderende koderen for å kvantisere DCT-koeffisientene. Derfor, ifølge den foretrukne utførelsen av oppfinnelsen, bestemmer kontrollstyrer 760 nivået for inverskvantisering for makroblokkene av skiven ved å legge til den mottatte AQP-verdien for skiven til SQP. Deretter sendes denne verdien til inverskvantiserer 210 via kontrollinje 218.
Idet kodet informasjon for hver makroblokk i skiven mottas i bitstrømmen 635, separerer videomultipleksdekoder 770 den kodede prediksjonsfeilinformasjonen for hver blokk av makroblokken fra kodet bevegelsesvektorinformasjon. Den rekonstruerer de kvantiserte DCT-transformeringskoeffisientene som representerer prediksjonsfeilverdiene for hver blokk og sender dem til inverskvantiserer 210. Inverskvantiserer 210 inverskvantiserer så de kvantiserte DCT-koeffisientene ifølge skiven QP som konstrueres fra AQP og SQP-verdiene av kontrollstyrer 760. Dermed tilveiebringer den de inverskvantiserte DCT-koeffisientene til invers-DCT-omformer 220. Resten av dekodingsprosessen fortsetter slik som beskrevet tidligere i forbindelse med videodekoder 200 i kjent teknikk.
Trinnene for å motta en skivespesifikkAQP-verdi, ved å kombinereAQP med SQP og inverskvantisere de kvantiserte DCT-koeffisientene for hver blokk av makroblokkene innenfor skiven, repeteres for hver skive av rammen til alle skiver i den aktuelle INTER-kodede rammen er blitt dekodet. Ved dette punktet starter videokoder 700 å dekode den neste rammen av den kodede videosekvensen.
Fig. 7 illustrerer måten som skivespesifikke QP-verdier rekonstrueres på ifølge den foretrukne utførelsen av oppfinnelsen. Det kan ses fra figuren at fremgangsmåten omfatter trinnene:
1. å gjenfinne en sekvensnivåkvantiseringsparameter (SQP); 2. å gjenfinne et bilde eller skivenivådifferansekvantiseringsparameter (AQP); 3. å legge til differansekvantiseringsparametrene til sekvensnivåparameteren for å oppnå kvantiseringsparametere for et bilde eller en skive; 4. å konstruere de mottatte prediksjonsfeilkodingskoeffisientene ved hjelp av bildet eller skivekvantiseringsparameter.
Fig. 8 viser en terminalanordning som omfatter videokoding og dekodingsutstyr som kan tilpasses til å operere i samsvar med den foreliggende oppfinnelse. Mer presist illustrerer figuren en multimediaterminal 80 som er implementert i samsvar med ITU-T-anbefalingen H.324. Terminalen kan ses på som en multimediatransceiveranordning. Den omfatter elementer som oppfanger, koder og multiplekser multimedia-datastrømmer for transmisjon via et kommunikasjonsnettverk, så vel som elementer som mottar, demultiplekser, dekoder og fremviser mottatt multimediainnhold. ITU-T-anbefalingen H.324 definerer den totale operasjonen av terminalen og refererer til andre anbefalinger som regulerer driften av dens ulike konstituente deler. Denne typen multimediaterminal kan anvendes i sanntidsapplikasjoner slik som konversasjonen videotelefoni, eller ikke-sanntidsapplikasjoner slik som gjenfinning og/eller streaming av videoklipp, f.eks. en multimediainnholdsserver på internett.
I konteksten av den foreliggende oppfinnelse skal det merkes at H.324-terminalen som vises i Fig. 8 kun er én av et antall alternative multimedia-terminalimplementasjoner som passer for applikasjon av den oppfinneriske fremgangsmåten. Det skal også merkes at et antall alternativer eksisterer vedrørende lokasjonen og implementasjonen av terminalutstyret. Slik Fig. 8 illustrerer, kan multimediaterminalen lokaliseres i kommunikasjonsutstyr som er tilkoblet til et fast linjetelefonnettverk, slik som et analog PSTN (Public Switched Telephone Network). I dette tilfellet er multimediaterminalen utstyrt med modem 91, i tråd med ITU-T-anbefalingene V.8, V.34 og valgfritt V.8bis. Alternativt kan multimediaterminalen tilkobles et eksternt modem. Modemet åpner for konversasjon av de multipleksete digitale dataene og kontrollsignalene som produseres av multimediaterminalen til en analog form som er egnet for transmisjon over PSTN. Det åpner videre for multimediaterminalen å motta data og kontroll-signaler i analog form fra PSTN og konvertere dem til en digital datastrøm som demultiplekses og behandles på en egnet måte av terminalen. En H.324-multimediaterminal kan også implementeres på en slik måte at den kan være direkte tilkoblet et digitalt fast linjenettverk, slik som et ISDN (Integrated Services Digital Network). I dette tilfellet er modemet 91 erstattet med et ISDN-brukernettverkgrensesnitt. I Fig. 8 er dette ISDN-brukernettverk-grensesnittet representert av alternativ blokk 92.
H.324-multimediaterminaler kan også tilpasses for bruk i mobile kommunika-sjonsapplikasjoner. Dersom anvendt med en trådløs kommunikasjonslink, kan modemet 91 erstattet med et trådløst egnet grensesnitt, slik som representert av alternativ blokk 93 i Fig. 8. F.eks. kan en H.324/M multimediaterminal omfatte en radiotransceiver som åpner for tilkobling til den gjeldende 2. generasjons-GSM mobilt telefonnettverk, eller det foreslåtte 3. generasjons UMTS (Universal Mobile Telephone System). Det skal merkes at i multimediaterminaler som er konstruert for toveis kommunikasjon, dvs. for transmisjon og mottak av videodata, er det fordelaktig å frembringe både en videokoder og videodekoder implementert ifølge den foreliggende oppfinnelse. Slik et koder- og dekoderpar er ofte implementert som en enkel kombinert funksjonell enhet, referert til som «kodek».
En typisk H.324-multimediaterminal vil nå bli beskrevet mer detaljert med angivelse til Fig. 8.
Multimediaterminalen 80 omfatter et mangfold med elementer som refereres til som «terminalutstyr». Dette omfatter video, audio og telematiske anordninger, merket generelt ved henvisningstall 81, 82 og 83 respektivt. Videoutstyret 81 kan omfatte f.eks. et videokamera for å oppfange videobilder, en monitor for å fremvise mottatt videoinnhold og valgfritt videobehandlingsutstyr. Audioutstyret 82 omfatter typisk en mikrofon, f.eks. for å oppfange talte meldinger, og en høyttaler for å reprodusere mottatt audioinnhold. Audioutstyret kan også omfatte tilleggsaudiobehandlingsenheter. Det telematiske utstyret 83 kan omfatte en dataterminal, tastatur, elektronisk tavle eller en stillbildetransceiver, slik som en faksenhet.
Videoutstyret 81 er koblet til en videokodek 85. Videokodeken 85 omfatter en videokoder 600 og en korresponderende videodekoder 700 hvor begge er implementert ifølge oppfinnelsen (se fig. 5 og 6). Videokodeken 85 er ansvarlig for å kode oppfanget videodata på en egnet måte for videre transmisjon over en kommunikasjonslink og dekoding av komprimert videoinnhold som mottas fra kommunikasjonsnettverket. I eksemplet illustrert i Fig. 8, er videokodeken implementert ifølge ITU-T-anbefalingen H.26L med egnede modifikasjoner for å implementere fremgangsmåten ifølge oppfinnelsen både i koderen og dekoderen av videokodeken.
Terminalens audioutstyr er koblet til en audiokodek, merket i Fig. 8 ved henvisnings-tall 86. Som videokodeken omfatter audiokodeken en koder/et dekoderpar. Den konverterer audiodata som er oppfanget av terminalens audioutstyr til en form som er egnet for transmisjon over kommunikasjonslinken og transformerer kodet audiodata som mottas fra nettverket tilbake til en form som er egnet for reproduksjon, f.eks. på terminalens høyttaler. Utgangen på audiokodeken sendes til en forsinkelsesblokk 87. Denne kompenserer for forsinkelser som innføres av videokodingsprosessen og forsikrer derfor synkronisering av audio- og videoinnhold.
Systemkontrollblokken 84 i multimediaterminalen styrer ende-til-ende-nettverk-signalering ved å anvende en egnet styreprotokoll (signaleringsblokk 88) for å etablere en felles modus for drift mellom en sender- og en mottaksterminal. Signalerings-blokken 88 utveksler informasjon om kodings- og dekodings-mulighetene for sender- og mottakerterminalene, og kan anvendes til å åpne for ulike kodemoduser for videokoderen. Systemstyringsblokken 84 styrer også bruken av datakryptering. Informasjon angående typen kryptering som skal anvendes i dataoverføring sendes fra krypteringsblokk 89 til multiplekser/- demultiplekseren (MUX/DMUX-enhet) 90.
I løpet av datatransmisjon fra multimediaterminalen, kombinerer MUX/DMUX-enheten 90 kodete og synkroniserte video- og audio-strømmer med datainngang fra det telematiske utstyret 83 og mulig kontrolldata for å danne en enkel bitstrøm. Informasjon angående type datakryptering (dersom en) som skal anvendes med bitstrømmen. Frembrakt av krypteringsblokk 89, anvendes til å velge en krypteringsmodus. Korresponderende, når en multiplekset og mulig kryptert multimediabitstrøm mottas, er MUX/DMUX-enhet 90 ansvarlig for å dekryptere bitstrømmen, og dele den inn i sine konstituente multimedia-komponenter og sende de komponentene til de egnede kodek'ene og/eller terminalutstyr for dekoding og reproduksjon.
Dersom multimediaterminalen 80 er en mobilterminal, dvs. den er utstyrt med en radiotransceiver 93, skal det forstås av en fagperson at den også kan omfatte tilleggselementer. I én utførelse omfatter den et brukergrensesnitt som har et display og et tastatur, som åpner for drift av multimediaterminalen 80 av en bruker, en sentral behandlingsenhet, slik som en mikroprosessor, som styrer blokkene som er ansvarlig for de ulike funksjonene for multimediaterminalen, et dynamisk minne RAM, et leselager ROM og et digitalkamera. Mikroprosessorens driftfunksjoner, dvs. programkode som korresponderer til basisfunksjoner for multimediaterminalen 80, lagres i leselageret ROM og kan utøves slik det kreves at mikroprosessoren, f.eks. under kontroll av brukeren. I samsvar med program-koden, anvendes mikro-prosessoren og radiotransceiveren 93 for å danne en forbindelse med et mobilt kommunikasjonsnettverk og åpner for at multimediaterminalen 80 overfører informasjon til- og mottar informasjon fra det mobile kommunikasjonsnettverket over en radiovei.
Mikroprosessoren overvåker tilstanden for brukergrensesnittet og styrer det digitale kameraet. I respons til en brukerkommando, instruerer mikroprosessoren kameraet å ta opp digitale bilder til rammen. Idet et bilde er oppfanget, eller alternativt i løpet av oppfangingsprosessen, segmenterer mikroprosessoren bildet inn i bildesegmenter, (f.eks. makroblokker) og anvender koderen til å utføre bevegelseskompensert koding av segmentene for å generere en komprimert bildesekvens, slik som beskrevet i den tidligere beskrivelsen. En bruker kan kommandere multimediaterminalen 80 til å fremvise de oppfangede bildene på fremvisningsskjermen sin eller å sende den komprimerte bilde-sekvensen ved å anvende radiotransceiveren 93 til en annen multimediaterminal, en videotelefon tilkoblet et fast linjenettverk (PSTN) eller en annen telekommunikasjonsanordning. I en foretrukket utførelse startes transmisjonen av bildedata med en gang det første segmentet er kodet, slik at mottakeren kan starte en korresponderende dekodingsprosess med en minimal tidsforsinkelse.
Selv om beskrevet i konteksten i bestemte utførelser, vil det være innlysende for en fagperson at et antall modifikasjoner og ulike forandringer til dette innholdet kan gjøres. Derfor, mens oppfinnelsen er blitt delvis vist og beskrevet mht. én eller flere utførelser derav, skal det forstås av en fagperson at bestemte modifikasjoner eller forandringer kan gjøres deri uten å ta avstand fra omfanget i oppfinnelsen som vist ovenfor.
Mer bestemt, i samsvar med en andre mulig utførelse av oppfinnelsen, er ikke sekvens QP overført, men en applikasjonsspesifikk konstant anvendes som en sekvens QP i stedet.
I en tredje mulig utførelse av oppfinnelsen kan sekvensen QP oppdateres avhengig av forandringsegenskapene for videosekvensen dersom en pålitelig måte overfører den nye sekvensen QP er tilgjengelig. Den oppdaterte SQP-verdien kan enten omfattes i den kodede bitstrømmen som representerer videosekvensen, eller den kan overføres direkte fra koderen til dekoderen i en tilknyttet styringskanal.
I en fjerde mulig utførelse av oppfinnelsen, dersom QP er konstant for hele video-sekvensen, overføres kun verdien på sekvensen QP sammen med informasjonen som den skal anvendes som QP'en for alle bildene/skivene.

Claims (34)

1. Fremgangsmåte for koding av en digital videosekvens for anvendelse i en videokodingsapplikasjon for å produsere en kodet videobitstrøm som representerer den digitale videosekvensen, hvor den digitale videosekvensen omfatter et antall rammer, og hver ramme for sekvensen omfatter en tabell av piksler som er delt inn i et antall blokker, hvor hver blokk omfatter et bestemt antall piksler, og fremgangsmåten omfatter: å kode en ramme for den digitale videosekvensen ved å anvende bevegelseskompensert prediksjon på blokker med piksler for å produsere korresponderende blokker med prediksjonsfeilverdier, og å anvende en transformeringskodingsteknikk på blokkene med prediksjonsfeilverdier for å produsere sett med transformeringskoeffisientverdier som representerer blokkene for prediksjonsfeilverdier, hvor fremgangsmåten for koding er karakterisert vedå definere en standardverdi for kvantisering for bruk ved koding av den digitale videosekvensen for å kvantisere settene med transformeringskoeffisientverdier, og å frembringe en angivelse av standardverdien for kvantisering til en dekodingsprosess.
2. Fremgangsmåte i samsvar med krav 1,karakterisert vedat standardverdien for kvantisering er spesifikk til videosekvensen som blir kodet.
3. Fremgangsmåte i samsvar med krav 1,karakterisert vedat standardverdien for kvantisering er spesifikk til videokodingsapplikasjonen.
4. Fremgangsmåte i samsvar med krav 1,karakterisert vedat angivelsen av standardverdien for kvantisering frembringes i en kodet bitstrøm som representerer den kodede videosekvensen.
5. Fremgangsmåte i samsvar med krav 4,karakterisert vedat den kodede bitstrømmen overføres fra en videokodingsanordning til en korresponderende videodekodingsanordning.
6. Fremgangsmåte i samsvar med et av kravene 1-5, karakterisert vedat standardnivået for kvantisering oppdateres i løpet av kodingen av den digitale videosekvensen, hvor fremgangsmåten videre omfatter trinnet å frembringe en angivelse av det oppdaterte standardnivået for kvantisering til en dekodingsprosess.
7. Fremgangsmåte i samsvar med et av kravene 1-6, karakterisert vedat settene med transformeringskoeffisientverdier kvantiseres for å avgi sett med kvantiserte transformeringskoeffisientverdier som representerer blokkene med prediksjonsfeilverdier basert på et kvantiseringsnivå som er ulikt standardnivået for kvantisering.
8. Fremgangsmåte i samsvar med krav 7, videre karakterisert vedå frembringe til en dekodingsprosess en angivelse av en differanse mellom kvantiseringsnivået og standardnivået for kvantisering.
9. Fremgangsmåte i samsvar med krav 7 eller 8, karakterisert vedat nivået for kvantisering reguleres fra én ramme av den digitale videosekvensen til en annen, slik at det faktiske kvanti-seringsnivået som anvendes på settene med transformeringskoeffisienterforén bestemt ramme av den digitale videosekvensen er ulikt standardnivået for kvantisering.
10. Fremgangsmåte i samsvar med krav 9,karakterisert vedat det faktiske kvantiseringsnivået er representerbart som en differanse mht. standardnivået for kvantisering.
11. Fremgangsmåte i samsvar med krav 9, viderekarakterisertvedå frembringe til en dekodingsprosess en angivelse av en differanse mellom det faktiske kvantiseringsnivået og standardnivået for kvantisering.
12. Fremgangsmåte i samsvar med et av kravene 7-11,karakterisert vedat antallet blokker med piksler, hvori en ramme av den digitale videosekvensen er oppdelt, er gruppert inn i ett eller flere segmenter og hvori nivået for kvantisering som anvendes på settet med transformeringskoeffisienter reguleres fra ett segment av en ramme til en annen slik at et faktisk kvantiseringsnivå anvendt på settet med transformeringskoeffisienter for ett bestemt segment av en ramme er ulikt standardnivået for kvantisering.
13. Fremgangsmåte i samsvar med krav 12, viderekarakterisertvedå frembringe til en dekodingsprosess en angivelse av en differanse mellom kvantiseringsnivået og standardkvantiseringsnivået.
14. Videokoder (600) for å kode en digital videosekvens for å produsere en kodet videobitstrøm som representerer den digitale videosekvensen, og den digitale videosekvensen omfatter et antall rammer, hvor hver ramme av sekvensen om-fatter en tabell av piksler som er delt inn i et antall blokker, hvor hver blokk omfatter et bestemt antall piksler, og videokoderen omfatter: et middel (150) for å kode en ramme av den digitale videosekvensen ved å an-vende bevegelseskompensert prediksjon til blokker med piksler for å frembringe korresponderende prediksjonsfeilverdier, og et middel (104) for å transformere blokkene med prediksjonsfeilverdier for å frembringe sett med transformeringskoeffisientverdier som representerer blokkene med prediksjonsfeilverdier, hvor videokoderen erkarakterisert vedet middel (160) for å velge et standard kvantiseringsnivå for å kvantisere settene med transformeringskoeffisientverdier, og et middel (160) for å frembringe en angivelse på det standard kvantiseringsnivået i den kodede bitstrømmen som representerer den digitale videosekvensen.
15. Videokoder i samsvar med krav 14,karakterisert vedat det standard kvantiseringsnivået er spesifikt til videosekvensen som skal kodes.
16. Videokoder i samsvar med krav 14 eller 15,karakterisert vedat settet med transformeringskoeffisientverdier kvantiseres for å avgi sett med kvantiserte transformeringskoeffisientverdier som representerer blokkene med prediksjonsfeilverdier basert på et kvantiseringsnivå som er ulikt det standard kvantiseringsnivået.
17. Videokoder i samsvar med krav 16, viderekarakterisert vedmidler for å frembringe en angivelse på en differanse mellom kvantiserings-nivået og det standard kvantiseringsnivået i den kodede bitstrømmen.
18. Videokoder i samsvar med et av kravene 14-17, karakterisert vedat det standard kvantiseringsnivået kan oppdateres og videokoderen er innrettet til å frembringe en indikasjon på det oppdaterte standard kvantiseringsnivået i den kodede bitstrømmen.
19. Videokoder i samsvar med krav 18,karakterisert vedat settene med transformeringskoeffisientverdier kvantiseres for å avgi sett med kvantiserte transformeringskoeffisientverdier som representerer blokkene med prediksjonsfeilverdier basert på et kvantiseringsnivå som er ulikt det oppdaterte standard kvantiseringsnivået.
20. Videokoder i samsvar med krav 16,karakterisert vedat kvantiseringsnivået som anvendes for settet med transformeringskoeffisientverdier kan reguleres fra én ramme av den digitale videosekvensen til en annen for å anvende et standard kvantiseringsnivå til settet med transformeringskoeffisienter for én bestemt av den digitale videosekvensen og hvori det faktiske kvantiseringsnivået er ulikt det standard kvantiseringsnivået.
21. Videokoder i samsvar med krav 20, viderekarakterisert vedmiddel for å frembringe en angivelse på differansen mht. det standard kvantiseringsnivået i den kodede bitstrømmen som representerer den digitale videosekvensen.
22. Videokoder i samsvar med krav 16, viderekarakterisert vedmiddel for å gruppere antallet blokker hvori en ramme av den digitale videosekvensen deles inn i ett eller flere segmenter, og et middel for å regulere kvantiseringsnivået som anvendes på settet ved transformeringskoeffisientverdier fra ett segment av en ramme til et annet for å anvende et faktisk kvantiseringsnivå på sett av transformeringskoeffisienter for et bestemt segment av en ramme, hvor koderen videre erkarakterisertve d at det faktiske kvantiseringsnivået er ulikt det standard kvantiserings-nivået, og videokoderen er videre innrettet til å representere det faktiske kvantiseringsnivået for anvendelse i det bestemte segmentet som en differanse mht. det standard kvantiseringsnivået.
23. Videokoder i samsvar med krav 22, som videre erkarakterisertv e d middel for å frembringe en angivelsen på differansen mht. det standard kvantiseringsnivået i den kodede bitstrømmen som representerer den digitale videosekvensen.
24. Videokoder i samsvar med et av kravene 14-23,karakterisertve d at videokoderen er frembrakt i en multimediaterminal.
25. Videokoder i samsvar med et av kravene 14-23,karakterisertve d at videokoderen er frembrakt i en radiotelekommunikasjonsanordning.
26. Fremgangsmåte for å dekode en kodet digital videosekvens for anvendelse i en videodekodingsapplikasjon for å produsere en dekodet digital video-sekvens, hvor den digitale videosekvensen omfatter et antall rammer, og hver ramme av sekvensen omfatter en tabell med piksler som er delt inn i et antall blokker, hvor hver blokk omfatter et bestemt antall piksler, og rammer av den digitale videosekvensen som er kodet ved: å anvende bevegelseskompensert prediksjon på blokkene med piksler for å produsere korresponderende blokker med prediksjonsfeilverdier, å anvende en transformeringskodingsteknikk på blokkene med prediksjonsfeilverdier for å produsere sett med transformeringskoeffisientverdier som representerer blokkene med prediksjonsfeilverdier, og å anvende et kvantiseringsnivå til settene med transformerings-koeffisientverdier for å avgi sett med kvantiserte transformeringskoeffisientverdier som representerer blokkene med prediksjonsfeilverdier, hvori en angivelse på kvantiseringsnivået frembringes i den kodete bitstrømmen som omfatter den kodete digitale videosekvensen, hvor fremgangsmåten for de-koding erkarakterisert vedå velge et standardnivå med inverskvantisering for anvendelse i de-koding av den kodete digitale videosekvensen for å inverskvantisere settene med kvantiserte transformeringskoeffisientverdier, hvor det valgte standardnivået baseres på angivelsen på kvantiseringsnivået som frembringes i den kodede bitstrømmen.
27. Fremgangsmåte i samsvar med krav 26,karakterisert vedat det standard inverskvantiseringsnivået er spesifikt til den kodede video-sekvensen som ble dekodet.
28. Fremgangsmåte i samsvar med krav 26,karakterisert vedat det standard inverskvantiseringsnivået er spesifikt til videodekodings-applikasjonen.
29. Fremgangsmåte i samsvar med et av kravene 26-28,karakterisert vedat kvantiseringsnivået oppdateres i avgivelsen av settene med kvantiserte transformeringskoeffisientverdier, hvor fremgangsmåten for dekoding videre erkarakterisert vedå oppdatere det standard inverskvantiseringsnivået i respons til det oppdaterte kvantiseringsnivået.
30. Videodekoder (700) for å dekode en digital videosekvens for å produsere en dekodet digital videosekvens, hvor den digitale videosekvensen omfatter et antall rammer, og hver ramme av sekvensen omfatter en tabell med piksler som er delt inn i et antall blokker, hvor hver blokk omfatter et bestemt antall piksler, rammer med den digitale videosekvensen som er kodet ved å: anvende bevegelseskompensert prediksjon på blokker med piksler for å produsere korresponderende blokker med prediksjonsfeilverdier, anvende en transformeringskodingsteknikk på blokkene med prediksjonsfeilverdier for å produsere sett med transformeringskoeffisientverdier som representerer blokkene med prediksjonsfeilverdier og anvende et kvantiseringsnivå til settene med transformeringskoeffisientverdier for å avgi sett med kvantiserte transformeringskoeffisientverdier som representerer blokkene med prediksjonsfeilverdier, hvori en angivelse på kvantiseringsnivået blir frembrakt i den kodede bitstrømmen som omfatter den kodete digitale videosekvensen, hvor videodekoderen erkarakterisert vedet middel (770) for å gjenfinne den kodete digitale videosekvensen fra den kodede bitstrømmen, og et middel (260) for å velge et standard inverskvantiseringsnivå for anvendelse i dekoding av den kodede digitale videosekvensen for å inverskvantisere settene med kvantiserte transformeringskoeffisientverdier, og det standard inverskvantiseringsnivået velges basert på angivelsen på kvantiseringsnivået som frembringes i den kodede bitstrømmen.
31. Videodekoder i samsvar med krav 30,karakterisert vedat det standard inverskvantiseringsnivået er spesifikt til den kodede video-sekvensen som ble dekodet.
32. Videodekoder i samsvar med krav 30 eller 31,karakterisert vedat kvantiseringsnivået blir oppdatert i avgivelsen av sett med kvantiserte transformeringskoeffisientverdier, og videodekoderen er innrettet til å oppdatere det standard inverskvantiseringsnivået i respons til det oppdaterte kvantiseringsnivået.
33. Videodekoder i samsvar med et av kravene 30-32, karakterisert vedat videodekoderen er frembrakt i en multimediaterminal.
34. Videodekoder i samsvar med et av kravene 30-32, karakterisert vedat videodekoderen er frembrakt i en radiotelekommunikasjonsanordning.
NO20044070A 2002-04-23 2004-09-27 Fremgangsmåte og anordning for indikering av kvantifiseringsparametre i et videokodingssystem NO338548B1 (no)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US37466702P 2002-04-23 2002-04-23
PCT/IB2003/001528 WO2003092297A1 (en) 2002-04-23 2003-04-23 Method and device for indicating quantizer parameters in a video coding system

Publications (2)

Publication Number Publication Date
NO20044070L NO20044070L (no) 2004-12-23
NO338548B1 true NO338548B1 (no) 2016-09-05

Family

ID=29270538

Family Applications (1)

Application Number Title Priority Date Filing Date
NO20044070A NO338548B1 (no) 2002-04-23 2004-09-27 Fremgangsmåte og anordning for indikering av kvantifiseringsparametre i et videokodingssystem

Country Status (12)

Country Link
US (2) US7263125B2 (no)
EP (1) EP1497990B1 (no)
JP (1) JP4571489B2 (no)
KR (2) KR100973216B1 (no)
CN (2) CN100380980C (no)
AU (2) AU2003285850A1 (no)
HK (2) HK1080241B (no)
IL (2) IL164176A0 (no)
MX (1) MXPA04010318A (no)
NO (1) NO338548B1 (no)
RU (2) RU2322770C2 (no)
WO (2) WO2004025943A2 (no)

Families Citing this family (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020122491A1 (en) 2001-01-03 2002-09-05 Marta Karczewicz Video decoder architecture and method for using same
US6765963B2 (en) * 2001-01-03 2004-07-20 Nokia Corporation Video decoder architecture and method for using same
US7123655B2 (en) * 2001-08-09 2006-10-17 Sharp Laboratories Of America, Inc. Method for reduced bit-depth quantization
US7082450B2 (en) 2001-08-30 2006-07-25 Nokia Corporation Implementation of a transform and of a subsequent quantization
US7693220B2 (en) 2002-01-03 2010-04-06 Nokia Corporation Transmission of video information
CN100380980C (zh) * 2002-04-23 2008-04-09 诺基亚有限公司 用于在视频编码***中指示量化器参数的方法与设备
US8549574B2 (en) 2002-12-10 2013-10-01 Ol2, Inc. Method of combining linear content and interactive content compressed together as streaming interactive video
US8711923B2 (en) 2002-12-10 2014-04-29 Ol2, Inc. System and method for selecting a video encoding format based on feedback data
US9108107B2 (en) 2002-12-10 2015-08-18 Sony Computer Entertainment America Llc Hosting and broadcasting virtual events using streaming interactive video
US8526490B2 (en) 2002-12-10 2013-09-03 Ol2, Inc. System and method for video compression using feedback including data related to the successful receipt of video content
US8964830B2 (en) 2002-12-10 2015-02-24 Ol2, Inc. System and method for multi-stream video compression using multiple encoding formats
US9138644B2 (en) 2002-12-10 2015-09-22 Sony Computer Entertainment America Llc System and method for accelerated machine switching
US9061207B2 (en) 2002-12-10 2015-06-23 Sony Computer Entertainment America Llc Temporary decoder apparatus and method
US8840475B2 (en) * 2002-12-10 2014-09-23 Ol2, Inc. Method for user session transitioning among streaming interactive video servers
US9446305B2 (en) 2002-12-10 2016-09-20 Sony Interactive Entertainment America Llc System and method for improving the graphics performance of hosted applications
US20090118019A1 (en) 2002-12-10 2009-05-07 Onlive, Inc. System for streaming databases serving real-time applications used through streaming interactive video
US9077991B2 (en) 2002-12-10 2015-07-07 Sony Computer Entertainment America Llc System and method for utilizing forward error correction with video compression
US8366552B2 (en) 2002-12-10 2013-02-05 Ol2, Inc. System and method for multi-stream video compression
US9314691B2 (en) 2002-12-10 2016-04-19 Sony Computer Entertainment America Llc System and method for compressing video frames or portions thereof based on feedback information from a client device
US9192859B2 (en) 2002-12-10 2015-11-24 Sony Computer Entertainment America Llc System and method for compressing video based on latency measurements and other feedback
US10201760B2 (en) 2002-12-10 2019-02-12 Sony Interactive Entertainment America Llc System and method for compressing video based on detected intraframe motion
US7724818B2 (en) * 2003-04-30 2010-05-25 Nokia Corporation Method for coding sequences of pictures
ATE434364T1 (de) * 2003-08-11 2009-07-15 Alcatel Lucent Verfahren zum bereitstellen eines multimediadienstes in einem drahtlosen kommunikationsnetz
EP1656793B1 (en) * 2003-09-07 2019-11-27 Microsoft Technology Licensing, LLC Slice layer in video codec
JP4127818B2 (ja) * 2003-12-24 2008-07-30 株式会社東芝 動画像符号化方法及びその装置
CN1926862A (zh) * 2004-02-23 2007-03-07 诺基亚公司 视频信息传输
US7609902B2 (en) * 2004-04-13 2009-10-27 Microsoft Corporation Implementation of discrete cosine transformation and its inverse on programmable graphics processor
FR2878395A1 (fr) * 2004-11-23 2006-05-26 Paul Bazzaz Procede de traitement de signal video
KR100718376B1 (ko) * 2004-12-15 2007-05-14 주식회사 대우일렉트로닉스 Dvd 호환 홀로그래픽 롬 디스크 제조방법
US7961783B2 (en) * 2005-07-07 2011-06-14 Mediatek Incorporation Methods and systems for rate control in video encoder
JP4185086B2 (ja) * 2005-09-28 2008-11-19 株式会社日立国際電気 画像処理装置
US20070147496A1 (en) * 2005-12-23 2007-06-28 Bhaskar Sherigar Hardware implementation of programmable controls for inverse quantizing with a plurality of standards
PT2950543T (pt) * 2006-01-09 2017-11-22 Musmann Hans-Georg Codificação adaptativa do erro de predição em codificação de vídeo híbrida
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
JP2009545920A (ja) * 2006-08-02 2009-12-24 トムソン ライセンシング ビデオ符号化処理のためにアダブティブなジオメトリック分割を行う方法および装置
US9438962B2 (en) * 2006-09-12 2016-09-06 Ubiquity Video transmitting over a cellular carrier
KR101381600B1 (ko) 2006-12-20 2014-04-04 삼성전자주식회사 텍스처 합성을 이용한 영상의 부호화, 복호화 방법 및 장치
US8073049B2 (en) * 2007-02-01 2011-12-06 Google Inc. Method of coding a video signal
US20080212687A1 (en) * 2007-03-02 2008-09-04 Sony Corporation And Sony Electronics Inc. High accurate subspace extension of phase correlation for global motion estimation
US8355435B2 (en) * 2007-06-15 2013-01-15 Freescale Semiconductor, Inc. Transmission of packet data
BRPI0813491B1 (pt) * 2007-07-17 2020-10-06 Nippon Telegraph And Telephone Corporation Aparelho para codificação de vídeo e método para codificação de vídeo
KR101496324B1 (ko) 2007-10-17 2015-02-26 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US9168457B2 (en) 2010-09-14 2015-10-27 Sony Computer Entertainment America Llc System and method for retaining system state
KR101394153B1 (ko) * 2007-12-11 2014-05-16 삼성전자주식회사 양자화 방법 및 장치, 역양자화 방법 및 장치
AU2009240883A1 (en) * 2008-04-30 2009-11-05 Kabushiki Kaisha Toshiba Time-varying image encoding and decoding device
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
US8891619B2 (en) * 2008-06-16 2014-11-18 Dolby Laboratories Licensing Corporation Rate control model adaptation based on slice dependencies for video coding
BRPI0904323A2 (pt) * 2008-06-27 2015-06-30 Sony Corp Aparelho e método de processamento de imagem
RU2471306C2 (ru) * 2008-06-27 2012-12-27 Сони Корпорейшн Устройство обработки изображений и способ обработки изображений
US8325796B2 (en) 2008-09-11 2012-12-04 Google Inc. System and method for video coding using adaptive segmentation
US8634466B2 (en) * 2009-03-17 2014-01-21 Freescale Semiconductor, Inc. Video decoder plus a discrete cosine transform unit
US20100278338A1 (en) * 2009-05-04 2010-11-04 Mediatek Singapore Pte. Ltd. Coding device and method with reconfigurable and scalable encryption/decryption modules
US9152875B2 (en) * 2009-06-11 2015-10-06 Texas Instruments Incorporated Preserving text quality in video encoding
US9357221B2 (en) * 2009-07-23 2016-05-31 Thomson Licensing Methods and apparatus for adaptive transform selection for video encoding and decoding
KR101456498B1 (ko) * 2009-08-14 2014-10-31 삼성전자주식회사 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US20110090952A1 (en) * 2009-10-21 2011-04-21 Cohen Robert A Directional Transforms for Video and Image Coding
US8488007B2 (en) * 2010-01-19 2013-07-16 Sony Corporation Method to estimate segmented motion
US20110255594A1 (en) 2010-04-15 2011-10-20 Soyeb Nagori Rate Control in Video Coding
KR101822214B1 (ko) * 2010-06-10 2018-01-25 톰슨 라이센싱 복수의 이웃 양자화 파라미터들로부터 양자화 파라미터 예측 변수들을 결정하기 위한 방법들 및 장치
US20110310961A1 (en) * 2010-06-17 2011-12-22 Microsoft Corporation Video rate control based on transform-coefficients histogram
CN101888550A (zh) * 2010-06-28 2010-11-17 中兴通讯股份有限公司 一种slice头信息中量化参数编码方法和装置
KR20120016980A (ko) * 2010-08-17 2012-02-27 한국전자통신연구원 영상 부호화 방법 및 장치, 그리고 복호화 방법 및 장치
US9172960B1 (en) * 2010-09-23 2015-10-27 Qualcomm Technologies, Inc. Quantization based on statistics and threshold of luminanceand chrominance
WO2012050832A1 (en) 2010-09-28 2012-04-19 Google Inc. Systems and methods utilizing efficient video compression techniques for providing static image data
WO2012044104A2 (ko) * 2010-09-30 2012-04-05 삼성전자 주식회사 계층적 구조의 심볼을 부호화하는 비디오 부호화 방법 및 그 장치, 계층적 구조의 심볼을 복호화하는 비디오 복호화 방법 및 그 장치
US9532059B2 (en) 2010-10-05 2016-12-27 Google Technology Holdings LLC Method and apparatus for spatial scalability for video coding
EP3668095B1 (en) * 2011-01-13 2021-07-07 Canon Kabushiki Kaisha Image coding apparatus, image coding method, and program, and image decoding apparatus, image decoding method, and program
JP6056122B2 (ja) * 2011-01-24 2017-01-11 ソニー株式会社 画像符号化装置と画像復号装置およびその方法とプログラム
WO2012118359A2 (ko) 2011-03-03 2012-09-07 한국전자통신연구원 색차 성분 양자화 매개 변수 결정 방법 및 이러한 방법을 사용하는 장치
US9363509B2 (en) 2011-03-03 2016-06-07 Electronics And Telecommunications Research Institute Method for determining color difference component quantization parameter and device using the method
US9135724B2 (en) * 2011-03-11 2015-09-15 Sony Corporation Image processing apparatus and method
US9154799B2 (en) 2011-04-07 2015-10-06 Google Inc. Encoding and decoding motion via image segmentation
US8989256B2 (en) 2011-05-25 2015-03-24 Google Inc. Method and apparatus for using segmentation-based coding of prediction information
KR101442127B1 (ko) * 2011-06-21 2014-09-25 인텔렉추얼디스커버리 주식회사 쿼드트리 구조 기반의 적응적 양자화 파라미터 부호화 및 복호화 방법 및 장치
US10298939B2 (en) 2011-06-22 2019-05-21 Qualcomm Incorporated Quantization in video coding
ES2695585T3 (es) 2011-07-12 2019-01-09 Nec Corp Método de descodificación y descodificador para la descodificación de parámetros de cuantización para la descodificación de vídeo
US8891616B1 (en) 2011-07-27 2014-11-18 Google Inc. Method and apparatus for entropy encoding based on encoding cost
KR20180080365A (ko) 2011-10-14 2018-07-11 어드밴스드 마이크로 디바이시즈, 인코포레이티드 영역-기반 이미지 압축
KR20130049524A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
US10390016B2 (en) 2011-11-04 2019-08-20 Infobridge Pte. Ltd. Apparatus of encoding an image
KR20130050149A (ko) * 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법
JP6080375B2 (ja) * 2011-11-07 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
CN107493474B (zh) 2011-11-08 2021-01-12 株式会社Kt 利用解码装置对视频信号进行解码的方法
US9247257B1 (en) 2011-11-30 2016-01-26 Google Inc. Segmentation based entropy encoding and decoding
TWI650995B (zh) * 2012-01-30 2019-02-11 南韓商三星電子股份有限公司 視訊解碼裝置、視訊編碼方法及非暫態電腦可讀記錄媒體
US9262670B2 (en) 2012-02-10 2016-02-16 Google Inc. Adaptive region of interest
US9094681B1 (en) 2012-02-28 2015-07-28 Google Inc. Adaptive segmentation
US9521410B2 (en) * 2012-04-26 2016-12-13 Qualcomm Incorporated Quantization parameter (QP) coding in video coding
US9185429B1 (en) 2012-04-30 2015-11-10 Google Inc. Video encoding and decoding using un-equal error protection
US9113164B1 (en) 2012-05-15 2015-08-18 Google Inc. Constant bit rate control using implicit quantization values
US9781447B1 (en) 2012-06-21 2017-10-03 Google Inc. Correlation based inter-plane prediction encoding and decoding
US9510019B2 (en) 2012-08-09 2016-11-29 Google Inc. Two-step quantization and coding method and apparatus
US9332276B1 (en) 2012-08-09 2016-05-03 Google Inc. Variable-sized super block based direct prediction mode
US9167268B1 (en) 2012-08-09 2015-10-20 Google Inc. Second-order orthogonal spatial intra prediction
US9380298B1 (en) 2012-08-10 2016-06-28 Google Inc. Object-based intra-prediction
US9344742B2 (en) 2012-08-10 2016-05-17 Google Inc. Transform-domain intra prediction
US9826229B2 (en) 2012-09-29 2017-11-21 Google Technology Holdings LLC Scan pattern determination from base layer pixel information for scalable extension
US9407915B2 (en) 2012-10-08 2016-08-02 Google Inc. Lossless video coding with sub-frame level optimal quantization values
US9369732B2 (en) 2012-10-08 2016-06-14 Google Inc. Lossless intra-prediction video coding
RU2619198C1 (ru) * 2012-11-08 2017-05-12 Кт Корпорейшен Способ декодирования видеосигнала
WO2014078068A1 (en) * 2012-11-13 2014-05-22 Intel Corporation Content adaptive transform coding for next generation video
US9350988B1 (en) 2012-11-20 2016-05-24 Google Inc. Prediction mode-based block ordering in video coding
SG11201504504YA (en) * 2012-12-18 2015-07-30 Sony Corp Image processing device and image processing method
US9628790B1 (en) 2013-01-03 2017-04-18 Google Inc. Adaptive composite intra prediction for image and video compression
KR102063385B1 (ko) 2013-01-30 2020-01-07 인텔 코포레이션 차세대 비디오용 콘텐츠 적응적 엔트로피 코딩
US9681128B1 (en) 2013-01-31 2017-06-13 Google Inc. Adaptive pre-transform scanning patterns for video and image compression
US9247251B1 (en) 2013-07-26 2016-01-26 Google Inc. Right-edge extension for quad-tree intra-prediction
US9392272B1 (en) 2014-06-02 2016-07-12 Google Inc. Video coding using adaptive source variance based partitioning
US9578324B1 (en) 2014-06-27 2017-02-21 Google Inc. Video coding using statistical-based spatially differentiated partitioning
GB2531001B (en) * 2014-10-06 2019-06-05 Canon Kk Method and apparatus for vector encoding in video coding and decoding
EP3259848A4 (en) 2015-04-10 2018-10-24 Red.Com, Llc Video camera with rate control video compression
WO2018068239A1 (zh) * 2016-10-12 2018-04-19 深圳市大疆创新科技有限公司 码率控制的方法、计算机***和装置
US10356439B2 (en) * 2017-06-29 2019-07-16 Intel Corporation Flexible frame referencing for display transport
KR102620350B1 (ko) 2017-07-05 2024-01-02 레드.컴, 엘엘씨 전자 디바이스에서의 비디오 이미지 데이터 처리
EP3425911A1 (en) * 2017-07-06 2019-01-09 Thomson Licensing A method and a device for picture encoding and decoding
KR20220036948A (ko) * 2019-07-05 2022-03-23 브이-노바 인터내셔널 리미티드 비디오 코딩에서 잔차의 양자화

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0540961A2 (en) * 1991-11-08 1993-05-12 International Business Machines Corporation A motion video compression system with adaptive bit allocation and quantization
US5907362A (en) * 1996-01-19 1999-05-25 Nec Corporation Picture coding apparatus

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5045103A (en) * 1987-08-07 1991-09-03 Glasstech, Inc. Apparatus for heating and bending glass sheets
US5054103A (en) * 1987-09-24 1991-10-01 Matsushita Electric Works, Ltd. Picture encoding system
US5144426A (en) * 1989-10-13 1992-09-01 Matsushita Electric Industrial Co., Ltd. Motion compensated prediction interframe coding system
JPH0813138B2 (ja) * 1990-11-28 1996-02-07 松下電器産業株式会社 画像符号化装置
US5122875A (en) * 1991-02-27 1992-06-16 General Electric Company An HDTV compression system
JP2734905B2 (ja) * 1992-10-07 1998-04-02 日本電気株式会社 画像符号化装置
JPH08511385A (ja) * 1993-04-16 1996-11-26 データ トランスレイション,インコーポレイテッド 可変量子化を用いた適応型画像圧縮
US5715009A (en) * 1994-03-29 1998-02-03 Sony Corporation Picture signal transmitting method and apparatus
JP3277677B2 (ja) * 1994-04-01 2002-04-22 ソニー株式会社 信号符号化方法及び装置、信号記録媒体、信号伝送方法、並びに信号復号化方法及び装置
JP3954656B2 (ja) 1994-09-29 2007-08-08 ソニー株式会社 画像符号化装置及び方法
US6256349B1 (en) * 1995-12-28 2001-07-03 Sony Corporation Picture signal encoding method and apparatus, picture signal transmitting method, picture signal decoding method and apparatus and recording medium
KR100203710B1 (ko) * 1996-04-30 1999-06-15 전주범 비트 발생량 조절기능을 갖는 영상 부호화 시스템
JP3579544B2 (ja) * 1996-08-29 2004-10-20 ペンタックス株式会社 画像圧縮伸張装置
KR100229796B1 (ko) * 1996-08-30 1999-11-15 전주범 열화영상에 대한 보상기능을 갖는 영상 복호화 시스템
US6246799B1 (en) * 1996-09-04 2001-06-12 Sony Corporation Image compression encoder and image compression encoding method
BR9805978B8 (pt) * 1997-02-08 2019-02-26 Matsushita Electric Ind Co Ltd método de geração de uma matriz de quantização.
JP3645689B2 (ja) * 1997-06-13 2005-05-11 ペンタックス株式会社 画像圧縮装置および量子化テーブル作成装置
US6795501B1 (en) * 1997-11-05 2004-09-21 Intel Corporation Multi-layer coder/decoder for producing quantization error signal samples
CN1328748A (zh) * 1998-10-02 2001-12-26 通用仪器公司 视频编码器速率控制的方法及设备
JP3259702B2 (ja) * 1998-12-24 2002-02-25 日本電気株式会社 動画像可変ビットレート符号化装置および方法
JP2000350211A (ja) * 1999-06-07 2000-12-15 Toshiba Corp 動画像符号化方法及び動画像符号化装置
US6263022B1 (en) 1999-07-06 2001-07-17 Philips Electronics North America Corp. System and method for fine granular scalable video with selective quality enhancement
US6788740B1 (en) * 1999-10-01 2004-09-07 Koninklijke Philips Electronics N.V. System and method for encoding and decoding enhancement layer data using base layer quantization data
US6480547B1 (en) * 1999-10-15 2002-11-12 Koninklijke Philips Electronics N.V. System and method for encoding and decoding the residual signal for fine granular scalable video
JP4408537B2 (ja) * 2000-07-21 2010-02-03 シャープ株式会社 情報圧縮記録装置
JP3825615B2 (ja) * 2000-08-11 2006-09-27 株式会社東芝 動画像符号化装置および動画像符号化方法およびプログラムを記録した媒体
US6677868B2 (en) * 2001-03-16 2004-01-13 Sharp Laboratories Of America, Inc. Entropy coding with adaptive syntax to replace high probability symbols with lower probabilities symbols
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
CN100380980C (zh) * 2002-04-23 2008-04-09 诺基亚有限公司 用于在视频编码***中指示量化器参数的方法与设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0540961A2 (en) * 1991-11-08 1993-05-12 International Business Machines Corporation A motion video compression system with adaptive bit allocation and quantization
US5907362A (en) * 1996-01-19 1999-05-25 Nec Corporation Picture coding apparatus

Also Published As

Publication number Publication date
US20070291849A1 (en) 2007-12-20
MXPA04010318A (es) 2005-02-03
HK1080241A1 (en) 2006-04-21
KR20080104060A (ko) 2008-11-28
AU2003226585A1 (en) 2003-11-10
EP1497990A1 (en) 2005-01-19
WO2004025943A3 (en) 2004-06-10
CN100380980C (zh) 2008-04-09
KR20040106378A (ko) 2004-12-17
CN1647541A (zh) 2005-07-27
NO20044070L (no) 2004-12-23
IL164176A (en) 2009-11-18
CN101232618B (zh) 2013-03-27
JP4571489B2 (ja) 2010-10-27
HK1117320A1 (en) 2009-01-09
US7263125B2 (en) 2007-08-28
WO2003092297A1 (en) 2003-11-06
HK1080241B (zh) 2008-11-07
EP1497990B1 (en) 2019-10-23
RU2350040C1 (ru) 2009-03-20
WO2004025943A2 (en) 2004-03-25
JP2005524304A (ja) 2005-08-11
AU2003285850A8 (en) 2004-04-30
RU2322770C2 (ru) 2008-04-20
RU2004133964A (ru) 2005-05-10
US8175148B2 (en) 2012-05-08
KR100973216B1 (ko) 2010-07-30
EP1497990A4 (en) 2011-03-16
CN101232618A (zh) 2008-07-30
IL164176A0 (en) 2005-12-18
AU2003285850A1 (en) 2004-04-30
US20040013202A1 (en) 2004-01-22
KR100954609B1 (ko) 2010-04-26

Similar Documents

Publication Publication Date Title
JP4571489B2 (ja) ビデオ符号化システムにおける量子化器パラメータを表示するための方法および装置
KR101010722B1 (ko) 영상의 코딩 변환 계수/비디오 인코더 및/또는 디코더
JP4510465B2 (ja) イメージ/ビデオ符号器及び/又は復号器における変換係数の符号化
US6690307B2 (en) Adaptive variable length coding of digital video
WO2002078355A1 (en) Variable length coding

Legal Events

Date Code Title Description
CREP Change of representative

Representative=s name: NORDIC PATENT SERVICE A/S, PILESTRADE 58

CHAD Change of the owner's name or address (par. 44 patent law, par. patentforskriften)

Owner name: NOKIA TECHNOLOGIES OY, FI

CREP Change of representative

Representative=s name: MURGITROYD & COMPANY, MANNERHEIMSVAEGEN 12 B, 5TR,

CREP Change of representative

Representative=s name: NORDIC PATENT SERVICE A/S, HOEJBRO PLADS 10, DK-12

MK1K Patent expired