FI107495B - Menetelmä ja järjestely koodatun digitaalisen kuvabittivirran volyymin tai tahdin pienentämiseksi - Google Patents

Menetelmä ja järjestely koodatun digitaalisen kuvabittivirran volyymin tai tahdin pienentämiseksi Download PDF

Info

Publication number
FI107495B
FI107495B FI991721A FI19991721A FI107495B FI 107495 B FI107495 B FI 107495B FI 991721 A FI991721 A FI 991721A FI 19991721 A FI19991721 A FI 19991721A FI 107495 B FI107495 B FI 107495B
Authority
FI
Finland
Prior art keywords
att
bit stream
dct
den
för
Prior art date
Application number
FI991721A
Other languages
English (en)
Swedish (sv)
Other versions
FI19991721A (fi
Inventor
Markku Vehvilaeinen
Original Assignee
Nokia Multimedia Network Termi
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 Nokia Multimedia Network Termi filed Critical Nokia Multimedia Network Termi
Priority to FI991721A priority Critical patent/FI107495B/fi
Priority to EP00116467A priority patent/EP1079636A1/en
Publication of FI19991721A publication Critical patent/FI19991721A/fi
Application granted granted Critical
Publication of FI107495B publication Critical patent/FI107495B/fi
Priority to US11/299,180 priority patent/US20060088098A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

107495
Menetelmä ja järjestely koodatun digitaalisen kuvabittivirran volyymin tai tahdin pienentämiseksi - Metod och arrangemang för att reducera volymen eller farten av en kodad digital videobitström 5 Keksinnön teknisenä alana on yleisesti digitaalisten kuvasignaalien käsittely. Erityisesti keksintö koskee tekniikkaa koodattua digitaalista kuvasignaalia kuljettavan bittivirran volyymin tai tahdin pienentämiseksi. Bittivirran volyymi tarkoittaa yleisesti käsiteltävänä olevien bittien määrää, ja bittivirran tahti tarkoittaa yleisesti bittimäärää sekunnissa, joka tarvitaan bittivirran välittämiseen kahden pisteen välillä.
10 Kuvan digitaalinen esitysmuoto tuotetaan yleensä niin, että tavallisesti jatkuva kuvataso muunnetaan kartaksi, jossa on tiheässä kuva-alkioiksi tai pikseleiksi kutsuttuja kuvaelementtejä, ja jokaiselle pikselille annetaan arvo tai joukko arvoja, jotka edustavat sen väriä, kirkkautta ja/tai muita visuaalisia ominaisuuksia. Raaka digitaalinen kuvasignaali on olennaisesti jatkuva virta peräkkäisiä kiintokuvia, joissa jokaisen 15 kuvan pikseleitä edustavat niiden digitaaliset arvot. Sellaisen bittivirran volyymi on hyvin riippuvainen käytetystä resoluutiosta ja se on yleensä suhteellisen suuri. Erilaisia kuvasignaalin pakkausmenetelmiä on esitetty digitaalisen kuvabittivirran koodaamiseksi pakattuun muotoon siirron ja tallennuksen helpottamiseksi. Seuraavassa kerrataan lyhyesti tunnetun kuvasignaalin pakkaus- ja purkumenetelmän MPEG-2 : j 20 tärkeimpiä ominaisuuksia. Lyhenne tulee sanoista Motion Picture Experts Group.
MPEG-2-tyyppinen digitaalisen kuvan koodaus tapahtuu pääasiassa niin, että kuva * * jaetaan 8x8 pikselin lohkoihin, jokaiseen lohkoon käytetään kaksiulotteista DCT:tä eli diskreettiä kosinimuunnosta lohkon kolmiulotteisen taajuussisällön muuntami- • · · V : seksi sarjaksi DCT-kertoimia, DCT-kertoimet painotetaan ja kvantisoidaan tietyllä : : 25 kvantisointimatriisilla, käytetään VLC- eli vaihtuvamittaista koodausmetodia paino tettujen ja kvantisoitujen DCT-kertoimien esitysmuodon tiivistämiseen ja pakataan tulos yhdessä tiettyjen lisätietojen kanssa tiettyihin standardoituihin tietorakenteisiin . · · ·. siirtoa ja/tai tallennusta varten. MPEG-2-dekooderi ottaa sellaisista standardoiduista tietorakenteista koostuvan bittivirran ja muodostaa uudelleen kuvien pikseliarvot : : 30 dekoodaamalla VLC.n, dekvantisoimalla DCT-kertoimien ryhmät, jotka kuvaavat : jokaista lohkoa ja käyttämällä käänteistä DCT:tä lohkon alkuperäisen kolmiulottei- .:. sen taajuussisällön palauttamiseen. Dekoodatuista lohkoista muodostettu dekoodat tu digitaalinen kuvasignaali voidaan sitten ohjata esimerkiksi näyttölaitteeseen.
107495 2
Edellä kuvattuihin lohkotason toimintoihin tehdään joukko muutoksia sen mukaan, kuuluuko kyseinen lohko I-kuvaan, P-kuvaan vai B-kuvaan. Näistä I-kuva eli sisäisesti koodattu kuva (engl. intra-coded picture) on itsenäisesti koodattu kuva, joka voidaan myös dekoodata ilman viittausta muihin kuviin, P-kuva (engl. predicted 5 picture) eli ennakoitu kuva sisältää joitakin viittauksia edelliseen I- tai P-kuvaan ja B-kuva eli kaksisuuntaisesti koodattu kuva (engl. bidirectionally coded picture) voi viitata joko edelliseen tai tulevaan I- tai B-kuvaan tai sekä edelliseen että tulevaan I-tai B-kuvaan. Tässä termit ’’edellinen” ja ’’tuleva” viittaavat kuvien esitysjäijestyk-seen eikä niiden lähetysjärjestykseen, joka voi olla erilainen. I-, P- ja B-kuvat vaih-10 televat ennalta määritettyjen sääntöjen mukaisessa kuvasekvenssissä.
Kuva 1 on lohkokaavio tunnetusta MPEG-2-kooderista. Kuvakehysten saga syötetään kohdassa 101 esikäsittely-ja kehysten uudelleenjärjestämislohkoon 102, jonka ulostulo kytketään vahntakytkimellä 103 DCT-kooderin 104 sisäänmenoon. Yhdessä kytkimellä 103 valittavissa olevista haaroista on vähennyslaskuyksikkö 105. 15 DCT-kooderin 104 ulostulosta on kvantisointilohkon 106, VLC-kooderin 107 ja lähetyspuskurin 108 sarjaliitäntä koko MPEG-2-kooderin ulostuloon 109. Esikäsittely- ja kehysten uudelleenjäijestämislohkon 102 ulostulosta ja lähetyspuskurista 108 on yhteydet bittinopeuden hallintayksikköön 110, jonka ulostulo ohjaa kvantisointilohkon 106 toimintaa. Kvantisointilohkon 106 ulostulosta on myös käänteisen 20 kvantisointilohkon 111, käänteisen DCT-lohkon 112 ja yhteenlaskuyksikön 113 . sarjaliitäntä kaksoiskytkimeen 114, joka on järjestetty kytkemään yhteenlaskuyksi- . . kön 113 ulostulo joko ensimmäisen kehysmuistin 115 tai toisen kehysmuistin 116 ’; ‘: sisäänmenoon. Kehysmuistien 115 ja 116 ulostulot on kytketty sekä liikkeen kom- • '' pensointilohkoon 117 että liikkeen arviointilohkoon. Ensinmainittu tuottaa toisen si- 25 säänmenosignaalin sekä vähennyslaskuyksikköön 105 että yhteenlaskuyksikkööi; : 113. Liikkeen arviointilohko saa lisäsyötteen esikäsittely-ja kehysten uudelleenjär- ::: jestyslohkon 102 ulostulosta, ja se tuottaa liikevektorit sekä liikkeen kompensointi- lohkolle 117 että VLC-kooderille 107.
• *./ Kuva 2 on lohkokaavio tunnetusta MPEG-2-dekooderista. Dekooderin sisäänmenos- ···' 30 ta 201 on vastaanottopuskurin 202, VLC-dekooderin 203, käänteisen kvantisointi- ·:··: lohkon 204 ja käänteisen DCT-lohkon 205 sarjaliitäntä yhteenlaskuyksikön 206 en- simmäiseen sisäänmenoon. Ensimmäinen kolmitilainen kytkin 207 kytkee yhteenlaskuyksikön 206 ulostulon vuorotellen ensimmäiseen 208, toiseen 209 tai kolman-•;;; teen 210 kehysmuistiin. Toinen kolmitilainen kytkin 211 kytkee vuorotellen ensim- * · ’ 35 mäisen 208, toisen 209 tai kolmannen 210 kehysmuistin ulostulon koko dekooderin ulostuloon 212. VLC-dekooderista 203 on yhteys liikkeen kompensointilohkoon 107495 3 213 vastaanotetusta signaalista poistettujen liikevektoreiden tuottamiseksi. Liikkeen kompensointilohkon 213 muut sisäänmenot tulevat toisen 209 ja kolmannen 210 ke-hysmuistin ulostuloista. Liikkeen kompensointilohkon 213 ulostulo on kytketty yh-teenlaskuyksikön 206 toiseen sisäänmenoon kytkimellä 214.
5 Kuvan 1 esittämän kooderin ulostuloon tuotettu pakattu MPEG-2-kuvasignaali järjestetään kuvan 3 esittämän kuusitasoisen hierarkian mukaisesti. Ylin taso on sek-venssikerros, jossa kuvan 3 esittämässä esimerkinomaisessa signaalissa on kolme ketjutettua kuvasekvenssiä. Jokainen kuvasekvenssi alkaa otsikko-osalla, jossa on sekvenssin aloituskoodi, sekvenssin otsikko ja sekvenssin laajennusosa. Otsikko-osa 10 voidaan toistaa missä tahansa kuvasekvenssin osissa. Kuvasekvenssin loppu on merkitty sekvenssin loppukoodilla.
Toiseksi ylin taso on GOP (engl. group of pictures) -taso eli kuvaryhmätaso, jossa kuvaryhmä sisältää tyypillisesti yhden I-kuvan ja mielivaltaisen määrän P- ja B-kuvia. Kuvasekvenssissä jokainen kuvaryhmä (GOP) alkaa GOP-aloituskoodilla ja 15 GOP-otsikolla, joita seuraa GOP:n kuvadataosa. Kuvakerroksesta näemme, että GOP:n kuvadataosassa jokainen kuva alkaa kuvan aloituskoodilla ja kuvan otsikolla, jossa on lisäksi laajennusosa. Näitä seuraa varsinainen kuvadata. On huomattava, että vaikka kuvan 3 kuvakerroksessa on esitetty vain yksi P-kuva ja yksi B-kuva, tyypillisessä kuvaryhmässä (GOP) voi olla 1-4 P-kuvaa ja 1-10 B-kuvaa.
: · · 20 Viipalekerroksessa varsinaisen kuvadatan nähdään koostuvan useista viipaleista. Jo- . : kainen viipale alkaa viipaleen aloituskoodilla ja viipaleen otsikolla, joita seuraa ai- nakin yksi makrolohko. Makrolohkokerroksessa makrolohkon nähdään koostuvan ' . ; joukosta makrolohkoattribuutteja, joukosta liikevektoreita ja ryhmästä lohkoja. Loh kojen määrä jokaisessa makrolohkossa on kiinteä, joten siinä on neljä luminanssi-25 lohkoa, yksi U-krominanssilohko ja yksi V-krominanssilohko. Krominanssiresoluu-*·* * tio on puolet luminanssiresoluutiosta sekä vaaka- että pystysuunnassa, mikä tarkoit taa sitä, että U- ja V-krominanssilohkojen kolmiulotteinen peitto makrolohkossa on sama kuin neljän luminanssilohkon yhdistetty kolmiulotteinen peitto. Lohkokerrok-sessa jokaisen lohkon nähdään koostuvan lohkon DCT-kertoimista, joita seuraa loh-30 kon loppukoodi.
• · • « 1 \: Seuraavaksi tarkastellaan yksityiskohtaisemmin kuvan 3 esittämän signaalin muo- dostamisen eri vaiheita kuvan 1 esittämällä kooderilla. DCT-kooderi 104 ottaa yh-.···. den 8x8 pikselin lohkon kerrallaan ja laskee kaksiulotteisen diskreetin kosini- muunnoksen, jonka tuloksena on 64 kerrointa, jotka kuvaavat lohkon kolmiulotteista 35 taajuussisältöä. Yksi kertoimista (ensimmäinen yleisessä matemaattisessa esitystä- 107495 4 vassa) on ns. DC-kerroin, joka on verrannollinen lohkon pikselien keskiarvoon. Muut kertoimet on tunnettu AC-kertoimina. Perinteisesti kertoimet voidaan esittää 8x8 matriisimuodossa, jossa DC-kerroin on vasemmassa yläkulmassa. AC-kertoi-met sijaitsevat matriisissa siten, että jokaisen kertoimen etäisyys vasemmasta ylä-5 kulmasta on verrannollinen kyseisen kertoimen edustamaan taajuuteen: kauimpana olevat kertoimet edustavat suurimpia kolmiulotteisia taajuuksia. Lisäksi kertoimen paikan ja vasemman yläkulman välille vedetyn kuvitteellisen viivan suunta vastaa kertoimen edustaman kolmiulotteisen taajuuden suuntaa.
Jokaisen lohkon DCT-kertoimien 8x8 matriisia ei lähetetä sellaisenaan, vaan pai-10 notetussa, kvantisoidussa ja vaihtuvamittaisesti koodatussa (VLC) muodossa. Painotus tarkoittaa, että jokainen DCT-kerroinmatriisin elementti jaetaan 8x8 painotus-matriisin vastaavalla elementillä. Kvantisointi ja VLC-koodaus tarkoittaa silloin sitä, että jokainen osamäärä pyöristetään lähimpään kokonaislukuun ja tulokset esitetään koodisanamuodossa: jokainen pyöristetty osamäärä sovitetaan koodisanaan, joka 15 osoittaa yksikäsitteisesti sekä pyöristetyn osamäärän arvon että mainitun osamäärän ja edellisen ei-nollamääräisen osamäärän välillä mahdollisesti esiintyvien nollien määrän, kun osamäärät luetaan 8x8 matriisista ennalta määritetyssä siksak-muodossa, jota esittää viiva 401 kuvassa 4. Peräkkäisten vakioarvojen jaksojen koodaaminen koodisanoiksi sen sijaan, että lähetettäisiin arvot eksplisiittisesti, tunne-20 taan myös jaksokoodauksena.
:Kvantisointimatriisin luonnollinen muoto on sellainen, että sen elementtien arvoilla ‘ ; on taipumus kasvaa sitä suuremmiksi, mitä kauempana ne ovat vasemmasta yläkul- : ·.. masta. Tämän vuoksi useimmissa painotetuissa kerroinmatriiseissa on tietty viimei- •: · ·: nen ei-nollamääräinen osamäärä, jonka jälkeen muut osamäärät (luettuna mainitussa 25 siksak-muodossa) ovat niin pieniä, että niiden pyöristäminen lähimpään kokonaislu- . ·: ·. kuun tuottaa vain nollia. Suhteellinen määrä kuva-aktiviteettia koodattavissa kuvissa • · · voidaan tasapainottaa valitsemalla sopiva painotusmatriisi: kun painotusmatriisin elementtien arvot kasvavat jyrkästi, painotetun ja kvantisoidun kerroinmatriisin *./ nollaosan suhteellinen koko kasvaa, mikä yhdessä edellä mainitun jaksokoodauksen ·;·* 30 kanssa merkitsee vähemmän tuotettuja bittejä lohkoa kohti. Painotus- ja kvantisoin- •:: tioperaatio aiheuttaa luonnollisesti kuvainformaation häviämistä, jolloin toistettavis- sa olevan kuvanlaadun kannalta on edullista pitää painotuksen ja kvantisoinnin ’’nollausvaikutus” mahdollisimman pienenä niin kauan kuin tuotetun bittivirran vo-·;;; lyymi tai tahti on ennalta määritettyjen rajojen sisällä. Painotusmatriisit voivat olla ’···' 35 erilaisia jokaiselle kuvalle, mikä tarkoittaa sitä, että jokainen kuvan 3 kuvakerrok- sessa nähty kuvaotsikko voi sisältää uuden kvantisointimatriisin (itse asiassa sallitut 5 107495 kvantisointimatriisit ovat toistensa lineaarisia monikertoja, jolloin kuvaotsikon tarvitsee sisältää vain kerroin, jolla saadaan voimassa oleva kvantisointimatriisi tietystä ennalta määritetystä oletusmatriisista).
MPEG-2-spesifikaatioissa esitellään ns. VBV-mekanismi eli virtuaalipuskurivarmis-5 tin (engl. Virtual Buffer Verifier), jolla ohjataan koodatun bittivirran tuottamisno-peutta. VBV:n tavoitteena on varmistaa, että on mahdollista dekoodata koodattu bittivirta dekooderilla, jolla on määrätyn kokoinen syöttöpuskuri. Virtuaalipuskuri on hypoteettinen FIFO-puskurimuisti, jonka ajatellaan olevan suoraan kytketty koo-derin ulostuloon. Virtuaalipuskurin koko bitteinä ilmoitetaan sekvenssin otsikossa. 10 Kuvasekvenssin koodauksen alussa virtuaalipuskuri ’’täytetään” tiettyyn bittivirrassa määritettyyn täyttöasteeseen. Tämän jälkeen puskurin täyttöaste tarkistetaan jokaisen kuva-aikavälin jälkeen ennen sitä ja sen jälkeen, kun puskurista poistetaan ne kuvaan kuuluvat bitit, jotka ovat olleet puskurissa pisimpään. Sekä ennen bittien poistamista että sen jälkeen puskurissa olevien bittien määrän on jäätävä nollan ja 15 B:n välille, jossa B on virtuaalipuskurin koko bitteinä. Mitä suurempi on virtuaali · puskurin koko, sitä enemmän yksittäisen kuvan koodaamisen tuottamien bittien määrän sallitaan poikkeavan keskimääräisestä. Jos virtuaalipuskurin täyttöasteen tarkistus osoittaa vajaatäyttöä, virtuaalipuskurista poistettu koodattu kuva käytti liian monta bittiä: pakkaamista on lisättävä käyttämällä jyrkempää painotusmatriisia. Jos 20 havaitaan virtuaalipuskurin ylivuoto, se osoittaa, että bittiviran volyymi on pu-. toamassa määritetyn minimirajan alapuolelle, ja se korjataan lisäämällä bittivirtaan ! ! täyttöbittejä.
Ongelma, jonka tämä keksintö pyrkii ratkaisemaan, on se, että kun kooderi on tuot-•: · ·: tanut koodattua digitaalista kuvasignaalia kuljettavan bittivirran, sen volyymi tai 25 tahti on vakio. Sen siirtämiseen kahden pisteen välillä tarvitaan tietty ennalta määri-tetty siirtokapasiteetti, ja tietty ennalta määritetty tallennuskapasiteetti tarvitaan esi- • · · merkiksi koko kuvasekvenssin tallentamiseen tallennusvälineelle myöhempää käyttöä varten. Olisi edullista, jos käyttäjä tai joku muu bittivirran lähetykseen, tallenta-*. t * miseen tai käyttöön osallistuva osapuoli voisi sovittaa bittivirran volyymin tai tahdin ·;·" 30 käytettävissä olevaan lähetys-tai tallennuskapasiteettiin.
• · ,,, Erilaisia tunnettuja kuvansuodatustekniikoita voidaan käyttää kuvan yksinkertais- *: ’ tautiseen: on esimerkiksi mahdollista ottaa toistuvasti joukko vierekkäisiä pikseleitä * ..li’ ja korvata ne pienemmällä määrällä vierekkäisiä pikseleitä, joiden arvot saadaan al- kuperäisten pikseleiden arvoista tietyllä keskiarvoistusmenetelmällä. Pikselien ko-35 konaismäärän vähentäminen jokaisessa kuvassa luonnollisesti pienentää kuvista koostuvan bittivirran volyymia tai tahtia. Toinen tapa on rajoittaa niiden bittien , 107495 määrää, jotka ovat käytettävissä osoittamaan jokaiseen pikseliin liittyvää arvoa tai siihen liittyviä arvoja, jolloin tuloksena on pienempi määrä erilaisia sävyjä kuvassa. Kuitenkin kaikki sellaiset kuvansuodatustekniikat, joissa suodatus tapahtuu pikseli-tasolla, vaativat koodatun digitaalisen kuvasignaalin dekoodaamista kokonaan, eli 5 alkuperäiset kuvat palautetaan ennen kuin suodatus on mahdollista, ja koodataan uudelleen suodatuksen jälkeen. Bittivirran dekoodaus ja uudelleenkoodaus kokonaan vain sen volyymin tai tahdin pienentämiseksi vaatii huomattavasti aikaa ja muita resursseja.
Voitaisiin ehdottaa vaihtoehtoista tapaa bittivirran volyymin tai tahdin pienentämi-10 seksi, jossa kokonaisia kuvia leikattaisiin pois koodatusta bittivirrasta dekoodaamat-ta sitä muuten. Jotta näyttönopeus ei muuttuisi, poistetut kuvat pitäisi korvata jonkinlaisilla koodeilla, jotka ohjaavat näyttölaitetta kaiuttamaan edellisen kuvan tai muuten täyttämään kuvasekvenssissä olevan aukon. Tämän keinon haittana on se, että sellaisten koodien lisääminen jo käytössä olevaan standardiin on hyvin vaikeaa: 15 vain uudet tai uudelleen ohjelmoidut näyttölaitteet ymmärtäisivät koodit oikein. Lisäksi kuvien poistaminen aiheuttaa helposti nykimistä näytetyissä kuvissa.
Tämän keksinnön tavoitteena on esittää menetelmä ja järjestely koodatun digitaalisen kuvasignaalin volyymin tai tahdin pienentämiseksi. Erityisesti keksinnön tavoitteena on aikaansaada volyymin tai tahdin pienentäminen niin, ettei se edellytä 20 muutosten tekemistä nykyisiin koodausstandardeihin. Keksinnön tavoitteena on : ‘: myös se, että tämän menetelmän ja jäljestetyn toteuttaminen olisi valmistuksen kan- L*·· naita yksinkertaista ja edullista. Lisäksi keksinnön tavoitteena on se, että kyseinen . menetelmä ja järjestely olisi helposti yhdistettävissä erilaisiin nykyisiin ja tuleviin •: · · · signaalinkäsittely)’ ärj estetyihin.
» · · ♦ · · ;*/ 25 Keksinnön tavoitteet saavutetaan dekoodaamalla koodattu digitaalinen signaali osit- • « · *·' ’ tain, käyttämällä alipäästösuodatusta ja/tai skaalaamalla uudelleen osittain dekoodat tuun signaaliin ja koodaamalla tulos uudelleen täysin koodattuun muotoon.
e « .·*·. Keksinnön mukaisessa menetelmässä on seuraavat tunnusomaiset menetelmävai- heet: * ’ 30 -koodatun digitaalisen kuvabittivirran dekoodaaminen osittain, jolloin saadaan :: osittain dekoodattu digitaalinen kuvabittivirta, - bittien määrän vähentäminen osittain dekoodatussa digitaalisessa kuvabittivirrassa I'·’: Ja - osittain dekoodatun digitaalisen kuvabittivirran, jossa bittien määrää on vähennet-35 ty, koodaaminen uudelleen, jolloin saadaan uudelleen koodattu digitaalinen kuva- 107495 7 bittivirta, jonka volyymi tai tahti on pienempi kuin koodatun digitaalisen kuvabitti-virran, joka täyttää tietyn joukon ennalta määritettyjä rakenteellisia sääntöjä.
Keksintö koskee myös järjestelyä, jonka tunnusomaisia piirteitä ovat - välineet koodatun digitaalisen kuvabittivirran dekoodaamiseksi osittain, 5 - välineet bittien määrän vähentämiseksi osittain dekoodatussa digitaalisessa kuva- bittivirrassa ja - välineet osittain dekoodatun digitaalisen kuvabittivirran, jossa bittien määrää on vähennetty, koodaamiseksi uudelleen.
Keksintö perustuu näkemykseen, että koodattua digitaalista kuvasignaalia ei tarvitse 10 dekoodata kokonaan, jotta päästäisiin tasolle, jolla on mahdollista tuottaa jopa hyvin suuria vaihteluita bittivirran volyymiin tai tahtiin tekemättä perustavaa laatua olevia muutoksia sen perusrakenteeseen. Keksinnön mukaisesti bittivirtaa jälkikäsitellään muodossa, joka on jossakin täysin koodatun ja täysin dekoodatun muodon välillä. Taso, jolla jälkikäsittely suoritetaan ja ne bittivirran osat (tai se osa), jolle tämä kä-15 sittely suoritetaan, valitaan niin, että volyymin tai tahdin pienentämisen haitalliset vaikutukset signaalin havaittavaan laatuun pysyvät hallinnassa. Jälkikäsittely voidaan tehdä mukautuvaksi valitsemalla sen siirtofunktio signaalin tiettyjen ennalta määritettyjen ominaisuuksien mukaisesti.
MPEG-2-järjestelmän puitteissa sopiva taso, jolla keksintöä sovelletaan, on DCT- : · · · 20 kertoimien ja niiden kvantisoinnin taso. Keksintöön johtaneessa tutkimuksessa ha- : valttiin, että pelkkä DCT-kertoimien skaalaaminen uudelleen ei ole edullista, koska : ·. jopa suhteellisen vaatimaton uudelleenskaalauksen taso tekee helposti lohkojen rajat näkyviksi toistetussa kuvassa. Toisaalta taas havaittiin, että DCT-kertoimien alipääs- ... tösuodatus eli avaruustaajuuskomponenttien suhteellisten suuruuksien muuttaminen ’ 25 lohkossa alempia taajuuksia painottaen ja mahdollisesti yhdistettynä uudelleenskaa- • · · *·' ' laukseen tuotti erinomaisia tuloksia. Alipäästösuodatuksen toteuttamiseksi alkupe räisen MPEG-2-bittivirran sisältämille painotetuille, kvantisoiduille ja VLC-koodatuille kerroinmatriiseille suoritetaan VLC-dekoodaus, jonka jälkeen suorite-\ : taan (uudelleenskaalaus- ja) suodatusvaihe(et) ja tulokset VLC-koodataan uudel- 30 leen. Näitä toimenpiteitä täydentää joukko tukivaiheita, jotka varmistavat, että • · ... (uudelleenskaalauksen ja) alipäästösuodatuksen ja VLC-uudelleenkoodauksen jäl- *:* keen MPEG-2-bittivirta, jonka volyymia tai tahtia on pienennetty, voidaan muodos- taa uudelleen rikkomatta MPEG-2-muotoa koskevia yleisiä sääntöjä.
Taajuusvasteen valitseminen alipäästösuodattimelle voidaan tehdä useita vaihtoeh-35 toisia strategioita käyttämällä. On havaittu edulliseksi käyttää adaptiivista suodatin- 107495
O
ta, jonka taajuusvaste vastaa kuvalohkojen energiasisältöä joko lohkokohtaisesti tai käyttämällä jotakin muuta energiasisällön analysointimenetelmää. Edullisimmin lohkojen energiasisällön analyysissa otetaan erikseen huomioon erilaisiin avaruus-taajuussuuntiin, kuten vaakasuoraan, pystysuoraan ja diagonaaliseen liittyvät ener-5 giat.
Keksinnölle tunnusomaisina pidetyt uudet piirteet on esitetty erityisesti liitteenä olevissa patenttivaatimuksissa. Itse keksintöä, sen rakennetta ja toimintaa sekä sen muita tavoitteita ja etuja kuvataan havainnollisesti seuraavissa keksinnön toteutus-muotojen kuvauksissa sekä niihin liittyvissä piirustuksissa.
10 Kuva 1 esittää erästä tunnettua MPEG-2-kooderia,
Kuva 2 esittää erästä tunnettua MPEG-2-dekooderia,
Kuva 3 esittää MPEG-2-muotoillun bittivirran tunnettua hierarkkista rakennetta, Kuva 4 esittää DCT-kertoimien tunnettua siksak-lukujärjestystä,
Kuva 5 on lohkokaavio keksinnön eräästä edullisesta toteutusmuodosta, 15 Kuva 6a esittää erästä tiettyä suodatustoimintoa,
Kuva 6b esittää erästä DCT-kertoimien suuntaisuuden määritelmää ja « • · · · : Kuva? esittää keksinnön pakkausperiaatetta.
* · · • · : ’· Kuvia 1 ja 4 käsiteltiin edellä tunnetun tekniikan kuvauksen yhteydessä, joten jäl- ': ‘ : jempänä käsitellään pääasiassa kuvia 5, 6a, 6b ja 7.
• · · • » ·
* t I
20 Kuva 5 on lohkokaavio laitteesta, jota voidaan käyttää pienentämään syöttölinjassa
« I I
501 esiintyvän MPEG-2-koodatun bittivirran volyymia tai tahtia. Bittivirran analy-, sointilohko 502 on kytketty syöttöön 501. Siinä on neljä datalähtöä, jotka tunnetaan nimillä ’’koskematon” lähtö, ’’DCT-kertoimien” lähtö, ’’kvantisointimatriisien’’ lähtö ja ’’virtuaalipuskurin varmistimen” lähtö. Lisäksi bittivirran analysointilohkolla 502 ·:··· 25 on ohjauslähtö. Kuvassa 5 oikealla on multipleksointilohko 503, jossa on neljä data- :" ·. syöttöä, yksi ohjaussyöttö ja yksi lähtö, joista jälkimmäinen on kytketty koko lait- I I * teen ulostulolinjaan 504. Multipleksointilohkon 503 datasyötöillä on samat nimet • « · •;;; kuin bittivirran analysointilohkon 502 datalähdöillä.
Bittivirran analysointilohkon 502 ohjauslähtö on suoraan kytketty multipleksointi-30 lohkon 503 ohjaussyöttöön ja bittivirran analysointilohkon 502 ’’koskematon” lähtö 9 1C7495 on suoraan kytketty multipleksointilohkon 503 vastaavaan syöttöön. Bittivirran analysointilohkon 502 ”DCT-kertoimien” lähdön ja multipleksointilohkon 503 vastaavan syötön välillä on vaihtuvamittaisen dekooderin 505, uudelleenkvantisointi-lohkon 506, adaptiivisen DCT-suodatinlohkon 507 ja vaihtuvamittaisen uudelleen-5 koodauslohkon 508 sarjaliitäntä. Bittivirran analysointilohkon 502 ’’kvantisointi-matriisien” ulostulon ja multipleksointilohkon 503 vastaavan syötön välillä on matriisien elementtien kertolaskulohko 509 ja bittivirran analysointilohkon 502 ”vir-tuaalipuskurin varmistimen” lähdön ja multipleksointilohkon 503 vastaavan syötön välillä on VBV-arvojen muutoslohko 510. Uudelleenkvantisointilohkon 506 ja 10 matriisin elementtien kertolaskulohkon 509 välillä on ohjausyhteys. Vastaavasti vaihtuvamittaisesta dekooderista 505 ja uudelleenkoodauslohkosta 508 on ohjausyh-teydet VBV-arvojen muutoslohkoon 510.
Kuvan 5 esittämä järjestely toimii seuraavan kuvauksen mukaisesti.
Bittivirran analysointilohko 502 suorittaa demultipleksointitoiminnon, jossa VBV-15 arvot ja muut virtuaalipuskuriin liittyvät tiedot ohjataan VBV-arvojen muutoslohkoon 510, painotus- eli kvantisointimatriisit ohjataan matriisien elementtien kerto-laskulohkoon 509, DCT-kenOinmatriisit ohjataan vaihtuvamittaiseen dekooderiin 505 ja loput bittivirrasta ohjataan ’’koskemattoman” lähdön kautta multipleksointi-lohkon 503 vastaavaan syöttöön.
...: 20 Vaihtuvamittainen dekooderi 505 dekoodaa VLC-koodatut DCT-kenOinmatriisit ja : syöttää ne uudelleenkvantisointilohkoon 506, joka käyttää uudelleenkvantisointi- ;·. funktiota, jonka tarkoituksena on suurentaa alkuperäisessä koodausprosessissa käy- • · · tettyä kvantisointiaskelta. Keksinnön erään edullisen toteutusmuodon mukaan uudel- 1* leenkvantisointi on yksinkertainen jakolasku, myös uudelleenskaalaukseksi kutsuttu, * · · *1"' 25 jossa jokaisen kenoinmatriisin DCT-kertoimet jaetaan tietyllä parametrilla, jota voi- : daan merkitä a:lla. Tietystä syystä, joka selvitetään seuraavaksi, a:n arvon on py syttävä vakiona kaikissa lohkoissa, joille on käytetty samaa painotusmatriisia alku-’: ‘: peräisessä koodauksessa. Parametrin a edullisin arvo riippuu vähennyksen määrästä, ·”]: joka on saavutettava bittivirran volyymissa tai tahdissa. Mitä suurempi a:n arvo on, 30 sitä lähemmäksi nollaa uudelleenkvantisoidut DCT-kertoimet pyrkivät siirtymään, • · . ... mikä merkitsee enemmän pakkausta bittivirrassa. Toisaalta taas mitä lähempänä ’ *: *' yhtä a:n arvo on, sitä vähemmän pakkausta saadaan uudelleenkvantisoinnilla. Ai- kaisemmin on osoitettu, että uudelleenkvantisointi aiheuttaa helposti kuviin havait-tavia virheitä (esimerkiksi lohkojen rajat tahtovat tulla näkyviin), mikä tarkoittaa si-35 tä, että ei ole edullista käyttää runsaasti uudelleenkvantisointia bittivirran volyymin 107495 10 tai tahdin pienentämiseen. Sopivat a:n arvot voidaan löytää kokeilemalla. Keksintö ei edellytä uudelleenkvantisoinnin käyttöä lainkaan, eli a:n arvo voi hyvin olla 1.
Uudelleenkvantisoidut DCT-kerroinmatriisit ohjataan DCT-suodatinlohkoon 507, joka käyttää tiettyä siirtofunktiota, joka on edullisimmin alipäästötyyppiä: pienimpiä 5 avaruustaajuuksia edustavat DCT-kertoimet säilytetään, kun taas suurempia ava-ruustaajuuksia edustavien DCT-kertoimien arvoja pienennetään tai ne jopa nollataan. Suositus käyttää yleisesti alipäästötyyppistä suodatusstrategiaa johtuu siitä havainnosta, että juuri suuremmat avaruustaajuudet aiheuttavat edellä mainittuja loh-kovirheitä. Keksintö ei rajoita siirtofunktion varsinaista muotoa. Seuraavaksi kuva-10 taan tarkemmin joitakin mahdollisia siirtofunktioita.
Suodatuksen havainnollistamiseksi voidaan käyttää geometrista mallia, jossa siirto-funktio on ensin määritelty tietyksi kaksiulotteiseksi käyräksi ordinaatta-arvojen Oja 7 välillä ja muunnettu kolmiulotteiseksi pinnaksi kiertämällä sitä pystysuoran koor-dinaattiakselin ympäri 90 astetta. Kuva 6a esittää pintaa, joka on muodostettu kier-15 tämällä tunnettua Gaussin käyrää, joka tunnetaan myös (1 2 1) alipäästösuodatus-vasteena, sovitettuna alueelle 0-7, pystysuoran akselin ympäri. Suodatus tällä siirtofunktiolla tarkoittaa, että tarkastellaan vaakatason 8x8 kokonaislukuarvoista leikkauspistettä ja pinnan vastaavat arvot otetaan kertoimiksi, joita käytetään kertomaan 8x8 DCT-kerrointa DCT-kerroinmatriisissa. Taulukko I esittää kertoimet tauluk-20 komuodossa.
: Taulukko I
: '·; 1 0,95 0,81 0,61 0,39 0,19 0,05 0 0,95 0,9 0,77 0,57 0,36 0,17 0,04 0 :J: 0,81 0,77 0,65 0,47 0,29 0,12 0,02 0 •V*: 0,61 0,57 0,47 0,33 0,19 0,06 0 0,01 0,39 0,36 0,29 0,19 0,08 0,01 0 0 ·:·*: 0,19 0,17 0,12 0,06 0,01 0 0 0 O 0,05 0,04 0,02 0 0 0 0 0 *·*. 0 0 0 0.01 0 0_ 0 0 • ♦ « « « * T Toinen mahdollinen siirtofunktio voidaan saada kiertämällä askelfimktiota askeleel- « la 1 - 0 jossakin pisteessä X (niin, että 0 < X < 7) pystysuoran akselin ympäri. Tästä 25 saataisiin ”silinterihattupinta”, jossa kaikilla niillä ordinaattapisteillä, jotka ovat lähempänä origoa kuin X, on arvo 1 ja kaikilla muilla ordinaattapisteillä on arvo 0. Vielä yksi mahdollinen siirtofunktio saataisiin kiertämällä suoraa, laskevaa viivaa u 107495 pystysuoran akselin ympäri, jolloin saadaan kartiomainen siirtofunktiopinta, jossa on ylöspäin osoittava huippupiste pystysuoran akselin kohdalla. Käytännössä on havaittu, että ’’silinterihattumaisen” tai kartiomaisen siirtofunktion käyttäminen aiheuttaa kuvaan helposti haamuviivoja ja aaltoilua. Siirtofunktiolla ei tarvitse välttämättä 5 olla mitään sylinterisymmetriaa, eli ’’suodatuspintaa” ei tarvitse saada aikaan kiertämällä kaksiulotteista käyrää pystysuoran akselin ympäri.
Lohkojen avaruustaajuuskomponenttien alipäästösuodatukseen DCT-suodatinloh-kossa 507 käytetyn siirtofunktion muoto on erittäin tärkeä siihen nähden, kuinka paljon bittivirran volyymia tai tahtia voidaan pienentää keksintöä käyttämällä. Seulo raavassa selostuksessa tarkastellaan yksinomaan kiertämällä aikaansaatuja Gauss-tyyppisiä siirtofunktioita, mutta sitä voidaan soveltaa myös muihin siirtofunktioihin. Kaksiulotteista Gaussin käyrää, jota käytetään suodatuspinnan määrittelemiseen, voidaan skaalata vaakasuunnassa: sen puristaminen lähemmäksi origoa merkitsee sitä, että piste, jossa käyrä alkaa antaa häviävän pieniä arvoja, liittyy jo suhteellisen 15 pieneen ordinaatta-arvoon, kun taas sen venyttäminen kauemmaksi origosta merkitsee sitä, että käyrän antamat arvot pysyvät olennaisesti nollaa suurempina myös suhteellisen suurilla ordinaatta-arvoilla. Kaksiulotteisen käyrän puristamisen tai venyttämisen vaikutus kiertämällä saatuun suodatuspintaan on helposti ymmärrettävissä: pystyakselin ympärillä oleva ’’rinne” tulee joko jyrkemmäksi (puristaminen) tai 20 loivemmaksi (venyttäminen).
Koska suodatettavat DCT-kertoimet liittyvät käsitteellisesti ordinaattatason tiettyi- * ·.: hin pisteisiin, skaalausta on helppo mallintaa siirtämällä jokainen mainituista pisteis- j\. tä johdonmukaisesti toiseen pisteeseen ordinaattatasolla ennen vastaavan suodatus- ....: tekijän lukemista suodatuspinnalta. Jokaisessa pisteessä siirtäminen tapahtuu sellais- 25 ta linjaa pitkin, joka kulkee sekä alkuperäisen pisteen että origon läpi: puristaminen tarkoittaa pisteen siirtämistä kauemmaksi origosta ja venyttäminen tarkoittaa sen • » · * siirtämistä lähemmäksi origoa. On selvää, että puristaminen tarkoittaa samaa kuin . alipäästöfunktion tiukentaminen (jolloin jätetään vain suhteellisen harvoja pienimpiä [ ^ avaruustaajuuksia ja kumotaan kaikki muut) ja venyttäminen tarkoittaa alipääs- 30 töfunktion väljentämistä niin, että päästetään läpi myös suhteellisen paljon joitakin •: · · f suurempia avaruustaajuuksia.
« i *
( I
’ ·; *" Suodatuspinnan ’’puristaminen” tai ’’venyttäminen” tunnetaan yleisemmin suodatus- *i‘ funktion mukauttamisena. Keksinnön MPEG-2-toteutusmuodon mukaisesti suoda-
IMI
: ] “: tusfunktiota mukautetaan tarpeeksi, jotta se - yhdessä edellä kuvatun uudelleenskaa- 35 lauksen mahdollisen vaikutuksen kanssa - saa aikaan tarvittavan pienennyksen bitti virran volyymissa tai tahdissa. Tarvittava mukautuksen määrä eli se, kuinka paljon 12 107495 suodatuspintaa puristetaan tai venytetään, jotta saavutettaisiin tietty ennalta määritetty volyymin tai tahdin pienennys, voidaan ohjelmoida etukäteen hakutaulukkoon, jota DCT-suodatinlohko 507 tutkii sen jälkeen, kun kuvan 5 esittämä laitteisto on saanut komennon bittivirran volyymin tai tahdin pienentämiseksi tietystä annetusta 5 syöttövolyymista tai -tahdista tiettyyn annettuun lähtövolyymiin tai -tahtiin tai DCT-suodatinlohko voi saada sen dynaamisesti aloittamalla jollakin tietyllä esioh-jelmoidulla oletussuodatustoiminnolla ja käyttämällä takaisinkytkentäpiiriä mukautuksen määrän muuttamiseksi, jos saatu lähtövolyymi tai -tahti on liian suuri tai pieni.
10 Tähän mennessä on kuvattu saman suodatustoiminnon käyttämistä kaikkiin ker-roinmatriisin DCT-kertoimiin. Keksintö ei kuitenkaan sisällä sellaista rajoitusta. Itse asiassa on huomattu, että käyttämällä eri tavoin mukautettuja suodatusfunktioita vaaka-, pysty- ja diagonaalisuuntaisiin avaruustaajuuksiin on mahdollista saada hyvin edullisia tuloksia. Kuva 6b esittää DCT-kertoimien esimerkinomaista jakoa vaa-15 ka-, pysty- ja diagonaalisuuntaisten avaruustaajuuksien kesken. Myös muunlaiset määritelmät ovat mahdollisia, samoin kuin useampien tai harvempien suuntaiyhmi-en käyttö.
Jos oletetaan, että ryhmittelyksi on määriteltyjäkö vaaka-, pysty-ja diagonaalisuuntaisiin avaruustaajuuksiin, on edullista määritellä suodatusfunktion skaalaustekijä 20 erikseen jokaiselle ryhmälle. Yksinkertainen tapa määritellä skaalaustekijä on ottaa se DCT-kerroin, joka edustaa ryhmän suurinta signaalienergiaa ja tutkia sen sijaintia DCT-kerroinmatriisissa. Sijaintia voi edustaa muuttuja P. Jos tarkastelemme vaaka-. suuntaisten avaruustaajuuksien ryhmää, P:llä voi olla tutkitun DCT-kertoimen vaa- . . kasuuntainen indeksiarvo. Toisin sanoen, jos vaakasuuntaisten avaruustaajuuksien • « · 25 ryhmässä suurinta signaalienergiaa edustaa kerroin, jonka sijainti DCT-kerroin- • · * *' matriisissa on (il, jl), P:llä voi olla arvo jl, kun tarkastellaan vaakasuuntaisten ava- : ; ruustaajuuksien suodatusta. Vastaavasti jos pystysuuntaisten avaruustaajuuksien • · · : ryhmässä suurinta signaalienergiaa edustaa kerroin, jonka sijainti DCT-kerroin- '1 : matriisissa on (i2, j2), P:llä voi olla arvo /2, kun tarkastellaan pystysuuntaisten ava- 30 ruustaajuuksien suodatusta. Jos diagonaalisuuntaisten avaruustaajuuksien ryhmässä suurinta signaalienergiaa edustaa kerroin, jonka sijainti DCT-kerroinmatriisissa on .·*·. QS, j3), P:llä voi olla suurempi arvoista iS ja J3, kun tarkastellaan diagonaalisuun taisten avaruustaajuuksien suodatusta.
: ": Kun muuttujan P arvo on löydetty tietynsuuntaisten avaruustaajuuksien ryhmästä, 35 edullinen tapa laskea kyseistä avaruustaajuuksien ryhmää koskevan suodatustoimin-•;;; non skaalaustekijä on jakaa P:n arvo tietyllä luvulla, joka voi olla vakio tai joka voi- 13 daan saada tarvittavaa puristus suhdetta koskevasta hakutaulukosta edellä kuvatulla tavalla. P:n arvon jakamiseen käytetty jakaja voidaan myös mukauttaa dynaamisesti käyttämällä takaisinkytkentää, joka kuvaa saadun ja tarvittavan puristussuhteen välistä suhdetta. Jotta adaptiivinen suodatus olisi tehokas, on edullista valita jakaja 5 niin, että suhteellisen suuret P:n arvot aiheuttavat suodatusfunktion venymisen ja suhteellisen pienet P:n arvot aiheuttavat sen puristumisen.
Muita edullisia tapoja löytää tiettyyn tietynsuuntaisten avaruustaajuuksien ryhmään liittyvän suodatusfunktion oikea mukautus on laskea ryhmään kuuluvien DCT- Λ kertoimien edustamien signaalitaajuuksien varianssi s tai absoluuttinen keskivirhe 10 s. Varianssi /lasketaan kaavasta n 1 i,j ja absoluuttinen keskivirhe s lasketaan kaavasta s = \Y\DCT{ij)-^
n iJ
jossa n on ryhmän DCT-kertoimien määrä, DCT(i, j) on DCT-kerroin DCT-kerroin-15 matriisin paikassa (/, j), x on ryhmän DCT-kertoimien keskiarvo ja paikkojen /, j virhearvojen yhteenlasku jatkuu koko ryhmän läpi. Varianssia tai absoluuttista keskivirhettä voidaan käyttää sellaisenaan kyseiseen ryhmään liittyvän suodatusfunktion skaalaustekijänä tai se voidaan jakaa tai kertoa luvulla, joka määritellään samalla ...: tavalla kuin edellä kuvattu arvon P jakaja.
20 Täydennämme adaptiivisen suodatustoiminnon kuvausta vielä esimerkillä. Tarkaste- » · • *· lemme vaakasuuntaisten avaruustaajuuksien ryhmän suodatukseen käytettävää suo- ·:··: datustoimintoa (ryhmän määrittely kuten kuvassa 6b) ensin tapauksessa, jossa suo- datettavan lohkon huomataan sisältävän paljon vaakasuuntaista aktiivisuutta ja sitten tapauksessa, jossa suodatettavan lohkon huomataan sisältävän vähän vaakasuuntais-25 ta aktiivisuutta. Taulukko Π esittää kahta ylintä riviä alkuperäisestä suodatusmatrii-sista, jota käytetään kuvaamaan suodatuspintaa varsinaisessa suodatustoiminnossa. Nämä ovat samoja kuin edellä olevan taulukon I kaksi ylintä riviä.
....: Taulukko Π 4 4 :T: 1 0,95 0,81 0,61 0,39 0,19 0,05 0 0,95 0,9 0,77 0,57 0,36 0,17 0,04 0 ~ 4 4» • · • · u 107495
Huomaa, että äärimmäisenä vasemmalla oleva sarake ei vaikuta vaakasuuntaisten avaruustaajuuskomponenttien suodatukseen, koska sen ylempi arvo vastaa DC-ker-rointa ja alempi arvo vastaa pystysuuntaisen ryhmän ylintä kerrointa. Olettakaamme, että lohkossa, jossa on paljon vaakasuuntaista aktiivisuutta, suurin kerroin on 5 vaakasuuntaisessa paikassa 6, josta tulee P:n arvo. Tämä on suhteellisen suuri P:n arvo, joten se aiheuttaa venymistä. Tuloksena olevat muutetun suodatinmatriisin ylimmät rivit voivat näyttää samoilta kuin taulukossa DI.
Taulukko ΙΠ 1 0,97 0,95 0,88 0,81 0,71 0,61 0,50 0,96 0,93 0,90 0,84 0,77 0,67 0,58 0,47 10 Seuraavaksi teemme vaihtoehtoisen oletuksen, jonka mukaan suodatettavassa lohkossa on vain vähän vaakasuuntaista aktiivisuutta: vaakasuuntaisten avaruustaa-juuksien ryhmässä suurin kerroin on vaakasuuntaisessa paikassa 1. Tämä on suhteellisen pieni P:n arvo, joten se aiheuttaa puristumista. Tuloksena olevat muutetun suodatinmatriisin ylimmät rivit voivat näyttää samoilta kuin taulukossa IV.
15 Taulukko IV
1 0,61 0,05 0 0 0 0 0 0,61 0,58 0,04 | 0 l 0 0 0 0
Vaihtoehtona ryhmittäiselle mukauttamiselle voimme esittää keksinnön yksinkertai-semman toteutusmuodon, jossa koko DCT-kerroinmatriisia käsitellään yhtenä ryh-V·· mänä, jossa suurin kertoimen arvo löytyy paikasta (i4, j4). P:n arvoksi valitaan suu- 20 rempi indekseistä i4 ja j4, kun kaikkien avaruustaajuuksien suodatus otetaan huo- ·:··· mioon.
Sen jälkeen, kun jokainen taajuusryhmä on suodatettu siirtofunktiolla, jonka mukau- • · · ’·* * tus on laskettu erikseen jokaiselle ryhmälle (tai samalla siirtofunktiolla kaikille, ellei erikseen mukautettuja siirtofunktioita käytetä), tuotetaan suodatettu DCT-kerroin-25 matriisi sijoittamalla 8x8 -matriisiin kaikki DCT-kertoimet, jotka on saatu elemen- ' teittäin suoritetulla alkuperäisten (mahdollisesti uudelleenkvantisoitujen) DCT- ,. ],: kertoimien ja suodatusmatriisin vastaavien elementtien välisellä kertolaskulla.
• · · :: Suodatetut DCT-kerroinmatriisit ohjataan vaihtuvamittaiseen uudelleenkoodausloh- .:. koon 508, joka koodaa ne uudelleen edullisesti täsmälleen samalla metodilla, jota · I · • · * · • I · 15 107495 käytetään tunnetuissa MPEG-2-koodereissa. Uudelleenkoodatussa tuloksessa on vähemmän bittejä kuin vaihtuvamittaiseen dekooderiin 505 syötetyssä alkuperäisten VLC-koodattujen DCT-kerroinmatriisien virrassa, koska lohkon 507 suodatustoi-minto on tuottanut matriiseihin pidempiä nollajaksoja.
5 On huomattava, ettei keksinnössä edellytetä, että uudelleerikvantisointilohko 506 ja DCT-suodatinlohko 507 ovat tässä jäijestyksessä. Toisin sanoen keksinnön vaihtoehtoisessa toteutusmuodossa VLC-dekooderilohkon 505 lähtö on kytketty vaihtuvamittaisen uudelleerikoodauslohkon 508 syöttöön DCT-suodatinlohkon ja uudel-leenkvantisointilohkon kautta tässä järjestyksessä.
10 Siirrymme nyt kuvaamaan tarkemmin bittivirran analysointilohkon 502 ’’kvanti-sointimatriisieri’ lähdön ja multipleksointilohkon 503 vastaavan syötön välillä sijaitsevan matriisien elementtien kertolaskulohkon 509 tehtävää. Aiemmin olemme todenneet, että DCT-kertoimien uudelleenkvantisointiin uudelleenkvantisointilohkossa 506 käytettävän a:n arvon on pysyttävä vakiona kaikissa lohkoissa, joissa alkuperäi-15 seen koodaukseen on käytetty samaa painotusmatriisia. Syynä tähän on se, että uu-delleenkvantisoinnin yleinen sävytasoa alentava vaikutus on kompensoitava kertomalla vastaava painotusmatriisi samalla tekijällä, jota käytettiin DCT-kertoimien jakamiseen uudelleenkvantisoiimissa. Siksi bittivirran analysointilohko 502 ottaa pai-notusmatriiseihin liittyvät tiedot alkuperäisestä bittivirrasta, jonka volyymia tai tah-20 tia pitäisi pienentää, ja siirtää sen matriisien elementtien kertolaskulohkon 509 läpi. Viimeksimainittu saa uudelleenkvantisointilohkolta 506 uudelleenkvantisoinnissa käytetyn a:n arvon ja muuttaa painotusmatriisin tietoja vastaavasti: jos painotus-matriisin kertoimet välitetään sellaisinaan kuvan otsikossa, matriisien elementtien kertolaskulohko 509 kertoo ne saadulla a:n arvolla. Jos sallitut kvantisointimatriisit : · * * i 25 ovat toistensa lineaarisia monikertoja ja kuvan otsikko sisältää vain kertoimen, jonka • « : ’*· avulla saadaan voimassa oleva kvantisointimatriisi tietystä ennaltamääritetystä ola- tusmatriisista, matriisien elementtien kertolaskulohko 509 kertoo kertoimen saadulla :T: a:n arvolla.
• · · • * * • · · ___
Seuraavaksi tarkastellaan lyhyesti VBV-arvojen muutoslohkon 510 toimintaa. Sen 30 tehtävänä on yksinkertaisesti varmistaa, että muutetun bittivirran VBV-arvot ovat * ' MPEG-2-standardeista tunnettujen VBV-spesifikaatioiden mukaisia. VBV-arvojen muutoslohko 510 saa ohjaustietoja sekä VLC-dekooderilohkolta 505 että vaihtu-<;·<: vamittaiselta uudelleenkoodauslohkolta 508, joten sillä on tiedossa bittivirran vo- . ’ · ’. lyymin tai tahdin pienennyksen tarkka määrä. Se muuttaa bittivirran analysointiloh- "·[ 35 kosta 502 saatuja VBV-arvoja niin, että jokaiseen lohkoon liittyvä bittien määrän ···'· vähentäminen näkyy muutetuissa VBV-arvoissa oikein.
16 107495 Päätämme kuvan 5 toiminnallisen kuvauksen kuvaamalla lyhyesti multipleksointi-lohkon 503 toimintaa. Sen tehtävänä on rekonstruoida bittivirta bittivirran analy-sointilohkosta 502, vaihtuvamittaisesta uudelleenkoodauslohkosta 508, matriisien elementtien kertolaskulohkosta 509 ja VBV-arvojen muutoslohkosta 510 saamistaan 5 komponenteista. Se saa bittivirran analysointilohkolta 502 tarpeelliset synkronointi-tedot, joilla se pystyy rekonstruoimaan bittivirran niin, että lohkojen 505 - 510 käsittelytoimintojen aiheuttamat viipeet eivät tuhoa bittivirran komponenttien aikasuhtei-ta. Lopullisen, muokatun bittivirran, jonka volyymia tai tahtia on pienennetty, ulostulo lähtölinjan 504 kautta voi tapahtua täysin synkronoituna linjan 501 kautta kul- 10 kevan syöttövirran lukeman kanssa (esimerkiksi jos on saavutettu tasan 50 prosentin pienennys, lähdön kello voi olla syötön kello jaettuna kahdella), tai syöttö ja lähtö voivat olla täysin synkronoimattomia. Jälkimmäinen vaihtoehto on luultavasti edullisin, koska saavutettu pienennys on harvoin täsmällinen murto-osa syötetystä volyymista tai tahdista.
15 Kuva 7 on vuokaavio, joka esittää koodatun digitaalisen kuvabittivirran pakkaamisen periaatetta keksinnön mukaisesti. Kuvan 7 ylin ja alin rivi ovat tuttuja tunnetusta tekniikasta, ja keksintö koskee keskimmäistä riviä. Graafinen kuva jaetaan pikselei-hin vaiheessa 701 digitaalisella videokameralla tai vastaavalla laitteella. Suoritetaan sisäinen koodaus 702, joka vastaa MPEG-2-järjestelmässä DCT-koodausvaihetta.
20 Sen jälkeen suoritetaan ulkoinen koodaus 703, joka vastaa MPEG-2-järjestelmässä DCT-kerroinmatriisien painotusta, kvantisointia ja VLC-koodausta. Keksinnön mukainen pakkaaminen koostuu ulkoisen koodauksen dekoodauksesta vaiheessa 704, osittain koodattujen kuvatietojen pakkaamisesta vaiheessa 705 ja ulkoisen koodauk-...: sen palauttamisesta vaiheessa 706. Tämän jälkeen pakattu, koodattu digitaalinen ku- : 25 vabittivirta voidaan johtaa esimerkiksi näyttölaitteeseen, jossa ulkoinen koodaus de- • ·» y ' koodataan vaiheessa 707, sisäinen koodaus dekoodataan vaiheessa 708 ja raaka ku- ’ . vadata muutetaan pikselimuotoon esitettäväksi näyttölaitteella 709. Kuvassa 7 esitet- ], / tyj en vaiheiden välillä voi tapahtua erilaisia tallennus-, lähetys- j a vastaanottovaihei- • · · *· ' ta sekä koodatun digitaalisen kuvabittibirran kapselointeja kuljetussäiliöihin, kuten : 30 IP (Internet Protocol), datapaketteihin tai ATM (Asynchronous Transfer Mode) -soluihin ja näiden kapselointien purkamista.
.···, Koodatun digitaalisen kuvabittivirran pakkaaminen voi tapahtua missä tahansa koh- ’ I * dassa bittivirran lähteen ja sen näyttämisen välillä. Keksintöä voidaan edullisesti so- veltaa esimerkiksi sellaisten koodattujen digitaalisten kuvabittivirtojen pakkaami-L..: 35 seen, jotka lähetetään kuvapuhelinyhteyden tai Intemet-yhteyden osana solukkora- dioverkon yli. On huomattava, että tunnetuissa ja tulossa olevissa kannettavissa • · · * · • · • · · „ 107495 viestimissä, joiden kautta solukkoverkon kuvapuhelu tai Intemet-yhteys muodostettaisiin, on poikkeuksetta melko pienikokoinen näyttö, joka ei pysty toistamaan digitaalista kuvaa samalla resoluutiolla ja toistotarkkuudella kuin esimerkiksi suuri TV-ruutu tai pöytätietokone. Siksi on monissa tapauksissa hyvin edullista pakata koodat-5 tu digitaalinen kuvabittivirta ennen sen lähettämistä radioliitännän yli sellaiseen matkaviestimeen, koska näin voidaan vähentää huomattavasti tarvittavaa radiore-surssien määrää ja koska matkaviestimen rajoitetut näyttömahdollisuudet tekisivät joka tapauksessa vaikeaksi käyttää hyväksi kaikkia alkuperäisen, koodatun digitaalisen kuvabittivirran yksityiskohtia. Matkaviestin ja verkko voivat myös neuvotella 10 matkaviestimen toimintavalmiuksista ja radioresurssien saatavuudesta kuvapuhelinyhteyden tai solukkoverkon Intemet-yhteyden muodostusvaiheessa, jotta verkko pakkaisi alkuperäisen, koodatun digitaalisen kuvabittivirran sellaiseen volyymiin tai tahtiin, joka on sekä yhteensopiva matkaviestimen toimintavalmiuksien kanssa että välitettävissä radioliitännän yli.
• · * · • · • · • · · ♦ · · • · • · » · • · · • · • · · « · · • · · « « · • · · c <
« I
• · • · · • · · · • · · • · • ·

