FI112424B - Koodausmenetelmä ja -järjestely - Google Patents

Koodausmenetelmä ja -järjestely Download PDF

Info

Publication number
FI112424B
FI112424B FI20012095A FI20012095A FI112424B FI 112424 B FI112424 B FI 112424B FI 20012095 A FI20012095 A FI 20012095A FI 20012095 A FI20012095 A FI 20012095A FI 112424 B FI112424 B FI 112424B
Authority
FI
Finland
Prior art keywords
steps
difference
block
cost
blocks
Prior art date
Application number
FI20012095A
Other languages
English (en)
Swedish (sv)
Other versions
FI20012095A (fi
FI20012095A0 (fi
Inventor
Teemu Pohjola
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 FI20012095A priority Critical patent/FI112424B/fi
Publication of FI20012095A0 publication Critical patent/FI20012095A0/fi
Priority to US10/001,861 priority patent/US20030081852A1/en
Priority to EP02396159A priority patent/EP1324618A3/en
Priority to KR1020020066341A priority patent/KR20030036021A/ko
Priority to JP2002315144A priority patent/JP2003188733A/ja
Priority to CN02146094A priority patent/CN1418014A/zh
Publication of FI20012095A publication Critical patent/FI20012095A/fi
Application granted granted Critical
Publication of FI112424B publication Critical patent/FI112424B/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/008Vector quantisation
    • 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
    • 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/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

1 112424
Koodausmenetelmä ja -järjestely
Keksinnön ala Tämä keksintö liittyy kuvien koodaukseen ja dekoodaukseen. Eri-5 tyisesti keksintö liittyy videon koodaukseen ja dekoodaukseen mediavirta (streaming media) -ratkaisuissa. Mediavirta tarkoittaa, että siirretään verkon kautta lähettävältä osapuolelta vastaanottavalle osapuolelle reaaliajassa näytettäessä videota vastaanottavan osapuolen terminaalissa.
10 Tekniikan tausta
Digitaalinen video koostuu ruutujen sarjasta - tyypillisesti sekunnissa on 25 ruutua - jokaisen ruudun 1 koostuessa M1xN1 pikseleistä, katso Fig. 1. Lisäksi joissakin värinkuvauksissa jokaista pikseliä vastaa 24 bittiä, kuten RGB, missä värit jaetaan punaiseen (R), vihreään (G) ja siniseen (B) 15 komponenttiin, jotka edelleen ilmaistaan numerona nollan ja 255:n välillä. M1xN1x24x25 bittiä per sekuntia oleva virran kapasiteetti tarvitaan siirtämään kaikki tämä informaatio. Jopa pieni ruutukoko 160x120 pikseliä tuottaa 11.5 Mbps ja on yli useimpien kiinteiden taajuuskaistojen, erityisesti kaikissa langattomissa internet-yhteyksissä (9,6 kbps: tä (GSM) WLAN:lla saavutetta-20 viin joihinkin satoihin kilobitteihin). Kuitenkin kaikki videosarjat sisältävät jonkin verran redundanssia ja siksi niitä voidaan pakata.
. Mikä tahansa videosignaali voidaan pakata jättämällä pois joitakin ruutuja, eli vähentämällä ruututaajuutta ja/tai vähentämällä ruutukokoa. Väri-’ videoissa värinkuvauksen taitavalla valinnalla voidaan lisäksi vähentää visu- *···’ 25 aalisesti relevanttia informaatiota puoleen tai vähempäänkin, esimerkiksi *: standardi muunnos RGB.stä YCrCb-kuvaukseen. YCrCb on vaihtoehtoinen 24 bitin värinkuvaus, joka saavutetaan lineaarisella muutoksella RGB:stä. Y-·’[[: komponentti ottaa arvon nollan ja 255:n välillä vastaten kirkkautta tai värin harmaasävyarvoa. Cr- ja Cb -komponentit ottavat arvot -128:n ja +127:n välil-30 tä ja määrittävät krominanssi- ja väritason. Radiaalikoordinaatistossa kulma .··. origon ympärillä tai värisävy (hue) määrittävät varsinaisen värin, kun taas «· · ·. etäisyys origosta vastaa värin saturaatiota. Mitä tästä seuraa on, että tämän **-* kaltaisia vaihteita oletettavasti otetaan, ja että painotus on jäljelle jääneiden ruutujen yksityiskohtaisen informaation optimaalisessa koodauksessa.
35 Toisaalta kaikki videopakkaustekniikat hyödyntävät ruutujen välillä olevaa korrelaatiota ja ihmisen näkösysteemin rajoitusten ymmärtämistä.
2 112424
Korrelaatiot, kuten liikkumattomat objektit ja tasaisen värin alueet, voidaan pakata ilman häviöitä, kun taas näkyvien yksityiskohtien poisjättäminen on määrittelyn mukaan häviöllistä. Lisäksi pakkaus vaatii, että kompromisseja tehdään yksityiskohtien tarkkuudessa ja väreissä uudelleentuotetuissa kuvis-5 sa.
Videon leikkausten (välikohtauksen muutos) poissaollessa peräkkäiset ruudut eroavat ainoastaan vain, jos kamera ja/tai jokin objekteista välikohtauksessa on siirtynyt. Tällaiset ruutujen sarjat voidaan koodata tehokkaasti löytämällä näiden liikkeiden suunnat ja voimakkuudet ja siirtämällä 10 seurauksena oleva liikeinformaatio vastaanottopäähän. Tämänkaltaista proseduuria kutsutaan liikekompensoinniksi; yleinen idea referoida edeltävään ruutuun on tunnettu INTER- (ruutu) koodauksena, Tämän johdosta INTER-ruutu muistuttaa läheisesti edeltävää ruutua/ruutuja. Tällainen ruutu voidaan rekonstruoida edellistä ruutua koskevan tietämyksen perusteella ja jollakin 15 määrällä ylimääräistä informaatiota, joka edustaa tarvittavia muutoksia. Jotta saadaan idea saavutettavista pakkaussuhteista, tarkastellaan 8x8 lohkoa 2 (katso Fig. 2 ja 3), joka vastaa 8x8x24=1536 bittiä alkuperäisessä muodossa. Jos lohkon liike kahden peräkkäisen ruudun 1 välillä on rajoitettu esimerkiksi -7 ja 7 pikseliin, kaksiulotteinen liikevektori voidaan ilmaista tuloksena oleval-20 la 8 bitillä pakkaussuhteella 192.
Jotta tämä proseduuri toimii, tarvitaan ensimmäinen ruutu jokai-· sen leikkauksen jälkeen kompressoida sinällänsä - tätä kutsutaan INTRA- : koodaamiseksi. Siksi INTRA-ruutu on videoruutu, joka pakataan erillisenä kuvana ilman tehtyjä viittauksia mihin tahansa muuhun ruutuun. INTRA-25 ruutuja tarvitaan videon alussa, leikkauksissa ja periodisesti virkistämään vi-...,: deota virheiden parantamiseksi.
,···, Pakatun videon hyvän visuaalisen kuvalaadun palauttaminen on « * yksi monista vaatimuksista, mikä kohdataan missä tahansa käytännön vi- .. , deopakkausteknologiassa. Kaupallisia tarkoituksia varten koodausprosessin • » 30 pitäisi olla kohtuullisen nopea suorittamaan laajojen videosisältömäärien *;·' koodaamista. Poislukien mahdollinen alustava ruutujen puskurointi tietoko- ;:· neen muistissa videon katseleminen tyypillisesti tapahtuu reaaliajassa vaa- tien reaaliaikaista dekoodaamista ja videon esittämistä. Tarkoitukseen soveltuvien alustojen skaala PC:tä PDAihan (henkilökohtainen digitaalinen assis- : " 35 tentti) ja mahdollisesti jopa kolmannen generaation matkapuhelimiin asetta- « »·«· • · 3 112424 vat lisää rajoitteita muistin käytölle ja tarvittavalle prosessointiteholle koodek-keja varten.
Nopea dekoodaus on jopa tärkeämpää niin kutsuttuja mediavirtoja varten, jotka siirretään vastaanottajalle reaaliajassa, kun käyttäjä katselee 5 niitä. Rajoitettu tiedonsiirtokapasiteetti määrittää mediavirroille minimipak-kaussuhteen täysipitkän videon yli. Tämä siksi, että bittinopeus videon siirtämiseksi täytyy pysyä koko ajan käytössä olevan kaistanleveyden sisällä.
Useimmat videopakkausteknologiat käsittävät kaksi komponenttia: koodaajan, jota käytetään videoiden pakkaamiseen ja dekoodaajan tai soitta-10 jän etäladattavaksi ja asennettavaksi videoiden katselemiseen tarkoitettuihin tietokoneisiin. Vaikka lataaminen tarvitaan tehdä vain kerran jokaiselle soitta-javersiolle, on kasvavaa mielenkiintoa soittajavapaisiin mediavirtaratkaisui-hin, jotka voivat saavuttaa kaikki internetkäyttäjät. Tällaisissa ratkaisuissa pieni soittajasovellus siirretään vastaanottopäähän videovirran mukana. Jotta 15 lisäinformaatiosta johtuva odotusaika minimoidaan, sovellus eli dekoodaaja pitää tehdä äärimmäisen yksinkertaiseksi.
Tämän tekstin tarkoituksiin on riittävää tarkastella harmaasävyruu-tuja/kuvia. (värikuvat ja erilaiset värinesitykset ovat suoranjohdettavia yleistyksiä seuraavasta). Pikseleiden harmaasävyarvot ilmaistaan luminanssina 20 Y. Ne muodostavat ruudussa kaksiulotteisen taulukon, ja koodausprosessin . tehtävä on muodostaa tämän taulukon pakkaus ja pakkauksen purkaminen, ·;;/ niin että säilytetään kuvassa niin paljon visuaalisesti relevanttia tietoa kuin mahdollista.
• · 1 INTRA-moodissa (video- tai kuvapakkaustekniikka käyttäen koo- • :.''i 25 dauksessa INTRA-ruutuja) jokainen ruutu on harmaasävyinen bittikarttakuva.
» Käytännössä kuva tyypillisesti jaetaan NxN pikselin 2 lohkoihin ja jokainen lohko analysoidaan toisista riippumatta, katso Fig. 3.
Yksinkertaisin tapa pakata informaatio kuvalohkoa varten on vä-hentää tarkkuutta, jolla luminanssiarvot ilmaistaan. Alkuperäisten mahdollis-.···. 30 ten 256:n arvon sijasta voidaan tarkastella 128:aa arvoa (arvot 0,2,...,254) tai 64:ää arvoa (0, 4,...252) täten vähentäen bittien määrää per pikseli, joita tar-···: vitaan ilmaisemaan luminanssi-informaatio, 12.5 %:lla ja vastaavasti 25 %:lla.
Samanaikaisesti tällainen skalaarikvantisointiprosessi aiheuttaa koodausvir-heitä; edeltävissä esimerkkitapauksissa keksimääräiset virheet ovat vastaa-35 vasti 0,5 ja 1 luminanssia per pikseli. Skalaarikvantisointi on hyvin tehotonta, 4 112424 kuitenkin koska se jättää huomiotta kaikki korrelaatiot naapuripikseleiden ja ruutujen välillä, jotka ovat esillä reaalikuvassa.
Eräs tapa tehdä tiliä pikseleiden välisistä korrelaatioista on laatia kuvasta, eli pikseleiden luminanssiarvoista, kaksiulotteinen pinta. Monet ole-5 massa olevista kuvapakkaustekniikoista perustuvat funktionaalisiin muutoksiin, joissa pinnan funktionaalinen muoto puretaan joidenkin perusfunktioset-tien termeihin.
Laajimmin käytetyt muutokset ovat diskreetti kosinimuunnos (DCT) ja diskreetti aaltomuunnos (DWT), joissa perusta muodostetaan vas-10 taavasti kosineilla ja aalloilla. Suuremmat lohkokoot tilittävät pikseleiden välisiä korrelaatioita pidemmiltä etäisyyksiltä; perusfunktioiden määrä N2 samaan aikaan. JPEG- ja MPEG-standardeissa esimerkiksi lohkokoko DCT-koodaukseen on 8x8. Avainero DCT:n ja DWT:n välillä on, että edellisessä perusfunktiot levitetään koko lohkon yli, kun taas jälkimmäisessä perusfunk-15 tiot sijoitetaan paikallisesti.
INTER-moodissa (INTER -moodi on videopakkaustekniikka pakattaessa INTER-ruutuja tai -lohkoja. INTER-moodit referoivat edelliseen ruu-tuun/ruutuihin ja mahdollisesti muuttavat niitä. Liikekompensaatiotekniikat ovat vastaavia INTER-moodeja.) liikekompensoidut lohkot eivät saata aivan 20 täsmätä alkuperäisiin. Monissa tapauksissa aiheutuva virhe on huomattava, . , mutta silti niin pieni, että on helpompaa siirtää korjausinformaatiota vastaan- ’;·/ ottopäähän kuin koodata koko lohko uudestaan. Tämä siksi, että virheet ovat ‘ tyypillisesti pieniä ja ne voidaan ilmaista pienemmällä bittimäärällä kuin lumi- nanssiarvot koko lohkossa. Poislukien tämä eroavaisuus erolohkot voidaan :.‘i 25 koodata samalla tavoin kuin itse kuvalohkot.
*"*.* Vaihtoehtona funktionaalisille muunnoksille voidaan käyttää vekto- rikvantisointia (VQ). VQ -menetelmissä N x N kuvalohkot 2 tai N2 -vektorit 3 (katso Fig. 3) sovitetaan samankokoisiin ennaltaopetetun koodikirjana vekto-reihin. Jokaiselle lohkolle valitaan paras vastaava koodivektori edustamaan .··. 30 alkuperäistä kuvalohkoa. Täten kaikki kuvalohkot 2 esitetään rajallisella mää- rällä koodivektoreita 4, eli vektorit kvantisoidaan. Parhaiten sopivien vekto-···: reiden indeksit lähetetään dekoodaajalle ja kuva saadaan takaisin vektorit dekoodaajan koodikirjakopiosta.
VQ:n koodauslaatu riippuu opetuskuvien ryhmästä, jota käyte-35 tään koodikirjan tekoon ja koodikirjan vektoreiden määrästä. Vektoriavaruuden dimensio riippuu neliöllisesti lohkon dimensiosta N (N2 pikseliarvoa) kun 5 112424 taas mahdollisten vektorien määrä kasvaa 256 N -koodikirjan vektorin pitäisi esittää kaikilla näillä vektoreilla. Siksi että säilytettäisiin koodattujen kuvien tasainen laatu lohkokokoa kasvatettaessa, vaadittu koodikirjan koko kasvaa eksponentiaalisesti. Tämä tosiasia johtaa suureen vaadittavaan muistiin ja 5 yhtä merkittävästi kohtuuttoman pitkiin vektorin hakuaikoihin. On esitetty useita perus-VQ -systeemin laajennuksia ollaan esitelty, jotta saavutettaisiin hyvä laatu pienemmällä muistilla ja/tai hakuaikavaatimuksilla.
Jotkut laajennukset, kuten hakemistopuu-VQ, tähtäävät ainoastaan lyhyempiin hakuaikoihin verrattuna koodikirjan kokoon. Nämä algoritmit 10 eivät paranna kuvan laatua (mutta pikemminkin huonontaa sitä) ja ovat tässä mielenkiinnon kohteena ainoastaan vain niiden nopeuttamispotentiaalin vuoksi verrattuna muihin VQ -perusteisiin algoritmeihin.
VQ-algoritmit, jotka tähtäävät kuvalaadun parantamiseen, käyttävät tyypillisesti useampaa kuin yhtä erityistä koodikirjaa. Riippuen algoritmien 15 yksityiskohdista ne voidaan jakaa kahteen kategoriaan: ne joko parantavat kuvan laatua iteratiivisesti, katso Fig. 4, niin että yhden vaiheen koodausvirhe koodataan lisäksi käyttäen toista koodikirjaa täten vähentäen jäljellejäävää virhettä tai ne luokittelevat ensiksi jokaisen lohkon kuvamateriaalin ja sitten käyttävät erilaisia koodikirjoja (411, 412, 413) erityyppisille materiaaleille 20 (reunat, pintakuviot, sileät pinnat). Monivaiheisia muunnelmia ilmaistaan usein kaskadi-VQ:na tai hierarkkisena VQ:na, kun taas jälkimmäiset tunne-taan luokiteltuna VQ:na. Motivaatio näiden kaikkien takana on, että koodikir- • * | *;[ ’ joja spesialisoimalla tuotetaan tehokas vektoriavaruusulottuvuus. Sen sijaan, » , että esitettäisiin kaikki mahdolliset kuvalohkot, koodikirja voi erikoistua esi-:25 merkiksi virhevektoriin, joiden elementit on rajoitettu alle annetun arvon (kas- t kaditapa) tai lohkoihin, joiden läpi kulkee reuna (luokittelutapa). Kaskadi-VQ-muunnelmissa vektoriulottuvuutta usein vielä vähennetään pienentämällä lohkokokoa vaiheiden välillä.
Avainedut muunnoskoodausteknologioissa ovat analyyttisesti en-,··, 30 nustettavissa olevat ominaisuudet ja tuloksena saadut korreloimattomat ker toimet, jotka on järjestetty niiden suhteellisen tärkeyden mukaan. Nämä sei-. kat mahdollistavat tehokkaan bittimäärä-vääristymä-kontrollin ja virran laa- : : jennettavuuden käytettävissä olevan siirtolinjan kaistanleveyden mukaan.
: Muunnokset, kuten DCT, joissa kaikki perusfunktiot leviävät yli ’ 35 saman lohkonalueen, ovat taipuvaisempia estämään koodausvirheitä kuin DWT -tavat, joissa tilan sijainti ja perusfunktion levinneisyys vaihtelevat. Tä- e 112424 mä ero on selvä esimerkiksi koodatessa teräviä reunoja (terävät siirtymiset tummien ja vaaleiden alueiden välillä) sisältäviä kuvalohkoja. Tällaisen lohkon DCT tuottaa periaatteessa kaikki mahdolliset taajuudet ainakin yhdessä tilan suunnassa. Tälle kontrastina lohkon DWT saattaa johtaa vain muuta-5 maan nollattomaan kertoimeen.
Useimmissa varsinaisissa kuvalohkoissa muunnoskertoimien nollien määrä on ainakin vertailukelpoinen nollattomien määrään. Siksi muun-nostekniikoiden koodaustehokkuus määritellään laajassa mitassa tehokkuutena ilmaista nollia ilman useiden bittien siirtämistä jokaista nollaa kohden. 10 DCT:ssä kertoimet järjestetään tärkeimmästä ja toistuvasti ilmenevistä vähemmän tärkeisiin ja harvemmin toistuviin. Nollat ilmenevät usein sekvenssinä ja ovat siksi tehokkaasti "run-length" -koodattavissa. DWT:ssä kertoimet järjestetään tilan mukaan tunnistettaviin hierarkioihin, joissa nollakertoimet ilmenevät usein heti hierarkian kaikissa haaroissa. Tällaiset haarat voidaan 15 sitten kollektiivisesti nollata yhdellä koodisanalla.
Kaikki muunnoskoodausteknologiat jakavat yhden päähaitan, nimittäin niiden laskennallisesti raskaan dekoodauspuolen. Dekoodaus käsittää käänteiset funktionaaliset muunnokset ja voidaan suorittaa nopeasti vain PC-tason prosesseilla. Nämä vaatimukset jättävät PDA laitteet ja matkapuheli-20 met ulkopuolelle. Tyypillisesti muunnoskoodaus on myös sidottu erityisiin soittajaratkaisuihin, joka tarvitaan ladata ja asentaa ennen kuin videota voi-: daan katsoa.
: Toinen muunnoskoodekkien haitta on ilmenee erokoodauksen yh- teydessä. Alkuperäisten ja koodattujen ruutujen välinen ero riippuu lähtötilas-25 sa käytetystä kuvan koodauksen menetelmästä. Muunnoskoodausmenetel-·:··: miä varten jäljelle jäänyt ero on ainoastaan kvantisointivirheestä aiheutuvaa, ;·**; mutta liikekompensoiduille systeemeille tai VQ-tyyppisille tekniikoille ero on usein suhteellisen satunnaista vaikkakin suuruudeltaan pientä. Tässä ta-pauksessa funktionaaliset muunnokset aiheuttavat satunnaisia nollattomien • » 30 komponenttien yhdistelmiä, jotka voivat olla vaikeampia pakata kuin varsinai-sen kuvan kertoimet.
Vektorikvantisointitekniikoiden edut ja haitat ovat melko päinvas-täisiä kuin muunnoskoodekeissa. Pakkaussysteemit ovat aina epäsymmetri-;·* siä erityisen kevyen dekoodaus prosessin painotuksella. Yksinkertaisem- 35 massa muodossaan dekoodaus sisältää pelkästään taulukon koodivektoreil- 7 112424 le. Soittajasovellus voidaan tehdä kooltaan hyvin pieneksi ja lähettää video-virran alussa.
Koodivektori vastaa kokonaista N x N lohkoa tai vastaavasti kaikkia lohkon muunnoskertoimia. Jos yksi vektori-indeksi lähetetään jokaisesta 5 lohkosta, pakkaussuhde on suurempi mitä isompi on lohkon koko. Kuitenkin isoa koodikirjaa tarvitaan, jotta saavutetaan hyvä laatu suurelle N:lle. Tämä viittaa pidempiin aikoihin, sekä koodauksessa -vektorihaku- että koodikirjan siirtämisessä vastaanottopäähän.
Toisaalta mitä pienempiä lohkot ovat sitä tarkemmaksi koodaustu-10 los tulee. Pienemmät lohkot ja vektorit vaativat myös pienemmät koodikirjat, mitkä vaativat vähemmän muistia ja ovat nopeampi lähettää vastaanottopäähän. Myös koodivektorihakuoperaatio on nopeampi tehden koko koodaus-prosessista nopeamman. Pienemmän lohkokoon haitta on, että suurempi siirrettävien indeksien määrä.
15 Parannetuissa VQ-muunnelmissa vektoriavaruus jaetaan osiin ja yksi koodikirja valmistetaan jokaista osaa varten. Kaskadi-VQ:ssa erityisesti kuvanlaatu paranee tehokkaalla saavutettavissa olevien vektoreiden V saavutetun määrän kasvulla. Ideaalitapauksessa, missä eri vaiheiden vektorit olisivat ortogonaalisia, lisäämällä vaihe i V, vektorin koodikirjalla kasvattaisi 20 V:r\ VxVf.en. Tämä proseduuri voi merkittävästi parantaa kuvan laatua kohtuullisella kokonaiskoodikirjakoolla ja hakuajoilla. Tämä parannus tehdään • » » ' bittimäärän kustannuksella, joka tarvitaan jokaisen lohkon koodaamiseen; se * kasvaa n:llä jos Vj=2n. Kuvalaatu paranee vielä, jos kuvakokoa vähennetään vaiheiden välillä.
: 25 Kuitenkin kaskadi-VQ:ssa on kaksi ongelmaa. Ensiksi koodikirjat ·;· : opetetaan tyypillisesti todellisilla erolohkoilla, mutta ilman referenssiä ihmisen ; näkösysteemiin. Tämän takia vektorit eivät välttämättä tee korjauksia, jotka ovat visuaalisesti miellyttävimpiä. Toiseksi kunkin lohkon koodaamiseen tar-vittava bittien määrä kasvaa käytettävien vaiheiden määrällä ja jopa no-30 peamminkin, jos lohkokokoa vähennetään prosessin aikana.
Keksinnön tarkoitus on vähentää yllämainittuja haittoja. Tämä saavutetaan vaatimuksessa kuvatulla tavalla.
Keksinnön yhteenveto ' _ (: 35 Seuraavat määrittelyt tulisi ottaa huomioon lukiessa tätä esitystä.
8 112424
Perusmoodi. Kuva- tai videopakkaustekniikka suunniteltu koodaamaan kuvaa tai videoruutua. Termiä käytetään erottumiseen eromoodis-ta.
Koodaaminen. Pakkaus, koodaus. Koska pakkaus on perustoi-5 minto, kun koodataan tässä yhteydessä, koodaaminen voidaan ymmärtää toimintoina tehdä pakkaus.
Dekoodaaminen, Pakkauksen purkaminen.
Eromoodi. Kuva- tai videopakkaustekniikka, jota käytetään kahden ruudun välisen eron koodaamiseen, tavallisesti alkuperäisten ja koodat-10 tujen ruutujen välillä. Jälkimmäisessä tapauksessa ero ilmaistaan koodausvirheenä.
Vääristymä. Koodausvirheen mitta. Tyypillisesti Euklidinen pikse-lien välisten erojen normi alkuperäisissä ja koodatuissa luminanssiarvoissa.
Enkoodaus. Pakkaus.
15 Keksinnön mukainen ratkaisu yhdistää useiden olemassa olevien ratkaisuiden parhaat ominaisuudet. Lyhyesti, se on muunnelma kaskadi-VQ:sta tietyillä parannuksilla, jotka on saatu DCT- ja DWT- tavoista. Keksinnön perusseikat ovat, että koodikirjat esiprosessoidaan niitä opetettaessa tuloksena olevien koodivektoreiden taajuusjakaumien ennaltamäärittelemisek-20 si, ja jokainen lohko koodataan ja dekoodataan itsenäisesti käyttäen muuttuva lukumäärä erokoodauksen vaiheita, joita tarvitaan tietyn lohkon koodaa-·’·.· : miseksi. Keksintö ottaa erolohkon syötteenä ja koodaa sitä eteenpäin jäljelle- : jäävän virheen vähentämiseksi tehokkaalla tavalla verrattuna vaadittuihin li- säbitteihin. Erolohko voi olla tulos mistä tahansa mahdollisesta peruskoo-25 dauksesta, käsittäen perus-VQ -koodauksen, liikekompensoinnin, DCT.n ja ·:··: CWT:n. Keksintö parantaa huomattavasti kuvanlaatua suhteessa käytettyyn bittimäärään (bps), sekä INTER- että INTRA-koodatuissa ruuduissa.
Yllämainittujen seikkojen mukaan keksintö koskee koodausmene-telmää datan pakkaamiseksi, missä menetelmässä data ensiksi koodataan ja *..! 30 muodostetaan erodata alkuperäisen datan ja koodatun datan välillä, erodata jaetaan yhteen tai useampiin ensimmäisiin lohkoihin, jotka koodataan vähin-tään yhdessä vaiheessa, jokaisen vaiheen käsittäessä koodaustoiminnan ja tarvittaessa seuraavaa vaihetta varten toiminnon seuraavien erolohkojen ny-kyisten erolohkojen ja koodattujen nykyisten erolohkojen, muodostaen pe-35 räkkäisiä vaiheita, sillä tavalla että edellisessä vaiheessa lasketut ovat syöt- • · teitä seuraavalle vaiheelle, käyttäen koodikirjaa jokaisessa vaiheessa, mikä 9 112424 on spesifinen vaiheen koodaukselle, kunnes lopullisessa vaiheessa lopulliset erolohkot edellisten erolohkojen ja koodattujen edellisten erolohkojen koodataan käyttäen viimeistä koodikirjaa, koodikirjat sanottuja erolohkoja varten käsittäessä ero-opetusmateriaalilla opetettuja koodivektoreita ja että opetusta 5 ero-opetusmateriaali esiprosessoidaan jokaisen koodivektorin taajuusjakau-man yksittäistä adaptoimista varten painottuen tiettyyn datainformaatioon, ja kukin lohko itsenäisesti koodaten käyttäen tarpeellinen määrä tarvittavia vaiheita tietylle lohkolle.
Lisäksi keksintö koskee kooderia, joka hyödyntää keksinnöllistä 10 koodausmenetelmää, tavalla jolla vähintään yksi erojen koodaamiseen käytetty koodikirja ollaan painotettu tietylle taajuusjakaumalle ja kooderi käsittää arviointivälineet asettamaan tarpeellinen määrä tarvittavia vaiheita tietylle lohkolle.
Lisäksi ottaen huomioon keksinnöllisen koodauksen keksintö kos-15 kee dekoodausmenetelmää purkamaan pakattu data, menetelmän käsittäessä koodikirjat koodatun erodatan purkamiseksi, jossa ainakin yksi mainituista koodikirjoista sisältää koodivektoreita, jotka on painotettu tietylle taajuusjakaumalle ja käyttäen yhdessä koodikirjoja muodostaen purkamisen tuloksen, joka käsittää ainakin merkittävimmät taajuudet.
20 Ja lisäksi keksintö koskee dekooderia, joka käyttää koodikirjoja koodatun erodatan purkamiseksi, jossa ainakin yksi koodikirjoista on paino-: tettu tietylle taajuusjakaumalle.
• · o • · * :m Kuvioluettelo 25 Seuraavassa keksintöä kuvataan yksityiskohtaisemmin oheisten ·:··: piirrosten kuvioiden 1-10 avulla, joissa • ·
Fig. 1 esittää esimerkkiä N1 x M1 pikselin kokoisesta ruudusta, ;v> Fig. 2 esittää esimerkkiä ruudun jaosta N x N pikselin kokoisiin lohkoihin, 30 Fig. 3 esittää esimerkkiä N x N kokoisesta lohkosta, vektorin esittäessä ·;· lohkoa ja koodivektorin kvantisoidessa vektorin, ,,; j ‘ Fig. 4 esittää esimerkkiä tunnetusta vektorikvantisointijärjestelystä, ; Fig. 5 esittää esimerkkiä keksinnön mukaisesta eromateriaalin opetuk- sesta, ' _. 35 Fig. 6 ja 7 esittävät yksinkertaisen esimerkin keksinnöllisestä tavasta koodata jokainen lohko lohkokohtaisella määrällä koodausvaiheita, 10 1 12424
Fig. 8 esittää esimerkkiä järjestelystä, joka sisältää keksinnön mukaiset arviointivälineet,
Fig. 9 esittää esimerkkiä vuokaavioista kuvaten keksinnöllistä menetelmää, ja 5 Fig. 10 esittää esimerkkiä järjestelystä keksintöä varten.
Keksinnön yksityiskohtainen selostus
Fig. 4 kuvaa esimerkkiä tunnetusta vektorikvantisointijärjestelystä. Keksintö parantaa merkittävästi järjestelyn suorituskykyä, laajentaen mahdol-10 lista järjestelyn käyttöaluetta. Tulisi huomioida, että jos tässä tekstissä lohko mainitaan yksikössä, vaikka todellisuudessa kaikki kuvan lohkot kooda-taan/dekoodataan, yksikkömuotoa käytetään helpottamaan tekstin seuraamista.
Tarkastelkaamme alkuperäistä 8x8 lohkoa. Ensimmäisessä vai-15 heessa tämä lohko koodataan 41 käyttäen joko yhtä koodikirjaa 45 tai vaihtoehtoisesti useita koodikirjoja 411. Kuten huomataan luokiteltuja koodikirjoja voidaan käyttää kaskadi-VQ:ssa. Koska koodaus koskee alkuperäistä lohkoa, ensimmäinen vaihe kuuluu perusmoodiin. Alkuperäisen lohkon ja koodatun lohkon välinen ero 416 lasketaan 48. Ero, eli koodausvirhe, voidaan esi-20 merkiksi mitata standarditermein, kuten vääristymänä
• ;*; NN NN
·.· '=1 ,/=1 '=1 ./=1 missä dtot ilmaisee kokonaisvääristymän N x N lohkolle ja d, t pikselin vääristymän lohkon /-.neliä rivillä ja and /.neliä sarakkeella; Y°j ja ·:*“! 25 ovat tämän pikselin luminanssiarvoja vastaavissa alkuperäisissä ja kooda- tuissa lohkoissa.
Vääristymälohko jaetaan 414 neljään 4x4 alalohkoon 417, jotka koodataan 42 toisessa vaiheessa (eromoodi) käyttäen koodikirjaa A 46 tai vaihtoehtoisesti useita koodikirjoja 412. Jokainen erokoodattu 4x4 lohko vä-30 hennetään 49 alkuperäisestä 4x4 erolohkosta. Jäljellejäävät erot 418 jae-taan siten vielä 415 neljään 2x2 alilohkoihin. Jokainen 2x2 erolohko 419 koodataan 43 käyttäen toista koodikirjaa E 47 tai vaihtoehtoisesti koodikirjoja :\ _ 413. Jokainen koodattu 2x2 erolohko vähennetään 410 alkuperäisestä 2x2 erolohkosta lopullisen jäljellejäävän virheen saavuttamiseksi. Tulisi huomata, 11 112424 että lohkokoot voivat vaihtoehtoisesti pysyä ennallaan jokaisessa vaiheessa, missä tapauksessa lohkojen jakoja ei tehdä.
Jokainen koodikirja opetetaan realistisilla "kuva" -materiaalilla, eli eromoodissa varsinaisilla erolohkoilla, joita ilmenee siinä vaiheessa jossa 5 koodikirjaa käytetään. Opetus käsittää annetun vektorimäärän löytämisen, mikä edustaa opetussettiä niin hyvin kuin mahdollista. Tämä saavutetaan käyttäen standardia k-keskiarvoalgoritmia. Hyvyyden mittana on Euklidisten etäisyyksien summa opetusvektoreiden ja niitä lähinnä olevien koodivekto-reiden välillä.
10 Tähän mennessä kuvattu proseduuri on yhtenevä tavalliseen kas- kadi-VQ:n ja omaa samanlaiset hyvät puolet, kuten yksinkertaisen koodaamisen. Keksintö käsittää kaksi muunnelmaa, jotka on suunniteltu ratkaisemaan pääheikkoudet ja vahvistamaan suorituskykyä.
Ensiksi, kuten näytetään kuvioissa 5, koodikirjojen opetuksessa 15 käytetty opetusmateriaali esiprosessoidaan 51 tuloksena olevien koodivekto-reiden taajuusjakauman ennaltamäärittämiseksi. Tämä tehdään kosinimuun-tamalla kaikki opetuslohkot, poistamalla joitakin moodien valintoja asettamalla niiden kertoimet nolliksi ja lopuksi saavuttamalla uusi opetuslohko kään-teismuunnoksella. Tulisi huomata, että DCT ei ole ainoa tapa esiprosessoida 20 opetusmateriaalia, vaan toista sopivaa funktiomuunnosta voidaan käyttää.
Tämän proseduurin takainen motivaatio on kaksitahoinen. Yksi
I I I
:·; : asia on, että on visuaalisesti tärkeämpi keskittyä rajattuun bittimäärään kor- : jatessa matalataajuisia virheitä kuin yrittää korjata koko lohkoa käsittäen kaikki taajuudet. Kertoimet, jotka edustavat taajuuksia, voidaan järjestää ih- * · V>; 25 mistarkkailijaa varten niiden tärkeyden mukaan: silmä on herkempi alemmille ""i tilan taajuuksille kuin korkeammille taajuuksille. Tämä ei välttämättä merkitse matalia taajuuksia joillakin absoluuttisilla termeillä, koska kaikki taajuudet ovat sitä korkeampia mitä pienempi lohkokoko on ja siten myös perusfunktion levinneisyys. Toisin sanoen tuloksena oleva koodivektori (tai vektorit) adap- ’···, 30 toidaan halutulle taajuusjakaumalle.
‘I* Toiseksi kaikki koodivektorit opetetuissa kahdessa tai useammas- sa koodikirjassa eroteltavine taajuusalueineen ovat ainakin melkein ortogo-naalisia ja niitä voidaan tehokkaasti käyttää yhdessä täydentämään toisian-sa. Tämä huomio kasvattaa mahdollisten koodivektoreiden määrää, jotka 35 voidaan saada aikaan peruskoodauksen yhdistelmänä ja kahden tai useamman vaiheen erokoodauksella. Koodivektoreiden rajoittaminen rajattuun 12 1 12424 määrään DCT -taajuuksia vähentää tehokkaasti vektoriulottuvuutta. Tämän takia annetun kokoinen koodikirja täsmää opetusvektoreihin paremmin kuin jos taajuusvalintaa ei olla tehty. Tämä seikka johtaa yhä tehokkaampaan visuaalisesti tärkeimpien komponenttien koodaamiseen erolohkoissa.
5 Jotkut mahdolliset taajuusvalinnat käytännön sovelluksissa sisäl tävät: pelkkien matalampien taajuuksien lohkoja, lohkoja nollakeskiarvolla ja lohkoja välitaajuuksilla (korkeampia kuin ensimmäisessä tapauksessa mutta ei korkeimpia). Esiprosessoinnin jälkeen suoritetaan 52 varsinainen opetus, jossa parhaiten vastaavat koodivektorit 53 löydetään ja koodikirjat muodoste-10 taan.
Toinen muunnelma standardiin kaskadi-VQ:n koskee erokoodauk-sen tilallista adaptoitavuutta. DWT:n ajatuksen mukaan lisäerolohkojen käytöstä päätetään erikseen jokaista lohkoa varten, eli yhden lohkon koodaus voi käsittää useita peräkkäisiä erokoodausvaiheita, kun taas sen naapuriloh-15 ko päätetään koodata riittävästi pelkästään perusmoodilla.
Kuviot 6 ja 7 esittävät yksinkertaista esimerkkiä keksinnöllisestä tavasta koodata jokainen lohko lohkokohtaisella määrällä koodausvaiheita. Fig. 6 näyttää 8x8 lohkon ORG, joka koodataan (vertaa Fig. 4, 41) ja ero alkuperäisen ja koodatun lohkon välillä jaetaan (Fig. 4, 417) 4x4 lohkoihin 20 D1A:sta D1D:hen ensimmäisessä vaiheessa. Tämän jälkeen jokainen lohko tutkitaan tarvitaanko lisäkoodausvaihe. Koska alkuperäinen 8x8 lohko ku-‘ vaa viivaa 61 tasaisen taustan yli, ensimmäisen asteen koodaus riittävä loh- v : kolle D1A missä on ainoastaan taustaa. Toinen lohko D1B:stä D1D:hen tar- vitsee tutkimuksen mukaan lisäkoodauksen.
25 Fig. 7 näyttää koodatun 4x4 erolohkojen jaon (Fig. 4, 415) 2 x 2 ·:··: lohkoihin D22A-D22D, D23A-D23D ja D24A-D24D toisessa vaiheessa. Jaon jälkeen jokainen lohko tutkitaan tarvitaanko lisävaiheenkoodausta. Koska lohkot D22A, D22B, D22C, D23A, D23B, D23C, D24B, D24C ja D24D ku-vaavat vain pienen osan yli tasain pohjan kulkevasta viivasta 61 tai pelkäs-!··’. 30 tään taustaa, toisen asteen koodaus on riittävä näille lohkoille. Muut lohkot '·* D22D, D24A ja D23D tarvitsevat lisäksi kolmannen koodausvaiheen. Koo- ..i:’ daustuloksena alkuperäinen 8x8 lohko, yksi 4x4 lohko, eli lohko D1A, on koodattu käyttäen yhtä vaihetta, useita 2x2 lohkoja (lohkot D22A, D22B, D22C, D23A, D23B, D23C, D24B, D24C ja D24D) on koodattu käyttäen kah-35 ta vaihetta, ja kolme 2x2 vaihetta (D22D, D24A ja D23D) on koodattu käyttäen kolmea vaihetta.
is 112424 Päätös käyttää lisäkoodausvaiheita perustuu bittimäärä-vääris-tymä-seikkoihin jonkinlaisen kustannusfunktion muodossa käsittäen suhteellista suhteellisen kustannuksen lisäbittien käyttöön saavuttaen lohkon vääristymän vähenemistä. Toisin sanoen jos kustannus käyttää lisävaihetta on liian 5 paljon, lisävaiheet ovat tarpeettomia. Kustannusfunktion voidaan painottaa halutulla tavalla. Lisäksi, ja kuinka se pitää ymmärtää laajassa katsannossa, painotus ottaa huomioon bittien painotetun käytön per vääristymäarvo (kuten luminanssin tai krominanssin komponenttien vääristymäarvo). Bittien käyttöä voidaan painottaa lineaarisesti tai epälineaarisesti vääristymäarvojen astei-10 kon yli.
Tämän proseduurin etuna on kasvanut joustavuus bittien allokoinnissa jokaisen ruudun yli. Tämän johdosta vaikeat alueet voidaan koodata eri moodien ja koodivektorien sarjana, kun taas yksinkertaisemmat voidaan korjata heti tai jättää sellaisiksi. Joustavuus kasvattaa erovaiheiden käyttöä mille 15 tahansa annetulle bittimäärälle.
Yllämainittujen seikkojen johdosta keksinnöllinen järjestely tarvitsee arviointivälineet tutkimaan lisäkoodausvaiheiden käytön tarve. Kuten Fig. 8 näyttää arviointivälineet 102 voidaan edullisesti asentaa käytettyihin jaettuihin moduleihin 101 (vertaa Fig. 4 414, 415 ja 410), mutta arviointivälineet 20 voivat olla itsenäinen moduli.
• · ·
Edullinen keksinnön toteutus • · «
Keksinnöllinen järjestely ottaa erolohkot syötteenä jokaisessa *;··* eromoodivaiheessa ja koodaa sitä edelleen jäljelle jääneen virheen vähen-
t t I
*· ” 25 tämiseksi tehokkaalla tavalla verrattuna vaadittuihin lisäbitteihin. Erolohko voi •olla tulos edeltävästä koodauksesta, kuten perus-VQ -koodauksesta, liikekompensoinnista, DCT:stä tai DWT:stä.
Keksinnöllinen ratkaisu käsittää kaksi osaa: koodikirjojen opetuk-:*·[: sen ja algoritmin hyödyntämään niitä videokoodauksessa. Tarkastelkaamme 30 esimerkiksi ruutua harmaasävyisestä videosta, joka on koodattu jollakin VQ:n ja liikekompensoinnin yhdistelmänä käyttäen lohkokokoa 8x8. Tuloksena ·;;; oleva erokuva jaetaan 4x4 lohkoihin, jotka koodataan kahdessa lisävai- heessa.
Ensimmäisen erokoodikirjan, koodikirja A, opetus on tehty realisti-*:··: 35 silla eromateriaaleilla, mutta alemmilla taajuuksilla, eli vakiokomponentti pois tettuna. Standardi k-keskiarvojen algoritmi on taipuvainen vahvistamaan 14 112424 alempia taajuuksia, mutta ei voi luoda näennäisiä äärellisiä keskiarvoja tuloksena oleville vektoreille. 256 vektorin koodikirjassa vektorit keskittyvät taa-juustaulukon alemmalle puoliskolle.
Toinen koodikirjavaihe, koodikirja B, opetetaan erolohkoilla, missä 5 esimerkiksi yksi kolmasosa alemmista taajuuksista on poistettu. Tuloksena olevilla koodivektoreilla on jonkin verran painoa näillä taajuuksilla opetusalgo-ritmin johdosta, mutta painotus on korkeammilla taajuuksilla. Siksi koodivek-torit koodikirjoista A ja B pystyvät tehokkaasti täydentämään toisiaan. Seikkaa että koodikirjojen välillä on jonkin verran päällekkäisyyttä voidaan hyö-10 dyntää yhdistämällä kaksi vektoria A:sta tai kaksi vektoria B:stä tai yksi molemmista. Päällekkäisyys voidaan välttää suorittamalla opetus muunnosker-toimille ennen käänteismuunnosta.
Varsinainen koodaus suoritetaan etsimällä aluksi paras vastaava vektori koodikirjasta A jokaiselle 4x4 lohkolle. Lohkottaiset vähennykset 15 vääristymissä lasketaan ja aikaansaatu bittimäärä-vääristymä-kustannusta verrataan kustannukseen ilman erovektoreiden käyttöä. Tyypillinen kustannusfunktio on C = d + Äb, missä d on vääristymä, λ on painotuskerroin ja b käytettyjen bittien määrä lohkolle. Tulisi huomioida, että painotuskerroin voidaan myös liittää d:hen tai painotus voidaan hoitaa erillisillä d:hen ja b:hen 20 liitetyillä painokertoimilla. Koodivektorit valitaan vain niitä lohkoja varten, jois-. , sa tämä vähentää kustannuksia. Seuraavaksi parhaiten täsmäävät koodivek- torit haetaan koodikirjasta B jäljellä oleville 4x4 erolohkoille. Taas koodivek-torit valitaan vain silloin kun se on kustannustehokasta. Sijainnit koodivekto-···' reita varten voidaan ilmaista yksittäisillä biteillä, niin että yksi tavu on riittävä
• I
25 määrittelemään mitkä alkuperäisen 8 x 8 lohkon alilohkot korjataan vektoreil-la koodikirjasta A ja mitkä koodikirjasta B.
Lopulta koodivektorit keskitetään nollan ympärille ja niillä on pääasiallisesti hyvin pieniä arvoja. Tämänkaltaiset koodikirjat voidaan tehokkaas-ti pakata ennen niiden siirtämistä vastaanottopäähän ja siten vähentää alus- • · 30 sa videon vastaanottajan odotusaikaa.
•t Fig. 9 kuvaa esimerkkiä vuokaavioista, joka kuvaa keksinnöllistä • menetelmää. Ensimmäinen vaihe 81 on esiprosessoida opetusmateriaali opetettavien koodivektoreiden taajuusjakauman esimäärittelemiseksi. Vaikka esiprosessointi tehdään ennalta, se on olennainen vaihe saavuttamaan halut-. 35 tu suorituskyky missä tahansa keksinnön mukaisessa järjestelyssä. Seuraa- va vaihe 82 on opettaa koodivektorit käyttäen esiprosessoitua opetusmateri- is 112424 aalia. Koodikirjat muodostetaan. Lopulta informaatio koodata/dekoodataan 83 käyttäen kaskadi-VQ:ta, tavalla jossa käytetään tarpeellinen määrä koodaus- tai dekoodausvaiheita itsenäisesti jokaista lohkoa varten.
Fig. 10 kuvaa esimerkkijärjestelyä keksintöä varten. Käytännön 5 käytössä keksintö upotetaan osaksi kokonaista videon pakkaus/purku ohjelmistoa. Pakkaus, eli koodaus, -ohjelmisto 91 on sijoitetaan normaalisti lähettävään terminaaliin 93. Ohjelmisto koostuu normaalisti käyttäjärajapinnasta, medialukijoista lukemaan video- ja audioinformaatiota, joistakin peruskoo-dausmuodoista, erokoodausalgoritmeista, tässä keksinnössä esitetyistä koo-10 dikirjoista, jonkinlaisesta ratkaisusta lähettää virta ja pienestä dekoodausoh-jelmistopaketista 92 lähetettäväksi videovirran alussa vastaanottoterminaaliin 94. Kuitenkin vaihtoehtoisesti dekoodausohjelmisto voidaan vaihtoehtoisesti sijoittaa pysyvästi vastaanottoterminaaliin.
Keksintö yhdistää usean olemassa olevan ratkaisun parhaat omi-15 naisuudet. Lyhyesti, se on muunnelma kaskadi-VQ:sta tietyillä parannuksilla, jotka saadaan DCT- ja DWT-tavoista. Tulisi huomioida, että alkuperäisen informaation koodaaminen voidaan tehdä käyttäen mitä tahansa koodaustek-niikkaa, kuten VQ:ta, liikekompensointia tai jotain funktionaalista muunnosta, ja eroinformaatio käsitellään käyttäen VQ.ta. Ainoa keksinnön haitta on mah-20 dollisesti hitaassa koodikirjahaussa, joka täytyy suorittaa kerran jokaista lohkoa ja koodikirjaa varten. Kuitenkin tämä voidaan hoitaa käyttämällä mitä ta-:.· i hansa lukuisista nopeahakualgoritmeista, kuten puuhaku-VQ:ta, joka on kehi- :T: tetty tähän tarkoitukseen.
Vaikka pääosin keksinnöllistä koodausta kuvataan tässä tekstissä, 25 on selvää että keksintö koskee myös dekoodausta. Dekoodatessa käytetty- • · jen koodikirjojen täytyy sisältää koodivektorit, jotka painotetaan tietylle taa-.···. juusjakaumalle. Käyttäen näitä koodikirjoja yhdessä pakkauksen purkutulos saavutetaan vähintään merkitsevimmillä taajuuksilla. On myös olemassa . monia vaihtoehtoisia muotoja ja sovituksia keksintöä varten. Esimerkiksi mikä 30 tahansa intra-ja inter-ruutujen peruskoodaus (eli lohkoittain tai ei-lohkoittain), » · ·;·’ funktionaalinen muunnos tai vektorikvantisointi voi olla pohjana olevana tek- ·;· nilkkana keksinnölliselle järjestelylle, koska ne kaikki jättävät jäännöstä tai eroa alkuperäisten kuvien ja koodattujen/dekoodattujen kuvien välille. Keksintöä voidaan käyttää myös yhdessä vaiheessa erokoodaussekvenssissä 35 mahdollisesti muuttuvalla iohkokoolla jokaisessa vaiheessa. Toisin sanoen jokaisessa sekvenssissä (vaihe) erolohkoa voidaan prosessoida esimerkiksi ie 112424 DCT:ä käyttäen, ennen erolohkon koodaamista. Tämä on esikoodaamista ennen varsinaista koodaamista. Ero voidaan koodata lohkoittain millä tahansa lohkokoolla. Siitä syystä erovektoreita varten oleva vektorikirjasto voidaan opettaa millä perusteilla tahansa, eli kuvalohkoina tai funktionaalisina muun-5 noksina. Koodikirja(t) voidaan myös adaptiivisesti muokata koodausprosessin aikana. Tässä esitetyt koodausproseduurit ja ideat ovat toteutettavissa mille tahansa värinesitykselle, kuten RGB, YUV, YCrCb, CieLAB jne...
Lopuksi yllämainittujen vaatimusten valossa, on olemassa tarve videopakkausteknologialle, jolla saavutetaan korkeat pakkaussuhteet säilyt-10 täen samalla hyvän havaittavan kuvan laadun ja jonka dekoodauspuoli vaatii ainoastaan minimaalisen prosessointitehon. On myös selvää, että keksintö voidaan asentaa moniin ratkaisuihin keksinnöllisten ajatusten puitteissa.
15 * 1 · • t · · tl· • 1 · • 1 · • ♦ · • · • »
IM
• tl • · » • · • » • · ·
• I
• · · • · · • » • · · 4 » I 1 1 • t • · • t I I · •

Claims (44)

1. Koodausmenetelmä datan pakkaamiseksi, missä menetelmässä data koodataan ensiksi ja erodata alkuperäisen datan ja koodatun datan välillä muodostetaan, erodata jaetaan yhteen tai useampaan ensimmäisiin 5 lohkoihin, mitkä koodataan vähintään yhdessä vaiheessa, jokaisen vaiheen käsittäessä koodaustoimenpiteen, tarvittaessa seuraavaa vaihetta varten, seuraavien erolohkojen laskennan toimenpiteen nykyisten erolohkojen ja koodattujen nykyisten erolohkojen välillä, muodostaen peräkkäiset vaiheet sillä tavalla, että lasketut erolohkot edellisessä vaiheessa ovat syötteenä seu-10 raavalle vaiheelle, käyttäen koodikirjaa jokaisessa vaiheessa, joka on erityinen vaiheen koodaukselle, kunnes lopullisessa vaiheessa lopulliset erolohkot edeltävien erolohkojen ja koodattujen edeltävien erolohkojen välillä koodataan käyttäen viimeistä koodikirjaa, sanottuja erolohkoja varten olevien koodikirjojen sisältäessä opetuseromateriaalilla opetettuja koodivektoreita, 15 tunnettu siitä, että ennen opetusta opetuseromateriaali esiprosessoidaan jokaisen koodivektorin taajuusjakauman yksilölliseen sovittamiseen painottuen tiettyyn datainformaatioon, ja koodaten jokaisen lohkon riippumattomasti käyttäen tarpeellinen määrä tarvittavia vaiheita tietylle lohkolle.
2. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, 20 että vähintään yhdessä sanotuissa vaiheissa erolohkot jaetaan alilohkoihin käytettäväksi erolohkoina seuraavassa vaiheessa.
: 3. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, v ·* että vähintään yhdessä sanotuissa vaiheissa käytetään useampaa kuin yhtä koodikirjaa.
4. Patenttivaatimuksen 2 mukainen menetelmä, tu n nettu siitä, • 9 ·*.··: että vähintään yhdessä sanotuissa vaiheissa käytetään useampaa kuin yhtä koodikirjaa.
5. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, v> että opetusmateriaalin esiprosessointi tehdään käyttäen diskreettiä ko- 30 sinimuunnosta.
6. Patenttivaatimuksen 1 mukainen menetelmä, t u n n ett u siitä, .;että opetusmateriaalin esiprosessointi tehdään käyttäen mitä tahansa funk-’ ’ ‘: tionaalista muunnosta.
• | 7. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, *· ; 35 että tarpeellinen määrä vaiheita saavutetaan käyttämällä kustannusfunktiota is 112424 sillä tavoin, että jos lisävaiheen käytön kustannus on liian paljon, lisävaihe on tarpeeton.
8. Patenttivaatimuksen 7 mukainen menetelmä, tunnettu siitä, että kustannusfunktio ottaa huomioon jäljellä olevan eron ja käytettyjen bittien 5 määrän, esittäen vaiheiden kustannusta, kyseisen lohkon koodausta varten.
9. Patenttivaatimuksen 8 mukainen menetelmä, tunnettu siitä, että bittien määrä painotetaan.
10. Patenttivaatimuksen 2 mukainen menetelmä, tunnettu siitä, että opetusmateriaalin esiprosessointi tehdään käyttäen kosinimuunnosta.
11. Patenttivaatimuksen 2 mukainen menetelmä, tunnettu sii tä, että opetusmateriaalin esiprosessointi tehdään käyttäen mitä tahansa funktionaalista muunnosta.
12. Patenttivaatimuksen 2 mukainen menetelmä, tunnettu siitä, että tarpeellinen määrä vaiheita saavutetaan käyttämällä kustannusfunk- 15 tiota sillä tavoin, että jos lisävaiheen käytön kustannus on liian paljon, lisävaihe on tarpeeton.
13. Patenttivaatimuksen 12 mukainen menetelmä, tunnettu siitä, että kustannusfunktio ottaa huomioon jäljellä olevan eron ja käytettyjen bittien määrän, esittäen vaiheiden kustannusta, kyseisen lohkon koodausta 20 varten.
14. Patenttivaatimuksen 13 mukainen menetelmä, tunnettu : siitä, että bittien määrä painotetaan.
: 15. Patenttivaatimuksen 3 mukainen menetelmä, tunnettu sii- ·...·* tä, että opetusmateriaalin esiprosessointi tehdään käyttäen kosinimuunnosta.
16. Patenttivaatimuksen 3 mukainen menetelmä, tunnettusi!- • · *:··· tä, että opetusmateriaalin esiprosessointi tehdään käyttäen mitä tahansa funktionaalista muunnosta. * % »* *
17. Patenttivaatimuksen 3 mukainen menetelmä, tunnettu sii-v. tä, että tarpeellinen määrä vaiheita saavutetaan käyttämällä kustannusfunk- '. .'t 30 tiota sillä tavoin, että jos lisävaiheen käytön kustannus on liian paljon, lisävai- he on tarpeeton.
':* 18. Patenttivaatimuksen 17 mukainen menetelmä, tunnettu siitä, että kustannusfunktio ottaa huomioon jäljellä olevan eron ja käytettyjen I bittien määrän, esittäen vaiheiden kustannusta, kyseisen lohkon koodausta ‘ 35 varten. 19 1 12424
17 1 12424
19. Patenttivaatimuksen 18 mukainen menetelmä, tunnettu siitä, että bittien määrä painotetaan.
20. Patenttivaatimuksen 4 mukainen menetelmä, tunnettu siitä, että opetusmateriaalin esiprosessointi tehdään käyttäen kosinimuunnosta.
21. Patenttivaatimuksen 4 mukainen menetelmä, tunnettu sii tä, että opetusmateriaalin esiprosessointi tehdään käyttäen mitä tahansa funktionaalista muunnosta.
22. Patenttivaatimuksen 4 mukainen menetelmä, tunnettu siitä, että tarpeellinen määrä vaiheita saavutetaan käyttämällä kustannusfunk- 10 tiota sillä tavoin, että jos lisävaiheen käytön kustannus on liian paljon, lisävaihe on tarpeeton.
23. Patenttivaatimuksen 22 mukainen menetelmä, tunnettu siitä, että kustannusfunktio ottaa huomioon jäljellä olevan eron ja käytettyjen bittien määrän, esittäen vaiheiden kustannusta, kyseisen lohkon koodausta 15 varten.
24. Patenttivaatimuksen 23 mukainen menetelmä, tunnettu siitä, että bittien määrä painotetaan.
25. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että vähintään yhdessä vaiheessa erolohkot prosessoidaan ennen koo- 20 daamista.
26. Patenttivaatimuksen 2 mukainen menetelmä, tunnettu sii- : tä, että vähintään yhdessä vaiheessa erolohkot prosessoidaan ennen koo daamista.
27. Dekoodausmenetelmä datan pakkauksen purkuun, menetel- 25 män käsittäessä koodikirjoja koodatun erodatan pakkauksen purkamiseksi, ,··· tunnettu siitä, että vähintään yksi sanotuista koodikirjoista sisältää koodi- •\ vektoreita, jotka on painotettu tietylle taajuusjakaumalle, ja käyttämällä koo dikirjoja yhdessä, muodostaen pakkauksen purun tuloksen, mikä käsittää ai-: , · t nakin merkitsevimmät taajuudet.
28. Kooderi datan pakkaamiseen, missä data aluksi koodataan ja muodostetaan alkuperäisen datan ja koodatun datan välillä oleva erodata, erodata jaetaan yhteen tai useampaan ensimmäisiin lohkoihin, jotka kooda-f taan vähintään yhdessä vaiheessa, jokaisen vaiheen käsittäessä koodaus- ;.j toimenpiteen, ja tarvittaessa seuraavaa vaihetta varten, seuraavien erolohko- ‘ . 35 jen laskennan toimenpiteen nykyisten erolohkojen ja koodattujen nykyisten erolohkojen välillä, muodostaen peräkkäiset vaiheet sillä tavalla, että lasketut 20 1 12424 erolohkot edellisessä vaiheessa ovat syötteenä seuraavalle vaiheelle, käyttäen koodikirjaa jokaisessa vaiheessa, joka on erityinen vaiheen koodaukselle, kunnes lopullisessa vaiheessa lopulliset erolohkot edeltävien erolohkojen ja koodattujen edeltävien erolohkojen välillä koodataan käyttäen viimeistä 5 koodikirjaa, sanottuja erolohkoja varten olevien koodikirjojen sisältäessä ope-tuseromateriaalilla opetettuja koodivektoreita, tunnettu siitä, että vähintään yksi erojen koodaamiseksi käytetty koodikirja on painotettu tietylle taa-juusjakaumalle, ja kooderi käsittää arviointivälineet asettamaan tarvittava määrä tarvittavia vaiheita tietylle vaiheelle.
29. Patenttivaatimuksen 28 mukainen kooderi, tunnettu siitä, että vähintään yhdessä vaiheessa erolohkot jaetaan alilohkoihin käytettäväksi erolohkoina seuraavassa vaiheessa.
30. Patenttivaatimuksen 28 mukainen kooderi, tunnettu siitä, että vähintään yhdessä sanotuista vaiheista käytetään useampaa kuin yhtä 15 koodikirjaa.
31. Patenttivaatimuksen 29 mukainen kooderi, tunnettu siitä, että vähintään yhdessä sanotuista vaiheista käytetään useampaa kuin yhtä koodikirjaa
32. Patenttivaatimuksen 28 mukainen kooderi, tunnettu siitä, 20 että arviointivälineet käsittävät lisäksi kustannusfunktion, joka laskee lisävaiheen käytön kustannuksen.
·'··': 33. Patenttivaatimuksen 32 mukainen kooderi, tunnettu siitä, V : että kustannusfunktio ottaa huomioon jäljellä olevan eron, ja käytettyjen bit- • ·« tien määrän, esittäen vaiheiden kustannusta, kyseisen lohkon koodaamista 25 varten.
·:*; 34. Patenttivaatimuksen 33 mukainen kooderi, tunnettu siitä, että bittien määrä painotetaan. t · *
35. Patenttivaatimuksen 29 mukainen kooderi, tunnettu siitä, että arviointivälineet käsittävät lisäksi kustannusfunktion, joka laskee lisävai- 30 heen käytön kustannuksen.
36. Patenttivaatimuksen 35 mukainen kooderi, tunnettu siitä, että kustannusfunktio ottaa huomioon jäljellä olevan eron, ja käytettyjen bit-tien määrän, esittäen vaiheiden kustannusta, kyseisen lohkon koodaamista ! varten. ' _ . 35
37. Patenttivaatimuksen 36 mukainen kooderi, tunnettu siitä, että bittien määrä painotetaan. 21 1 12424
38. Patenttivaatimuksen 30 mukainen kooderi, tunnettu siitä, että arviointivälineet käsittävät lisäksi kustannusfunktion, joka laskee kustannuksen lisävaiheen käytölle.
39. Patenttivaatimuksen 38 mukainen kooderi, tunnettu siitä, 5 että kustannusfunktio ottaa huomioon jäljellä olevan eron, ja käytettyjen bittien määrän, esittäen vaiheiden kustannusta, kyseisen lohkon koodaamista varten.
40. Patenttivaatimuksen 39 mukainen kooderi, tunnettu siitä, että bittien määrä painotetaan.
41. Patenttivaatimuksen 31 mukainen kooderi, tunnettu siitä, että arviointivälineet käsittävät lisäksi kustannusfunktion, joka laskee kustannuksen lisävaiheen käytölle.
42. Patenttivaatimuksen 41 mukainen kooderi, tunnettu siitä, että kustannusfunktio ottaa huomioon jäljellä olevan eron, ja käytettyjen bit- 15 tien määrän, esittäen vaiheiden kustannusta, kyseisen lohkon koodaamista varten.
43. Patenttivaatimuksen 42 mukainen kooderi, tunnettu siitä, että bittien määrä painotetaan.
44. Dekooderi, joka käyttää koodikirjoja koodatun erodatan pak- 20 kauksen purkuun, tunnettu siitä, että vähintään yksi koodikirjoista on painotettu tietylle taajuusjakaumalle. • - · • · • 1 1 • 1 · • · • · * · 1 • iii« · 1 • r • | • 1 · i 1 I I • · · • · • · » 22 1 12424
FI20012095A 2001-10-30 2001-10-30 Koodausmenetelmä ja -järjestely FI112424B (fi)

Priority Applications (6)

Application Number Priority Date Filing Date Title
FI20012095A FI112424B (fi) 2001-10-30 2001-10-30 Koodausmenetelmä ja -järjestely
US10/001,861 US20030081852A1 (en) 2001-10-30 2001-11-19 Encoding method and arrangement
EP02396159A EP1324618A3 (en) 2001-10-30 2002-10-29 Encoding method and arrangement
KR1020020066341A KR20030036021A (ko) 2001-10-30 2002-10-30 인코딩 방법 및 배열
JP2002315144A JP2003188733A (ja) 2001-10-30 2002-10-30 符号化方法及び装置
CN02146094A CN1418014A (zh) 2001-10-30 2002-10-30 编码方法和编码装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20012095 2001-10-30
FI20012095A FI112424B (fi) 2001-10-30 2001-10-30 Koodausmenetelmä ja -järjestely

Publications (3)

Publication Number Publication Date
FI20012095A0 FI20012095A0 (fi) 2001-10-30
FI20012095A FI20012095A (fi) 2003-05-01
FI112424B true FI112424B (fi) 2003-11-28

Family

ID=8562146

Family Applications (1)

Application Number Title Priority Date Filing Date
FI20012095A FI112424B (fi) 2001-10-30 2001-10-30 Koodausmenetelmä ja -järjestely

Country Status (6)

Country Link
US (1) US20030081852A1 (fi)
EP (1) EP1324618A3 (fi)
JP (1) JP2003188733A (fi)
KR (1) KR20030036021A (fi)
CN (1) CN1418014A (fi)
FI (1) FI112424B (fi)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001017229A1 (fr) * 1999-08-27 2001-03-08 Celartem Technology Inc. Procede de compression d'image
AU2003223391A1 (en) * 2002-03-28 2003-10-13 Color Savvy Systems Limited Method for segmenting an image
US7386049B2 (en) * 2002-05-29 2008-06-10 Innovation Management Sciences, Llc Predictive interpolation of a video signal
US7129954B2 (en) * 2003-03-07 2006-10-31 Kabushiki Kaisha Toshiba Apparatus and method for synthesizing multi-dimensional texture
US8824553B2 (en) 2003-05-12 2014-09-02 Google Inc. Video compression method
JP4617644B2 (ja) * 2003-07-18 2011-01-26 ソニー株式会社 符号化装置及び方法
BRPI0515453A (pt) * 2004-09-17 2008-07-22 Matsushita Electric Ind Co Ltd aparelho de codificação escalável, aparelho de decodificação escalável, método de codificação escalável método de decodificação escalável, aparelho de terminal de comunicação, e aparelho de estação de base
US20060080090A1 (en) * 2004-10-07 2006-04-13 Nokia Corporation Reusing codebooks in parameter quantization
FR2879387B1 (fr) * 2004-12-15 2007-04-27 Tdf Sa Procede de transmission a debit binaire variable a travers un canal de transmission.
AU2005239628B2 (en) * 2005-01-14 2010-08-05 Microsoft Technology Licensing, Llc Reversible 2-dimensional pre-/post-filtering for lapped biorthogonal transform
JP2006295829A (ja) * 2005-04-14 2006-10-26 Nippon Hoso Kyokai <Nhk> 量子化装置、量子化プログラム、及び信号処理装置
US7692647B2 (en) * 2006-09-14 2010-04-06 Microsoft Corporation Real-time rendering of realistic rain
US8819525B1 (en) * 2012-06-14 2014-08-26 Google Inc. Error concealment guided robustness
USD759062S1 (en) 2012-10-24 2016-06-14 Square, Inc. Display screen with a graphical user interface for merchant transactions
GB2513110A (en) * 2013-04-08 2014-10-22 Sony Corp Data encoding and decoding

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI92272C (fi) * 1992-05-20 1994-10-10 Valtion Teknillinen Kuvansiirtojärjestelmän tiivistyskoodausmenetelmä
US5398069A (en) * 1993-03-26 1995-03-14 Scientific Atlanta Adaptive multi-stage vector quantization
US5909513A (en) * 1995-11-09 1999-06-01 Utah State University Bit allocation for sequence image compression

Also Published As

Publication number Publication date
FI20012095A (fi) 2003-05-01
FI20012095A0 (fi) 2001-10-30
CN1418014A (zh) 2003-05-14
EP1324618A3 (en) 2004-06-09
KR20030036021A (ko) 2003-05-09
JP2003188733A (ja) 2003-07-04
US20030081852A1 (en) 2003-05-01
EP1324618A2 (en) 2003-07-02

Similar Documents

Publication Publication Date Title
US7162091B2 (en) Intra compression of pixel blocks using predicted mean
US7181072B2 (en) Intra compression of pixel blocks using predicted mean
US9674541B2 (en) Method, medium, and apparatus encoding and/or decoding an image using the same coding mode across components
FI112424B (fi) Koodausmenetelmä ja -järjestely
US7072397B2 (en) Optimal encoding of motion compensated video
AU2005201366B2 (en) Predictive lossless coding of images and video
US7684489B2 (en) Method and apparatus for video compression
KR20180069818A (ko) 넌-4:4:4 크로마 서브-샘플링의 디스플레이 스트림 압축 (dsc) 을 위한 엔트로피 코딩 기법들
KR20190132399A (ko) 컬러 영역 매핑을 위한 방법 및 디바이스
CN100579233C (zh) 变换域中零的早期检测
US11394987B2 (en) Chroma samples from luma samples prediction for video coding
EP3588964A1 (en) Metadata translation in hdr distribution
US7564382B2 (en) Apparatus and method for multiple description encoding
US9693057B2 (en) Integer transform video compression system, method and computer program product
US20220182643A1 (en) No Reference Image Quality Assessment Based Decoder Side Inter Prediction
FI113931B (fi) Menetelmä ja järjestelmä HCVQ-vektorikirjaston muodostamiseksi
US20050129110A1 (en) Coding and decoding method and device
WO2017010924A1 (en) Pixel pre-processing and encoding
Singh et al. A brief introduction on image compression techniques and standards
Le Dauphin et al. Prediction-guided quantization for video tone mapping
Grajek Rate-Distortion Optimized Quantization in Motion JPEG
Bartkowiak et al. Vector representation of chrominance for very low bit rate coding of video
EP3528201A1 (en) Method and device for controlling saturation in a hdr image
KR0171750B1 (ko) 피티에스 벡터양자화를 이용한 호환 부호기
Akramullah et al. Digital Video Compression Techniques