FI116710B - Kuvien koodausmenetelmä ja -järjestely - Google Patents

Kuvien koodausmenetelmä ja -järjestely Download PDF

Info

Publication number
FI116710B
FI116710B FI20022260A FI20022260A FI116710B FI 116710 B FI116710 B FI 116710B FI 20022260 A FI20022260 A FI 20022260A FI 20022260 A FI20022260 A FI 20022260A FI 116710 B FI116710 B FI 116710B
Authority
FI
Finland
Prior art keywords
dct
block
library
transform
coding
Prior art date
Application number
FI20022260A
Other languages
English (en)
Swedish (sv)
Other versions
FI20022260A0 (fi
FI20022260A (fi
Inventor
Teemu Pohjola
Martti Kesaeniemi
Original Assignee
Oplayo 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 Oplayo Oy filed Critical Oplayo Oy
Priority to FI20022260A priority Critical patent/FI116710B/fi
Publication of FI20022260A0 publication Critical patent/FI20022260A0/fi
Priority to EP03104873A priority patent/EP1453320A3/en
Priority to US10/740,421 priority patent/US20040151395A1/en
Publication of FI20022260A publication Critical patent/FI20022260A/fi
Application granted granted Critical
Publication of FI116710B publication Critical patent/FI116710B/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/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/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/176Methods 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 block, e.g. a macroblock
    • 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

116710
Kuvien koodausmenetelmä ja -järjestely
Keksinnön ala Tämä keksintö liittyy kuvien koodaustekniikoihin. Kuvat voivat olla 5 kiintokuvia tai yksittäisiä videokuvia. Erityisesti, keksintö liittyy diskreettiä kosinimuunnosta (DCT, Discrete Cosine Transform) käyttäviin koodaustekniikoihin. Keksintö liittyy luonnollisesti myös koodintulkintatekniikoihin.
Tekniikan tausta 10 Pikseleistä rakentuvaa kuvaa koodattaessa, kuva jaetaan lohkoiksi DCT-tekniikkaa käyttäen. Lohkon koko on tavallisesti 8*8 pikseliä. Koska kuvat ovat yleensä kaksiulotteisia, tehdään kaksiulotteinen DCT-muunnos. Yhtälö 1 esittää esimerkin 8*8 lohkojen DCT-muunnoksesta: λ c i\ f /-i /-i ^r-1 , ... Ji(2i + l)Är π(2 j +1)/ ...
15 Z(k,l) = -CkC,^Yx(!,j)cos--—-cos-—- (1) 4 /=o /-O 16 16 Z(k,l) kuvaa alkuperäisen 64 (8*8) pikselin 64 muunnettua kerroin-arvoa. 8*8 lohkon kertoimien rivi-indeksi on k ja sarakeindeksi /. Indeksit saavat arvoja nollasta seitsemään. Kuten on nähtävissä, DCT-muunnos on hä-20 viötön, toisin sanoen käänteinen muunnos antaa pikseliarvoiksi alkuperäisiä pikseleitä vastaavat arvot. Alkuperäisen pikselilohkon rivi-indeksi on i ja sara- I · ( Γ . keindeksi on j. Ck ja Ci ovat vakioita ja x(/'j) on tietyn rivin ja sarakkeen pikse- I ! linarvo.
Kuten yhtälössä (1) kuvataan, kerroinlohkon vasemman yläkulman 25 arvo edustaa kuvalohkon DC komponenttia ja oikean alakulman arvo kuva-lohkon suurimpia horisontaalisia ja vertikaalisia taajuuksia. Kuvio 1 esittää erään esimerkin kuvan DCT-taajuuksista. Horisontaaliset taajuudet kasvavat t oikealle mentäessä ja vertikaaliset taajuudet alaspäin mentäessä. Jokainen kuvalohko - tässä 8*8 pikselin lohko - on mahdollista kuvata horisontaalisia ja 30 vertikaalisia taajuuksia käyttäen. Tavallisesti kuvan suurimman taajuuden komponentit ovat joko nollia tai arvoltaan niin vähäisiä, että ne voidaan jättää lukuun ottamatta; näin kaikkia 64 kertoimen lohkoja ei tarvita kuvalohkon muuntamiseksi. Edullisesti kaikki lohkot kuitenkin tarkistetaan. Yleensä mitä kompleksisempi kuvalohko on, sitä enemmän kertoimia tarvitaan. Kuitenkin 35 joissakin suhteellisen yksinkertaisissa tapauksissa, kuten diagonaalisissa ku- 116710 2 vioissa, DCT-muunnos käyttää suhteellisen suuren määrän kerroinlohkoja. Tällainen muunnos on tehoton ja vaatii suhteellisesti liian paljon bittejä.
Keksinnön tavoitteena on poistaa tämä epäkohta. Tavoite saavutetaan vaatimuksissa kuvatulla tavalla.
5
Keksinnön lyhyt yhteenveto
Keksinnössä hyödynnetään alla olevaa periaatetta, jossa kuva voi sisältää kuvioita, joissa hallitsevat suunnat ovat muuhun suuntaan kuin perus DCT-lohkon taajuuksien horisontaalinen tai vertikaalinen suunta. Käyttämällä 10 sekä DCT-lohkoja, jotka on suunniteltu näihin muihin suuntiin, että perus DCT-lohkoja, muunnoksessa tarvitaan vähemmän lohkoja kuin pelkästään perus DCT-lohkoja käytettäessä. Hallitseva suunta täytyy määritellä ennen parhaimpien DCT-lohkojen käyttämistä.
Keksinnöllinen menetelmä koodaa kuvan, joka on jaettu lohkoihin 15 tekemällä kullekin lohkolle DCT-muunnoksen. Mainittu muutos tehdään käyttäen ainakin yhtä lohkospesifistä DCT-lohkokirjastoa siten, että käytettävän DCT-lohkon taajuussuunta on mahdollisimman lähellä muutettavana olevan lohkon kuvion hallitsevaa suuntaa. Kun DCT-muunnos on suoritettu, tehdään pakkauskoodaus.
20 DCT-muunnosvaihetta tehtäessä määritetään muutettavana olevan .···. lohkon hallitseva suunta. Valitaan parhaiten sopiva DCT-lohkokirjasto ja suo- ritetaan DCT-muunnos valittua lohkokirjastoa käyttäen.
. Järjestely kuvan koodaamiseksi keksinnön mukaisesti, jossa järjes- ; telyssä kuva jaetaan useiksi lohkoiksi; järjestely käsittää välineet DCT-muun- 25 noksen tekemiseksi kullekin lohkolle ainakin yhtä lohkospesifistä DCT-lohko-” kirjastoa käyttäen siten, että käytettävän DCT-lohkon taajuussuunta on mah- dollisimman lähellä muutettavana olevan lohkon kuvion hallitsevaa suuntaa, ja toiset välineet tehdyn DCT-muunnoksen pakkauskoodaamiseksi. it;;” Keksinnöllisen järjestelyn ensimmäiset välineet käsittävät, perus f 30 DCT-lohkokirjaston lisäksi, ainakin yhden DCT-lohkokirjaston; välineet hallit sevan suunnan määrittämiseksi muunnettavana olevasta lohkosta; välineet M ( « ) ... sopivimman DCT-lohkokirjaston valitsemiseksi; ja viidennet välineet DCT- ’‘’ muunnoksen suorittamiseksi valittua DCT-lohkokirjastoa käyttäen.
:,0 Keksintö liittyy myös tietokoneella luettavissa olevaan tallennusme- 35 diaan tallennettuun koodausohjelmatuotteeseen. Tuote on sovitettu suorittamaan vaatimuksen 1 tai 2 vaiheet, kun tuotetta ajetaan tietokoneessa.
116710 3
Edelleen keksintö liittyy tietokoneella luettavissa olevaan tallen-nusmediaan tallennettuun koodintulkintaohjelmatuotteeseen. Tuote on sovitettu suorittamaan keksinnöllisten koodaustoimenpiteiden käänteiset toimen-pidevaiheet, kun tuotetta ajetaan tietokoneessa.
5
Kuvioluettelo
Seuraavassa keksintöä selostetaan yksityiskohtaisemmin oheisten kaaviollisten kuvioiden 1-9 avulla, joista 10 kuvioi havainnollistaa erään esimerkin kuvan DCT-taajuuksista, kuvio 2 havainnollistaa erään esimerkin kuvalohkosta ja sen perus DCT-muunnoksen mukaisista DCT-kerroinlohkoista, kuvio 3 havainnollistaa erään esimerkin samasta kuviolohkosta kuin kuviossa 2 sekä keksinnöllisen DCT-muunnoksen mukaisten lohkojen 15 DCT-kerroinlohkon, kuvio 4 havainnollistaa erään esimerkin kolmen lohkokirjaston kuvioiden hallitsevista suunnista, kuvio 5 havainnollistaa vuokaavioesimerkin, joka kuvaa keksinnöllisen menetelmän erään toteutusmuodon, 20 kuvio 6 havainnollistaa vuokaavioesimerkin, joka kuvaa keksinnöllisen me-..... netelmän erään toisen toteutusmuodon, kuvio 7 havainnollistaa vuokaavioesimerkin, joka kuvaa keksinnöllisen me-';·'*[ netelmän vielä erään toteutusmuodon, kuvio 8 havainnollistaa erään esimerkin keksinnön mukaisesta koodausjär-‘’•i 25 jestelystä, ja ·.'·· kuvio 9 havainnollistaa erään esimerkin keksinnön mukaisesta koodauksen tulkintajärjestelmästä.
· Keksinnön yksityiskohtainen selostus :; 30 Kuviot 2 ja 3 havainnollistavat keksinnön hyötyjä. Kuvion 2 8*8 ku- • , valohko 21 on muunnettu perus DCT-muunnosta käyttäen. Lohko esittää ’ ' diagonaalisen kuvion, jossa vaalea alue on vasemmassa yläkulmassa ja : . tumma oikeassa alakulmassa. Tämä yksinkertainen 8*8 pikselin kuvio muun- netaan useita DCT-kerroinlohkoja käyttäen. Näistä lohkoista kahta, 22 ja 23, . . ; 35 on havainnollistettu kuviossa 2. Kerroinlohkot edustavat taajuuksia, jotka ovat puoli jaksoa yhtä lohkoa kohden - yksi 22 vertikaaliseen suuntaan ja toinen 116710 4 23 horisontaaliseen suuntaan. Vertikaalinen taajuus kerrotaan kertoimella A ja horisontaalinen taajuus kertoimella B. Kertoimet edustavat taajuuksien amplitudeja. Kertomisen jälkeen kerroinlohkot lasketaan yhteen. Tulos edustaa alkuperäistä kuvalohkoa.
5 Kuvio 3 esittää kuinka sama kuvalohko 21 kuin kuviossa 2 muunne taan keksinnöllistä DCT-lohkoa käyttäen. Koska kuvalohko esittää diagonaa-lista kuviota, tämän kuvan hallitseva taajuus on diagonaalinen; sama suunta kuin kuviossa. Tässä tapauksessa kuvalohkossa suunta viettää 45 astetta alaspäin vasemmalta oikealle. On edullista käyttää tämän suuntaisia DCT-10 lohkoja, koska muunnoksessa tarvittavien lohkojen määrä on pienempi kuin jos käytettäisiin perus DCT-lohkoja. Tässä yksinkertaisessa esimerkissä kuvalohko 21 havainnollistaa puolijakson taajuutta 45 astetta alaspäin, joten muunnoksessa tarvitaan ainoastaan yksi DCT-lohko 31. Kerroin A1 edustaa lohkon taajuuden amplitudia. Jos kuvio olisi kompleksisempi, tarvittaisiin 15 mahdollisesti sellaisia taajuuslohkoja, joiden taajuussuunta olisi lohkon 31 kanssa ortogonaalinen.
Verrattaessa kuviota 3 kuvioon 2, on huomattava, että DCT-lohkoja säästetään useita, mikä tässä tapauksessa tarkoittaa murto-osaa perus DCT-muunnoksen tarvitsemasta määrästä. Luonnollisesti, DCT-lohkojen säästön 20 suuruus riippuu alkuperäisen kuvalohkon kuviosta. On olennaista määritellä ... kuvalohkon hallitseva suunta (tässä suunnassa taajuuskomponenttien sum- ··;’ ma on suurin), koska perus DCT-taajuussuuntien kombinaatioita käytettäes- sä voidaan käyttää useampia DCT-lohkoja. Hallitseva suunta on mahdolli-’ " sesti samansuuntainen tai lähes saman suuntainen kuvan alimman taajuus- 25 komponentin kanssa. Ihmissilmä on herkempi alemmille tilataajuuksille kuin suurille taajuuksille. Sen vuoksi alemmat taajuudet ovat suuria taajuuksia tär-keämpiä. Olisi huomattava, että jos kuvalohkon hallitseva suunta on vertikaaliseen tai horisontaaliseen suuntaan, on edullisempaa käyttää perus • |· DCT-muunnosta.
•«* · .·*. 30 Koska kuvalohkon kuvioiden hallitseva suunta voi olla mihin tahan- *’, sa suuntaan, on eri diagonaaleille luotava erilaisia DCT-lohkokirjastoja kek- * ’ sinnön tehokkaaksi käyttämiseksi. Yksinkertainen ratkaisu on luoda perus DCT-lohkokirjaston rinnalle yksi erikoislohkokirjasto. Erikoislohkokirjasto voi käsittää esimerkiksi ortogonaalisia taajuuksia, joiden suunta eroaa 45 astetta : 35 perus DCT-lohkojen suunnista, kuten kuviossa 3 havainnollistetaan. Edulli nen ratkaisu voisi olla sellainen, että perus DCT-lohkokirjaston lisäksi on 116710 5 kaksi erikoislohkokirjastoa. Kuvio 4 havainnollistaa 3 lohkokirjaston taajuus-suuntia: nolla kulmakoordinaatti edustaa perus DCT-lohkokirjastoa, 30 asteen kulmakoordinaatti edustaa yhtä erikoislohkokirjastoa ja 60 asteen koordinaatti edusta toista erikoislohkokirjastoa. Luonnollisesti lohkokirjastojen lu-5 kumäärä (ja koordinaattien määrä eri taajuussuuntiin) voi olla kahta suurempi.
Kuvio 5 havainnollistaa erästä keksinnöllisen menetelmän ratkaisua. Yhden kokonaisen kuvan kuvalohkojen koodaaminen voidaan jakaa kahteen päävaiheeseen: tehdään DCT-muunnos ja pakataan tehty DCT-10 muunnos. Kuvion 5 vaiheet 51-54 havainnollistavat keksinnöllisen ajatuksen DCT-muunnoksen päävaihetta ja vaihe 55 havainnollistaa pakkausvaihetta.
Ensin on määritettävä kuvalohkon hallitseva suunta 51. Tämä voidaan tehdä kuvioiden - kuten viivojen - jäljittämistä hyödyntämällä, esimer-15 kiksi reunanetsintäsuodatinta käyttäen. Käytännössä se voidaan tehdä FFT-(Fast Fourier Transformation) muunnosta ja/tai suunnattua suodatinta käyttäen. Mikäli kuviosta on mahdollista määrittää kuvalohkon hallitseva suunta, seuraava vaihe on valita kuvalohkolle parhaiten sopiva DCT-lohkokirjasto. Toisin sanoen määritetyn suunnan on oltava mahdollisimman lähellä sopivan 20 lohkokirjaston koordinaattiakselin suuntaa. Jos hallitsevaa suuntaa ei ole mahdollista määritellä, seuraava vaihe on käyttää perus DCT-lohkokirjastoa 53 (lohkokirjaston horisontaalinen akseli on nollakulmassa). Lohkokirjaston valitsemisen jälkeen tehdään DCT-muunnos valittua lohkokirjastoa 54 käyt-’· täen. DCT-muunnos on yksinkertaisesti mekanismi amplitudikertoimien löy- :. 'i 25 tämiseksi alkuperäisestä kuvalohkosta käytössä olevan DCT-kirjaston loh- koille.
Kun DCT-muunnos on tehty, kuvalohkon dataa ei ole vielä pakattu, joten seuraava päävaihe 55 on pakkaaminen tehtyä DCT-muunnosta hyö-·:· dyksi käyttäen. Tämä vaihe voi sisältää useita erilaisia alivaiheita. Joitakin 30 niistä esitetään tekstissä, mutta vaiheita tai vastaavanlaisia vaiheita voi olla . myös muita. Muunnoksessa on tavallista käyttää sellaista järjestystä, jossa | ‘ merkityksellisimmät kerroinarvot, eli kerroinlohkon vasemman yläkulman ar- ’··> vot muunnetaan ensin ja vähemmän merkitykselliset arvot, eli kerroinlohkon :Y; oikean alakulman arvot muutetaan viimeisenä. Järjestys voidaan luoda se- ; . : 35 laamalla DCT-kerroinlohkoa läpi siksakkia vasemmasta yläkulmasta alkaen ja päätyen oikeaan alakulmaan. Luotu muunnosjärjestys on edullinen peräk- 6
11671 O
käisille koodausvaiheille. Seuraavaksi järjestetyt kertoimet painotetaan ja uu-delleenkvantisoidaan. Uudelleenkvantisointi lyhentää kertoimissa tarvittavia sananpituuksia. Tämä tehdään siten, että kerrotaan kukin kerroin jollakin tekijällä, joka hyväksyy pienemmän bittimäärän käytön sananpituudessa. Uudel-5 leenkvantisointi kuitenkin kasvattaa kvantisointivaiheen kokoa, mikä tarkoittaa kvantisointivirheen kasvua. Kvantisointivirheen pienentämiseksi DCT-kertoimet kerrotaan, kunkin kerroinlohkon taajuudesta riippuvilla, eri painokertoimilla.
Sananpituuksien kertoimet käyttävät alhaisilla taajuuksilla enem-10 män bittejä kuin suurilla taajuuksilla, koska alemmat taajuudet vaikuttavat olevan merkityksellisempiä kuin suuret taajuudet, toisin sanoen alemman taajuuden komponenttien amplitudit ovat suurempia kuin suurten taajuuksien komponentit. Tätä nimitetään vaihtuvanmittaiseksi koodaukseksi (VLC, Va-riable-Lenght Coding). Se säästää bittejä taajuuksien merkityksettömältä alu-15 eelta ja keskittää koodaustarkkuuden taajuuksien merkitykselliselle alueelle.
Koska nollakerrointen muunnos on tehotonta, ne voidaan koodata seuraavaan ei-nolla kertoimeen, joka voi olla vaihtuvanmittaisesti koodattu. Tällaista tapaa koodata nollakertoimia nimitetään jononpituuskoodaukseksi (RLC, Run-Lenght Coding). Usein VLC ja RLC yhdistetään yhdeksi kooditau-20 lukoksi. Eräs tavallinen tapa on käyttää Huffman koodausta.
..... Kuten mainittiin nämä kuvatut koodaustoimenpiteet eivät ole ainoa tapa pakkauskoodauksen tekemiseksi, vaihe 55, vaan muunlaiset ratkaisut ’ ovat myös mahdollisia. Kun koodattua materiaalia tulkitaan, toimenpiteet on *; tehtävä luonnollisesti käänteisessä järjestyksessä. Edellä kuvattuja koodaus- 25 toimenpiteitä varten koodin tulkitsevassa laitteessa on oltava hakutaulukko VLC/RLC koodauksen kääntämiseksi. Painotetut ja uudelleenkvantisoidut kertoimet tulkitaan kertomalla ne käänteisillä tekijöillä. Koodin tulkitsevan laitteen ja tulkintamenetelmän on myös tunnettava käytetyn siksak-polun oikea ·· järjestys.
Ktl .**. 30 Kuvio 6 havainnollistaa esimerkkivuokaavion keksinnöllisen mene- • . telmän eräästä toisesta toteutusmuodosta. Sen sijaan, että käytettäisiin yhtä ' ‘ lohkokirjastoa, tämä toteutusmuoto käyttää ainakin kahta lohkokirjastoa.
' Ensin on määritettävä kuvalohkon hallitseva suunta 61. Jos kuva- lohkon kuviosta on mahdollista määrittää hallitseva suunta, seuraava vaihe : 35 on valita kuvalohkolle sopivin DCT-lohkokirjasto 62, toisin sanoen määritetyn suunnan tulee olla niin lähellä kuin mahdollista sopivan lohkokirjaston toisen 116710 7 koordinaattiakselin suuntaa. Mikäli hallitsevan suunnan määrittäminen ei ole mahdollista, seuraava vaihe on käyttää perus DCT-lohkokirjastoa 63 (lohko-kirjaston horisontaalinen akseli on nolla kulmassa). Lohkokirjaston valitsemisen jälkeen tehdään DCT-muunnos valitun lohkokirjaston 8 lohkoa käyttäen 5 64. Käytettyjen lohkojen, eli kertoimien määrä voi olla myös jokin muu. Ta voitteena on käyttää valitun lohkokirjaston merkitsevintä kerrointa ja sen jälkeen määrittää 66 mahdollinen uusi hallitseva suunta. Mikäli uusi hallitseva suunta löytyy, valitaan uusi sopiva lohkokirjasto 62 ja tehdään uusi DCT-muunnos 64 toista uuden lohkokirjaston 8 lohkon joukkoa käyttäen. Jos uutta 10 hallitsevaa suuntaa ei löydy, DCT-muunnos tehdään 64 saman lohkokirjaston seuraavilla 8 lohkolla. Koska kertoimien lukumäärä on rajoitettu, tässä tapauksessa 64 kertoimeen, tarkistetaan onko kullakin kierroksella käytetty 65 kaikkia kertoimia (lohkoja). Tähän tarkoitukseen voidaan käyttää laskuria. Jos kaikkia lohkoja ei ole käytetty, vaihe 66 suoritetaan. Jos kaikkia lohkoja on 15 käytetty, DCT-muunnoksen päävaihe, sisältäen vaiheet 61 - 66 suoritetaan loppuun ja tehdään pakkauskoodaus 67 tehtyä DCT-muunnosta hyväksi käyttäen.
Kuvio 7 havainnollistaa keksinnöllisen menetelmän vuokaavioesi-merkin vielä erään toisen toteutusmuodon kuvaamiseksi. Tässä tapauksessa 20 käytetään yhtä erikoislohkokirjastoa yhdessä perus DCT-muunnoksen kans-.···. sa. Ensin täytyy määritellä kuvalohkon hallitseva suunta 71. Jos kuvalohkon kuviosta on mahdollista määrittää hallitseva suunta, seuraava vaihe on sopi-vimman DCT-lohkokirjaston valitseminen kuvalohkoa varten 72, toisin sa-noen määritetyn suunnan täytyy olla mahdollisimman lähellä sopivan lohko-’· 25 kirjaston toisen akselin suuntaa. Jos hallitsevan suunnan määrittäminen ei ‘• 'i ole mahdollista, seuraava vaihe on käyttää perus DCT-lohkokirjastoa 73 (lohkokirjaston horisontaalinen akseli on nollakulmassa). Lohkokirjaston valitsemisen jälkeen tehdään DCT-muunnos valitun lohkokirjaston 8 lohkoa käyt-:* täen 74. Käytettyjen lohkojen eli kertoimien lukumäärä voi olla myös jokin 30 muu. Tavoitteena on tarkistaa onko olemassa jokin muu hallitseva suunta * , kuin tavanomaisessa DCT-lohkossa. Jos alkuperäinen kuvalohko sisältää yhä hallitsevan suunnan samassa valitussa lohkokirjastossa 8 lohkon muun-’ ··’ noksen jälkeen (8 lohkon taajuudet poistetaan alkuperäisestä kuviosta seu- : V; raavien merkitsevien taajuuksien löytämiseksi), valitun lohkon käyttöä jatke- 35 taan 76 seuraaville 8 lohkolle. Jos, 8 lohkon muunnoksen jälkeen, alkuperäi nen kuvalohko ei kuitenkaan sisällä hallitsevaa suuntaa samassa valitussa 116710 8 lohkokirjastossa, valitaan loppuja lohkoja varten perus DCT-lohko 77, jolloin DCT-muunnos tehdään 78 perus DCT-lohkokirjastoa käyttäen. Koska kertoimien määrä on rajoitettu, tarkistetaan onko kaikkia kertoimia (lohkoja) 75 käytetty kullakin kierroksella silloin, kun kyseessä on muu kuin perus DCT-5 lohkokirjasto. Jos kaikkia lohkoja on käytetty, DCT-muunnoksen päävaihe käsittäen vaiheet 71-78 suoritetaan loppuun ja tehdään pakkauskoodaus 79 luotua DCT-muunnosta hyväksi käyttäen.
Kuvio 5 esittää tilannetta, jossa muunnokseen käytetään vain yhtä lohkokirjastoa. Kuvio 6 esittää tilannetta, jossa on mahdollista käyttää useita 10 lohkokirjastoja 8 lohkon jaksoissa, mutta jaksojen koko voi olla myös muu. Kun kuvioita 5 ja 6 verrataan, voidaan havaita, että keksinnöllisen ajatuksen mukainen menetelmä voidaan toteuttaa millä tahansa kuvioiden 5 ja 6 väliin jäävillä ratkaisuvaihtoehdoilla. Kuvio 7 esittää erään mahdollisen muunnelman, jossa käytetään yhtä tai kahta lohkokirjastoa.
15 Kuvio 8 havainnollistaa keksinnön mukaisen koodausjärjestelyn erästä esimerkkiä. Keksinnöllinen koodain 82 on tavallisesti asennettu palvelimeen 81, joka lähettää koodattua videovirtaa vastaanottaviin elementteihin. Kuten mainittiin koodain voidaan jakaa kahteen pääosaan: DCT-muunnos-osaan 83 ja pakkauskoodausosaan 84. DCT-muunnososa käsittää DCT-20 lohkokirjastot 85 (perus DCT-kirjaston ja keksinnölliset kirjastot), määrittely-t-..t välineet 86 alkuperäisen pikselilohkon hallitseva suunnan määrittämiseksi, ; valintavälineet 87 edullisimman kirjastolohkon valitsemiseksi ja DCT-muun- , nosvälineet 88 DCT-muunnoksen tekemiseksi.
*; Määrittelyvälineet 86 määrittelevät hallitsevan suunnan alkuperäi- '·: 25 sessä pikselilohkossa. Seuraavaksi valintavälineet 87 valitsevat lohkokirjas- tojen joukosta edullisimman lohkokirjaston, jota DCT-muunnosvälineet 88 i,,käyttävät hyödyksi DCT-muunnoksen tekemiseksi.
Jos koodain on sovitettu käyttämään toista keksinnöllisen menetel-·· män toteutusmuotoa (muutamia edellä kuvattuja esimerkkejä), DCT-muun- 30 nososa 83 voi sisältää tarkistusvälineet 89 tarkistamaan onko kaikkia DCT-kertoimia käytetty DCT-muunnoksessa ja/tai vertailuvälineet 810 vertaamaan ’ mikä käytetyistä DCT-lohkoista on sopivin.
’· Pakkauskoodausosa 84, joka käyttää hyväkseen DCT-muunnos- ;Y: osan 83 tulosta, voi sisältää seuraavat välineet: järjestysvälineet 811 edulli- ; : 35 sen järjestyksen tekemiseksi muunnosta peräkkäisiä koodausvaiheita varten, painotusvälineet 812 DCT-kertoimen painottamiseksi vahvemmaksi uudel- 9
11671 O
leenkvantisointi virhettä vastaan, uudelleenkvantisointivälineet 813 painotetun DCT-kertoimen uudelleenkvantisoimiseksi, ja VLC/RLC taulukon 814 vaihtuvanmittaisen koodauksen ja jononpituuskoodauksen tekemiseksi. Kuten mainittiin koodausosa voidaan tehdä myös muullakin tavalla.
5 Kuvio 9 havainnollistaa keksinnön mukaista koodauksentulkintajär- jestelyä. Keksinnön mukainen koodin tulkitseva laite 92 on tavallisesti vas-taanottopäätelaite 91, joka vastaanottaa videoesitystä. Koodaimen tapaan koodin tulkitseva laite 92 on jaettu kahteen pääosaan: käänteinen DCT-muunnososa 93 ja käänteinen pakkauksenpurkuosa 94. Käänteinen pak-10 kauksenpurkuosa voi käsittää tarkistustaulukon 95 VLC/RLC koodauksen kääntämiseksi, painotuksen peruutusvälineet 97 painotuksen peruuttamiseksi ja järjestysvälineet 98 bittijärjestyksen hallitsemiseksi, kun DCT-kertoimien koodausta tulkitaan.
Käänteinen DCT-muunnososa 93 käsittää DCT-lohkokirjastoja 99 ja 15 lohkokirjaston ohjausvälineet 910 oikeiden lohkokirjastojen valitsemiseksi käänteistä DCT-muunnosta tehtäessä. Koodin tulkitseva laite voidaan tehdä myös muullakin tavalla.
Kuten voidaan havaita, keksinnöllinen DCT-muunnos hyödyntää kuvalohkon todellisia taajuussuuntia, mikä tarkoittaa että useampi DCT-ker-20 roin muuttuu nollaksi tai lähelle nollaa. Tämä keksinnön mukainen DCT-muunnos kasvattaa koodauksen vahvistuskerrointa (tekninen ilmaus tarvitta-vien bittien määrään vähenemiselle) pakkauskoodausvaiheessa. Tästä joh- • « · tuen keksintö mahdollistaa vahvistuskertoimen kasvattamisen paremman ; : pakkaussuhteen saavuttamiseksi tai paremman kuvan laadun saavuttami- ♦ 1 · 25 seksi, kun kuva tulkitaan takaisin näkyvään muotoon.
*· Vaikka keksintöä on kuvattu edellä muutamin esimerkein, on selvää • · · että myös muunlaiset ratkaisut ovat mahdollisia. Esimerkiksi lohkon koko voi olla eri kuin 818 arvot, mitä on pidetty edullisimpana kokona. Tämän tekstin esimerkkejä ei tule tarkastella keksintöä supistavana, vaan keksintöä voidaan : 30 hyödyntää muissa suoritusmuodoissa keksinnön järjestelyn laajuudessa.
• I
« ·

Claims (19)

116710
1. Menetelmä kuvan koodaamiseksi, jossa menetelmässä kuva jaetaan useisiin lohkoihin ja jossa käytetään DCT-muunnosta hyväksi, tunnettu siitä, että menetelmä käsittää vaiheet: 5. tehdään DCT-muunnos kullekin lohkolle käyttäen ainakin yhtä loh- kospesifistä DCT-lohkokirjastoa siten, että taajuussuunta käytettävässä DCT-lohkossa on mahdollisimman lähellä muunnosvuorossa olevan lohkon lohko-kuvion hallitsevaa suuntaa, ja pakkauskoodataan tehty DCT-muunnos.
2. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että DCT-muunnosvaihe käsittää vaiheet: - määritetään hallitseva suunta muunnosvuorossa olevassa lohkossa, - valitaan sopivin DCT-lohkokirjasto, ja 15. tehdään DCT-muunnos valittua DCT-lohkokirjastoa käyttäen.
3. Patenttivaatimuksen 2 mukainen menetelmä, tunnettu siitä, että määrittelyvaiheessa käytetään reunanetsintäsuodattimia.
4. Patenttivaatimuksen 3 mukainen menetelmä, tunnettu siitä, että pikselin arvo on krominanssiarvo, luminanssiarvo tai näiden arvojen 20 kombinaatio.
5. Patenttivaatimuksen 2, 3 tai 4 mukainen menetelmä, tunnettu *···; siitä, että jos määrittelyvaiheessa hallitsevaa suuntaa ei saada selville, vali- taan valintavaiheessa perus DCT-lohkokirjasto. • ·
6. Minkä tahansa edellä olevan vaatimuksen 1-5 mukainen mene- 25 telmä, t u n n e tt u siitä, että menetelmä käsittää vaiheen, jossa tarkistetaan onko kaikki muunnoksen DCT-lohkot käytetty ennen kuin määritetään uusi muunnoksessa käytettävä taajuussuunta. • t ·
7. Minkä tahansa edellä olevan vaatimuksen 1-5 mukainen mene-telmä, tunnettu siitä, että menetelmä käsittää vaiheen, jossa tarkistetaan 30 onko kaikki muunnoksen DCT-lohkot käytettyjä tämän vaiheen jälkeen pää-;* tetään jatketaanko valitun lohkokirjaston käyttöä tai valitaanko perus DCT- lohkokirjasto ennen kuin tehdään DCT-muunnos seuraavia DCT-kertoimia ·',,,· käyttäen.
8. Minkä tahansa edellä olevan vaatimuksen 1-7 mukainen mene- , > /; 35 telmä, tunnettu siitä, että pakkauskoodausvaihe käsittää alivaiheet: -järjestetään lähetettävät bitit järjestykseen, 116710 - painotetaan DCT-muunnetut kertoimet, - uudelleenkvantisoidaan painotetut kertoimet, ja - suoritetaan VLC/RLC koodaus.
9. Järjestely kuvan koodaamiseksi, jossa järjestelyssä kuva jaetaan 5 useiksi lohkoiksi ja jossa käytetään DCT-muunnosta hyväksi, tunnettu siitä, että järjestely käsittää: - ensimmäiset välineet DCT-muunnoksen tekemiseksi kullekin lohkolle käyttäen ainakin yhtä lohkospesifistä DCT-lohkokirjastoa siten, että käytetyn DCT-lohkon taajuussuunta on mahdollisimman lähellä muunnosvuoros- 10 sa olevien lohkokuvioiden hallitsevaa suuntaa, ja - toiset välineet tehdyn DGT-muunnoksen pakkauskoodaamiseksi.
10. Vaatimuksen 9 mukainen järjestely, tunnettu siitä, että ensimmäiset välineet käsittävät: - ainakin yhden DCT-lohkokirjaston perus DCT-lohkokirjaston lisäk- 15 si, - kolmannet välineet hallitsevan suunnan määrittämiseksi muun-nosvuorossa olevassa lohkossa, - neljännet välineet sopivimman'DCT-lohkokirjaston valitsemiseksi, Ja 20. viidennet välineet DCT-muunnoksen suorittamiseksi valittua loh- kokirjastoa käyttäen.
'··;* 11. Vaatimuksen 9 tai 10 mukainen järjestely, tunnettusiitä.et- *.:.: tä järjestely käsittää kuudennet välineet tarkistamaan onko kaikki DCT-lohkot :‘: muunnosta varten käytetty. ,*·: 25
12. Vaatimuksen 11 mukainen järjestely, tunnettu siitä, että jär- : jestely käsittää seitsemännet välineet päättämään jatketaanko valitun lohko- kirjaston käyttämistä tai valitaanko perus DCT-lohkokirjasto.
13. Minkä tahansa vaatimuksen 9-12 mukainen järjestely, tun-n e tt u siitä, että toiset välineet käsittävät: 30. kahdeksannet välineet lähetettävien bittien järjestämiseksi järjes tykseen, » - yhdeksännet välineet DCT-muunnettujen kertoimien painottami- seksi, , v, - kymmenennet välineet painotettujen kertoimien uudelleenkvanti- ,·/; 35 soimiseksi, ja ’ ' - yhdennetyistä välineet VLC/RLC koodauksen suorittamiseksi. 116710
14. Järjestely kuvan koodauksen tulkitsemiseksi, jossa järjestelyssä käytetään hyväksi DCT-muunnosta, tunnettu siitä, että järjestely käsittää: - ensimmäiset välineet käänteisen pakkauskoodauksen suorittamiseksi, ja 5. toiset välineet käänteisen DCT-muunnoksen tekemiseksi kullekin pakkauksesta puretulle kuvalohkolle käyttäen samaa DCT-lohkokirjastoa tai lohkokirjastoja kuin mitä käytettiin koodaamiseen.
15. Vaatimuksen 14 mukainen järjestely, tunnettu siitä, että toiset välineet käsittävät: 10. ainakin yhden DCT-lohkokirjaston perus DCT-lohkokirjaston lisäk si, ja - kolmannet välineet oikeiden lohkokirjastojen valitsemiseksi vuorollaan.
16. Vaatimuksien 14 tai 15 mukainen järjestely, tunnettu siitä, 15 että ensimmäiset välineet käsittävät: - hakutaulukon käänteisen VLC/RLC koodauksen suorittamiseksi, - neljännet välineet käänteisen uudelleen kvantisoinnin tekemiseksi uudelleenkvantisoiduille kertoimille, - viidennet välineet käänteisen painotuksen tekemiseksi, ja 20. kuudennet välineet bittijärjestyksen hallitsemiseksi, kun koodaus tulkitaan DCT-kertoimiksi.
* · '··*' 17. Tietokoneella luettavissa olevaan tallennusmediaan tallennettu t > « ' · * · ’ tietokoneohjelmatuote, tunnettu siitä, että • · ί ajettaessa tuotetta tietokoneessa, se on sovitettu suorittamaan vai- Vi 25 heet: - tehdään DCT muunnos kullekin lohkolle käyttäen ainakin yhtä loh-kospesifistä DCT lohkokirjastoa siten, että taajuussuunta käytettävässä DCT lohkossa on mahdollisimman lähellä muunnosvuorossa olevan lohkon lohko-kuvion hallitsevaa suuntaa, ja ,···. 30 pakkauskoodataan tehty DCT muunnos. * ·
18. Vaatimuksen 17 mukainen tietokoneohjelmatuote, tunnettu siitä, että tuote on edelleen sovitettu suorittamaan DCT muunnosvaiheessa * I » vaiheet: .y. - määritetään hallitseva suunta muunnosvuorossa olevassa lohkos- 35 sa, * * · - valitaan sopivin DCT lohkokirjasto, ja 116710 - tehdään DCT muunnos valittua DCT lohkokirjastoa käyttäen.
19. Tietokoneella luettavissa olevaan tallennusmediaan tallennettu tietokoneohjelmatuote, tunnettu siitä, että ajettaessa tuotetta tietokoneessa se on sovitettu suorittamaan toimenpiteet: 5. tehdään käänteinen pakkauskoodaus, ja - tehdään käänteinen DCT muunnos kullekin kuvalohkolle, jolle on tehty pakkauksenpurku, käyttäen samaa DCT lohkokirjastoa tai lohkokirjasto-ja kuin mitä käytettiin koodaamiseen. 116710
FI20022260A 2002-12-20 2002-12-20 Kuvien koodausmenetelmä ja -järjestely FI116710B (fi)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FI20022260A FI116710B (fi) 2002-12-20 2002-12-20 Kuvien koodausmenetelmä ja -järjestely
EP03104873A EP1453320A3 (en) 2002-12-20 2003-12-22 Image encoding method and arrangement
US10/740,421 US20040151395A1 (en) 2002-12-20 2003-12-22 Encoding method and arrangement for images

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20022260A FI116710B (fi) 2002-12-20 2002-12-20 Kuvien koodausmenetelmä ja -järjestely
FI20022260 2002-12-20

Publications (3)

Publication Number Publication Date
FI20022260A0 FI20022260A0 (fi) 2002-12-20
FI20022260A FI20022260A (fi) 2004-06-21
FI116710B true FI116710B (fi) 2006-01-31

Family

ID=8565133

Family Applications (1)

Application Number Title Priority Date Filing Date
FI20022260A FI116710B (fi) 2002-12-20 2002-12-20 Kuvien koodausmenetelmä ja -järjestely

Country Status (3)

Country Link
US (1) US20040151395A1 (fi)
EP (1) EP1453320A3 (fi)
FI (1) FI116710B (fi)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8542726B2 (en) 2006-10-17 2013-09-24 Microsoft Corporation Directional and motion-compensated discrete cosine transformation
US8488668B2 (en) 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
US8571104B2 (en) * 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
GB2475721B (en) * 2009-11-27 2015-03-11 British Broadcasting Corp Picture encoding and decoding
US10306229B2 (en) 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
US10623774B2 (en) 2016-03-22 2020-04-14 Qualcomm Incorporated Constrained block-level optimization and signaling for video coding tools
US11323748B2 (en) 2018-12-19 2022-05-03 Qualcomm Incorporated Tree-based transform unit (TU) partition for video coding

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3967405B2 (ja) * 1996-10-09 2007-08-29 テキサス インスツルメンツ インコーポレイテツド 画像信号の符号化方法

Also Published As

Publication number Publication date
US20040151395A1 (en) 2004-08-05
FI20022260A0 (fi) 2002-12-20
EP1453320A3 (en) 2006-02-01
FI20022260A (fi) 2004-06-21
EP1453320A2 (en) 2004-09-01

Similar Documents

Publication Publication Date Title
US5867221A (en) Method and system for the fractal compression of data using an integrated circuit for discrete cosine transform compression/decompression
JP5065272B2 (ja) 画像圧縮に関する変換係数の予測
US8326057B2 (en) Image encoding method, image decoding method, image encoding apparatus, image decoding apparatus, image encoding program, and image decoding program
US8406545B2 (en) Apparatus for encoding image and apparatus for decoding image
EP2015581A1 (en) Dynamic image processing method, program for the dynamic image processing method, recording medium containing the program for the dynamic image processing method, dynamic image processing device
US20040042675A1 (en) Image coding and decoding apparatus, method of image coding and decoding, and recording medium for recording program for image coding and decoding
JP5318256B2 (ja) 高ビット深度画像の圧縮
US8144997B1 (en) Method for enhanced image decoding
EP2008248A2 (en) Image processing
FI116710B (fi) Kuvien koodausmenetelmä ja -järjestely
US5784494A (en) Method and apparatus for prestoring dequantization information for DCT VLC decoding
US5907635A (en) Picture data decompression apparatus
US8837842B2 (en) Multi-mode processing of texture blocks
US6614942B1 (en) Constant bitrate algorithm for block based image compression
US20110267502A1 (en) Image processing system and method
US10165278B2 (en) Image compression device, image compression method, image extension device, and image extension method
US20080260272A1 (en) Image coding device, image coding method, and image decoding device
US10930020B2 (en) Texture compression using a neural network
JP2007019878A (ja) 画像符号化装置及び画像符号化方法
US20100128979A1 (en) Resolution independent image degradation
KR100602149B1 (ko) 움직임 보상기반 영상 복호화를 위한 영상 압축방법
US20090154817A1 (en) Image data compressor and image data decompressor
KR20020064913A (ko) 데이터 디코딩
KR100886192B1 (ko) 움직임 보상기반 영상 복호화를 위한 영상 압축방법
JP4957572B2 (ja) 画像処理装置、画像処理システム、画像処理方法および画像処理プログラム

Legal Events

Date Code Title Description
FG Patent granted

Ref document number: 116710

Country of ref document: FI