Claims (21)

1. Menetelmä tietyt, ennalta määritetyt rakennesäännöt täyttävän, koodatun digitaalisen kuvabittivirran volyymin tai tahdin pienentämiseksi, tunnettu siitä, että siinä on seuraavat menetelmävaiheet: 5. koodatun digitaalisen kuvabittivirran dekoodaaminen osittain (704), jolloin saa daan osittain dekoodattu digitaalinen kuvabittivirta, - bittien määrän vähentäminen (705) osittain dekoodatussa digitaalisessa kuvabitti-virrassaja - osittain dekoodatun digitaalisen kuvabittivirran, jossa bittien määrää on vähennet-10 ty, koodaaminen uudelleen (706), jolloin saadaan uudelleenkoodattu digitaalinen kuvabittivirta, jonka volyymi tai tahti on pienempi kuin sen koodatun digitaalisen kuvabittivirran, joka täyttää mainitut tietyt ennalta määritetyt rakennesäännöt.
2. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että vaiheessa, jossa osittain dekoodataan koodattu digitaalinen kuvabittivirta, on seuraavat alivai- 15 heet: - erotetaan (502) joukko vaihtuvamittaisesti koodattuja, painotettuja ja kvantisoituja DCT-kerroinmatriiseja MPEG-2-koodatusta digitaalisesta kuvabittivirrasta ja - dekoodataan (505) mainittujen vaihtuvamittaisesti koodattujen, painotettujen ja kvantisoitujen DCT-kerroinmatriisien vaihtuvamittainen koodaus, jolloin saadaan 20 joukko painotettuja ja kvantisoituja DCT-kerroinmatriiseja.
3. Förfarande enligt patentkrav 2, kännetecknat av att skedet för att reducera ’···' antalet bitar i den delvis dekodade videobitströmmen uppvisar ett underskede i ·:· vilket antalet sädana bitar reduceras (506, 507) vilka används för att representera : “ ’: 35 nämnda vägda och kvantiserade DCT-koefficientmatriser. 23 107495
3. Patenttivaatimuksen 2 mukainen menetelmä, tunnettu siitä, että vaiheessa bittien määrän vähentämiseksi osittain dekoodatussa kuvabittivirrassa on alivaihe, jos- ! ‘: sa vähennetään (506, 507) niiden bittien määrää, joita käytetään edustamaan mainit- tuja painotettuja ja kvantisoituja DCT-kerroinmatriiseja. • « 9 · • * · * . 25 4. Patenttivaatimuksen 3 mukainen menetelmä, tunnettu siitä, että alivaiheessa \m' niiden bittien määrän vähentämiseksi, joita käytetään edustamaan mainittuja paino- • · · · tettuja ja kvantisoituja DCT-kerroinmatriiseja, on lisäksi alivaihe, jossa alipäästö- ; suodatetaan (507) painotettu ja kvantisoitu DCT-kerroinmatriisi, jossa on tietyn siirtofunktion omaava suodatin. .<··, 30 5. Patenttivaatimuksen 4 mukainen menetelmä, tunnettu siitä, että alivaiheessa mainittujen painotettujen ja kvantisoitujen DCT-kerroinmatriisien alipäästösuodat- tamiseksi on myös alivaihe, jossa mainittu siirtofunktio mukautetaan DCT-kerroin- :...: matriisin sisällön mukaisesti. * * * •« · · 107495
4. Förfarande enligt patentkrav 3, kännetecknat av att underskedet i vilket antalet sädana bitar reduceras vilka används för att representera nämnda vägda och kvantiserade DCT-koefficientmatriser dessutom uppvisar ett underskede i vilket den vägda och kvantiserade DCT-koefficientmatrisen lägpassfiltreras (507) med ett filter 5 med en viss överföringsfunktion.
5. Förfarande enligt patentkrav 4, kännetecknat av att underskedet i vilket de nämnda vägda och kvantiserade DCT-koefificientmatrisema lägpassfiltreras även uppvisar ett underskede i vilket nämnda överföringsfunktion anpassas i enlighet med innehället i DCT-koefficientmatrisen. 10 6. Förfarande enligt patentkrav 3, kännetecknat av att underskedet för redu- cering av antalet sädana bitar som används för att representera nämnda vägda och kvantiserade DCT-koefficientmatriser även uppvisar underskeden i vilka - en mängd koefficientgrupper definieras i DCT-koefficientmatrisen, och - varje av nämnda koefficientgrupper lägpassfiltreras med ett filter som uppvisar en 15 viss överföringsfunktion som ansluter tili ifrägavarande koefficientgrupp.
6. Patenttivaatimuksen 3 mukainen menetelmä, tunnettu siitä, että alivaiheessa niiden bittien määrän vähentämiseksi, joita käytetään edustamaan mainittuja painotettuja ja kvantisoituja DCT-kerroinmatriiseja, on myös alivaiheet, joissa - määritellään joukko kerroinryhmiä DCT-kerroinmatriisissa ja 5. alipäästösuodatetaan jokainen mainituista kerroinryhmistä suodattimella, jossa on kyseiseen kerroinryhmään liittyvä tietty siirtofunktio.
7. Förfarande enligt patentkrav 6, kännetecknat av att underskedet för lägpass-filtrering av samtliga nämnda koefficientgrupper även uppvisar ett underskede i vilket nämnda Överföringsfunktion anpassas i enlighet med innehället i ifräga-varande koefficientgrupp. 20 8. Förfarande enligt patentkrav 7, kännetecknat av att underskedet för anpass- ning av nämnda överföringsfunktion i enlighet med innehället i ifrägavarande . . koefficientgrupp även uppvisar underskeden i vilka ‘ - den koefficient letas efter som representerar koefficientgruppens största signal- : ” energi, * * 25 - ett visst första variabelvärde definieras genom hänvisning tili läget för den ; koefficient som representerar den största signalenergin inom koefficientgruppen, *·· ·* och - nämnda överföringsfunktion skalas med nämnda första variabelvärde, varvid en ·:*·: modifierad överföringsfunktion erhälles som uppvisar ett passband vars bredd är .***. 30 desto större ju längre nämnda koefficient som representerar den största signalener gin befinner sig i DCT-koefficientmatrisen frän DC-koefficienten för nämnda DCT- ' ' koefficientmatris. ]. 9. Förfarande enligt patentkrav 3, kännetecknat av att underskedet för reduce- ;;; ring av antalet sädana bitar som används för att representera nämnda vägda och 24 107495 kvantiserade DCT-koefficientmatriser dessutom uppvisar ett underskede i vilket den vägda och kvantiserade DCT-koefficientmatrisen panyttkvantiseras (506) genom att dela samtliga koefficienter som den innehäller med ett visst andra variabelvärde.
7. Patenttivaatimuksen 6 mukainen menetelmä, tunnettu siitä, että alivaiheessa kaikkien mainittujen kerroinryhmien alipäästösuodattamiseksi on myös alivaihe, jossa mainittu siirtofunktio mukautetaan kyseisen kerroinryhmän sisällön mukaises- 10 ti.
8. Patenttivaatimuksen 7 mukainen menetelmä, tunnettu siitä, että alivaiheessa mainitun siirtofunktion mukauttamiseksi kyseisen kerroinryhmän sisällön mukaisesti on myös alivaiheet, joissa - etsitään kerroin, joka edustaa kerroinryhmän suurinta signaalienergiaa, 15. määritellään tietty ensimmäinen muuttujan arvo viittaamalla kerroinryhmän suurin ta signaalienergiaa edustavan kertoimen sijaintiin ja - skaalataan mainittu siirtofunktio mainitulla ensimmäisellä muuttujan arvolla, jolloin saadaan muokattu siirtofunktio, jossa on päästökaista, jonka leveys on sitä suurempi mitä kauempana mainittu suurinta signaalienergiaa edustava kerroin on DCT- 20 kerroinmatriisissa kyseisen DCT-kerroinmatriisin DC-kertoimesta.
9. Patenttivaatimuksen 3 mukainen menetelmä, tunnettu siitä, että alivaiheessa niiden bittien määrän vähentämiseksi, joita käytetään edustamaan mainittuja paino-tettuja ja kvantisoituja DCT-kerroinmatriiseja, on lisäksi alivaihe, jossa uudelleen-kvantisoidaan (506) painotettu ja kvantisoitu DCT-kerroinmatriisi jakamalla kaikki i 1 ·.. 25 sen sisältämät kertoimet tietyllä toisella muuttujan arvolla. ],.1 10. Patenttivaatimuksen 9 mukainen menetelmä, tunnettu siitä, että se käsittää • « · ’ myös vaiheet, joissa v · - erotetaan (502) mainitusta MPEG-2-koodatusta digitaalisesta kuvabittivirrasta vaihtuvamittaisesti koodattujen, painotettujen ja kvantisoitujen DCT-kerroinmat-*:1·: 30 riisien painottamiseen käytettyä painotusmatriisia kuvaava tieto ja •' ”; - muutetaan (509) mainittua painotusmatriisia kuvaavaa tietoa kertoimien jaon kom- pensoimiseksi tietyllä toisella muuttujan arvolla, mikä aiheuttaa mainitun painotus- « 4 matriisin kertomisen mainitulla toisella muuttujan arvolla. I I II» 4 4 20 107495
10. Förfarande enligt patentkrav 9, kännetecknat av att det även omfattar skeden i 5 vilka - frän nämnda MPEG-2-kodade digitala videobitström separeras (502) en informa-tionsdel som beskriver en vägningsmatris som har använts för att väga de med varia-bel längd kodade, vägda och kvantiserade DCT-koefficientmatrisema, och - nämnda information som beskriver en vägningsmatris ändras (509) för kompen-10 sering av koefficientemas delning med ett visst andra variabelvärde, ästadkomman- de en multiplicering av nämnda vägningsmatris med det nämnda andra variabel-värdet.
11. Förfarande enligt patentkrav 3, kännetecknat av att skedet for pänyttkodning av den delvis dekodade digitala videobitströmmen uppvisar ett underskede i vilket
11. Patenttivaatimuksen 3 mukainen menetelmä, tunnettu siitä, että vaiheessa osittain dekoodatun digitaalisen kuvabittivirran uudelleenkoodaamiseksi on alivaihe, jossa vaihtuvamittaisesti koodataan (508) DCT-kerroinmatriisit sen jälkeen, kun niiden bittien määrää, joita käytetään edustamaan mainittuja DCT-kerroinmatriiseja, 5 on vähennetty.
12. Förfarande enligt patentkrav 2, kännetecknat av att för komplettering av det skede i vilket antalet bitar i den delvis dekodade digitala videobitströmmen reduce-ras uppvisar förfarandet följande underskeden: 20. ett antal verifieringsvärden för en virtualbuffert separeras (502) frän nämnda MPEG-2-kodade digitala videobitström, och : - verifieringsvärdena för nämnda virtualbuffert ändras (510), varvid ändrade veri- fieringsvärdena för virtualbufferten erhalles vilka är i enlighet med den pänytt- * « F·.. kodade digitala videobitström vars volym eller fart är mindre än i den ursprungliga 25 kodade digitala videobitströmmen.
• « · : 13. Arrangemang för att reducera volymen eller farten av en kodad digital video- • · · : bitström som uppfyller vissa forutbestämda konstruktionsregler, kännetecknat av att det uppvisar: *:1·: - don för att delvis dekoda den kodade digitala videobitströmmen (502, 505), 30. don för att reducera bitantalet (506, 507) i den delvis dekodade digitala videobit- ' . strömmen, och - don för att koda pä nytt (508) den delvis dekodade digitala videobitströmmen, där * « ’ ·; ·' bitantalet har reducerats. * · • K • I » 25 107495
12. Patenttivaatimuksen 2 mukainen menetelmä, tunnettu siitä, että sen vaiheen täydentämiseksi, jossa vähennetään osittain dekoodatun digitaalisen kuvabittivirran bittien määrää, menetelmässä on seuraavat alivaiheet: - erotetaan (502) joukko virtuaahpuskurin varmistusarvoja mainitusta MPEG-2-koo-10 datusta digitaalisesta kuvabittivirrasta ja -muutetaan (510) mainittuja virtuaalipuskurin valmistusarvoja, jolloin saadaan muutetut virtuaalipuskurin valmistusarvot, jotka ovat sen uudelleenkoodatun digitaalisen kuvabittivirran mukaisia, jonka volyymi tai tahti on pienempi kuin alkuperäisessä koodatussa digitaalisessa kuvabittivirrassa. 15 13. Järjestely tietyt, ennalta määritetyt rakennesäännöt täyttävän, koodatun digi taalisen kuvabittivirran volyymin tai tahdin pienentämiseksi, tunnettu siitä, että siinä on: - välineet koodatun digitaalisen kuvabittivirran dekoodaamiseksi osittain (502, 505), - välineet bittien määrän vähentämiseksi (506, 507) osittain dekoodatussa digitaali-20 sessa kuvabittivirrassa ja - välineet osittain dekoodatun digitaalisen kuvabittivirran, jossa bittien määrää on vähennetty, koodaamiseksi uudelleen (508). : ‘i 14. Patenttivaatimuksen 13 mukainen järjestely, tunnettu siitä, että siinä on ·1·.: - bittivirran analysaattori (502), joka on järjestetty erottamaan joukko vaihtuvamit- • · :\4 25 taisesti koodattuja, painotettuja ja kvantisoituja DCT-kerroinmatriiseja MPEG-2- koodatusta digitaalisesta kuvabittivirrasta, ..... -vaihtuvamittainen dekooderi (505) mainittujen vaihtuvamittaisesti koodattujen, * « 1 I,. < painotettujen ja kvantisoitujen DCT-kerroinmatriisien vaihtuvamittaisen koodauksen *·’ 1 dekoodaamiseksi ja 30. välineet niiden bittien määrän vähentämiseksi (506, 507), joita käytetään edusta- " maan mainittuja painotettuja ja kvantisoituja DCT-kerroinmatriiseja. I I < ( t t ' , 15. Patenttivaatimuksen 14 mukainen järjestely, tunnettu siitä, että mainituissa (IMI välineissä niiden bittien määrän vähentämiseksi, joita käytetään edustamaan mainit- tuja painotettuja ja kvantisoituja DCT-kerroinmatriiseja, on suodatinlohko (507) 1 · 35 DCT-kerroinmatriisien sisältämien kertoimien suodattamiseksi. « · » I * · • ♦ • » * · 21 107495
14. Arrangemang enligt patentkrav 13, kännetecknat av att det uppvisar - en bitströmsanalysator (502) som har anordnats att separera en mängd med varia-bel längd kodade, vägda och kvantiserade DCT-koefficientmatriser firän en MPEG- 2-kodad digital videobitström, 5. en dekoder (505) med variabel längd för dekodning av kodningen med variabel längd för nämnda med variabel längd kodade, vägda och kvantiserade DCT-koefficientmatriser, och - don för reducering (506, 507) av antalet sädana bitar som används för att represen-tera nämnda vägda och kvantiserade DCT-koefficientmatriser.
15. Arrangemang enligt patentkrav 14, kännetecknat av att nämnda don for redu cering av antalet sädana bitar som används för att representera nämnda vägda och kvantiserade DCT-koefficientmatriser uppvisar ett filterblock (507) för filtrering av de koefficienter som DCT-koefficientmatrisema innehäller.
15 DCT-koefficientmatrisema kodas (508) med variabel längd efter att antalet bitar som används för att representera nämnda DCT-koefficientmatriser har reducerats.
16. Arrangemang enligt patentkrav 15, kännetecknat av att nämnda filterblock 15 (507) är ett lägpassfilter som uppvisar en viss överföringsfunktion.
16. Patenttivaatimuksen 15 mukainen järjestely, tunnettu siitä, että mainittu suo datinlohko (507) on alipäästösuodatin, jossa on tietty siirtofunktio.
17. Arrangemang enligt patentkrav 16, kännetecknat av att nämnda lägpassfilter (507) uppvisar en överföringsfunktion som beror pa innehället i den DCT-koeffi-cientmatris som filtreras.
17. Patenttivaatimuksen 16 mukainen järjestely, tunnettu siitä, että mainitussa ali-päästösuodattimessa (507) on siirtofunktio, joka riippuu suodatettavan DCT- 5 kerroinmatriisin sisällöstä.
18. Arrangemang enligt patentkrav 15, kännetecknat av att nämnda filterblock 20 (507) har anordnats att förverkliga en mängd olika filtreringsfunktioner för olika koefficientgrupper i en enda DCT -koefficientmatris.
18. Patenttivaatimuksen 15 mukainen jäijestely, tunnettu siitä, että mainittu suo-datinlohko (507) on jäljestetty toteuttamaan joukko erilaisia suodatustoimintoja erilaisille kerroinryhmille yhdessä DCT-kerroinmatriisissa.
19. Patenttivaatimuksen 18 mukainen järjestely, tunnettu siitä, että mainittu suo-10 datinlohko (507) on jäljestetty toteuttamaan joukko erilaisia suodatustoimintoja erilaisille kerroinryhmille yhdessä DCT-kerroinmatriisissa, jossa jokainen suodatus-funktio riippuu suodatettavan kerroinryhmän sisällöstä.
20. Patenttivaatimuksen 14 mukainen jäijestely, tunnettu siitä, että mainituissa välineissä niiden bittien määrän vähentämiseksi, joita käytetään edustamaan mairnt 15 tuja painotettuja ja kvantisoituja DCT-kerroinmatriiseja, on uudelleenkvantisointi-lohko (506), joka on järjestetty jakamaan DCT-kerroinmatriisi tietyllä toisella muuttujan arvolla.
21. Patenttivaatimuksen 14 mukainen järjestely, tunnettu siitä, että siinä on - syöttö (501) ja lähtö (504), 20. mainittuun syöttöön (501) kytketty bittivirran analysaattori (502), jossa on ensim- ‘ " mainen, toinen, kolmas ja neljäs datalähtö ja ohjauslähtö, - mainittuun lähtöön (504) kytketty multiplekseri (503), jossa on ensimmäinen, toi- i '·· nen, kolmas ja neljäs datasyöttö ja ohjaussyöttö, ·:··: - olennaisesti suora yhteys mainitun bittivirran analysaattorin (502) ohjauslähdöstä : * · ’: 25 mainitun multiplekserin (503) ohjaussyöttöön, - olennaisesti suora yhteys mainitun bittivirran analysaattorin (502) ensimmäisestä • datalähdöstä mainitun multiplekserin (503) ensimmäiseen datasyöttöön, - mainitun bittivirran analysaattorin (502) toisen datalähdön ja mainitun multiplek· • · serin (503) toisen datasyötön välillä sarjaliitäntä, jossa vaihtuvamittainen dekooderi "·* 30 (505) on kytketty mainitun bittivirran analysaattorin (502) toiseen datalähtöön, vaihtuvamittainen uudelleenkooderi (engl. re-encoder) (508) on kytketty mainitun multiplekserin (503) toiseen datasyöttöön, ja mainitun vaihtuvamittaisen dekooderin \ (505) ja mainitun vaihtuvamittaisen uudelleenkooderin (508) välillä on uudelleen- ;;; kvantisointilohko (506) ja DCT-suodatinlohko (507) missä tahansa jäqestyksessä, * * • » * 22 107495 joista mainitussa vaihtuvamittaisessa dekooderissa (505), mainitussa vaihtuvamittaisessa uudelleenkooderissa (508) ja mainitussa uudelleenkvantisointilohkossa (506) jokaisessa on ohjauslähtö, - mainitun bittivirran analysaattorin (502) kolmannen datalähdön ja mainitun mul-5 tiplekserin (503) kolmannen datasyötön välillä matriisien elementtien kertolasku- lohko (509), jossa on mainitun uudelleenkvantisointilohkon (506) ohjauslähtöön kytketty ohjaussyöttö ja - mainitun bittivirran analysaattorin (502) neljännen datalähdön ja mainitun multiplekserin (503) neljännen datasyötön välillä virtuaalipuskurin valmistusarvon 10 muutoslohko (510), jossa on ensimmäinen ja toinen ohjaussyöttö, joista ensimmäinen ohjaussyöttö on kytketty mainitun vaihtuvamittaisen dekooderin (505) ohjaus-lähtöön ja toinen ohjaussyöttö on kytketty mainitun vaihtuvamittaisen uudelleen-kooderin (508) ohjauslähtöön. 15 1. Förfarande för att reducera volymen eller farten av en kodad digital videobitström som uppfyller vissa förutbestämda konstruktionsregler, kännetecknat av att det uppvisar följande förfarandeskeden: - den kodade digitala videobitströmmen dekodas delvis (704), varvid en delvis dekodad digital videobitström erhälles, 20. bitantalet reduceras (705) i den delvis dekodade digitala videobitströmmen, och - den delvis dekodade digitala videobitströmmen, där bitantalet har reducerats, kodas pa nytt (706) varvid en pänyttkodad digital videobitström erhälles vars volym « · · · ‘ ’ eller fart är mindre än för den kodade digitala videobitström som uppfyller nämndä :: vissa förutbestämda konstruktionsregler. « « « · 25 2. Förfarande enligt patentkrav 1, kännetecknat av att det skede, där den kodade . ·: ·. digitala videobitströmmen delvis dekodas, uppvisar följande underskeden: • * · - en mängd med variabel längd kodade, vägda och kvantiserade DCT-koefficient-matriser separeras (502) frän en MPEG-2-kodad digital videobitström, och - kodningen med variabel längd för nämnda med variabel längd kodade, vägda och * * 30 kvantiserade DCT-koefficientmatriser dekodas (505), varvid en mängd vägda och • · « *... · kvantiserade DCT-koefficientmatriser erhälles.
18 107495
19. Arrangemang enligt patentkrav 18, kännetecknat av att nämnda filterblock • · : '·· (507) har anordnats att förverkliga en mängd olika filtreringsfunktioner för olika *:*·: koefficientgrupper i en enda DCT-koefficientmatris, där varje filtreringsfunktion :T: 25 beror pä innehället i den koefficientgrupp som filtreras.
• · · • · · *·* ' 20. Arrangemang enligt patentkrav 14, kännetecknat av att nämnda don för reducering av antalet sädana bitar som används för att representera nämnda vägda * * och kvantiserade DCT-koefficientmatriser uppvisar ett pänyttkvantiseringsblock M < (506) som har anordnats att dela DCT-koefficientmatrisen med ett visst annat ....: 30 variabelvärde.
‘ * · ·' 21. Arrangemang enligt patentkrav 14, kännetecknat av att det uppvisar ; i - en ingäng (5 01) och en utgäng (504), «·« • *« 26 107495 - en till nänmda ingäng (501) kopplad bitströmsanalysator (502) med en första, andra, tredje och fjärde datautgäng och styrutgäng, - en tili nämnda utgäng (504) kopplad multiplexer (503) med en första, andra, tredje och fjärde dataingäng och styringäng, 5. en väsentligen direkt förbindelse frän styrutgängen vid nämnda bitströmsanalysator (502) tili styringängen vid nämnda multiplexer (503), - en väsentligen direkt förbindelse frän den första datautgängen vid nämnda bitströmsanalysator (502) tili den första dataingängen vid nämnda multiplexer (503), - en seriekoppling mellan den andra datautgängen vid nämnda bitströmsanalysator 10 (502) och den andra dataingängen vid nämnda multiplexer (503), där en dekoder (505) med variabel längd har kopplats tili den andra datautgängen vid nänmda bitströmsanalysator (502), en pänyttdekoder (508) med variabel längd har kopplats tili den andra dataingängen vid nämnda multiplexer (503), och mellan nämnda dekoder (505) med variabel längd och nämnda pänyttdekoder (508) med variabel längd finns 15 ett pänyttkvantiseringsblock (506) och ett DCT-filterblock (507) i valfri ordning, av vilka i nämnda dekoder (505) med variabel längd, nämnda pänyttdekoder (508) med variabel längd och nämnda pänyttkvantiseringsblock (506) vaqe uppvisar en styrutgäng, -mellan den tredje datautgängen vid nämnda bitströmsanalysator (502) och den 20 tredje dataingängen vid nämnda multiplexer (503) finns ett block (509) för multip'i -cering av matriselementen, uppvisande en styringäng som kopplats tili styrutgängen vid nämnda pänyttkvantiseringsblock (506), och - mellan den fjärde datautgängen vid nämnda bitströmsanalysator (502) och den : ’': fjärde dataingängen vid nänmda multiplexer (503) finns ett block (510) för modifie- : \: 25 ring av verifieringsvärdet i en virtualbuffert, uppvisande en första och en andra styr- ingäng av vilka den första styringängen har kopplats tili styrutgängen vid nänmda dekoder (505) med variabel längd och den andra styringängen har kopplats tili styr- . ·: ·. utgängen vid nänmda pänyttdekoder (508) med variabel längd. * » 1 • · · ♦ » · • · ·»· « ♦ « « « « · ·
FI991721A 1999-08-13 1999-08-13 Menetelmä ja järjestely koodatun digitaalisen kuvabittivirran volyymin tai tahdin pienentämiseksi FI107495B (fi)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FI991721A FI107495B (fi) 1999-08-13 1999-08-13 Menetelmä ja järjestely koodatun digitaalisen kuvabittivirran volyymin tai tahdin pienentämiseksi
EP00116467A EP1079636A1 (en) 1999-08-13 2000-07-29 Method and arrangement for reducing the volume or rate of an encoded digital video bitstream
US11/299,180 US20060088098A1 (en) 1999-08-13 2005-12-09 Method and arrangement for reducing the volume or rate of an encoded digital video bitstream

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI991721A FI107495B (fi) 1999-08-13 1999-08-13 Menetelmä ja järjestely koodatun digitaalisen kuvabittivirran volyymin tai tahdin pienentämiseksi
FI991721 1999-08-13

