FI109394B - Menetelmä ja laite videokuvan koodaamiseksi ja dekoodaamiseksi - Google Patents

Menetelmä ja laite videokuvan koodaamiseksi ja dekoodaamiseksi Download PDF

Info

Publication number
FI109394B
FI109394B FI20002316A FI20002316A FI109394B FI 109394 B FI109394 B FI 109394B FI 20002316 A FI20002316 A FI 20002316A FI 20002316 A FI20002316 A FI 20002316A FI 109394 B FI109394 B FI 109394B
Authority
FI
Finland
Prior art keywords
pixel
value
change
preprocessing
inverted
Prior art date
Application number
FI20002316A
Other languages
English (en)
Swedish (sv)
Other versions
FI20002316A (fi
FI20002316A0 (fi
Inventor
Jarno Tulkki
Original Assignee
Hantro Products 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
Application filed by Hantro Products Oy filed Critical Hantro Products Oy
Priority to FI20002316A priority Critical patent/FI109394B/fi
Publication of FI20002316A0 publication Critical patent/FI20002316A0/fi
Priority to AU2002212375A priority patent/AU2002212375A1/en
Priority to PCT/FI2001/000913 priority patent/WO2002033979A1/en
Publication of FI20002316A publication Critical patent/FI20002316A/fi
Application granted granted Critical
Publication of FI109394B publication Critical patent/FI109394B/fi

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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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

Description

109394
Menetelmä ja laite videokuvan koodaamiseksi ja dekoodaami-seksi
Ala
Keksinnön kohteina ovat menetelmä ja laite peräkkäisistä liikkumat-5 tornista kuvista muodostetun videokuvan koodaamiseksi. Lisäksi keksinnön kohteina ovat menetelmä ja laite peräkkäisistä liikkumattomista kuvista muodostetun videokuvan dekoodaamiseksi.
Tausta
Videokuvan koodausta ja dekoodausta käytetään datamäärän vä-10 hentämiseksi, jotta se voidaan tallentaa tehokkaammin jollekin muistivälineelle tai siirtää tietoliikenneyhteyttä käyttäen. Eräs esimerkki videokoodausstandardista on MPEG-4 (Moving Pictures Expert Group), jossa tavoitteena on lähettää videokuvaa reaaliaikaisesti langattomassa kanavassa. Tämä on erittäin kunnianhimoinen tavoite, sillä jos esimerkiksi lähetettävä kuva on cif-kokoa 15 (288 x 352 pikseliä) ja lähetystaajuus 15 kuvaa sekunnissa, olisi pakattava 36,5 miljoonaa bittiä 64 kilobittiin joka sekunti. Pakkaussuhde olisi tällöin erittäin suuri 570:1.
Kuvan siirtämiseksi kuva tyypillisesti jaetaan kuvalohkoiksi, joiden koko valitaan järjestelmään sopiviksi. Kuvalohkoinformaatio käsittää yleensä 20 tietoa kuvalohkon valoisuudesta, väristä ja sijainnista itse kuvassa. Kuvalohko-jen data kompressoidaan lohkoittain halutulla koodausmenetelmällä. Kompressointi perustuu vähemmän merkityksellisen datan poistamiseen. Kompres-§"\ sointimenetelmät jaetaan pääasiallisesti kolmeen eri luokkaan: spektrisen re- .. . dundanssin vähentäminen (Spectral Redundancy Reduction), tilaredundanssin I · *’ 25 vähentäminen (Spatial Redundancy Reduction) ja ajallisen redundanssin vä- *· "· hentäminen (Temporal Redundancy Reduction). Tyypillisesti kompressointiin :: käytetään näiden menetelmien erilaisia yhdistelmiä.
Spektrisen redundanssin vähentämiseksi sovelletaan esimerkiksi YUV-värimallia. YUV-mallissa käytetään hyödyksi sitä, että ihmisen silmä on 30 herkempi luminanssin eli valoisuuden vaihteluille kuin krominanssin eli värin muutoksille. YUV-mallissa on yksi luminanssikomponentti (Y) ja kaksi kromi-, nanssikomponenttia (U,V). Kahta krominanssikomponenttia voidaan nimittää : ; : myös cb- ja cr-komponenteiksi. Esimerkiksi H.263 videokoodausstandardin mukainen luminanssilohko on 16 x 16 pikseliä ja kumpikin krominanssilohko, : 35 jotka kattavat saman alueen kuin luminanssilohko, 8x8 pikseliä. Yhden lumi- I > ·
t I
I · • · 2 109394 nanssilohkon ja kahden krominanssilohkon yhdistelmää kutsutaan tässä standardissa makrolohkoksi (macroblock). Makrolohkot luetaan kuvasta yleensä riveittäin. Jokainen pikseli, sekä luminanssi- että krominanssilohkossa, voi saada arvon väliltä 0-255, eli yhden pikselin esittämiseen tarvitaan kahdeksan 5 bittiä. Esimerkiksi luminanssipikselin arvo 0 tarkoittaa mustaa ja arvo 255 valkoista.
Tilaredundanssin vähentämiseksi käytetään esimerkiksi diskreetti-kosinimuunnosta (Discrete Cosine Transform, DCT). Diskreettikosinimuunnok-sessa muunnetaan kuvalohkon pikseliesitys tilataajuusesitykseksi. Lisäksi kulo valohkossa vain niillä signaalitaajuuksilla, joita siinä esiintyy, on suuriamplitu-diset kertoimet, ja niillä signaaleilla, joita kuvalohkossa ei esiinny, kertoimet ovat lähellä nollaa. Diskreettikosinimuunnos on periaatteessa häviötön muunnos ja signaaliin aiheutuu häiriötä vain kvantisoinnissa.
Ajallista redundanssia pyritään vähentämään hyödyntäen sitä tosi-15 asiaa, että peräkkäiset kuvat yleensä muistuttavat toisiaan, joten sen sijaan, että kompressoitaisiin jokainen yksittäinen kuva, generoidaan kuvalohkojen lii-kedataa. Perusperiaate on seuraava: koodattavalle kuvalohkolle etsitään mahdollisimman hyvä aiemmin koodattu vertailulohko (reference block), vertai-lulohkon ja koodattavan kuvalohkon välinen liike mallinnetaan ja lasketut liike-20 vektorit (motion vector coefficients) lähetetään vastaanottimelle. Koodattavan lohkon ja vertailulohkon erilaisuus ilmaistaan virhetekijänä (prediction error component, prediction error frame). Kuvalohkon liikevektorin määrittämiseen (motion vector prediction) voidaan käyttää aiemmin muistiin talletettua vertai-Y: lukuvaa (reference picture, reference frame). Tällaista koodausta kutsutaan in- •: · ·: 25 ter-koodaukseksi, joka tarkoittaa saman kuvajonon kuvien välisten samankal- ;' ·": taisuuksien hyödyntämistä.
: Koska esillä olevan keksinnön kannalta mielenkiintoista on tilare- .Y’ dundanssin vähentäminen, tarkastelemme sitä seuraavaksi lähemmin. Makro- ! lohkolle tehdään diskreettikosinimuunnos kaavalla: ·· . 2 /v \ (2x + 1)mtt {ly + l)v;r 30 F(u,v) = — C(«)C(v)£ £/(x,Y)cos-—-cosY——- (1)
N 2W 2 N
Y·: jossa x ja y ovat alkuperäisen lohkon koordinaatit, u ja v ovat ’.,.: muunnoslohkon koordinaatit, N = 8 ja : :’: -\=, kaikilla w,v = 0 c(«),c(v)= V2 . (2) ’ ·; · ’ [l, muulloin 3 109394
Seuraavaksi taulukossa 1 esitetään esimerkki siitä, miten 8x8 pikse-lin kokoinen lohko muunnetaan diskreettikosinimuunnoksella. Taulukon ylemmässä osassa on muuntamattomat pikselit, ja taulukon alaosassa diskreetti-kosinimuunnoksen jälkeinen tulos, jossa ensimmäinen alkio arvoltaan 1303, 5 ns. dc-kerroin, kuvaa pikseleiden keskimääräistä suuruutta lohkossa, ja muut 63 alkiota, ns. ac-kertoimet, kuvaavat pikseleiden hajontaa lohkossa.
Kuten taulukon 1 pikseleiden arvoista nähdään, niillä on suuri hajonta. Tällöin diskreettikosinimuunnoksen jälkeinen tulos sisältää myös paljon erisuuruisia ac-kertoimia.
10 249 241 248 255 248 251 250 246 215 249 199 214 236 193 218 220 118 219 175 135 176 118 172 186 87 187 230 123 182 172 178 205 112 154 166 122 164 154 143 159 124 115 112 122 110 113 116 111 120 121 122 122 124 123 122 121 _120 121 119 120 120 120 120 118_ 1303 -18 -3 -43 -32 -54 -22 28 335 -2 5 -20 -6 -26 -26 11 100 29 6 45 44 49 -8 -30 41 9 -9 39 25 42 25 -21 ·:·: 68-27-19 -9-24 -4 39 11 9 -18 -6 -23 -23 -1 18 9 : -54 10 10 -6 2 10 -9 -5 • # « _-18 5 3 2 5 -8 -11 1_ ( ·
Taulukko 1 / Taulukossa 2 kuvataan lohko, jossa pikseleiden välillä on pieni ha- .··* 15 jonta. Kuten taulukosta 2 havaitaan, tällöin ac-kertoimet saavat samat arvot, ; eli lohko kompressoituu erittäin tehokkaasti.
• · · · 4 109394 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 _115 115 115 115 115 115 115 115_ 924 0 0 0 0 0 0 0 00000000 0 0000000 00000000 o o o o o o o o 00000000 00000000 _00000000_
Taulukko 2
Seuraavaksi diskreettikosinimuunnettu lohko ’’kvantisoidaan”, eli pe-5 riaatteessa sen jokainen alkio jaetaan jollain vakiolla. Tämä vakio saattaa vaihdella eri makrolohkojen välillä. Lisäksi ac-kertoimille käytetään yleensä :suurempaa jakajaa kuin dc-kertoimille. ’’Kvantisointiparametri”, josta kyseiset jakajat lasketaan, on välillä 1-31. Mitä enemmän nollia saadaan lohkoon, sitä paremmin lohko pakkaantuu, sillä nollia ei kanavaan lähetetä. Kvantisoiduille .···. 10 lohkoille voidaan vielä tehdä esillä olevan keksinnön kannalta merkityksettö- .···. miä koodausmenetelmiä ja lopulta niistä muodostetaan bittivirta, joka lähete tään dekooderiile. Kooderin sisällä kvantisoiduille lohkoille tehdään vielä kään-. , teiskvantisointi ja käänteisdiskreettikosinimuunnos, ja näin muodostetaan refe- / renssikuva, josta voidaan ennustaa seuraavien kuvien lohkoja. Jatkossa koo- 15 deri siis lähettää tulevan lohkon ja referenssilohkojen välistä erodataa. Näin : : ‘: pakkaustehokkuus paranee.
• > · · 1 > » 5 109394
Kvantisointi on videokoodauksen ongelma, sillä mitä suurempaa kvantisointia joudutaan käyttämään, sitä enemmän kuvasta katoaa tietoa ja lopputulos on epämiellyttävää katsottavaa.
Dekooderi (Decoder) tekee bittivirran purkamisen ja tämän keksin-5 non kannalta epäoleellisten dekoodausmenetelmien jälkeen periaatteessa saman kuin kooderi (Encoder) teki referenssikuvaa muodostettaessa, eli lohkoille tehdään samat asiat kuin kooderissa, mutta käänteisesti.
Lopulta koottu videokuva viedään näytölle ja lopputulos riippuu suuresti käytetystä kvantisointiparametrista. Jos nimittäin jokin lohkon alkio menee 10 kvantisoinnissa nollaksi, ei käänteiskvantisointi kykene sitä enää palauttamaan.
Lyhyt selostus
Keksinnön tavoitteena on tarjota parannettu menetelmä videokuvan koodaamiseksi ja parannettu laite videokuvan koodaamiseksi. Lisäksi keksin-15 nön tavoitteena on tarjota parannettu menetelmä videokuvan dekoodaamisek-si ja parannettu laite videokuvan dekoodaamiseksi.
Keksinnön eräänä puolena esitetään patenttivaatimuksen 1 mukainen menetelmä videokuvan koodaamiseksi. Keksinnön eräänä puolena esitetään patenttivaatimuksen 6 mukainen menetelmä videokuvan dekoodaami-20 seksi. Keksinnön eräänä puolena esitetään patenttivaatimuksen 16 mukainen laite videokuvan koodaamiseksi. Keksinnön eräänä puolena esitetään patenttivaatimuksen 21 mukainen laite videokuvan dekoodaamiseksi.
V: Keksinnön muut edulliset suoritusmuodot ovat epäitsenäisten pa- ....: tenttivaatimusten kohteena.
» » ··.·. 25 Keksintö perustuu siihen, että ennen diskreettikosinimuunnosta loh- kolle tehdään kooderissa esiprosessointi, joka voidaan palauttaa käänteisesi- prosessoinnilla dekooderissa. Esiprosessoinnin ansiosta pakkaustehokkuus kasvaa, sillä esiprosessointi vähentää kuvassa olevaa kohinaa/hajontaa. Ku-' · · ·' ten jo edellä tuli esille taulukoiden 1 ja 2 yhteydessä, diskreettikosinimuunnok- 30 sen tehokkuus kasvaa lohkon hajonnan pienentyessä. Siten käytettyä kvan-| tisointiparametria voidaan pienentää, ja siitä huolimatta kanavalta vaadittu tie- ·’ .· donsiirtokapasiteetti pysyy suunnilleen samana. Käytännössä tämä tarkoittaa : ’·, sitä, että samalla tiedonsiirtonopeudella saadaan keksinnön mukaista esipro- sessointia ja käänteisesiprosessointia käyttäen tallennettua/siirrettyä parempi-’·;· 35 laatuista videokuvaa kuin ilman keksintöä.
6 109394
Kuvioluettelo
Keksinnön edulliset suoritusmuodot selostetaan esimerkinomaisesti alla viitaten oheisiin piirroksiin, joista: kuvio 1 esittää tunnetun tekniikan mukaisia laitteita videokuvan 5 koodaamiseksi ja dekoodaamiseksi; kuvio 2 esittää uudenlaisia laitteita videokuvan koodaamiseksi ja dekoodaamiseksi; kuvio 3 esittää videokuvan koodauksessa käytettävää esiproses- sointia; 10 kuvio 4 esittää videokuvan dekoodauksessa käytettävää kään- teisesiprosessointia; kuvio 5 esittää tunnetun tekniikan mukaisia pikseleitä kuviossa 1 kuvattujen laitteiden osien välisissä rajapinnoissa; kuvio 6 esittää uudenlaisia pikseleitä kuviossa 2 kuvattujen laittei-15 den osien välisissä rajapinnoissa; kuvio 7 on vuokaavio havainnollistaen menetelmää peräkkäisistä liikkumattomista kuvista muodostetun videokuvan koodaamiseksi; kuvio 8 on vuokaavio havainnollistaen menetelmää peräkkäisistä ! liikkumattomista kuvista muodostetun videokuvan dekoodaamiseksi; 20 kuvio 9 havainnollistaa esiprosessoinnin vaikutusta pikseleihin.
Suoritusmuotojen kuvaus j Viitaten kuvioon 1 selostetaan tunnetun tekniikan mukaisia laitteita tvideokuvan koodaamiseksi ja dekoodaamiseksi. Henkilön 100 kasvoja kuva-taan videokameralla 102. Videokuva muodostuu kamerassa 102 yksittäisistä 25 peräkkäisistä liikkumattomista kuvista, joista kuviossa esitetään yksi liikkuma-: ton kuva 104. Kameralla 102 muodostetaan kuvaa 104 pikseleinä esittävä ,··, matriisi, esimerkiksi alussa kuvatulla tavalla, jossa luminanssille ja krominans- sille ovat omat matriisinsa. Kuvaa 104 pikseleinä esittävä datavuo 106 viedään seuraavaksi kooderiin 108. Tietenkin on mahdollista rakentaa myös sellainen ; 30 laite, jossa datavuo 106 saadaan kooderiin 108 esimerkiksi tiedonsiirtoyhteyttä ‘ · 1 *· pitkin tai vaikkapa tietokoneen muistivälineeltä. Tällöin tarkoituksena on se, et- | tä kompressoimaton videokuva 106 kompressoidaan kooderilla 108 esimer- : ··. kiksi edelleenlähetystä tai tallennusta varten.
.···. Koska mielenkiinnon kohteena olevissa laitteissa meitä kiinnostaa ’·’ 35 tilaredundanssin vähentämiseksi suoritettava kompressointi, kuvataan koode- 7 109394 rista 108 ja dekooderista 120 vain sen kannalta oleelliset osat. Muiden osien toiminta on alan ammattilaiselle selvää standardien ja oppikirjojen perusteella, esimerkiksi tähän viitteeksi otettavien teosten perusteella: - ISO/IEC JTC 1/SC 29/WG 11: ’’Generic coding of audio visual ob-5 jects - Part 2: Visual”, sivut 178, 179, 281.
- Vasudev Bhaskaran ja Konstantinos Konstantinides: ’’Image and Video Compressing Standards - Algorithms and Architectures, Second Edition”, Kluwer Academic Publishers 1997, luku 6: ’’The MPEG video standards”.
Kooderi 108 käsittää diskreettikosinimuunnosvälineet 110 suorittaa 10 edellä kuvatulla tavalla diskreettikosinimuunnos kunkin liikkumattoman kuvan 104 pikseleille. Diskreettikosinimuunnoksella muodostettu datavuo 112 viedään kvantisointivälineisiin 114, joilla suoritetaan kvantisointi valitulla kvan-tisointisuhteella. Kvantisoidulle datavuolle 116 voidaan suorittaa vielä muutakin koodausta, jota ei tässä kuitenkaan kuvata. Kooderilla 108 muodostettu 15 kompressoitu videokuva siirretään kanavaa 118 käyttäen dekooderille 120.
Tässä ei ole kuvattu, miten kanava 118 toteutetaan, koska eri toteutusvaihtoehdot ovat alan ammattilaiselle selviä. Kanava 118 voi olla esimerkiksi kiin-j teä tai langaton tiedonsiirtoyhteys. Kanava 118 voidaan myös tulkita siirtotiek si, jota käyttäen videokuva tallennetaan jollekin muistivälineelle, esimerkiksi 20 laserlevylle, ja jota käyttäen videokuva sitten luetaan muistivälineeltä ja käsitellään dekooderilla 120.
I Dekooderi 120 käsittää käänteiskvantisointivälineet 122, joilla koo- derissa 108 suoritettu kvantisointi puretaan. Käänteiskvantisointi ei valitetta-, : vasti kykene enää palauttamaan lohkon alkiota, jonka arvo kvantisoinnissa : : 25 meni nollaksi.
; · Käänteiskvantisoitu datavuo 124 viedään seuraavaksi käänteisdis- : kreettikosinimuunnosvälineisiin 126, joilla suoritetaan käänteisdiskreetti- .···. kosinimuunnos kunkin liikkumattoman kuvan 104 pikseleille. Saatu datavuo - 128 viedään sitten mahdollisten muiden dekoodausprosessien kautta näytölle 30 1 30, jossa esitetään liikkumattomista kuvista 104 muodostuva videokuva.
Kooderi 108 ja dekooderi 120 voidaan sijoittaa erilaisiin laitteisiin, » · > esimerkiksi tietokoneisiin, erilaisten radiojärjestelmien tilaajapäätelaitteisiin ku-ten matkaviestimiin, tai muihin laitteisiin, joissa halutaan käsitellä videokuvaa.
; Kooderi 108 ja dekooderi 120 voidaan myös yhdistää samaan laitteeseen, jota . 35 voidaan tällöin nimittää videokoodekiksi.
8 109394
Kuviossa 5 kuvataan tunnetun tekniikan mukaisia pikseleitä kuviossa 1 kuvattujen laitteiden osien välisissä rajapinnoissa 106, 112, 116, 124 ja 128. Testikuvana on käytetty alan ammattilaisten tunteman testisekvenssin ”calendar_qcif.yuv” ensimmäisen kuvan ensimmäistä 8x8 kokoista luminanssi-5 lohkoa. Rajapinta 106 kuvaa datavuon sisältöä kameran 102 jälkeen. Rajapinta 112 kuvaa datavuon sisältöä diskreettikosinimuunnosvälineiden 110 jälkeen. Rajapinta 116 kuvaa datavuon sisältöä kvantisointivälineiden 114 jälkeen. Käytetty kvantisointisuhde on 17.
Yksinkertaisuuden vuoksi muita tunnettuja koodauksia ei ole käytet-10 ty, eli rajapinnan 116 datavuo siirretään kanavaa 118 pitkin dekooderille 120. Rajapinta 124 kuvaa datavuon sisältöä käänteiskvantisointivälineiden 122 jälkeen. Kuten kuviosta 5 havaitaan vertailemalla alkuperäistä datavuota 112 ennen kvantisointia ja rekonstruoitua datavuota 124 käänteiskvantisoinnin jälkeen, ei kvantisoinnin seurauksena rajapinnassa 116 esitettyjä nollaksi men-15 neitä ac-komponenttien arvoja enää saada palautettua ennalleen. Käytännössä tämä aiheuttaa sen, että alkuperäinen kuva 106 ennen dekoodausta ja rajapinnassa 128 kuvattu käänteisdiskreettikosinimuunnosvälineillä 126 rekonstruoitu kuva eivät vastaa enää toisiaan. Rekonstruoituun kuvaan on siis ilmestynyt kuvan laatua huonontavaa kohinaa.
20 Kuvio 2 esittää uudenlaisia laitteita videokuvan koodaamiseksi ja dekoodaamiseksi. Koska kuvion 2 laitteet pohjautuvat kuviossa 1 esitettyihin tunnetun tekniikan mukaisiin laitteisiin, seuraavassa 2 selostetaan vain ne osat, jotka poikkeavat kuviossa 1 selostetuista laitteista.
.i,: Kooderissa 108 diskreettikosinimuunnosvälineisiin 110 ovat yhtey- ·:··: 25 dessä esiprosessointivälineet 200 muokata liikkumattoman kuvan 104 kunkin pikselin arvoa ennen diskreettikosinimuunnoksen suorittamista. Esiprosessoin-; tivälineet 200 käsittävät kolmet eri välineet, joita kuvataan kuviossa 3.
Ensimmäisillä välineillä muodostetaan kahden peräkkäisen pikselin arvon välinen pikselin arvon muutos. Alan ammattilainen voi valita olosuhtei-30 siin sopivan ja tehokkaan tavan toteuttaa tämä matemaattinen operaatio. Eräässä suoritusmuodossa esiprosessointivälineet 200 muodostavat pikselin ’· : arvon muutoksen vähentämällä jälkimmäisen pikselin arvosta edellisen pikse-
Iin arvon.
Toisilla välineillä muodostetaan painotettu muutos käyttäen pikselin »ti · ,*·. 35 arvon muutosta ja etukäteen määrättyä painokerrointa. Alan ammattilainen voi valita olosuhteisiin sopivan ja tehokkaan tavan toteuttaa tämä matemaattinen 9 109394 operaatio. Eräässä suoritusmuodossa esiprosessointivälineet 200 muodostavat painotetun muutoksen jakamalla pikselin arvon muutoksen painokertoimella.
Kolmansilla välineillä asetetaan jälkimmäisen pikselin arvoksi paino-5 tettua muutosta käyttäen muokattu edellisen pikselin arvo. Alan ammattilainen voi valita olosuhteisiin sopivan ja tehokkaan tavan toteuttaa tämä matemaattinen operaatio. Eräässä suoritusmuodossa esiprosessointivälineet 200 muodostavat painotettua muutosta käyttäen muokatun edellisen pikselin arvon lisäämällä edellisen pikselin arvoon painotetun muutoksen.
10 Eräässä suoritusmuodossa esiprosessointivälineet 200 suorittavat esiprosessoinnin seuraavalla kaavalla tai sen kanssa matemaattisesti ekvivalentilla kaavalla: i yi=yn+((xi-yn)/k) (3) jossa y, on esiprosessoitu jälkimmäinen pikseli, y,.i on edellinen pik-15 seli, Xj on esiprosessoimaton jälkimmäinen pikseli, ja k on painokerroin.
Painokerroin k on edullisesti yhtä suurempi luku. Eräässä edullises-| sa suoritusmuodossa painokerroin on kaksi, jolloin kaava 3 saa muodon yi=yi-i+((Xi-yi-i)/2) (4)
Eräs matemaattisesti ekvivalentti (eli saman tuloksen aikaansaava) 20 tapa esiprosessoinnin suorittamiseksi on käyttää laskentaan liukuvaa painotettua keskiarvoa. Painotetun keskiarvon kaava on n ί Σ»λ ! .. * = -*;--ψ- (5) ! Σ«, Σ“ ..,.: /=1 t » V. Jotta esiprosessoidun jälkimmäisen pikselin arvo pysyy edellisen
t I
,pikselin ja esiprosessoimattoman jälkimmäisen pikselin arvojen välillä, pätee
.··. 25 painotetun keskiarvon kaavassa painokertoimelle Σαι = M, ja koska tässä M
’ * " ’ /=1 on kaksi, niin ai+a2=2.
Dekooderissa 120 käänteisdiskreettikosinimuunnosvälineisiin 126 :\i ovat yhteydessä käänteisesiprosessointivälineet 214 poistaa liikkumattoman •’’ f kuvan 104 kunkin pikselin esiprosessointi käänteisdiskreettikosinimuunnoksen i I » < , * . 30 suorittamisen jälkeen. Käänteisesiprosessointivälineet 214 käsittävät kolmet •:;, ‘ eri välineet, joita kuvataan kuviossa 4.
» I
Ensimmäisillä välineillä muodostetaan kahden peräkkäisen pikse-: Iin arvon välinen pikselin arvon muutos. Alan ammattilainen voi valita olosuh- » 10 109394 teisiin sopivan ja tehokkaan tavan toteuttaa tämä matemaattinen operaatio. Eräässä suoritusmuodossa käänteisesiprosessointivälineet 214 muodostavat pikselin arvon muutoksen vähentämällä jälkimmäisen pikselin arvosta edellisen pikselin arvon.
5 Toisilla välineillä muodostetaan painotettu muutos käyttäen pikselin arvon muutosta ja videokuvan koodauksessa painotetun muutoksen muodostukseen käytettyä etukäteen määrättyä painokerrointa. Alan ammattilainen voi valita olosuhteisiin sopivan ja tehokkaan tavan toteuttaa tämä matemaattinen operaatio. Eräässä suoritusmuodossa käänteisesiprosessointivälineet 214 10 muodostavat painotetun muutoksen kertomalla pikselin arvon muutoksen ykkösellä pienennetyllä painokertoimella.
Kolmansilla välineillä asetetaan jälkimmäisen pikselin arvoksi painotettua muutosta käyttäen muokattu jälkimmäisen pikselin arvo. Alan ammattilainen voi valita olosuhteisiin sopivan ja tehokkaan tavan toteuttaa tämä ma-15 temaattinen operaatio. Eräässä suoritusmuodossa käänteisesiprosessointivä-lineet 214 muodostavat painotettua muutosta käyttäen muokatun jälkimmäisen pikselin arvon lisäämällä jälkimmäisen pikselin arvoon painotetun muutoksen.
Eräässä suoritusmuodossa käänteisesiprosessointivälineet 214 suorittavat käänteisesiprosessoinnin seuraavalla kaavalla tai sen kanssa ma-20 temaattisesti ekvivalentilla kaavalla:
Xi=yi+(yi-yi-i)(k-i) (6) jossa Xj on esiprosessoimaton jälkimmäinen pikseli, y, on esiproses-V.* soitu jälkimmäinen pikseli, yM on edellinen pikseli, ja k on painokerroin.
·;··: Painokerroin k on edullisesti yhtä suurempi luku. Eräässä edullises- ;*·*; 25 sa suoritusmuodossa painokerroin on kaksi, jolloin kaava 6 saa muodon
Xi=yi+(yi-yi-i) (7) .···’ Kuten edellä jo kävi ilmi, esiprosessointi tai käänteisesiprosessointi voidaan suorittaa liikkumattoman kuvan sekä luminanssidatalle että kromi-'·’ nanssidatalle.
30 Esiprosessointivälineet 200 tai käänteisesiprosessointivälineet 214 käsittelevät liikkumatonta kuvaa 104 riveittäin, sarakkeittain, makrolohkoittain, lohkoittain, tai muulla etukäteen määrätyllä ei-satunnaisella tavalla. Pääasia : on vain se, että sekä kooderi 108 että dekooderi 120 tuntevat käytetyn ,··, käsittelytavan. Periaatteessa esiprosessointi voidaan suorittaa myös kahdesti, 35 esimerkiksi ensin riveittäin ja sitten sarakkeittain.
i i · 11 109394
Esiprosessointivälineet 200, diskreettikosinimuunnosvälineet 110, kvantisointivälineet 114, käänteiskvantisointivälineet 122, käänteisetiskreetti-kosinimuunnosvälineet 126 ja käänteisesiprosessointivälineet 214 voidaan toteuttaa prosessorissa toimivana tietokoneohjelmana, jolloin esimerkiksi kukin 5 tarvittava toiminto toteutetaan omana ohjelmamodulina. Tietokoneohjelma siis sisältää rutiinit jäljempänä esiteltävien menetelmien vaiheiden toteuttamiseksi. Tietokoneohjelman myyntiä varten se voidaan tallentaa tietokoneen muistivälineelle esimerkiksi CD-ROM:ille (Compact Disc Read Only Memory). Tietokoneohjelma voidaan suunnitella siten, että se toimii myös normaalissa yleiskäyt-10 töisessä henkilökohtaisessa tietokoneessa, kannettavassa tietokoneessa, tietokoneverkon palvelimessa tai muussa tunnetun tekniikan mukaisessa tietokoneessa.
Kyseiset välineet 200, 110, 114, 122, 126 ja 214 voidaan toteuttaa myös laitteistoratkaisuna, esimerkiksi yhtenä tai useampana sovelluskohtaise-15 na integroituna piirinä (Application Specific Integrated Circuit, ASIC) tai erillis-komponenteista rakennettuna toimintalogiikkana. Välineiden toteutustavan valinnassa alan ammattilainen huomioi esimerkiksi tarvittavan prosessointitehon ja valmistuskustannukset. Myös erilaiset ohjelmiston ja laitteiston muodostamat hybriditoteutukset ovat mahdollisia.
20 Kuviossa 6 kuvataan uudenlaisia pikseleitä kuviossa 2 kuvattujen laitteiden osien välisissä rajapinnoissa 202, 204, 206, 210, 212, 216. Testiku-vana on käytetty samaa luminanssilohkoa kuin kuviossa 5 eli testisekvenssin • · ”calendar_qcif.yuv” ensimmäisen kuvan ensimmäistä 8x8 kokoista luminanssi-*:··: lohkoa. Kuvion 2 mukaisessa laitteessa datavuon 106 sisältö kameran 102 jäl- 25 keen on sama kuin kuvion 1 mukaisessa laitteessa; siksi kuviossa 6 ei ole ku-vattu uudestaan datavuota 106. Rajapinta 202 kuvaa datavuon sisältöä esi-.···. prosessointivälineiden 200 jälkeen. Rajapinta 204 kuvaa datavuon sisältöä .·'··, diskreettikosinimuunnosvälineiden 110 jälkeen. Rajapinta 206 kuvaa datavuon sisältöä kvantisointivälineiden 114 jälkeen. Käytetty kvantisointisuhde on 11.
. , 30 Yksinkertaisuuden vuoksi muita tunnettuja koodauksia ei ole käytet- ty, eli rajapinnan 206 datavuo siirretään kanavaa 208 pitkin dekooderille 120. Rajapinta 210 kuvaa datavuon sisältöä käänteiskvantisointivälineiden 122 jäl-• keen. Rajapinta 212 kuvaa datavuon sisältöä käänteisdiskreettikosinimuun- .···. nosvälineiden 126 jälkeen. Rajapinta 214 kuvaa datavuota käänteisesiproses- 35 sointivälineiden 214 jälkeen.
12 109394
Kuviossa 5 kameralta tulevan alkuperäisen kuvan lohkon 106 ja de-kooderissa 120 rekonstruoidun lohkon 128 kunkin pikselin erotuksien itseisarvon summaksi saadaan laskemalla 677. Tämä luku kuvaa lohkoon koodauksessa ja dekoodauksessa tullutta kohinaa. Vastaavasti kuviossa 6 kameralta 5 tulevan alkuperäisen kuvan lohkon 106 ja dekooderissa 120 rekonstruoidun lohkon 216 kunkin pikselin erotuksien itseisarvon summaksi saadaan 596. Vertaamalla alkuperäistä lohkoa 106 ja rekonstruoitua lohkoa 128 sekä alkuperäistä lohkoa 106 ja esiprosessointia käyttämällä tuotettua rekonstruoitua lohkoa 216 havaitaan lohkon muodon säilyvän paremmin käytettäessä esipro-10 sessointia. Siis kuvion 2 mukaisia uutta kooderia 108 ja dekooderia 120 käytettäessä rekonstruoidun kuvan laatu on parempi, koska voitiin käyttää pienempää kvantisointisuhdetta vaaditun kanavan 118, 208 tiedonsiirtokapasiteetin pysyessä suunnilleen samana, sillä pakkaustehokkuus säilyy lähes sama na. Kuviossa 5 pakkaussuhde on noin 1:25 ja kuviossa 6 pakkaussuhde on 15 noin 1:23.
Kuvio 9 havainnollistaa esiprosessoinnin vaikutusta pikseleihin. Pik-j seleiksi on valittu kuviosta 5 rajapinnasta 106 ensimmäisen rivin kahdeksan alkuperäistä pikseliä ja kuviosta 6 rajapinnasta 202 ensimmäisen rivin kahdeksan esiprosessoitua pikseliä. Vaaka-akselilla on pikselin järjestysnumero 1-8, 20 ja pystyakselilla kuvataan pikselin arvoa välillä 0-120. Yhtenäinen viiva kuvaa alkuperäisiä pikseleitä ja katkoviiva esiprosessoituja pikseleitä. Kuten kuviosta 9 nähdään, esiprosessointi loiventaa pikseleiden arvojen vaihtelua.
Hakija on suorittanut kokeita, joissa kuvan visuaaliseen vertailuun :·: on käytetty huippusignaalikohinasuhde-estimaattoria (Peak Signal Noise Ra- 25 tio, PSNR), joka lasketaan kaavalla: • ' · 2552 :.'-i psnr = lOlog——-, (8) ::: jossa kuvakoko on MxN, f(x,y) on alkuperäisen kuvan pikseli ja r(x,y) on vertailtavan kuvan pikseli. Vertailussa psnr on laskettu luminanssien '· "· ja krominanssien psnrien keskiarvosta.
30 Pakkaustehokkuutta vertaillessa taas käytetään yksinkertaisesti pa- : katun videokuvan kokoa. Esiprosessoinnissa on käytetty painokertoimena . · · \ kakkosta ja pyöristystä lähimpään kokonaislukuun.
Taulukoissa käytetyt lyhenteet: - Stream name tiedoston nimi 13 109394 - Pre enc esiprosessoinnin käyttö kooderissa ("+”= on käytetty, = ei ole käytetty) - Pre dec esiprosessoinnin käyttö dekooderissa - Size pakatun videokuvan koko tavuina 5 - QP käytetty kvantisointiparametri - Psnr dekoodatun videon psnr verrattuna alkuperäisen videon psnr.ään - Size rate pakkaussuhde (Size prosessoimaton /
Size prosessoitu) 10 - Psnr rate psnr-suhde (Psnr prosessoimaton /
Psnr prosessoitu).
Tarkastellaan ensin sekvenssiä ”calendar_qcif.yuv”, josta koodataan 20 ensimmäistä kuvaa.
Stream name Pre Pre size QP Psnr Size Psnr __enc Dec_____rate rate calendar qcif.yuv__ 448258 1 47.23 calendar qcif.yuv__+__ 269639 1 29.98 0.6 1.58 calendar qcif.yuv__+ + 269639 1 40.29 0.6 1.17 15
Taulukko 3
Kun käytetään kvantisointiparametria 1 ja esikäsittelyä vain koode-V: rissa, mikä vastaa varsin hyvin perinteistä esikäsittelyä, paranee pakkausteho ·..·: 20 40%, mutta kuvan laatu taas heikkenee huomattavasti (58%). Jos esikäsittelyn ;v: dekoodaus lisätään dekooderiin, huononee kuvan laatu enää 17%.
. · · : Stream name Pre Pre Size QP Psnr Size Psnr __enc Dec_____rate rate " calendar qcif.yuv__-__ 16752 15 28.30 __- calendar qcif.yuv__+__-__7941 15 25.92 0,47 1.09 calendar qcif.yuv__+ + 7941__15 26.73 0.47 1.06 .·. calendar qcif.yuv__+ + 14378 10 28.11 0.86 1.01 * · * : 25 Taulukko4 . .·; Kun kvantisointia on kasvatettu viiteentoista, huomataan, että koo- ,···. derissa suoritettavan esiprosessoinnin teho kasvaa jo yli kaksinkertaiseksi, > * » 14 109394 kun taas dekooderissa suoritettava menettää tehoaan verrattuna pienemmällä kvantisoinnilla ajettuun dataan. Kvantisointiparametrilla 10 ajettu testidata on kooltaan lähinnä prosessoimatonta: teho kasvaa n. 15 prosentilla, kuvan laadun pysyessä lähes muuttumattomana.
5
Stream name Pre Pre Size QP Psnr Size Psn enc Dec rate r ________rate calendar qcif.yuv__-__ 4904 30 25,53 calendar qcif.yuv__+___4757 22 25,08 0.97 1.02 calendar qcif.yuv__+ + 4757 22 25.55 0.97 1.00
Taulukko 5 10 Kun käytetään todella suurta kvantisointia, nähdään, että esipro- sessoinnin teho laskee. Nyt sama kuvanlaatu saavutetaan enää n. 3% paremmalla pakkaustehokkuudella.
Seuraavaksi kuvion 7 vuokaavioon viitaten selostetaan menetelmä peräkkäisistä liikkumattomista kuvista muodostetun videokuvan koodaamisek-15 si. Menetelmän suoritus aloitetaan lohkossa 700, jossa kooderi alkaa vastaanottaa koodattavaa videokuvaa. Lohkossa 702 otetaan käsittelyyn ensimmäisen kuvan ensimmäinen esiprosessoimaton osa.
Lohkossa 704 laskurin i arvoksi asetetaan yksi.
| ", Lohkossa 706 ensimmäisen pikselin esiprosessoiduksi arvoksi (yi) 20 asetetaan esiprosessoimaton arvo (xi).
• : Lohkossa 708 kasvatetaan laskurin i arvoa yhdellä.
'·! Sitten lohkossa 710 aletaan suorittamaan varsinaista esiprosessoin- tia, eli ennen diskreettikosinimuunnoksen suorittamista toistetaan vuorollaan : liikkumattoman kuvan kullekin pikselille esiprosessointi, jossa: 25 - muodostetaan kahden peräkkäisen pikselin arvon välinen pikselin : arvonmuutos, .···’ - muodostetaan painotettu muutos käyttäen pikselin arvon muutosta * '' ’ ja etukäteen määrättyä painokerrointa, ja :.· ! - asetetaan jälkimmäisen pikselin arvoksi painotettua muutosta 30 käyttäen muokattu edellisen pikselin arvo.
. Esiprosessointi voidaan suorittaa esimerkiksi lohkossa 710 kuvattua • t # /. · ·. jo aiemmin selostettua kaavaa 3 käyttäen.
15 109394
Lohkossa 712 testataan, onko kuvan käsittelyn alla oleva osa saatu jo valmiiksi, eli esimerkissämme testataan, onko laskurin i arvo yhdellä kasvatettuna suurempi kuin kuvan osan viimeisen pikselin järjestysnumero. Esimerkiksi jos cif-kokoista kuvaa käsitellään riveittäin, niin tässä testataan, onko 5 i+1>352. Jos ei ole vielä käsitelty kuvan osan viimeistä pikseliä, mennään nuo len 714 mukaisesti takaisin lohkoon 708, josta suoritusta jatketaan kasvatta-I maila laskurin i arvoa yhdellä. Jos kuvan osan viimeinen pikseli tuli lohkossa 710 käsiteltyä, mennään nuolen 716 mukaisesti lohkoon 718, jossa testataan, onko koko kuva käsitelty.
10 Jos kuvan kaikkia osia ei ole vielä käsitelty, mennään nuolen 720 mukaisesti lohkoon 702, josta jatketaan ottamalla käsittelyyn seuraava kuvan esiprosessoimaton osa.
Jos kuvan kaikki osat on käsitelty, mennään lohkosta 718 nuolen 722 mukaisesti lohkoon 724, jossa suoritetaan diskreettikosinimuunnos 724 15 liikkumattoman kuvan muuntamattomille pikseleille. Diskreettikosinimuunnos voidaan suorittaa lohkossa 724 joko koko kuvalle kerrallaan, tai sitten katkovii-voitetun lohkon 724 mukaisesti vuorollaan kullekin kuvan esiprosessoidulle osalle ennen kuin lohkossa 702 aletaan käsitellä kuvan seuraavaa osaa.
Sitten lohkossa 726 testataan, oliko edellinen esiprosessoitu kuva 20 kyseisen videokuvasekvenssin viimeinen. Jos ei ollut, mennään nuolen 728 mukaisesti lohkoon 702, jossa jatketaan käsittelyä ottamalla seuraavan kuvan ensimmäinen esiprosessoimaton osa käsittelyyn. Jos videokuvasekvenssin ,:.: esiprosessointi saatiin valmiiksi, mennään lohkosta 726 nuolen 730 mukaisesti :1 ’ i lohkoon 732, jossa lopetetaan menetelmän suoritus.
; 25 Menetelmää voidaan modifioida oheisten epäitsenäisten patentti- ; .· vaatimusten mukaisesti. Koska niiden sisältö on edellä selitetty kooderin 108 . · · ·. yhteydessä, ei selitystä enää tässä toisteta.
,···, Lopuksi kuvioon 8 viitaten havainnollistetaan menetelmää peräkkäi sistä liikkumattomista kuvista muodostetun videokuvan dekoodaamiseksi.
, . 30 Menetelmän suorittaminen aloitetaan lohkossa 800, jossa dekoode- ’; / ri alkaa vastaanottaa dekoodattavaa videokuvaa.
Lohkossa 802 suoritetaan käänteisdiskreettikosinimuunnos 802 liik-• kumattoman kuvan pikseleille.
Sitten lohkossa 804 otetaan käsittelyyn kuvan ensimmäinen esipro- » »· 35 sessoimaton osa.
1 Lohkossa 806 laskurin i alkuarvoksi asetetaan ykkönen.
I t I
16 109394
Lohkossa 808 ensimmäisen pikselin käänteisesiprosessoiduksi arvoksi (xi) asetetaan esiprosessoitu arvo (yi).
Lohkossa 810 kasvatetaan laskurin i arvoa ykkösellä.
Sitten lohkossa 812 aletaan suorittamaan varsinaista käänteisesi-5 prosessointia, eli käänteisdiskreettikosinimuunnoksen suorittamisen jälkeen toistetaan vuorollaan liikkumattoman kuvan kullekin pikselille käänteisesipro-sessointi, jossa: - muodostetaan kahden peräkkäisen pikselin arvon välinen pikselin arvon muutos, 10 - muodostetaan painotettu muutos käyttäen pikselin arvon muutosta ja videokuvan koodauksessa painotetun muutoksen muodostukseen käytettyä etukäteen määrättyä painokerrointa, ja - asetetaan jälkimmäisen pikselin arvoksi painotettua muutosta käyttäen muokattu jälkimmäisen pikselin arvo.
15 Käänteisesiprosessointi voidaan suorittaa esimerkiksi lohkossa 812 kuvattua jo aiemmin selostettua kaavaa 6 käyttäen.
| Lohkossa 814 testataan, onko kuvan käsittelyn alla oleva osa saatu jo valmiiksi, eli esimerkissämme testataan, onko laskurin i arvo yhdellä kasvatettuna suurempi kuin kuvan osan viimeisen pikselin järjestysnumero. Jos ei 20 ole vielä käsitelty kuvan osan viimeistä pikseliä, mennään nuolen 816 mukaisesti takaisin lohkoon 810, josta suoritusta jatketaan kasvattamalla laskurin i arvoa yhdellä. Jos kuvan osan viimeinen pikseli tuli lohkossa 812 käsiteltyä, mennään nuolen 818 mukaisesti lohkoon 820, jossa testataan, onko koko ku-va käsitelty.
f 25 Jos kuvan kaikkia osia ei ole vielä käsitelty, mennään lohkosta 820 nuolen 824 mukaisesti lohkoon 804, josta jatketaan ottamalla käsittelyyn seu- ;11; raava kuvan esiprosessoimaton osa. Kuten kuviosta 8 nähdään, tässä koh- .·1·. dassa on optionaalinen katkoviivoitettu lohko 802, eli käänteisdiskreetti- kosinimuunnos voidaan suorittaa joko kuvan kaikille pikseleille ennen kään- , . 30 teisesiprosessointia tai sitten vuorollaan kullekin kuvan seuraavaksi kään- » » · ;,.: teisesiprosessoitavalle osalle.
·;·’ Jos kuvan kaikki osat on käsitelty, mennään lohkosta 820 nuolen ; 822 mukaisesti lohkoon 826, jossa testataan, oliko edellinen esiprosessoitu kuva kyseisen videokuvasekvenssin viimeinen. Jos ei ollut, mennään nuolen j \ 35 828 mukaisesti lohkoon 802, jossa jatketaan käsittelyä suorittamalla käänteis- diskreettikosinimuunnos seuraavan kuvan pikseleille. Jos videokuvasekvens- 17 109394 sin käänteisesiprosessointi saatiin valmiiksi, mennään lohkosta 826 nuolen 830 mukaisesti lohkoon 832, jossa lopetetaan menetelmän suoritus.
Menetelmää voidaan modifioida oheisten epäitsenäisten patenttivaatimusten mukaisesti. Koska niiden sisältö on edellä selitetty dekooderin 5 120 yhteydessä, ei selitystä enää tässä toisteta.
; Kuviossa 7 ei ole kuvattu kvantisointia, joka suoritetaan kuviossa 7 lohkon 724 jälkeen, ja vastaavasti kuviossa 8 ei ole kuvattu käänteis-kvantisointia, joka suoritetaan ennen lohkoa 802. On huomattava, että menetelmien toimenpiteiden sekvenssin ei ole pakko olla kuvatun kaltainen. Jos 10 esimerkiksi reaaliaikaisuusvaatimus ei ole korkea ja laitteessa on tarpeeksi muistia, voidaan lohkon 724 mukainen diskreettikosinimuunnos suorittaa kerrallaan aina useammalle muistiin tallennetulle kuvalle.
Vaikka keksintöä on edellä selostettu viitaten oheisten piirustusten mukaiseen esimerkkiin, on selvää, ettei keksintö ole rajoittunut siihen, vaan si-15 tä voidaan muunnella monin tavoin oheisten patenttivaatimusten esittämän keksinnöllisen ajatuksen puitteissa. 1
» » I
· ·

Claims (27)

1. Menetelmä peräkkäisistä liikkumattomista kuvista muodostetun videokuvan koodaamiseksi, käsittäen: suoritetaan diskreettikosinimuunnos (724) liikkumattoman kuvan 5 muuntamattomille pikseleille; tunnettu siitä, että ennen diskreettikosinimuunnoksen suorittamista toistetaan vuorol- laan liikkumattoman kuvan kullekin pikselille esiprosessointi (710), jossa: muodostetaan kahden peräkkäisen pikselin arvon vä-10 linen pikselin arvon muutos; muodostetaan painotettu muutos käyttäen pikselin arvon muutosta ja etukäteen määrättyä painokerrointa; ja asetetaan jälkimmäisen pikselin arvoksi painotettua muutosta käyttäen muokattu edellisen pikselin arvo.
2. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että pikselin arvon muutos muodostetaan vähentämällä jälkimmäisen pikselin arvosta edellisen pikselin arvo.
3. Jonkin edellisen patenttivaatimuksen mukainen menetelmä, tunnettu siitä, että painotettu muutos muodostetaan jakamalla pikselin ar- 20 von muutos painokertoimella.
4. Jonkin edellisen patenttivaatimuksen mukainen menetelmä, tunnettu siitä, että painotettua muutosta käyttäen muokattu edellisen pik-selin arvo muodostetaan lisäämällä edellisen pikselin arvoon painotettu muutos. \ \ 25 5. Jonkin edellisen patenttivaatimuksen mukainen menetelmä, • ': tunnettu siitä, että esiprosessointi suoritetaan seuraavalla kaavalla tai sen :: kanssa matemaattisesti ekvivalentilla kaavalla: yi=yn+((xi-yn)/k) jossa yj on esiprosessoitu jälkimmäinen pikseli, 30 yn on edellinen pikseli, * “; X-, on esiprosessoimaton jälkimmäinen pikseli, k on painokerroin. ; : 6. Menetelmä peräkkäisistä liikkumattomista kuvista muodostetun videokuvan dekoodaamiseksi, käsittäen: : 35 suoritetaan käänteisdiskreettikosinimuunnos (802) liikkumattoman , · . kuvan muuntamattomille pikseleille; •»» 19 109394 tunnettu siitä, että käänteisdiskreettikosinimuunnoksen suorittamisen jälkeen toistetaan vuorollaan liikkumattoman kuvan kullekin pikselille käänteisesiprosessoin-ti (812), jossa: 5 muodostetaan kahden peräkkäisen pikselin arvon vä linen pikselin arvon muutos; muodostetaan painotettu muutos käyttäen pikselin arvon muutosta ja videokuvan koodauksessa painotetun muutoksen muodostukseen käytettyä etukäteen määrättyä painokerrointa; ja 10 asetetaan jälkimmäisen pikselin arvoksi painotettua muutosta käyttäen muokattu jälkimmäisen pikselin arvo.
7. Patenttivaatimuksen 6 mukainen menetelmä, tunnettu siitä, että pikselin arvon muutos muodostetaan vähentämällä jälkimmäisen pikselin arvosta edellisen pikselin arvo.
8. Jonkin edellisen patenttivaatimuksen 6-7 mukainen menetelmä, tunnettu siitä, että painotettu muutos muodostetaan kertomalla pikselin arvon muutos ykkösellä pienennetyllä painokertoimella.
9. Jonkin edellisen patenttivaatimuksen 6-8 mukainen menetelmä, tunnettu siitä, että painotettua muutosta käyttäen muokattu jälkimmäisen 20 pikselin arvo muodostetaan lisäämällä jälkimmäisen pikselin arvoon painotettu muutos.
10. Jonkin edellisen patenttivaatimuksen 6-9 mukainen menetelmä, tunnettu siitä, että pikselin käänteisesiprosessointi suoritetaan seuraavalla ": kaavalla tai sen kanssa matemaattisesti ekvivalentilla kaavalla:
25 Xi=yi+(yi-yi-i)(k-l) ; ‘ ·, · jossa Xj on esiprosessoimaton jälkimmäinen pikseli, . · · ·. y, on esiprosessoitu jälkimmäinen pikseli, , · > ·. yi-i on edellinen pikseli, » · k on painokerroin. . . 30 11. Jonkin edellisen patenttivaatimuksen mukainen menetelmä, '; / tunnettu siitä, että painokerroin on yhtä suurempi luku. ··* 12. Patenttivaatimuksen 11 mukainen menetelmä, tunnettu sii- [ tä, että painokerroin on kaksi.
13. Jonkin edellisen patenttivaatimuksen mukainen menetelmä, 35 tunnettu siitä, että pikselin esiprosessointi tai käänteisesiprosessointi suo- » 1 » 20 109394 ritetaan liikkumattomalle kuvalle riveittäin, sarakkeittain, makrolohkoittain, loh-! kolttain, tai muulla etukäteen määrätyllä ei-satunnaisella tavalla.
14. Jonkin edellisen patenttivaatimuksen mukainen menetelmä, i tunnettu siitä, että pikselin esiprosessointi tai käänteisesiprosessointi suo-5 ritetaan liikkumattoman kuvan luminanssidatalle.
15. Jonkin edellisen patenttivaatimuksen mukainen menetelmä, tunnettu siitä, että pikselin esiprosessointi tai käänteisesiprosessointi suoritetaan liikkumattoman kuvan krominanssidatalle.
16. Laite peräkkäisistä liikkumattomista kuvista muodostetun video-10 kuvan koodaamiseksi, käsittäen diskreettikosinimuunnosvälineet (110) suorittaa diskreettikosinimuunnos liikkumattoman kuvan (104) pikseleille; tunnettu siitä, että diskreettikosinimuunnosvälineisiin (110) on yhteydessä esiprosessointivälineet (200) muokata liikkumattoman kuvan (104) kunkin pikselin arvoa 15 ennen diskreettikosinimuunnoksen suorittamista; esiprosessointivälineet (200) käsittävät: välineet muodostaa kahden peräkkäisen pikselin arvon välinen pikselin arvon muutos; välineet muodostaa painotettu muutos käyttäen pikse-20 Iin arvon muutosta ja etukäteen määrättyä painokerrointa; välineet asettaa jälkimmäisen pikselin arvoksi painotettua muutosta käyttäen muokattu edellisen pikselin arvo.
17. Patenttivaatimuksen 16 mukainen laite, tunnettu siitä, että esiprosessointivälineet (200) muodostavat pikselin arvon muutoksen vähen- ·’: 25 tämällä jälkimmäisen pikselin arvosta edellisen pikselin arvon.
18. Jonkin edellisen patenttivaatimuksen 16-17 mukainen laite, .···. tunnettu siitä, että esiprosessointivälineet (200) muodostavat painotetun . - ·, muutoksen jakamalla pikselin arvon muutoksen painokertoimella. I ·
19. Jonkin edellisen patenttivaatimuksen 16-18 mukainen laite, 30 tunnettu siitä, että esiprosessointivälineet (200) muodostavat painotettua ; / muutosta käyttäen muokatun edellisen pikselin arvon lisäämällä edellisen pik- » · >·’ selin arvoon painotetun muutoksen.
20. Jonkin edellisen patenttivaatimuksen 16-19 mukainen laite, tunnettu siitä, että esiprosessointivälineet (200) suorittavat esiprosessoin- 35 nin seuraavalla kaavalla tai sen kanssa matemaattisesti ekvivalentilla kaavalla: » ► yi=yi-i+((Xi-yi-i)/k) 21 109394 jossa y, on esiprosessoitu jälkimmäinen pikseli, yi-1 on edellinen pikseli, Xi on esiprosessoimaton jälkimmäinen pikseli, k on painokerroin.
21. Laite peräkkäisistä liikkumattomista kuvista muodostetun video kuvan dekoodaamiseksi, käsittäen käänteisdiskreettikosinimuunnosvälineet (126) suorittaa käänteisdiskreettikosinimuunnos liikkumattoman kuvan (104) ; pikseleille; | tunnettu siitä, että I 10 käänteisdiskreettikosinimuunnosvälineisiin (126) on yhteydessä I käänteisesiprosessointivälineet (214) poistaa liikkumattoman kuvan (104) kun- ! kin pikselin esiprosessointi käänteisdiskreettikosinimuunnoksen suorittamisen jälkeen; käänteisesiprosessointivälineet (214) käsittävät: 15 välineet muodostaa kahden peräkkäisen pikselin ar von välinen pikselin arvon muutos; välineet muodostaa painotettu muutos käyttäen pikselin arvon muutosta ja videokuvan koodauksessa painotetun muutoksen muodostukseen käytettyä etukäteen määrättyä painokerrointa; 20 välineet asettaa jälkimmäisen pikselin arvoksi paino tettua muutosta käyttäen muokattu jälkimmäisen pikselin arvo.
22. Patenttivaatimuksen 21 mukainen laite, tunnettu siitä, että käänteisesiprosessointivälineet (214) muodostavat pikselin arvon muutoksen vähentämällä jälkimmäisen pikselin arvosta edellisen pikselin arvon.
23. Jonkin edellisen patenttivaatimuksen 21-22 mukainen laite, tunnettu siitä, että käänteisesiprosessointivälineet (214) muodostavat pai-notetun muutoksen kertomalla pikselin arvon muutoksen ykkösellä pienenne-| f tyllä painokertoimella.
24. Jonkin edellisen patenttivaatimuksen 21-23 mukainen laite, 30 tunnettu siitä, että käänteisesiprosessointivälineet (214) muodostavat pai-notettua muutosta käyttäen muokatun jälkimmäisen pikselin arvon lisäämällä jälkimmäisen pikselin arvoon painotetun muutoksen.
25. Jonkin edellisen patenttivaatimuksen 21-24 mukainen laite, tunnettu siitä, että käänteisesiprosessointivälineet (214) suorittavat kään-;·’ 35 teisesiprosessoinnin seuraavalla kaavalla tai sen kanssa matemaattisesti ekvi- valentilla kaavalla: 22 109394 Xi=yi+(yi-yn)(k-i) I jossa Xj on esiprosessoimaton jälkimmäinen pikseli, ! y, on esiprosessoitu jälkimmäinen pikseli, yi-i on edellinen pikseli, 5. on painokerroin.
26. Jonkin edellisen patenttivaatimuksen 16-25 mukainen laite, tunnettu siitä, että painokerroin on yhtä suurempi luku.
27. Patenttivaatimuksen 26 mukainen laite, tunnettu siitä, että painokerroin on kaksi.
28. Jonkin edellisen patenttivaatimuksen 16-27 mukainen laite, tunnettu siitä, että esiprosessointivälineet (200) tai käänteisesiprosessoin- j tivälineet (214) käsittelevät liikkumatonta kuvaa riveittäin, sarakkeittain, makro-lohkoittain, lohkoittain, tai muulla etukäteen määrätyllä ei-satunnaisella tavalla.
29. Jonkin edellisen patenttivaatimuksen 16-28 mukainen laite, 15 tunnettu siitä, että esiprosessointivälineet (200) tai käänteisesiprosessoin- tivälineet (214) käsittelevät liikkumattoman kuvan luminanssidataa.
30. Jonkin edellisen patenttivaatimuksen 16-29 mukainen laite, tunnettu siitä, että esiprosessointivälineet (200) tai käänteisesiprosessoin-tivälineet (214) käsittelevät liikkumattoman kuvan krominanssidataa. > 23 109394
FI20002316A 2000-10-20 2000-10-20 Menetelmä ja laite videokuvan koodaamiseksi ja dekoodaamiseksi FI109394B (fi)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FI20002316A FI109394B (fi) 2000-10-20 2000-10-20 Menetelmä ja laite videokuvan koodaamiseksi ja dekoodaamiseksi
AU2002212375A AU2002212375A1 (en) 2000-10-20 2001-10-19 Encoding and decoding of video image
PCT/FI2001/000913 WO2002033979A1 (en) 2000-10-20 2001-10-19 Encoding and decoding of video image

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20002316 2000-10-20
FI20002316A FI109394B (fi) 2000-10-20 2000-10-20 Menetelmä ja laite videokuvan koodaamiseksi ja dekoodaamiseksi

Publications (3)

Publication Number Publication Date
FI20002316A0 FI20002316A0 (fi) 2000-10-20
FI20002316A FI20002316A (fi) 2002-04-21
FI109394B true FI109394B (fi) 2002-07-15

Family

ID=8559336

Family Applications (1)

Application Number Title Priority Date Filing Date
FI20002316A FI109394B (fi) 2000-10-20 2000-10-20 Menetelmä ja laite videokuvan koodaamiseksi ja dekoodaamiseksi

Country Status (3)

Country Link
AU (1) AU2002212375A1 (fi)
FI (1) FI109394B (fi)
WO (1) WO2002033979A1 (fi)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8396117B2 (en) 2006-05-30 2013-03-12 Google Inc. Apparatus, arrangement, method and computer program product for digital video processing
FI20095273A0 (fi) 2009-03-17 2009-03-17 On2 Technologies Finland Oy Digitaalinen videokoodaus
EP2302845B1 (en) 2009-09-23 2012-06-20 Google, Inc. Method and device for determining a jitter buffer level
EP2405661B1 (en) 2010-07-06 2017-03-22 Google, Inc. Loss-robust video transmission using two decoders
US20120172281A1 (en) 2010-07-15 2012-07-05 Jeffrey John Scheibel Detergent compositions comprising microbially produced fatty alcohols and derivatives thereof
US8630412B2 (en) 2010-08-25 2014-01-14 Motorola Mobility Llc Transport of partially encrypted media
US8477050B1 (en) 2010-09-16 2013-07-02 Google Inc. Apparatus and method for encoding using signal fragments for redundant transmission of data
US8838680B1 (en) 2011-02-08 2014-09-16 Google Inc. Buffer objects for web-based configurable pipeline media processing
US8767821B2 (en) 2011-05-09 2014-07-01 Google Inc. System and method for providing adaptive media optimization
US9014265B1 (en) 2011-12-29 2015-04-21 Google Inc. Video coding using edge detection and block partitioning for intra prediction
US9210424B1 (en) 2013-02-28 2015-12-08 Google Inc. Adaptive prediction block size in video coding
US9313493B1 (en) 2013-06-27 2016-04-12 Google Inc. Advanced motion estimation

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5283646A (en) * 1992-04-09 1994-02-01 Picturetel Corporation Quantizer control method and apparatus
US5438374A (en) * 1993-12-10 1995-08-01 At&T Corp. System and method for filtering video signals

Also Published As

Publication number Publication date
FI20002316A (fi) 2002-04-21
AU2002212375A1 (en) 2002-04-29
FI20002316A0 (fi) 2000-10-20
WO2002033979A1 (en) 2002-04-25

Similar Documents

Publication Publication Date Title
US8254707B2 (en) Encoding device, encoding method, encoding program, decoding device, decoding method, and decoding program in interlace scanning
US8665943B2 (en) Encoding device, encoding method, encoding program, decoding device, decoding method, and decoding program
US6275527B1 (en) Pre-quantization in motion compensated video coding
US6301304B1 (en) Architecture and method for inverse quantization of discrete cosine transform coefficients in MPEG decoders
KR100964515B1 (ko) 비디오 인코딩을 위한 비-정수 픽셀 공유
US8526488B2 (en) Video sequence encoding system and algorithms
EP0585051B1 (en) Image processing method and apparatus
JP2008527789A (ja) エントロピー符号化方法
US20100086048A1 (en) System and Method for Video Image Processing
FI109394B (fi) Menetelmä ja laite videokuvan koodaamiseksi ja dekoodaamiseksi
EP1032211A2 (en) Moving picture transcoding system
JP2004241957A (ja) 画像処理装置および符号化装置とそれらの方法
EP1820350A1 (en) Method of coding and decoding moving picture
FI109395B (fi) Menetelmä ja järjestelmä videokuvan stabilisoimiseksi
FI109634B (fi) Menetelmä ja laite videokuvan koodaamiseksi
FI109635B (fi) Menetelmä ja laite videokuvan jälkikäsittelemiseksi
KR20170125154A (ko) 곡선 화면 내 예측을 사용하는 비디오 복호화 방법 및 장치
US7613351B2 (en) Video decoder with deblocker within decoding loop
KR20160109617A (ko) 디지털 비디오의 디코딩 장치
US8326060B2 (en) Video decoding method and video decoder based on motion-vector data and transform coefficients data
CN111886868B (zh) 用于替代参考帧渲染的自适应时间滤波的方法和装置
JPH07336684A (ja) 画像信号復号化装置
JP3542911B2 (ja) 動画圧縮装置
US20080049836A1 (en) Method and System for a Fast Video Transcoder
KR20120129629A (ko) 루프 내 전처리 필터링을 이용한 움직임 추정 및 보상 방법

Legal Events

Date Code Title Description
PC Transfer of assignment of patent

Owner name: GOOGLE INC.

Free format text: GOOGLE INC.

MM Patent lapsed