Publications (2)

Publication Number Publication Date
FI19991721A FI19991721A (fi) 2001-02-14
FI107495B true FI107495B (fi) 2001-08-15

Family

ID=8555152

Family Applications (1)

Application Number Title Priority Date Filing Date
FI991721A FI107495B (fi) 1999-08-13 1999-08-13 Menetelmä ja järjestely koodatun digitaalisen kuvabittivirran volyymin tai tahdin pienentämiseksi

Country Status (3)

Country Link
US (1) US20060088098A1 (fi)
EP (1) EP1079636A1 (fi)
FI (1) FI107495B (fi)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2823037B1 (fr) * 2001-03-27 2003-06-20 Thomson Csf Procede d'optimisation de la gestion de la bande passante d'un canal de transmission numerique
US7020672B2 (en) * 2001-03-30 2006-03-28 Koninklijke Philips Electronics, N.V. Reduced complexity IDCT decoding with graceful degradation
BR0204824A (pt) * 2001-04-12 2003-06-10 Koninkl Philips Electronics Nv Aparelho compreendendo um transcodificador e dispositivo embutidor de marca d'água, aparelho para gravaçao digital e método de embutir uma marca d'água dentro de informações de um fluxo de dados recebido
JP3928859B2 (ja) * 2002-11-11 2007-06-13 株式会社リコー 画像処理装置、画像処理方法、プログラム及び記録媒体
US7206563B1 (en) * 2003-04-17 2007-04-17 Apogee Technology, Inc. Reduction of radio frequency interference (RFI) produced by switching amplifiers
US8422546B2 (en) * 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US7619639B1 (en) * 2005-09-12 2009-11-17 Nvidia Corporation Adaptive scaling using a programmable video engine
US7899263B2 (en) * 2006-01-10 2011-03-01 Texas Instruments Incorporated Method and apparatus for processing analytical-form compression noise in images with known statistics
US8503536B2 (en) * 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US20070237237A1 (en) * 2006-04-07 2007-10-11 Microsoft Corporation Gradient slope detection for video compression
US8130828B2 (en) * 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8711925B2 (en) * 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US20080240257A1 (en) * 2007-03-26 2008-10-02 Microsoft Corporation Using quantization bias that accounts for relations between transform bins and quantization bins
US8498335B2 (en) * 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) * 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8442337B2 (en) * 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) * 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US8208558B2 (en) * 2007-06-11 2012-06-26 Texas Instruments Incorporated Transform domain fast mode search for spatial prediction in advanced video coding
US8111757B2 (en) * 2007-09-28 2012-02-07 Motorola Mobility, Inc. Method and apparatus for video signal processing
JP2009159359A (ja) * 2007-12-27 2009-07-16 Samsung Techwin Co Ltd 動画像データ符号化装置、動画像データ復号化装置、動画像データ符号化方法、動画像データ復号化方法及びプログラム
CN101971632B (zh) * 2008-01-08 2013-10-16 艾利森电话股份有限公司 自适应滤波
US8189933B2 (en) * 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
US8654838B2 (en) * 2009-08-31 2014-02-18 Nxp B.V. System and method for video and graphic compression using multiple different compression techniques and compression error feedback
CN104683801B (zh) * 2013-11-29 2018-06-05 华为技术有限公司 图像压缩方法和装置
US10313681B2 (en) * 2013-12-18 2019-06-04 Intel Corporation Techniques for rate-distortion optimization in video compression
CN110019719B (zh) * 2017-12-15 2023-04-25 微软技术许可有限责任公司 基于断言的问答

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US584015A (en) * 1897-06-08 Cap or closure
WO1993012613A1 (en) * 1991-12-13 1993-06-24 Avid Technology, Inc. Quantization table adjustment
US5355450A (en) * 1992-04-10 1994-10-11 Avid Technology, Inc. Media composer with adjustable source material compression
US5872597A (en) * 1994-08-26 1999-02-16 Kabushiki Kaisha Toshiba System for decoding moving picture signal multiplied and coded by DCT coefficient and additional data
US5687095A (en) * 1994-11-01 1997-11-11 Lucent Technologies Inc. Video transmission rate matching for multimedia communication systems
US5706216A (en) * 1995-07-28 1998-01-06 Reisch; Michael L. System for data compression of an image using a JPEG compression circuit modified for filtering in the frequency domain
US5845015A (en) * 1995-10-12 1998-12-01 Sarnoff Corporation Method and apparatus for resizing images using the discrete cosine transform
GB9611511D0 (en) * 1996-06-03 1996-08-07 Digi Media Vision Ltd Improvements in or relating to the bit-rate of a signal
EP0927495A4 (en) * 1997-07-22 2001-05-30 Koninkl Philips Electronics Nv METHOD AND DEVICE FOR SWITCHING BETWEEN VIDEO SEQUENCES
US6483947B1 (en) * 1998-03-17 2002-11-19 Matsushita Electric Industrial Co., Ltd. Video signal processing apparatus
US6310915B1 (en) * 1998-11-20 2001-10-30 Harmonic Inc. Video transcoder with bitstream look ahead for rate control and statistical multiplexing

Also Published As

Publication number Publication date
EP1079636A1 (en) 2001-02-28
FI19991721A (fi) 2001-02-14
US20060088098A1 (en) 2006-04-27

Similar Documents

Publication Publication Date Title
FI107495B (fi) Menetelmä ja järjestely koodatun digitaalisen kuvabittivirran volyymin tai tahdin pienentämiseksi
EP2940998B1 (en) Bounded rate near-lossless and lossless image compression
EP3632114B1 (en) Substream multiplexing for display stream compression
KR100253931B1 (ko) 디지탈 영상 시퀀스의 디코딩 방법 및 장치
US9451250B2 (en) Bounded rate compression with rate control for slices
US9805442B2 (en) Fine-grained bit-rate control
US5719632A (en) Motion video compression system with buffer empty/fill look-ahead bit allocation
US8873871B2 (en) Image processing apparatus and method
US9813711B2 (en) Hybrid transform-based compression
JP6921873B2 (ja) ディスプレイストリーム圧縮のためのサブストリーム多重化
US20020054638A1 (en) Coded signal separating and merging apparatus, method and computer program product
EP2904796B1 (en) Bounded rate compression with rate control for slices
US20060171463A1 (en) Apparatus, system for, method of and computer program product for separating and merging coded signal
KR20100017973A (ko) 이미지 트랜스코딩을 위한 비트 레이트 감소 기술들
KR20170016849A (ko) 디스플레이 스트림 압축 (dsc) 을 위한 엔트로피 코딩 기법들
CN108702513B (zh) 用于在显示流压缩中量化参数的适应性计算的设备及方法
JPH08289294A (ja) 適応量子化による動画像圧縮システム
CN108432249B (zh) 用于在显示流压缩(dsc)中计算失真的***和方法
US20050220352A1 (en) Video encoding with constrained fluctuations of quantizer scale
JP2004501531A (ja) ビデオ・データをランレングス符号化するための方法と装置
EP3595308A1 (en) Method and apparatus for encoding an image
KR20060057785A (ko) 영상 인코딩 방법 및 그 장치 그리고 영상 디코딩 방법및 그 장치
Reuss VC-5 Video Compression for Mezzanine Compression Workflows
JP2000358243A (ja) 画像処理方法,画像処理装置,及びデータ記憶媒体
Nasiopoulos et al. A hybrid coding method for digital HDTV signals