FI109635B - Method and device for post-processing video image - Google Patents

Method and device for post-processing video image Download PDF

Info

Publication number
FI109635B
FI109635B FI20010191A FI20010191A FI109635B FI 109635 B FI109635 B FI 109635B FI 20010191 A FI20010191 A FI 20010191A FI 20010191 A FI20010191 A FI 20010191A FI 109635 B FI109635 B FI 109635B
Authority
FI
Finland
Prior art keywords
pixel
processing
image
pixels
post
Prior art date
Application number
FI20010191A
Other languages
Finnish (fi)
Swedish (sv)
Other versions
FI20010191A0 (en
Inventor
Jarno Tulkki
Original Assignee
Hantro Products Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hantro Products Oy filed Critical Hantro Products Oy
Priority to FI20010191A priority Critical patent/FI109635B/en
Publication of FI20010191A0 publication Critical patent/FI20010191A0/en
Priority to PCT/FI2002/000074 priority patent/WO2002062072A1/en
Application granted granted Critical
Publication of FI109635B publication Critical patent/FI109635B/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Description

109635109635

Menetelmä ja laite videokuvan jälkikäsittelemiseksiMethod and device for post-processing video image

AlaArea

Keksinnön kohteina ovat menetelmä ja laite peräkkäisistä liikkumattomista kuvista muodostetun dekoodatun videokuvan jälkikäsittelemiseksi.The present invention relates to a method and apparatus for post-processing a decoded video image formed from a sequence of still images.

5 Tausta5 Background

Videokuvan koodausta ja dekoodausta käytetään datamäärän vähentämiseksi, jotta se voidaan tallentaa tehokkaammin jollekin muistivälineelle tai siirtää tietoliikenneyhteyttä käyttäen. Eräs esimerkki videokoodausstandardista on MPEG-4 (Moving Pictures Expert Group), jossa tavoitteena on lähet-10 tää videokuvaa reaaliaikaisesti langattomassa kanavassa. Tämä on erittäin kunnianhimoinen tavoite, sillä jos esimerkiksi lähetettävä kuva on cif-kokoa (288 x 352 pikseliä) ja lähetystaajuus 15 kuvaa sekunnissa, olisi pakattava 36,5 miljoonaa bittiä 64 kilobittiin joka sekunti. Pakkaussuhde olisi tällöin erittäin suuri 570:1.Video encoding and decoding are used to reduce the amount of data so that it can be stored more efficiently on a storage medium or transmitted over a communication connection. One example of a video encoding standard is MPEG-4 (Moving Pictures Expert Group), which aims to stream video on a wireless channel in real time. This is a very ambitious goal because, for example, if the image to be transmitted is cif (288 x 352 pixels) and the transmission rate is 15 frames per second, then 36.5 million bits should be compressed to 64 kilobits every second. The compression ratio would then be very high at 570: 1.

15 Kuvan siirtämiseksi kuva tyypillisesti jaetaan kuvalohkoiksi, joiden koko valitaan järjestelmään sopiviksi. Kuvalohkoinformaatio käsittää yleensä tietoa kuvalohkon valoisuudesta, väristä ja sijainnista itse kuvassa. Kuvalohko-jen data kompressoidaan lohkoittain halutulla koodausmenetelmällä. Kompressointi perustuu vähemmän merkityksellisen datan poistamiseen. Kompressi 20 sointimenetelmät jaetaan pääasiallisesti kolmeen eri luokkaan: spektrisen re-dundanssin vähentäminen (Spectral Redundancy Reduction), tilaredundanssin vähentäminen (Spatial Redundancy Reduction) ja ajallisen redundanssin vä-.·*·. hentäminen (Temporal Redundancy Reduction). Tyypillisesti kompressointiin käytetään näiden menetelmien erilaisia yhdistelmiä.15 In order to move an image, the image is typically divided into image blocks, the size of which is selected to fit the system. The block information generally comprises information about the brightness, color and position of the block in the image itself. The data in the image blocks is compressed block by block using the desired encoding method. Compression is based on the removal of less relevant data. Compressor sound methods are divided into three main categories: Spectral Redundancy Reduction, Spatial Redundancy Reduction, and Temporal Redundancy Reduction. Temporal Redundancy Reduction. Typically, various combinations of these methods are used for compression.

25 Spektrisen redundanssin vähentämiseksi sovelletaan esimerkiksi ···* YUV-värimallia. YUV-mallissa käytetään hyödyksi sitä, että ihmisen silmä on herkempi luminanssin eli valoisuuden vaihteluille kuin krominanssin eli värin :.’*i muutoksille. YUV-mallissa on yksi luminanssikomponentti (Y) ja kaksi kromi-nanssikomponenttia (U,V). Kahta krominanssikomponenttia voidaan nimittää . t*. 30 myös cb- ja cr-komponenteiksi. Esimerkiksi H.263 videokoodausstandardin mukainen luminanssilohko on 16 x 16 pikseliä ja kumpikin krominanssilohko, • · jotka kattavat saman alueen kuin luminanssilohko, 8x8 pikseliä. Yhden lumi-v ‘ nanssilohkon ja kahden krominanssilohkon yhdistelmää kutsutaan tässä stan-: dardissa makrolohkoksi (macroblock). Makrolohkot luetaan kuvasta yleensä ri- 35 veittäin. Jokainen pikseli, sekä luminanssi- että krominanssilohkossa, voi saa- 109635 2 da arvon väliltä 0-255, eli yhden pikselin esittämiseen tarvitaan kahdeksan bittiä. Esimerkiksi luminanssipikselin arvo 0 tarkoittaa mustaa ja arvo 255 valkoista.25 For example, ··· * YUV color scheme is used to reduce spectral redundancy. The YUV model takes advantage of the fact that the human eye is more sensitive to variations in luminance, or luminance, than to changes in chrominance, or color:. '* I. The YUV model has one luminance component (Y) and two chrominance component (U, V). Two chrominance components can be named. t *. 30 also as cb and cr components. For example, the H.263 video coding standard luminance block is 16 x 16 pixels, and each chrominance block, • · covering the same area as the luminance block, 8 x 8 pixels. The combination of one snow-v 'nance block and two chrominance blocks is referred to in this standard as a macroblock. Macro blocks are generally read out of the image. Each pixel, in both the luminance and chrominance blocks, can obtain a value of 109635 2 da from 0-255, i.e., eight bits are required to represent one pixel. For example, a value of 0 for a luminance pixel is black and a value for 255 is white.

Tilaredundanssin vähentämiseksi käytetään esimerkiksi diskreetti-5 kosinimuunnosta (Discrete Cosine Transform, DCT). Diskreettikosinimuunnok-sessa muunnetaan kuvalohkon pikseliesitys tilataajuusesitykseksi. Lisäksi ku-valohkossa vain niillä signaalitaajuuksilla, joita siinä esiintyy, on suuriamplitudi-set kertoimet, ja niillä signaaleilla, joita kuvalohkossa ei esiinny, kertoimet ovat lähellä nollaa. Diskreettikosinimuunnos on periaatteessa häviötön muunnos ja 10 signaaliin aiheutuu häiriötä vain kvantisoinnissa.For example, Discrete Cosine Transform (DCT) is used to reduce space redundancy. In discrete cosine conversion, the pixel representation of an image block is converted to a space frequency representation. In addition, in a photo block, only the signal frequencies it contains have high amplitude coefficients, and those signals which do not occur in the image block have coefficients close to zero. The discrete cosine transform is basically a lossless transform, and the 10 signals are only disturbed by quantization.

Ajallista redundanssia pyritään vähentämään hyödyntäen sitä tosiasiaa, että peräkkäiset kuvat yleensä muistuttavat toisiaan, joten sen sijaan, että kompressoitaisiin jokainen yksittäinen kuva, generoidaan kuvalohkojen lii-kedataa. Perusperiaate on seuraava: koodattavalle kuvalohkolle etsitään mah-15 dollisimman hyvä aiemmin koodattu vertailulohko (reference block), vertailu-lohkon ja koodattavan kuvalohkon välinen liike mallinnetaan ja lasketut liike-vektorit (motion vector coefficients) lähetetään vastaanottimelle. Koodattavan lohkon ja vertailulohkon erilaisuus ilmaistaan virhetekijänä (prediction error component, prediction error frame). Kuvalohkon liikevektorin määrittämiseen 20 (motion vector prediction) voidaan käyttää aiemmin muistiin talletettua vertailu-kuvaa (reference picture, reference frame). Tällaista koodausta kutsutaan in- . . ter-koodaukseksi, joka tarkoittaa saman kuvajonon kuvien välisten samankal- • · ... taisuuksien hyödyntämistä.An attempt is made to reduce temporal redundancy by taking advantage of the fact that successive images are generally similar to each other, so that instead of compressing each individual image, additional block data is generated. The basic principle is the following: searching for the best possible pre-coded reference block for the image block to be encoded, modeling the motion between the reference block and the encoded image block and sending the calculated motion vector coefficients to the receiver. The difference between the coded block and the reference block is expressed as a Prediction error component (Prediction error frame). To determine the motion vector Prediction 20 of a block of images, a reference picture, reference frame, previously stored in memory may be used. Such coding is called in-. . ter encoding, which means exploiting the similarities between images in the same • • image sequence.

‘ Tilaredundanssin vähentämiseksi makrolohkolle voidaan tehdä dis- • · · · ‘ ’ 25 kreettikosinimuunnos kaavalla: ..... %v) = -C(tt)C(v)2;2]/(*j)<!os——-cos- -- (1)To reduce the state redundancy for a macroblock, one can make a dis- • 25 · chalk cosine transform of the formula: .....% v) = -C (tt) C (v) 2; 2] / (* j) <! Os— -cos- - (1)

*"* *=o >=o ^iV IN* «* * = o> = o ^ iV IN

jossa x ja y ovat alkuperäisen lohkon koordinaatit, u ja v ovat muun-noslohkon koordinaatit, N - 8 ja il • ‘ · · -η=, kaikilla u.v = 0 c(u),c(v) = U2 (2) • I ‘ [1, muulloin 30 Seuraavaksi taulukossa 1 esitetään esimerkki siitä, miten 8x8 pikse- • · >where x and y are the coordinates of the original block, u and v are the coordinates of the transform block, N - 8 and il • '· · -η =, for all uv = 0 c (u), c (v) = U2 (2) • I '[1, Otherwise 30 Next, Table 1 shows an example of how 8x8 pixels • ·>

Iin kokoinen lohko muunnetaan diskreettikosinimuunnoksella. Taulukon ylem- .·:·. mässä osassa on muuntamattomat pikselit, ja taulukon alaosassa diskreettiko-sinimuunnoksen jälkeinen tulos, jossa ensimmäinen alkio arvoltaan 1303, ns.The block of size I is converted by a discrete cosine transform. Top of the table ·: ·. this section has unmodified pixels, and at the bottom of the table the result after the discrete-to-blue conversion, with the first element having a value of 1303, so-called.

3 ! ! 10 9 6 ό 5 dc-kerroin, kuvaa pikseleiden keskimääräistä suuruutta lohkossa, ja muut 63 alkiota, ns. ac-kertoimet, kuvaavat pikseleiden hajontaa lohkossa.3! ! 10 9 6 ό 5 dc, describes the average size of pixels in a block, and the other 63 elements, so-called. ac coefficients, which represent pixel scattering in a block.

Kuten taulukon 1 pikseleiden arvoista nähdään, niillä on suuri hajonta. Tällöin diskreettikosinimuunnoksen jälkeinen tulos sisältää myös paljon 5 erisuuruisia ac-kertoimia.As can be seen from the pixel values in Table 1, they have a large dispersion. Then the result after the discrete cosine conversion also contains a lot of 5 different ac coefficients.

249 241 248 255 248 251 250 246 215 249 199 214 236 193 218 220 118 219 175 135 176 118 172 186 87 187 230 123 182 172 178 205 112 154 166 122 164 154 143 159 124 115 112 122 110 113 116 111 120 121 122 122 124 123 122 121 _120 121 119 120 120 120 120 118_ 1303 -18 -3 -43 -32 -54 -22 28 335 -2 5 -20 -6 -26 -26 11 100 29 6 45 44 49 -8 -30 41 9 -9 39 25 42 25 -21 68 -27 -19 -9 -24 -4 39 11 9 -18 -6 -23 -23 -1 18 9 • · ... -54 10 10 -6 2 10 -9 -5 ! _-18 5 3 2 5 -8 -11 1_ • · '···] Taulukko 1 • ·» 10 Taulukossa 2 kuvataan lohko, jossa pikseleiden välillä on pieni ha jonta. Kuten taulukosta 2 havaitaan, tällöin ac-kertoimet saavat samat arvot, eli lohko kompressoituu erittäin tehokkaasti.249 241 248 255 248 251 250 246 215 249 199 214 236 193 218 220 118 219 175 135 176 118 172 186 87 187 230 123 182 172 178 205 112 154 166 122 164 154 143 159 124 115 112 122 110 113 116 111 120 121 122 122 124 123 122 121 _120 121 119 120 120 120 120 118_ 1303 -18 -3 -43 -32 -54 -22 28 335 -2 5 -20 -6 -26 -26 11 100 29 6 45 44 49 -8 - 30 41 9 -9 39 25 42 25 -21 68 -27 -19 -9 -24 -4 39 11 9 -18 -6 -23 -23 -1 18 9 • · ... -54 10 10 -6 2 10 -9 -5! _-18 5 3 2 5 -8 -11 1_ • · '···] Table 1 • · »10 Table 2 describes a block with a small spread between pixels. As can be seen in Table 2, the ac coefficients get the same values, i.e. the block is compressed very efficiently.

•»» • · · ♦ · · «· · » · * · • · ·• »» • • · ♦ · · «· · · * · • · ·

• I I » I• I I »I

! ! 4 109655 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 _115 115 115 115 115 115 115 115_ 924 OOOOOOO 00000000 00000000 00000000 00000000 00000000 00000000 _00000000_! ! 4 109655 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 115 _115 115 115 115 115 115 115 115_ 924 OOOOOOO 00000000 00000000 00000000 00000000 00000000 00000000 _00000000_

Taulukko 2Table 2

Seuraavaksi diskreettikosinimuunnettu lohko ’’kvantisoidaan”, eli pe-5 riaatteessa sen jokainen alkio jaetaan jollain vakiolla. Tämä vakio saattaa vaih- • · della eri makrolohkojen välillä. Lisäksi ac-kertoimille käytetään yleensä suurempaa jakajaa kuin dc-kertoimille. "Kvantisointiparametri”, josta kyseiset ja-'···[ kajat lasketaan, on välillä 1-31. Mitä enemmän nollia saadaan lohkoon, sitä * paremmin lohko pakkaantuu, sillä nollia ei kanavaan lähetetä. Kvantisoiduille :...; 10 lohkoille voidaan vielä tehdä erilaisia koodausmenetelmiä ja lopulta niistä muodostetaan bittivirta, joka lähetetään dekooderille. Kooderin sisällä kvanti-soiduille lohkoille tehdään vielä käänteiskvantisointi ja käänteisdiskreetti-kosinimuunnos, ja näin muodostetaan referenssikuva, josta voidaan ennustaa seuraavien kuvien lohkoja. Jatkossa kooderi siis lähettää tulevan lohkon ja re-15 ferenssilohkojen välistä erodataa. Näin pakkaustehokkuus paranee.Next, the discrete cosine transform block is "" quantized, "i.e. in principle each element of it is divided by some constant. This constant may vary between • macroblocks. In addition, a larger divisor is usually used for ac coefficients than for dc coefficients. The "quantization parameter" that these ja ··· [echoes are calculated from is 1-31. The more zeros a block receives, the better the block will be compressed, since no zeros are transmitted to the channel. For quantized: ...; 10 blocks to perform different encoding methods, and finally converting them into a bit stream, which is transmitted to the decoder. to improve compression efficiency.

'···* Kvantisointi on videokoodauksen ongelma, sillä mitä suurempaa kvantisointia joudutaan käyttämään, sitä enemmän kuvasta katoaa tietoa ja .;: lopputulos on epämiellyttävää katsottavaa.'··· * Quantization is a problem with video coding because the higher the quantization, the more data is lost from the image and.;: The result is unpleasant to watch.

5 1096555, 109655

Dekooderi (Decoder) tekee bittivirran purkamisen ja dekoodausme-netelmien jälkeen periaatteessa saman kuin kooderi (Encoder) teki referenssi-kuvaa muodostettaessa, eli lohkoille tehdään samat asiat kuin kooderissa, mutta käänteisesti.After decoding the bit stream and decoding methods, the decoder does basically the same thing as the encoder did when generating the reference image, i.e. the blocks do the same thing as the encoder but in reverse.

5 Lopulta koottu videokuva viedään näytölle ja lopputulos riippuu suu resti käytetystä kvantisointiparametrista. Jos nimittäin jokin lohkon alkio menee kvantisoinnissa nollaksi, ei käänteiskvantisointi kykene sitä enää palauttamaan. Diskreettikosinimuunnos ja kvantisointi aiheuttavat siis kuvan laadun huonontumista, joka näkyy kohinana ja lohkottumisena.5 The video that is finally compiled is displayed and the result depends largely on the quantization parameter used. Namely, if an element of a block goes to zero in quantization, inverse quantization can no longer restore it. Discrete cosine conversion and quantization thus cause image quality degradation, which is reflected in noise and segmentation.

10 Tunnetun tekniikan mukaisesti kuvan laatua parantava jälkikäsittely on tehty keskiarvoistamalla kuvan pikseleitä. Tämä kuitenkin aiheuttaa kuvassa esiintyvien objektien välisten rajojen pehmentymistä, jolloin kuvasta tulee suttuinen.10 According to prior art, image processing to improve image quality is done by averaging the pixels of the image. However, this causes the borders between objects in the image to soften, making the image blurry.

Lyhyt selostus 15 Keksinnön tavoitteena on tarjota parannettu menetelmä dekoodatun videokuvan jälkikäsittelemiseksi, parannettu laite dekoodatun videokuvan jälki-käsittelemiseksi, parannettu tietokoneohjelma dekoodatun videokuvan jälkikäsittelemiseksi ja parannettu tietokoneen muistiväline dekoodatun videokuvan jälkikäsittelemiseksi.BRIEF DESCRIPTION OF THE INVENTION An object of the invention is to provide an improved method for post-decoded video image processing, an improved device for post-decoded video image processing, an improved computer program for post-decoded video image processing, and an improved computer memory means for post-decoded video image processing.

20 Keksinnön eräänä puolena esitetään patenttivaatimuksen 1 mukai- . . nen menetelmä dekoodatun videokuvan jälkikäsittelemiseksi. Keksinnön erää-•«· · nä puolena esitetään patenttivaatimuksen 15 mukainen laite dekoodatun vi-’·’ * deokuvan jälkikäsittelemiseksi. Keksinnön muut edulliset suoritusmuodot ovat ·”· epäitsenäisten patenttivaatimusten kohteena.One aspect of the invention is provided according to claim 1. . method for post-processing a decoded video image. In one aspect of the invention, there is provided an apparatus according to claim 15 for post-processing a decoded video image. Other preferred embodiments of the invention are claimed in the dependent claims.

«t * ·'...· 25 Keksintö perustuu siihen, että jälkikäsittelyssä käsitellään liikkumat- *:·*: toman kuvan kaikki tai ainakin lähes kaikki pikselit kuvan reunan pikseleitä lu- kuunottamatta siten, että käsiteltävän pikselin muodostukseen käytettävät pik- • · · selit valitaan käsiteltävän pikselin ympärille kuvitteellisesti muodostuvan neli- : kulmion diagonaaleilta eli halkaisijoilta käyttäen valinnassa hyväksi tietoa sen • · · .···’ 30 makrolohkon kvantisointiparametrista johon käsiteltävä pikseli kuuluu. Refe-renssipikselit valitaan vain jos ne poikkeavat käsiteltävästä pikselistä korkein-taan kvantisoinnissa menetetyn jakojäännöksen verran. Näin vältytään puuttu-masta kuvassa esiintyvien objektien välisiin rajoihin ja pehmennetty kuva py-.··. syy selkeänä. Pehmennys vähentää kuvassa näkyvää lohkottumista, mutta sa-^ . 35 maila jopa joidenkin objektien väliset rajat terävöityvät, eli keksinnöllä kuvaa voidaan samanaikaisesti sekä pehmentää että terävöittää.The invention is based on the fact that after processing, all or at least almost all pixels of a still image, except for the pixels on the edge of the image, are processed so that the pixels used to form the pixel to be processed. the tags are selected from the diagonals, i.e. diameters, of an imaginary quadrangle around the pixel being processed, making use of information about the quantization parameter of the • · ·. ··· '30 macroblock to which the pixel to be processed belongs. Reference pixels are selected only if they deviate from the pixel being processed at most by the loss of partition lost in quantization. This avoids interfering with the boundaries between objects in the image and blurs the image smoothly ··. the reason is clear. Softening reduces the blurring seen in the image, but it does ^. 35 clubs even sharpen the boundaries between some objects, so the invention can simultaneously soften and sharpen the image.

109635 6109635 6

KuvioluetteloList of figures

Keksinnön edulliset suoritusmuodot selostetaan esimerkinomaisesti alla viitaten oheisiin piirroksiin, joista: kuvio 1 esittää laitteita videokuvan koodaamiseksi ja dekoodaami- 5 seksi; kuviot 2A, 2B ja 2C esittävät referenssipikseleiden valintaa; kuviot 3A ja 3B esittävät erilaisia suoritusmuotoja referenssipikseleiden valitsemiseksi; kuvio 3C havainnollistaa referenssipikseleiden valinnalla saavutetta- 10 vaa etua; kuvio 4 kuvaa pikseleitä kuviossa 1 kuvattujen laitteiden osien välisissä rajapinnoissa; ja kuvio 5 on vuokaavio havainnollistaen menetelmää peräkkäisistä liikkumattomista kuvista muodostetun dekoodatun videokuvan jälkikäsittelyyn.Preferred embodiments of the invention will be described by way of example with reference to the accompanying drawings, in which: Figure 1 shows devices for encoding and decoding a video image; Figures 2A, 2B and 2C show a selection of reference pixels; Figures 3A and 3B show different embodiments for selecting reference pixels; Figure 3C illustrates the advantage of selecting reference pixels; Figure 4 illustrates pixels at the interfaces between parts of the devices illustrated in Figure 1; and Fig. 5 is a flowchart illustrating a method for post-processing a decoded video image formed from successive still images.

15 Suoritusmuotojen kuvaus15 Description of Embodiments

Viitaten kuvioon 1 selostetaan laitteita videokuvan koodaamiseksi ja dekoodaamiseksi. Henkilön 100 kasvoja kuvataan videokameralla 102. Videokuva muodostuu kamerassa 102 yksittäisistä peräkkäisistä liikkumattomista kuvista, joista kuviossa esitetään yksi liikkumaton kuva 104. Kameralla 102 20 muodostetaan kuvaa 104 pikseleinä esittävä matriisi, esimerkiksi alussa kuva-tulla tavalla, jossa luminanssille ja krominanssille ovat omat matriisinsa. Kuvaa • · ... 104 pikseleinä esittävä datavuo 106 viedään seuraavaksi kooderiin 108. Tie- *' [ tenkin on mahdollista rakentaa myös sellainen laite, jossa datavuo 106 saa-• ♦ · « daan kooderiin 108 esimerkiksi tiedonsiirtoyhteyttä pitkin tai vaikkapa tietoko- ’···* 25 neen muistivälineeltä. Tällöin tarkoituksena on se, että kompressoimaton vi-» deokuva 106 kompressoidaan kooderilla 108 esimerkiksi edelleen lähetystä tai • · · tallennusta varten.Referring to Figure 1, devices for encoding and decoding a video image are described. The face of the person 100 is captured by the camcorder 102. The video image is formed by the camera 102 with a single successive still image, the image showing a single still image 104. The camera 102 20 generates a matrix representing the image 104 in pixels, for example, luminance and chrominance. The data stream 106 representing pixels • · ... 104 in pixels is next exported to the encoder 108. It is also possible to construct a device where the data stream 106 is received in the encoder 108, e.g. ·· * 25 memory devices. The purpose here is that the uncompressed video 106 is compressed by encoder 108, for example, for transmission or recording.

Koska mielenkiinnon kohteena olevissa laitteissa meitä kiinnostaa :*·.· tilaredundanssin vähentämiseksi suoritettava kompressointi, kuvataan koode-« · .··. 30 rista 108 ja dekooderista 120 vain sen kannalta oleelliset osat. Muiden osien > ♦ · ♦. toiminta on alan ammattilaiselle selvää standardien ja oppikirjojen perusteella, ' ·: ·" esimerkiksi tähän viitteeksi otettavien teosten perusteella: - ISO/IEC JTC 1/SC 29/WG 11: ’’Generic coding of audio visual ob-jects - Part 2: Visual”, sivut 178, 179, 281.Because of the interest in the devices of interest: * ·. · Compression to reduce space redundancy, the coding is described. 30 and decoder 120 are only relevant parts thereof. For other parts> ♦ · ♦. the operation will be apparent to those skilled in the art by reference to standards and textbooks, "·: ·" for example, by reference to the following references: - ISO / IEC JTC 1 / SC 29 / WG 11: '' Generic coding of audio visual ob-jects - Part 2: Visual , Pages 178, 179, 281.

7 109635 - Vasudev Bhaskaran ja Konstantinos Konstantinides: ’’Image and Video Compressing Standards - Algorithms and Architectures, Second Edition”, Kluwer Academic Publishers 1997, luku 6: ’’The MPEG video standards”.7 109635 - Vasudev Bhaskaran and Konstantinos Konstantinides: '' Image and Video Compressing Standards - Algorithms and Architectures, Second Edition '', Kluwer Academic Publishers 1997, Chapter 6: '' The MPEG Video Standards ''.

Kooderi 108 käsittää diskreettikosinimuunnosvälineet 110 suorittaa 5 edellä kuvatulla tavalla diskreettikosinimuunnos kunkin liikkumattoman kuvan 104 pikseleille. Diskreettikosinimuunnoksella muodostettu datavuo 112 viedään kvantisointivälineisiin 114, joilla suoritetaan kvantisointi valitulla kvan-tisointisuhteella. Kvantisoidulle datavuolle 116 voidaan suorittaa vielä muutakin koodausta, jota ei tässä kuitenkaan kuvata. Kooderilla 108 muodostettu 10 kompressoitu videokuva siirretään kanavaa 118 käyttäen dekooderille 120. Tässä ei ole kuvattu, miten kanava 118 toteutetaan, koska eri toteutusvaihtoehdot ovat alan ammattilaiselle selviä. Kanava 118 voi olla esimerkiksi kiinteä tai langaton tiedonsiirtoyhteys. Kanava 118 voidaan myös tulkita siirtotieksi, jota käyttäen videokuva tallennetaan jollekin muistivälineelle, esimerkiksi 15 laserlevylle, ja jota käyttäen videokuva sitten luetaan muistivälineeltä ja käsitellään dekooderilla 120.Encoder 108 comprises a discrete cosine conversion means 110 performs a discrete cosine conversion on the pixels of each still image 104 as described above. The data stream 112 generated by the discrete cosine transform is fed to quantization means 114 for performing quantization at a selected quantization ratio. Still other coding may be performed on the quantized data stream 116, which is not described herein. The compressed video image 10 formed by the encoder 108 is transmitted using the channel 118 to the decoder 120. It is not described how the channel 118 is implemented, since various implementation alternatives will be apparent to those skilled in the art. For example, channel 118 may be a fixed or wireless communication link. Channel 118 may also be interpreted as a transmission path through which a video image is stored on a storage medium, such as a laser disk, and by which the video image is then read from a storage medium and processed by decoder 120.

Dekooderi 120 käsittää käänteiskvantisointivälineet 122, joilla koodeissa 108 suoritettu kvantisointi puretaan. Käänteiskvantisointi ei valitettavasti kykene enää palauttamaan lohkon alkiota, jonka arvo kvantisoinnissa 20 meni nollaksi.The decoder 120 comprises inverse quantization means 122 for decoding the quantization performed in codes 108. Unfortunately, inverse quantization is no longer able to return a block element whose value in quantization 20 went to zero.

Käänteiskvantisoitu datavuo 124 viedään seuraavaksi käänteisdis-kreettikosinimuunnosvälineisiin 126, joilla suoritetaan käänteisdiskreettikosini- ... muunnos kunkin liikkumattoman kuvan 104 pikseleille. Saatu datavuo 128 vie- • · » * . dään sitten mahdollisten muiden dekoodausprosessien kautta näytölle 130, • ·»· 25 jossa esitetään liikkumattomista kuvista 104 muodostuva videokuva.Next, the inverse quantized data stream 124 is applied to inverse-disc-cretine cosine conversion means 126 for performing inverse-discrete cosine transform ... for the pixels of each still image 104. The resulting data stream 128 • • »*. is then displayed, via any other decoding processes, to a display 130, showing a video image of still images 104.

’···* Kooderi 108 ja dekooderi 120 voidaan sijoittaa erilaisiin laitteisiin, esimerkiksi tietokoneisiin, erilaisten radiojärjestelmien tilaajapäätelaitteisiin ku- «· · ten matkaviestimiin, tai muihin laitteisiin, joissa halutaan käsitellä videokuvaa. Kooderi 108 ja dekooderi 120 voidaan myös yhdistää samaan laitteeseen, jota 30 voidaan tällöin nimittää videokoodekiksi.The encoder 108 and decoder 120 may be located in various devices, such as computers, subscriber terminals of various radio systems, such as mobile stations, or other devices in which video image processing is desired. Encoder 108 and decoder 120 may also be combined with the same device, which may then be referred to as a video codec.

Kuviossa 4 kuvataan tunnetun tekniikan mukaisia pikseleitä kuvios- • * * ·. sa 1 kuvattujen laitteiden osien välisissä rajapinnoissa 106, 112, 116, 124 jaFigure 4 illustrates prior art pixel pattern * * * ·. 1, interfaces 106, 112, 116, 124 and

• t I• t I

128. Testikuvana on käytetty alan ammattilaisten tunteman testisekvenssin ”calendar_qcif.yuv” ensimmäisen kuvan ensimmäistä 8x8 kokoista luminanssi-35 lohkoa. Rajapinta 106 kuvaa datavuon sisältöä kameran 102 jälkeen. Rajapin- ....j ta 112 kuvaa datavuon sisältöä diskreettikosinimuunnosvälineiden 110 jäi- 8 109635 keen. Rajapinta 116 kuvaa datavuon sisältöä kvantisointivälineiden 114 jälkeen. Käytetty kvantisointisuhde on 17.128. The first 8x8 luminance 35 blocks of the first image of the test sequence "calendar_qcif.yuv", known to those skilled in the art, are used as the test image. The interface 106 illustrates the content of the data stream after the camera 102. The interface 112 illustrates the content of the data stream to the ice of the discrete cine conversion means 110 1109635. The interface 116 illustrates the content of the data stream after the quantization means 114. The quantization ratio used is 17.

Yksinkertaisuuden vuoksi muita tunnettuja koodauksia ei ole käytetty, eli rajapinnan 116 datavuo siirretään kanavaa 118 pitkin dekooderille 120.For simplicity, other known encodings are not used, i.e., the data stream of interface 116 is transmitted along channel 118 to decoder 120.

5 Rajapinta 124 kuvaa datavuon sisältöä käänteiskvantisointivälineiden 122 jälkeen. Kuten kuviosta 5 havaitaan vertailemalla alkuperäistä datavuota 112 ennen kvantisointia ja rekonstruoitua datavuota 124 käänteiskvantisoinnin jälkeen, ei kvantisoinnin seurauksena rajapinnassa 116 esitettyjä nollaksi menneitä ac-komponenttien arvoja enää saada palautettua ennalleen. Käytännös-10 sä tämä aiheuttaa sen, että alkuperäinen kuva 106 ennen dekoodausta ja rajapinnassa 128 kuvattu käänteisdiskreettikosinimuunnosvälineillä 126 rekonstruoitu kuva eivät vastaa enää toisiaan. Rekonstruoituun kuvaan on siis ilmestynyt kuvan laatua huonontavaa kohinaa.Interface 124 illustrates the content of the data stream after inverse quantization means 122. As can be seen in Figure 5 by comparing the original data stream 112 before quantization and the reconstructed data stream 124 after inverse quantization, as a result of quantization, the zero values of the ac components shown at interface 116 can no longer be restored. In practice 10, this causes the original image 106 before decoding and the image reconstructed by the inverse discrete cosine conversion means 126 described at interface 128 to no longer match. Thus, noise that degrades image quality has appeared in the reconstructed image.

Kuviossa 1 dekooderiin 120 on liitetty laite peräkkäisistä liikkumatto-15 mistä kuvista muodostetun dekoodatun videokuvan jälkikäsittelemiseksi. Kyseinen laite käsittää prosessointivälineet 140 jälkikäsitellä liikkumatonta kuvaa. Jälkikäsittelylaite voidaan toteuttaa siten, että se integroidaan dekooderiin 120, jolloin prosessointivälineet 140 voivat olla prosessori ohjelmistoineen. Prosessointivälineet 140 on sovitettu toistamaan vuorollaan kunkin liikkumattoman 20 kuvan pikseleille jälkikäsittely.In Figure 1, a decoder 120 is provided with a device for post-processing a decoded video image formed from successive still images. The device comprises processing means 140 for post-processing the still image. The post-processing device may be implemented by integrating it with decoder 120, whereby processing means 140 may be a processor with software. The processing means 140 are adapted to repeat, in turn, the pixels of each still image 20.

Pikselin jälkikäsittelyssä ensin valitaan käsiteltävän pikselin ympäril-le muodostetun neliönmuotoisen alueen molemmilla diagonaaleilla olevat pik-... selit referenssipikseleiksi. Tätä valitsemista kuvataan kuvioissa 2A, 2B ja 2C.In pixel post-processing, the pixels on both diagonals of the square formed around the pixel to be processed are first selected as reference pixels. This selection is illustrated in Figures 2A, 2B and 2C.

' Kuviossa 2A kuvataan 8x8 pikselin 200 suuruinen lohko. Käsiteltävää pikseliä 25 kuvataan viitenumerolla 202 ja kirjaimella P. Kuviossa 2B käsiteltävän pikselin ’·* P ympärille on muodostettu neliönmuotoinen alue 204, jossa on kaksi dia- gonaalia 206 ja 208. Kyseisillä diagonaaleilla 206, 208 olevat pikselit valitaan • · ·Figure 2A illustrates a block of size 8x8 pixels 200. The pixel 25 to be processed is represented by reference numeral 202 and the letter P. In Figure 2B, a square region 204 is formed around the pixel '· * P to be processed, having two diagonals 206 and 208. Pixels on said diagonals 206, 208 are selected.

kuviossa 2C kuvattavalla tavalla referenssipikseleiksi 210, joita kuvataan kirjaimella R. Esimerkissä käsiteltävän pikselin P ympäriltä referenssipikseleitä R2C to reference pixels 210, represented by the letter R. In the example, reference pixels R around the pixel P to be processed

:*·,· 30 on siis kahdeksan kappaletta.: * ·, · 30 is thus eight songs.

• ·• ·

Referenssipikseleitä R voidaan asettaa ehdolle myös enemmän tai ·. vähemmän kuin kahdeksan kappaletta. Kuviossa 3A kuvataan suoritusmuoto, • · · ·;** jossa käsiteltävän pikselin ympärille muodostettu neliö 300 on pienempi kuin kuviossa 2B. Kuviossa 2B neliön 204 koko oli 5 x 5 pikseliä, mutta kuviossa 3A : ’ · ’: 35 neliön 300 koko on 3 x 3 pikseliä, jolloin referenssipikseleitä R saadaan neljä.You can also nominate more reference pixels R or ·. less than eight songs. Fig. 3A illustrates an embodiment in which the square 300 formed around the pixel to be processed is smaller than in Fig. 2B. In Fig. 2B, the size of the square 204 was 5 x 5 pixels, but in Fig. 3A: '·': the size of the square 300 is 3 x 3 pixels, whereby four reference pixels R are obtained.

9 10963b9 10963b

Kuviossa 3B kuvataan suoritusmuoto, jossa prosessointivälineet 140 on sovitettu valitsemaan ainakin neljä referenssipikseliä 302, 310, 312, 314, kaksi kummaltakin diagonaalilta, eli ensimmäinen kustakin diagonaalin käsiteltävästä pikselistä P alkavasta osasta. Diagonaaleja ei ole selvyyden 5 vuoksi kuvattu kuviossa 3B, mutta ne sijaitsevat vastaavasti kuin kuviossa 2B. Diagonaalin käsiteltävästä pikselistä P alkavista osista on kuvattu yksi neljästä, eli oikealla alaviistoon menevä diagonaalin osa 208.FIG. 3B illustrates an embodiment in which processing means 140 are adapted to select at least four reference pixels 302, 310, 312, 314, two from each diagonal, i.e., the first portion starting from each pixel P to be processed in the diagonal. For the sake of clarity, the diagonals are not depicted in Fig. 3B, but they are located similarly to Fig. 2B. One of the four portions of the diagonal beginning with the pixel P to be processed is illustrated, i.e. the diagonal section 208 going down to the right.

Kuviossa 3B kuvataan myös suoritusmuoto, jossa prosessointivälineet 140 on sovitettu valitsemaan referenssipikseleitä R jo valittujen neljän li-10 säksi 302, 310, 312, 314 neljä uutta siten, että uusi valittu pikseli on kyseisessä diagonaalin osassa joko seuraava pikseli 304, tai diagonaalin osassa sekä ensimmäisen P että toisen pikselin 304 vieressä oleva pikseli 306 tai 308.Fig. 3B also illustrates an embodiment in which processing means 140 are adapted to select reference pixels R among four already selected 301, 310, 312, 314 four new ones so that the new selected pixel is either the next pixel 304 in that diagonal part and the first - that pixel 306 or 308 adjacent to the second pixel 304.

Neljä referenssipikseliä R ovat eräänlainen minimi, sillä on edullista, että referenssipikselit ovat tasaisesti sijoittuneet käsiteltävän pikselin P ympä-15 rille. Kuviossa 3C havainnollistetaan referenssipikseleiden R sijoittumisen merkitystä. Oletetaan, että kuviossa 3C on kuvattu sellainen kohta liikkumattomasta kuvasta, jossa neljä lohkoa, kukin kooltaan esimerkiksi 8x8 pikseliä ovat vierekkäin. Ylhäällä vasemmalla on siis lohko 320, ylhäällä oikealla lohko 322, alhaalla vasemmalla lohko 324, ja alhaalla oikealla lohko 326. Kuten kuviosta 20 nähdään ovat neljä lähinnä käsiteltävää pikseliä P olevaa referenssipikseliä R kukin eri lohkossa 320, 322, 324, 326. Referenssipikselit R siis muodostavat edullisesti X-kirjaimen muotoisen kuvion. Jos referenssipikselit asetettaisiin * · ... XY-koordinaatistoon, eli X:ää kierrettäisiin 45 astetta, ei kuvatussa esimerkissä • · · ·' \ olisi referenssipikseleitä ollenkaan lohkossa 326, mutta niitä olisi kaksinkertai- •«t · 25 nen määrä samassa lohkossa 320 kuin käsiteltävä pikseli P, mikä heikentäisi jälkikäsittelyn tuottamaa kuvanparannusta. Tavoitteena on siis valita referens-: sipikselit R siten, että mahdollisimman moni referenssipikseli R sijaitsee eri lohkossa kuin käsiteltävä pikseli P. Näin lohkorajojen häivytys maksimoidaanThe four reference pixels R are a kind of minimum, since it is preferable that the reference pixels are evenly spaced around the pixel P being processed. Figure 3C illustrates the significance of the positioning of reference pixels R. Assume that Figure 3C illustrates a point in a still image where four blocks, e.g., 8x8 pixels in size, are adjacent to each other. Thus, there is a block 320 at the top left, a block 322 at the top right, a block 324 at the bottom left, and a block 326 at the bottom right. As shown in FIG. 20, the four reference pixels R closest to the processing pixel P are each in different blocks 320, 322, 324, 326. preferably form an X-shaped pattern. If the reference pixels were set to * · ... in the XY coordinate system, i.e., X was rotated 45 degrees, in the example described, there would be no reference pixels in block 326, but there would be twice the number of pixels in the same block 320. than the pixel P being processed, which would weaken the image enhancement produced by post-processing. Thus, the aim is to select the reference: pixels R so that as many reference pixels R are located in a different block as the pixel P to be processed, thus maximizing the fading of the block boundaries.

Referenssipikselit siis ovat yleensä X-kirjaimen muotoisessa kuvios-30 sa, jonka sakaroiden pituuden määrää neliön diagonaalin pituus. On huomat- I | tava, että X-kirjaimen muotoinen kuvio voi myös olla muodoltaan vääristynyt kuviossa 3B esitetyllä tavalla, eli X-kirjaimen keskimmäinen osa on säännölli-'··; nen, mutta X-kirjaimen sakaroiden kärjet ovat kiertyneet joko vasemmalle tai :: oikealle, tarkasteltaessa tilannetta diagonaalin osan 208 suhteen.Thus, the reference pixels are generally in the form of an "X" in pattern-30, the length of which is determined by the diagonal length of the square. It is noticeable- I | Note that the X-shaped pattern may also be distorted in the manner shown in Figure 3B, i.e., the middle portion of the X is regular. but the tips of the X-shaped claws are rotated either left or :: right when looking at the situation with respect to diagonal section 208.

35 Prosessointivälineet 140 on sovitettu muodostamaan vuorollaan kä- siteltävän pikselin P ja kunkin referenssipikselin R erotuksen itseisarvo, ja jos 109635 10 itseisarvo on pienempi kuin sen makrolohkon kvantisointiparametri johon käsiteltävä pikseli P kuuluu, niin valitaan referenssipikseli R referenssikeskiarvon muodostukseen. Näin kuvan eri objektiin kuuluvien pikseleiden vaikutus käsiteltävään pikseliin P minimoidaan, eli objektien välisiä rajoja ei muuteta epä-5 selvemmiksi.The processing means 140 are adapted to form, in turn, an absolute value of the difference between the pixel P to be processed and each reference pixel R, and if the absolute value of 109635 10 is less than the quantization parameter of the macroblock to which the pixel P is processed. In this way, the effect of the pixels belonging to the different object of the image on the pixel P being processed is minimized, i.e. the boundaries between the objects are not rendered less clear.

Lisäksi prosessointivälineet 140 on sovitettu suorittamaan seuraa-va testi: jos ainakin yksi referenssipikseli R valittiin referenssikeskiarvon muodostukseen, niin muodostetaan valittujen referenssipikseleiden R referenssi-keskiarvo ja asetetaan käsiteltävän pikselin P arvoksi käsiteltävästä pikselistä 10 P ja referenssikeskiarvosta muodostettu keskiarvo.Further, the processing means 140 is adapted to perform the following test: if at least one reference pixel R is selected for generating a reference average, generating a reference average of the selected reference pixels R and setting the value of the processed pixel P from the processing pixel 10P.

Seuraavaksi kuvion 5 vuokaavioon viitaten selostetaan menetelmä peräkkäisistä liikkumattomista kuvista muodostetun dekoodatun videokuvan jälkikäsittelyyn. Menetelmässä toistetaan vuorollaan kunkin liikkumattoman kuvan pikseleille jälkikäsittely. Kuviossa 5 kuvataan nimenomaan tämä yhdelle 15 liikkumattomalle kuvalle suoritettava jälkikäsittely. Käytännössä jälkikäsiteltä-essä videokuvaa, kuvion 5 toimenpiteet toistetaan kullekin videokuvan yksittäiselle liikkumattomalle kuvalle. Jälkikäsittely voidaan suorittaa liikkumattoman kuvan sekä luminanssidatalle että krominanssidatalle.Referring now to the flowchart of Fig. 5, a method for post-processing a decoded video image formed from successive still images is described. In the method, the pixel processing of each still image is repeated in turn. Figure 5 illustrates precisely this post-processing of one still image. In practice, when post-processing a video image, the operations of Figure 5 are repeated for each individual still image of the video image. Post-processing can be performed on both luminance and chrominance data of a still image.

Menetelmän suoritus aloitetaan lohkossa 500, jossa saadaan muis-20 tiin yksi dekoodattu liikkumaton kuva. Lohkossa 502 luetaan seuraava kuvan jälkikäsittelemätön pikseli, josta tulee käsiteltävä pikseli P. Lohkossa 504 lue-taan sen makrolohkon kvantisointiparametri johon käsiteltävä pikseli P kuuluu.Execution of the method begins at block 500, where a single decoded still image is retrieved. Block 502 reads the next image unprocessed pixel, which becomes the pixel P to be processed. Block 504 reads the quantization parameter of the macroblock to which the pixel P to be processed belongs.

• * ... Sitten lohkossa 506 valitaan käsiteltävän pikselin P ympärille muo- *' [ dostetun neliönmuotoisen alueen molemmilla diagonaaleilla olevat pikselit re-25 ferenssipikseleiksi R edellä kuvatulla tavalla. Referenssipikseleiden lukumää-*··.* rää merkitään esimerkissämme N:llä.* ... Then, in block 506, the pixels on both diagonals of the formed pixel P around the processed pixel P are selected as re-25 pixels R as described above. The number of * ··. * Reference pixels in our example is denoted by N.

Seuraavaksi lohkossa 510 muodostetaan vuorollaan käsiteltävän • · · pikselin P ja kunkin referenssipikselin R erotuksen itseisarvo A, jota voidaan kuvata kaavalla 30 A= ABS(P-R) (3) » · . · * *. Sitten lohkossa 512 suoritetaan testi A<Q (4) *”·’ Jos itseisarvo A on pienempi kuin sen makrolohkon kvantisointipa- rametri Q johon käsiteltävä pikseli P kuuluu, niin nuolen 514 mukaisesti men- :*··: 35 nään lohkoon 518, jossa valitaan referenssipikseli R referenssikeskiarvonNext, in block 510, the absolute value, A, of the difference between the pixel P to be processed and each reference pixel R is formed in turn, which can be represented by 30 A = ABS (P-R) (3) »·. · * *. Then, in block 512 a test is performed A <Q (4) * "·" If the absolute value of A is less than the macroblock kvantisointipa- Q parameter to which the current pixel P is, as shown by arrow 514 Mendes: * ·· 35 wholly to block 518 where selecting the reference pixel R as the average of the reference

....; muodostukseen, eli lisätään se summaan S....; formation, that is, it is added to the sum S

• · 109635 11 S=S+R (5)• · 109635 11 S = S + R (5)

Jos taas lohkon 512 ehto ei täyttynyt, niin mennään nuolen 516 mukaisesti lohkoon 520, jossa vähennetään referenssipikseleiden lukumäärää N yhdellä eli 5 N=N-1 (6)If, however, the block 512 condition is not satisfied, the routine in accordance with the direction of the arrow 516 to block 520, which reduces the referenssipikseleiden number N by one, 5-N = N-1 (6)

Molemmista lohkoista 518 ja 520 mennään lohkoon 522, jossa testataan onko kaikki referenssipikselit R jo käsitelty. Jos kaikkia referenssipikse-leitä R ei ole käsitelty, niin mennään nuolen 526 mukaisesti lohkoon 508 jossa luetaan seuraava referenssipikseli R.From both blocks 518 and 520 go to block 522, where it is tested whether all reference pixels R have already been processed. If all referenssipikse-lei R is not processed, the routine 526 in accordance with the direction of the arrow to block 508 where the following referenssipikseli R.

10 Kun kaikki referenssipikselit R, esimerkiksi neljä tai kahdeksan kap paletta, on käsitelty lohkoissa 510, 512, 518 ja 520, niin lohkon 522 ehto täyttyy, jolloin siirrytään lohkosta 522 nuolen 524 mukaisesti lohkoon 528. Lohkossa 528 testataan N:n arvoa, joka nyt siis kertoo referenssikeskiarvon muodostukseen valittujen referenssipikseleiden R lukumäärän. Testi on siis 15 N>0 (7)10 With all referenssipikselit R, for example, four or eight cape to the crosspiece, is processed in blocks 510, 512, 518, and 520 and 522 condition the block is met, the process proceeds to block 522 of the arrow 524 according to block 528. In block 528 test value of N, which is now thus, multiplies the number of reference pixels R selected for generating the reference average. The test is then 15 N> 0 (7)

Jos referenssikeskiarvon muodostukseen ei valittu yhtään referens-sipikseliä R, eli N=0, niin lohkosta 528 siirrytään nuolen 532 mukaisesti lohkoon 538, jossa testataan onko kaikki kuvan pikselit P jo käsitelty.If the reference average value formation is not selected any reference sipikseliä R, i.e. N = 0, then move to block 528 according to arrow 532 to block 538, which tests whether all the image pixels P already been processed.

Jos ainakin yksi referenssipikseli R valittiin referenssikeskiarvon 20 muodostukseen, eli esimerkissämme N oli vähintään ykkösen suuruinen, niin siirrytään lohkoon 534, jossa muodostetaan valittujen referenssipikseleiden re-. . ferenssikeskiarvo M kaavallaIf at least one reference pixel R was selected to form a reference average 20, i.e., in our example, N was at least one, then proceed to block 534 to generate a re- of the selected reference pixels. . the mean ferrule M in the formula

MMMM

M=S/N, (8) • · · *·’ ’ eli keskiarvo on siis valittujen referenssipikseleiden summa S jaettu- • · · ' * 25 na valittujen referenssipikseleiden lukumäärällä N.M = S / N, (8) • · · * · '', i.e., the mean is the sum of the selected reference pixels S divided by 25 · N of the selected reference pixels.

Sitten lohkosta 534 siirrytään lohkoon 536, jossa asetetaan käsitel- k ’: ; tävän pikselin P arvoksi käsiteltävästä pikselistä P ja referenssikeskiarvosta M :[": muodostettu keskiarvo, eli suoritetaan sijoitus P=(M+P)/2 (9) 30 Sitten lohkosta 532 siirrytään lohkoon 538, jossa testataan onko . · * ·. kaikki kuvan pikselit P jo käsitelty. Jos kaikki pikselit on jälkikäsitelty, niin siirry- • ‘ tään nuolen 540 mukaisesti lohkoon 544, jossa lopetetaan yhden liikkumatto- man kuvan jälkikäsittely. Jos kaikkia pikseleitä ei vielä ole jälkikäsitelty, niin I i i nuolen 542 mukaisesti siirrytään lohkoon 502, jossa luetaan seuraava jälkikä-, ; ·. 35 sittelemätön pikseli, ja aletaan suorittamaan sille kuvattua menettelyä.Then, block 534 is moved to block 536, where the handler is set; then the value of P = (M + P) / 2 (9) is formed from the pixel P to be processed and the reference average M: [": 30] Then, from block 532, it goes to block 538, where it is tested whether. pixels P already been processed. If all the pixels have been post-treated, as one moves • 'in the direction of arrow 540 in accordance with block 544, where the closed one immobile man image post-processing. If all the pixels have not yet been post-treated, so I II arrow 542 in accordance with proceeds to block 502; which reads the next postprocess; · .35 untagged pixels and begins to perform the procedure described for it.

t M Mt M M

12 10963512 109635

Prosessointivälineet 140 käsittelevät liikkumatonta kuvaa 104 riveittäin, sarakkeittain, makrolohkoittain, lohkoittain, tai muulla etukäteen määrätyllä ei-satunnaisella tavalla.The processing means 140 process the still image 104 in rows, columns, macroblocks, blocks, or in any other predetermined non-random manner.

Menetelmää voidaan modifioida oheisten epäitsenäisten patentti-5 vaatimusten mukaisesti. Koska osa niiden sisällöstä on edellä selitetty proses-sointivälineiden 140 yhteydessä, ei selitystä enää tässä toisteta.The process may be modified according to the appended dependent claims 5 and 5. Since some of their contents have been described above in connection with processing means 140, the description will not be repeated here.

On huomattava, että menetelmän toimenpiteissä käytettyjen muuttujien, esimerkiksi A, S, N, toteutuksen ei ole pakko olla kuvatun kaltainen. Alan ammattilaiselle on selvää, että kuvion 5 esimerkissä kuvattu yksityiskoh-10 täinen algoritmi on vain yksi lukemattomista patenttivaatimuksessa 1 yleisemmällä tasolla kuvatun algoritmin suoritusmuodoista.It should be noted that the implementation of the variables used in the operations of the method, such as A, S, N, need not be as described. It will be apparent to one skilled in the art that the detailed algorithm described in the example of Figure 5 is only one of the innumerable embodiments of the algorithm described more generally in claim 1.

Seuraavaksi selostetaan sekä menetelmälle että laitteelle yhteisiä suoritusmuotoja.Embodiments common to both the method and the device will now be described.

Eräässä suoritusmuodossa lohkoissa 508, 510, 512, 518 ja 520 15 suoritettavaa käsittelyä, jossa referenssipikselin valinta referenssikeskiarvon laskentaan testataan, voidaan yksinkertaistaa. Tämä tapahtuu siten, että jos diagonaalilla käsiteltävää pikseliä lähempänä olevaa referenssipikseliä ei valita referenssikeskiarvon muodostukseen, niin diagonaalilla käsiteltävästä pikselis-tä samalla suunnalla kauempana olevaa referenssipikseliä ei valita referenssi-20 keskiarvon muodostukseen. Eli esimerkiksi kuviossa 3B jos referenssipikseliä 302 ei valittu referenssikeskiarvon muodostukseen, niin sitten muita pikseleitä kyseisessä haarassa, eli esimerkiksi pikseliä 304, ei edes kannata testata, eli • · lohkossa 508 kyseisessä haarassa jäljellä olevat referenssipikselit voidaan ** ! ohittaa. Tietenkin esimerkissämme täytyy tällöin vastaavasti pienentää N:ääIn one embodiment, the processing in blocks 508, 510, 512, 518, and 520 15, wherein the selection of a reference pixel for calculating a reference average is tested, can be simplified. This is done so that if a reference pixel closer to the diagonal processing pixel is not selected to form a reference average, then a reference pixel further away from the diagonal processing pixel in the same direction is not selected to form a reference 20. That is, for example, in Fig. 3B, if the reference pixel 302 was not selected to form the reference average, then other pixels in that branch, e.g., pixel 304, should not even be tested, i.e., · · block 508 may have ** remaining pixels in that branch! bypass. Of course, in our example, N must be reduced accordingly

«I « I«I« I

25 ohitettujen referenssipikseleiden lukumäärällä.25 by the number of reference pixels skipped.

Eräässä suoritusmuodossa prosessointivälineet 140 on sovitettu i laskemaan käsiteltävän pikselin ja referenssikeskiarvon keskiarvo painotetusti, • * · eli kaava 9 saa muodon P= (aM+bP)/(a+b), (10) ·*·,{ 30 jossa a ja b ovat painokertoimia. Esimerkiksi jos a=3 ja b=1, niin t * . * * ·. kaava 10 saa muodon P=(3M+P)/4 (11)In one embodiment, the processing means 140 are adapted to i calculate a weighted average of the pixel to be processed and the reference average, i.e., formula 9 takes the form P = (aM + bP) / (a + b), (10) · * ·, {30 where a and b are weight factors. For example, if a = 3 and b = 1, then t *. * * ·. formula 10 takes the form P = (3M + P) / 4 (11)

» I I»I I

Painotuksella voidaan säätään pehmennystä, eli painottamalla refe-renssikeskiarvoa enemmän kuin käsiteltävää pikseliä saadaan liikkumatto-35 maan kuvaan enemmän pehmennystä, ja vastaavasti pehmennystä voidaan vähentää painottamalla referenssikeskiarvoa vähemmän kuin käsiteltävää pik- 13 10963b seliä. Erityisesti tämä painotus vaikuttaa tasaisten värialueiden pehmennykseen, jolloin painottamalla referenssikeskiarvoa enemmän kuin käsiteltävää pikseliä värialueen värin tasaisuus kasvaa.Weighting can be used to control the softening, i.e., weighting the reference average more than the pixel to be processed provides more softening to the still image, and correspondingly reducing the softening can be done by weighting the reference average less than the pixel to be processed. Specifically, this weighting affects the smoothing of even color areas, whereby by weighting the reference average more than the pixels being processed, the color uniformity of the color area increases.

Eräässä suoritusmuodossa prosessointivälineet 140 on sovitettu 5 käyttämään jo jälkikäsitellyn pikselin arvoa käsittelemättömän pikselin jälkikäsittelyssä, jolloin liikkumaton kuva on tallennettu prosessointivälineiden 140 muistiin vain yhtenä kappaleena. Tällä saavutetaan se etu, että laitteessa tarvitaan muistia vähemmän, kuin jos sekä käsittelemätön että jälkikäsitelty kuva olisivat erikseen tallennettu muistiin.In one embodiment, the processing means 140 is adapted to use the value of a post-processed pixel in post-processing of the unprocessed pixel, whereby the still image is stored in the memory of the processing means 140 as a single piece. This provides the advantage that the device requires less memory than if both the unprocessed and post-processed images were separately stored in memory.

10 Eräässä suoritusmuodossa prosessointivälineet 140 on sovitettu kertomaan kvantisointiparametrin arvo painokertoimella ennen vertailua erotuksen itseisarvoon, eli kaava 4 saa muodon A<cQ, (12) jossa c on painokerroin, esimerkiksi c=2. Käyttämällä ykköstä suu-15 rempaa painokerrointa pehmennetään enemmän liikkumattomassa kuvassa olevien objektien välisiä rajoja, jos näin halutaan tehdä. Joissakin tapauksissa tällainen objektien rajojen pehmentäminen terävöittämisen sijasta voi olla järkevää.In one embodiment, the processing means 140 are adapted to multiply the value of the quantization parameter by the weighting factor before comparison to the absolute value of the difference, i.e. formula 4 takes the form A <cQ, (12) where c is the weighting factor, e.g. By using a higher weight ratio of one to 15, the boundaries between the objects in the still image are softened more, if desired. In some cases, such softening of object boundaries instead of sharpening may make sense.

Eräässä suoritusmuodossa prosessointivälineet 140 on sovitettu 20 laskettaessa referenssikeskiarvoa painottamaan kutakin referenssipikseliä käänteisessä suhteessa referenssipikselin etäisyyteen käsiteltävästä pikselis-. . tä. Tämä tarkoittaa sitä, että mitä kauempana referenssipikseli on käsiteltävästä pikselistä, niin sitä pienempi sen merkitsevyys on. Kuvion 2B esimerkissä '·' * kussakin X-kirjaimen haarassa oli vain 2 referenssipikseliä, eli painotus voisi : ” 25 olla esimerkiksi sellainen, että lähempänä olevaa referenssipikseliä painote-taan luvulla kaksi, ja kauempana olevaa referenssipikseliä luvulla yksi, jolloin painotussuhde olisi 2:1. Jos prosessointivälineillä 140 on tarpeeksi laskentate-hoa, niin X-kirjaimen haarassa voi olla enemmänkin referenssipikseleitä, eli jos neliö on esimerkiksi 7x7 pikselin kokoinen, niin referenssipikseleitä on haa-: 30 rassa kolme kappaletta, jolloin niiden painotussuhde voi olla esimerkiksi 3:2:1.In one embodiment, the processing means 140 is adapted 20 to compute the reference average to weight each reference pixel inversely relative to the distance of the reference pixel from the pixel being processed. . s. This means that the farther away the reference pixel is from the pixel being processed, the less significant it is. In the example of Figure 2B, '·' * each branch of the X had only 2 reference pixels, so the weighting could be: '25 for example, the nearest reference pixel would be weighted by two and the remote reference pixel would be weighted by 1: 2. . If the processing means 140 has sufficient computing power, then the X branch may have more reference pixels, i.e., if the square is 7x7 pixels, for example, there will be three reference pixels, for example their weight ratio may be 3: 2: 1. .

.···.’ Tällä painotuksella saadaan se etu, että pehmennyksen tarkkuutta voidaan '** parantaa, koska referenssipikselien merkitystä painotetaan.. ···. 'This weighting has the advantage that the precision of the smoothing can be' ** improved by emphasizing the importance of the reference pixels.

Jälkikäsittelyä ei välttämättä suoriteta liikkumattoman kuvan kaikille ·,,.! pikseleille. Ongelmallisia ovat kuvan reuna-alueet. Eräässä suoritusmuodossa 35 prosessointivälineet 140 on sovitettu olemaan suorittamatta jälkikäsittely liikku-mattoman kuvan ainakin yhdelle, edullisimmin kahdelle, vasemmanpuolei- 14 10960b simmalle sarakkeelle, oikeanpuoleisimmalle sarakkeelle, ylimmäisimmälle riville ja alimmaisimmalle riville. Tämä ei olennaisesti huononna kuvan laatua, sillä kapeaa reunusta, jossa voi olla virheitä, ei ihminen yleensä koe häiritsevän näköiseksi.Post-processing may not be performed for all · ,,.! the pixel. The peripheral areas of the image are problematic. In one embodiment, the processing means 140 is adapted not to perform post-processing on at least one, most preferably two, leftmost columns, rightmost column, topmost row and bottom row of the still image. This does not significantly reduce the quality of the image, as a narrow margin, which may contain errors, is not usually perceived as distracting.

5 Toisaalta jos reuna-alueidenkin pikselit halutaan jälkikäsitellä, niin eräässä suoritusmuodossa prosessointivälineet 140 on sovitettu suorittamaan jälkikäsittely liikkumattoman kuvan ainakin yhdelle, edullisimmin kahdelle, va-semmanpuoleisimmalle sarakkeelle, oikeanpuoleisimmalle sarakkeelle, ylimmäisimmälle riville ja alimmaisimmalle riville siten, että kuvan ulkopuolelle me-10 nevän referenssipikselin arvona käytetään kuvaa vasten kohtisuoraan lähimpänä kuvassa olevaa ulommaista pikseliä. Tämä voidaan toteuttaa esimerkiksi siten, että menetelmän toimintalogiikka osaa hakea reunan ulkopuolelle menevän pikselin arvon lohkossa 508. Toinen toteutustapa on sellainen, että kuvan reunimmaiset rivit ja sarakkeet kopioidaan kuvan ympärille kahden pikselin 15 vahvuiseksi reunukseksi, ikäänkuin kehykseksi. Tämä tekee toimintalogiikan yksinkertaisemmaksi, mutta vaatii hieman enemmän muistia kopioitujen pikse-leiden takia.On the other hand, if even pixels of the edge regions are to be postprocessed, in one embodiment the processing means 140 is adapted to postprocess at least one, most preferably two, leftmost columns, The value used is the value of the pixel perpendicular to the image that is closest to the image. This can be implemented, for example, such that the operation logic of the method is able to retrieve the value of the outermost pixel in block 508. Another embodiment is that the outermost rows and columns of the image are copied around the image to a border of two pixels 15. This simplifies the operation logic, but requires a bit more memory due to the copied pixels.

Toinen suoritusmuoto, jolla reuna-alueiden pikselit voidaan jälkikäsitellä on sellainen, että prosessointivälineet 140 on sovitettu olemaan valitse-20 matta jälkikäsittelyyn kuvan ulkopuolelle menevää referenssipikseliä. Kuvan laidalla liikuttaessa referenssipikseleiden X-kirjaimen muodosta siis puuttuu . , kaksi tai jopa kolme haaraa.Another embodiment by which the pixels of the edge regions can be postprocessed is such that the processing means 140 are adapted not to select a reference pixel for postprocessing outside the image. Thus, when moving around the edge of the image, the X-shape of the reference pixels is missing. , two or even three branches.

• · · · [ ' Prosessointivälineet 140 voidaan toteuttaa prosessorissa toimivana v 1 tietokoneohjelmana, jolloin esimerkiksi kukin tarvittava toiminto toteutetaan 25 omana ohjelmamoduulina. Tietokoneohjelma siis sisältää rutiinit menetelmän vaiheiden toteuttamiseksi. Tietokoneohjelman myyntiä varten se voidaan tal-:··: lentää tietokoneen muistivälineelle esimerkiksi CD-ROM:ille (Compact DiscThe processing means 140 may be implemented as a computer program v 1 running on the processor, for example each of the required functions is implemented as 25 individual program modules. Thus, the computer program includes routines for carrying out the steps of the method. To sell a computer program, it can be: ··: flown to computer storage media such as CD-ROMs (Compact Disc

Read Only Memory). Tietokoneohjelma voidaan suunnitella siten, että se toimii •«· myös normaalissa yleiskäyttöisessä henkilökohtaisessa tietokoneessa, : 30 kannettavassa tietokoneessa, tietokoneverkon palvelimessa tai muussa tunne- • · · tun tekniikan mukaisessa tietokoneessa.Read Only Memory). A computer program can be designed to work on a standard general purpose PC, such as: 30 laptops, a computer network server, or other prior art computer.

• · ‘l’ Prosessointivälineet 140 voidaan toteuttaa myös laitteistoratkaisu- na, esimerkiksi yhtenä tai useampana sovelluskohtaisena integroituna piirinä (Application Specific Integrated Circuit, ASIC) tai erilliskomponenteista raken- .· | . 35 nettuna toimintalogiikkana. Välineiden toteutustavan valinnassa alan ammatti- • · » ] . lainen huomioi esimerkiksi tarvittavan prosessointitehon ja valmistuskustan-• · 15 109655 nukset. Myös erilaiset ohjelmiston ja laitteiston muodostamat hybriditoteutuk-set ovat mahdollisia.The processing means 140 may also be implemented as a hardware solution, for example one or more Application Specific Integrated Circuits (ASICs) or as separate components. . 35 operation logic. Choice of means of implementation • · »]. The company takes into account, for example, the processing power required and • • 15 109655 costs. Various software and hardware hybrid implementations are also possible.

Hakija on suorittanut kokeita, joissa jälkikäsittelyn vaikutusta on verrattu tähän viitteeksi otettavan standardin ISO/IEC 14496-2: 1999(E) luvussa 5 F.3.1 Deblocking filter kuvattuun käsittelyyn. Testeissä koehenkilöt vertasivat erilaisia videosekvenssejä. Tulokseksi tuli, että tässä hakemuksessa kuvatun jälkikäsittelymenetelmän aikaansaama kuvanlaadun parannus oli ainakin yhtä hyvä kuin standardimenetelmässä. Huomattavaa on kuitenkin se, että tämä saavutettiin laskennalla, joka oli kompleksisuudeltaan vain noin 1/4 standardini o menetelmän laskennasta. Kompleksisuuden vähentyminen tarkoittaa lisääntyvää nopeutta ja/tai pienempää tarvittavaa prosessointitehoa.The Applicant has conducted experiments comparing the effect of post-treatment with the treatment described in Chapter 5 F.3.1 Deblocking filter of the reference ISO / IEC 14496-2: 1999 (E). In the tests, subjects compared different video sequences. As a result, the image quality improvement achieved by the post-processing method described in this application was at least as good as in the standard method. However, it is noteworthy that this was achieved by a computation of only about 1/4 of the complexity of the computation of the standard method. Decrease in complexity means increased speed and / or reduced processing power.

Vaikka keksintöä on edellä selostettu viitaten oheisten piirustusten mukaiseen esimerkkiin, on selvää, ettei keksintö ole rajoittunut siihen, vaan sitä voidaan muunnella monin tavoin oheisten patenttivaatimusten esittämän 15 keksinnöllisen ajatuksen puitteissa.Although the invention has been described above with reference to the example of the accompanying drawings, it is to be understood that the invention is not limited thereto, but can be modified in many ways within the scope of the inventive idea set forth in the appended claims.

* · • · · 1 • · · t · ·* · • · · 1 • · · t · ·

Claims (28)

1. Förfarande för efterbehandling av en dekodad videobild, som bil-dats av pä varandra följande orörliga bilder, kännetecknat avatt efter-behandlingen upprepas i tur och ordning för varje orörlig bilds pixlar, vilken be- 5 handling omfattar: (506) att man som referenspixlar väljer de pixlar som ligger pä bada diagonalerna av ett kvadratiskt omräde, som bildats runt pixeln under behand-ling, (510) att man bildar ett egenvärde för differensen imellän pixeln som 10 skall behandlas i tur och ordning och respektive referenspixlar, och (512, 514) ifall egenvärdet är mindre än kvantiseringsparametern för det makroblock dit pixeln under behandling hör, sä (518) väljer man referenspixeln för att bilda ett referensmedelvärde; och (528, 530) ifall ätminstone en referenspixel valdes för att bilda refe-15 rensmedelvärdet, sä (534) bildas referensmedelvärdet för de valda referens-pixlarna och (536) som värde at pixeln under behandling ges medelvärdet som bildats av pixeln under behandling och referensmedelvärdet.1. A method for post-processing a decoded video image, which is captured by consecutive motion pictures, characterized by decreased post-processing is repeated in turn for each pixel of the pixel, which comprises: (506) reference pixels select the pixels lying on both diagonals of a square area formed around the pixel during processing (510) to form an intrinsic value of the difference between the pixel to be processed in turn and the respective reference pixels, and (512 , 514) if the intrinsic value is less than the quantization parameter of the macroblock to which the pixel under processing belongs, then (518) one selects the reference pixel to form a reference mean; and (528, 530) if at least one reference pixel was selected to form the reference mean, (534) the reference mean is formed for the selected reference pixels and (536) as the pixel under processing is given the average formed by the pixel during processing and reference mean. 2. Förfarande enligt patentkrav 1, kännetecknat av att ifall den referenspixel som pä diagonalen är närmare pixeln under behandling inte 20 väljs för att bilda referensmedelvärdet, sä väljs inte den referenspixel som pä :··: diagonalen är belägen i samma riktning längre bort frän pixeln under behand- ; ; ling för att bilda referensmedelvärdet.Method according to claim 1, characterized in that if the reference pixel on the diagonal is closer to the pixel during processing is not selected to form the reference mean, then the reference pixel on: ··: the diagonal is located in the same direction further away from the pixel under treatment; ; to form the reference mean. 3. Förfarande enligt nägot av de föregäende patentkraven, ..... kännetecknat av att man väljer ätminstone fyra referenspixlar, tvä frän 25 vardera diagonalen, det vill säga den första frän den del av diagonalen som börjar frän varje pixel under behandling.Method according to any of the preceding claims, characterized in that at least four reference pixels are selected, two from each diagonal, that is, the first from the part of the diagonal starting from each pixel during processing. ’···* 4. Förfarande enligt patentkrav 3, kännetecknat av att förut- om de redan valda fyra referenspixlarna väljer man fyra nya sä att den nya • · valda pixeln är i ifrägavarande del av diagonalen antingen följande pixel eller i 30 diagonalens del pixeln intill bäde den första och den andra pixeln.The method according to claim 3, characterized in that, in addition to the already selected four reference pixels, four new ones are selected such that the new selected pixel is in the relevant part of the diagonal either the following pixel or in the part of the diagonal pixel. adjacent to both the first and second pixels. . ... 5. Förfarande enligt nägot av de föregäende patentkraven, * ♦ · !!.' kännetecknat av att medelvärdet för pixeln under behandling och refe rensmedelvärdet beräknas genom vägning. v. ... 5. A method according to any of the preceding claims, * ♦ · !!. ' characterized in that the mean value of the pixel during processing and the reference mean are calculated by weighing. v · 6. Förfarande enligt patentkrav 5, k ä n n e t e c k n a t av att ge- ·:·: 35 nom att ge referensmedelvärdet större vikt än pixeln under behandling erhälls mera mjukning i den orörliga bilden. 109635 216. Method according to claim 5, characterized in that by giving the reference mean a greater weight than the pixel during processing, more softening is obtained in the motion picture. 109635 21 7. Förfarande enligt nägot av de föregäende patentkraven, kännetecknat avatt värdet pä den redan efterbehandlade pixeln an-vänds vid efterbehandling av en obehandlad pixel, varvid den orörliga bilden är lagrad i minnet endast i ett stycke. 5Method according to any of the preceding claims, characterized in that the value of the already processed pixel is used in the post-processing of an untreated pixel, the motion picture being stored in memory only in one piece. 5 8. Förfarande enligt nagot av de föregäende patentkraven, kännetecknat avatt värdet pä kvantiseringsparametern multipliceras med ett vägningstal, innan det jämförs med differensens egenvärde.Method according to any of the preceding claims, characterized in that the value of the quantization parameter is multiplied by a weighting number, before being compared with the difference's intrinsic value. 9. Förfarande enligt patentkrav 8, kännetecknat avatt ge-nom att använda ett vägningstal större än ett mjukas gränserna mellan objek- 10 ten i den orörliga bilden i större utsträckning.9. A method according to claim 8, characterized by using a weighting number greater than a soft boundary between the objects in the motion picture to a greater extent. 10. Förfarande enligt nagot av de föregäende patentkraven, kännetecknat av att vid beräkning av referensmedelvärdet vägs var och en referenspixel i omvänt förhällande tili referenspixelns avständ frän pixeln under behandling. 15Method according to any of the preceding claims, characterized in that, when calculating the reference average, each reference pixel is inversely proportional to the distance of the reference pixel from the pixel under treatment. 15 11. Förfarande enligt nägot av de föregäende patentkraven, kännetecknat av att efterbehandling utförs inte pä ätminstone en, före-trädesvis tvä spalter längst tili vänster, längst tili höger och de översta och un-dersta raderna pä den orörliga bilden.Method according to any of the preceding claims, characterized in that the finishing is not carried out on at least one, preferably two slots furthest to the left, furthest to the right and the top and bottom rows of the motion picture. 12. Förfarande enligt nägot av de föregäende patentkraven 1-10, 20 kännetecknat av att efterbehandling utförs pä ätminstone en, företrä-desvis tvä spalter längst tili vänster, längst tili höger och de översta och un-dersta raderna pä den orörliga bilden, sä att som värde pä den referenspixel :T: som hamnar utanför bilden används den yttre pixeln i bilden, vilken pixel är :··· närmare vertikalt mot bilden. .···. 25Method according to any of the preceding claims 1-10, characterized in that post-treatment is carried out on at least one, preferably two columns at the far left, farthest to the right and the top and bottom rows of the motion picture, so that as the value of the reference pixel: T: that falls outside the image, the outer pixel of the image is used, which pixel is: ··· closer to the image. . ···. 25 13. Förfarande enligt nägot av de föregäende patentkraven 1-10, kännetecknat av att tili efterbehandlingen kan inte väljas en referens- • · ,... # pixel som hamnar utanför bilden.Method according to any of the preceding claims 1-10, characterized in that for the post-processing, a reference • ·, ... # pixel which falls outside the image cannot be selected. 14. Förfarande enligt nägot av de föregäende patentkraven, kännetecknat av att efterbehandlingen av pixeln utförs pä den orörliga *· 30 bildens luminansdata och/eller krominansdata.Method according to any of the preceding claims, characterized in that the post-processing of the pixel is performed on the luminance data and / or chrominance data of the image. 15. Apparat för efterbehandling av en dekodad videobild, som bil- : dats av pä varandra följande orörliga bilder, omfattande processeringsmedel .···. (140) för att efterbehandla en orörlig bild, kännetecknad av att proces- ; ’ seringsmedlen (140) är anordnade att i tur och ordning upprepa efterbehand- ' · * ' 35 lingen för varje orörlig bilds pixlar, där 109635 22 man som referenspixlar väljer de pixlar som ligger pä bäda diagona-lerna av ett kvadratiskt omrade, som bildats runt pixeln under behandling, man bildar ett egenvärde för differensen mellan pixeln som skall be-handlas i tur och ordning och respektive referenspixlar, och ifall egenvärdet är 5 mindre än kvantiseringsparametern för det makroblock dit pixeln under behandling hör, sä väljer man referenspixeln för att bilda ett referensmedelvärde; och ifall ätminstone en referenspixel valdes för att bilda referensmedel-värdet, sä bildas referensmedelvärdet för de valda referenspixlarna och som 10 värde at pixeln under behandling ges medelvärdet som bildats av pixeln under behandling och referensmedelvärdet.15. Apparatus for processing a decoded video image, which is captured by successive motion pictures, comprising processing means. (140) to post-process an immobile image, characterized in that process; The viewing means (140) are arranged to in turn repeat the finishing for each motionless pixel, whereby, as reference pixels, the pixels located on the bed diagonals of a square area formed are selected. around the pixel during processing, forming an intrinsic value for the difference between the pixel to be processed in turn and the respective reference pixels, and if the intrinsic value is less than the quantization parameter of the macroblock to which the pixel under processing belongs, then the reference pixel is chosen to form a reference mean; and if at least one reference pixel was selected to form the reference mean, then the reference mean is formed for the selected reference pixels and as the value of the pixel under processing, the average formed by the pixel under processing and the reference mean is given. 16. Apparat enligt patentkrav 15, kännetecknad av att ifall den referenspixel som pä diagonalen är närmare pixeln under behandling inte väljs för att bilda referensmedelvärdet, sä väljs inte den referenspixel som pä 15 diagonalen är belägen i samma riktning längre bort frän pixeln under behandling för att bilda referensmedelvärdet.16. Apparatus according to claim 15, characterized in that if the reference pixel on the diagonal is closer to the pixel during processing is not selected to form the reference mean, then the reference pixel on the diagonal is located in the same direction further away from the pixel during processing so that form the reference mean. 17. Apparat enligt nägot av de föregäende patentkraven 15-16, kännetecknad av att processeringsmedlen (140) är anordnade att väljä ätminstone fyra referenspixlar, tvä frän vardera diagonalen, det vill säga den 20 första frän den del av diagonalen som börjar frän varje pixel under behandling.Apparatus according to any of the preceding claims 15-16, characterized in that the processing means (140) are arranged to select at least four reference pixels, two from each diagonal, i.e. the first from the part of the diagonal starting from each pixel below. treatment. 18. Apparat enligt patentkrav 17, kännetecknad av att pro- • · :'··* cesseringsmedlen (140) är anordnade att förutom de redan valda fyra refe-renspixlarna väljä fyra nya sä att den nya valda pixeln är i ifrägavarande del av :··· diagonalen antingen följande pixel eller i diagonalens del pixeln intill bade den :*··; 25 första och den and ra pixeln.Apparatus according to claim 17, characterized in that the processing means (140) are arranged to select in addition to the already selected four reference pixels four new ones so that the new selected pixel is in the relevant part of: ·· the diagonal either the following pixel or in the diagonal part the pixel next to it: * ··; 25 and the second pixel. 19. Apparat enligt nägot av de föregäende patentkraven 15-18, ,···. kännetecknad av att processeringsmedlen (140) är anordnade att be-• · *’* räkna medelvärdet för pixeln under behandling och referensmedelvärdet be- , , räknas genom vägning. » * *Apparatus according to any of the preceding claims 15-18,, ···. characterized in that the processing means (140) are arranged to calculate the mean value of the pixel during processing and the reference mean value is calculated by weighing. »* * 20. Apparat enligt patentkrav 19, k ä n n e t e c k n a d av att ge- nom att ge referensmedelvärdet större vikt än pixeln under behandling erhäils : mera mjukning i den orörliga bilden.20. Apparatus according to claim 19, characterized in that, by giving the reference mean greater weight than the pixel during processing, more softening in the motion picture is obtained. .···. 21. Apparat enligt nägot av de föregäende patentkraven 15-20, kännetecknad av att processeringsmedlen (140) är anordnade att an-' 35 vända värdet pä den redan efterbehandlade pixeln vid efterbehandling av en 23 10960b obehandlad pixel, varvid den orörliga bilden är lagrad i processeringsmedlens (140) minne endast i ett stycke.. ···. Apparatus according to any of the preceding claims 15-20, characterized in that the processing means (140) are arranged to apply the value of the already processed pixel to the post-processing of an untreated pixel, the motion picture being stored in the processing means (140) memory only in one piece. 22. Apparat enligt nägot av de föregäende patentkraven 15-21, kännetecknadavatt processeringsmedlen (140) är anordnade att mul- 5 tiplicera värdet pä kvantiseringsparametern med ett vägningstal, innan det jäm-förs med differensens egenvärde.Apparatus according to any of the preceding claims 15-21, characterized in that the processing means (140) are arranged to multiply the value of the quantization parameter by a weighting number, before comparing it with the difference's intrinsic value. 23. Apparat enligt patentkrav 21, kännetecknad av att ge-nom att använda ett vägningstal större än ett mjukas gränserna mellan objek-ten i den orörliga bilden i större utsträckning.Apparatus according to claim 21, characterized in that, by using a weighting number greater than one, the boundaries between the objects in the motion picture are to a greater extent. 24. Apparat enligt nägot av de föregäende patentkraven 15-23. kännetecknad av att processeringsmedlen (140) är anordnade att vid beräkning av referensmedelvärdet väga var och en referenspixel i omvänt för-hällande tili referenspixelns avständ frän pixeln under behandling.Apparatus according to any of the preceding claims 15-23. characterized in that the processing means (140) are arranged to weigh each reference pixel in inverse relation to the reference pixel distance from the pixel during processing when calculating the reference average. 25. Apparat enligt nägot av de föregäende patentkraven 15-24, 15 kännetecknad av att processeringsmedlen (140) är anordnade att inte utföra efterbehandling pä ätminstone en, företrädesvis tvä spalter längst tili vänster, längst tili höger och de översta och understa raderna pä den orörliga bilden.Apparatus according to any of the preceding claims 15-24, characterized in that the processing means (140) are arranged not to perform post-treatment on at least one, preferably two slots furthest to the left, furthest to the right and the top and bottom rows of the movable picture. 26. Apparat enligt nägot av de föregäende patentkraven 15-24, 20 kännetecknad av att processeringsmedlen (140) är anordnade att utföra efterbehandling pä ätminstone en, företrädesvis tvä spalter längst tili väns-ter, längst tili höger och de översta och understa raderna pä den orörliga bil- :T: den, sä att som värde pä den referenspixel som hamnar utanför bilden an- :··· vänds den yttre pixeln i bilden, vilken pixel är närmare vertikalt mot bilden.Apparatus according to any of the preceding claims 15-24, characterized in that the processing means (140) are arranged to perform post-treatment on at least one, preferably two slots furthest to the left, furthest to the right and the top and bottom rows of the motionless car: T: so that as the value of the reference pixel that falls outside the image is used: ··· the outer pixel of the image is turned, which pixel is closer to the image. 27. Apparat enligt nägot av de föregäende patentkraven 15-24, • · · kännetecknad av att processeringsmedlen (140) är anordnade att tili • · .···, efterbehandlingen inte väljä en referenspixel som hamnar utanför bilden.Apparatus according to any of the preceding claims 15-24, characterized in that the processing means (140) are arranged to select, after processing, a reference pixel which falls outside the image. 28. Apparat enligt nägot av de föregäende patentkraven 15-27, . . kännetecknad av att processeringsmedlen (140) är anordnade att utfö- 30 ra efterbehandlingen av pixeln pä den orörliga bildens luminansdata och/eller • krominansdata. • · · I t I • · • · I · » • * ·Apparatus according to any of the preceding claims 15-27,. . characterized in that the processing means (140) are arranged to perform the post-processing of the pixel on the luminance data of the motion picture and / or chrominance data. • · · I t I • · • · I · »• * ·
FI20010191A 2001-02-01 2001-02-01 Method and device for post-processing video image FI109635B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FI20010191A FI109635B (en) 2001-02-01 2001-02-01 Method and device for post-processing video image
PCT/FI2002/000074 WO2002062072A1 (en) 2001-02-01 2002-01-31 Method for post-processing decoded video image, using diagonal pixels

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20010191A FI109635B (en) 2001-02-01 2001-02-01 Method and device for post-processing video image
FI20010191 2001-02-01

Publications (2)

Publication Number Publication Date
FI20010191A0 FI20010191A0 (en) 2001-02-01
FI109635B true FI109635B (en) 2002-09-13

Family

ID=8560199

Family Applications (1)

Application Number Title Priority Date Filing Date
FI20010191A FI109635B (en) 2001-02-01 2001-02-01 Method and device for post-processing video image

Country Status (2)

Country Link
FI (1) FI109635B (en)
WO (1) WO2002062072A1 (en)

Families Citing this family (12)

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

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11103463A (en) * 1997-09-26 1999-04-13 Casio Comput Co Ltd Picture encoding method and storage medium
SE9803454L (en) * 1998-10-09 2000-04-10 Ericsson Telefon Ab L M Procedure and system for coding ROI
EP1064792A1 (en) * 1999-01-21 2001-01-03 Koninklijke Philips Electronics N.V. Method and arrangement for quantizing data
US6339658B1 (en) * 1999-03-09 2002-01-15 Rockwell Science Center, Llc Error resilient still image packetization method and packet structure
JP4151158B2 (en) * 1999-06-14 2008-09-17 ソニー株式会社 Scene description generation apparatus and method
JP4095208B2 (en) * 1999-07-29 2008-06-04 キヤノン株式会社 Image processing method, image processing apparatus, and storage medium

Also Published As

Publication number Publication date
WO2002062072A8 (en) 2003-11-06
FI20010191A0 (en) 2001-02-01
WO2002062072A1 (en) 2002-08-08

Similar Documents

Publication Publication Date Title
US6281942B1 (en) Spatial and temporal filtering mechanism for digital motion video signals
JP4666415B2 (en) Image encoding method and image encoding apparatus
JP2673778B2 (en) Noise reduction device for video decoding
US9414086B2 (en) Partial frame utilization in video codecs
TWI737137B (en) Method and apparatus for non-linear adaptive loop filtering in video coding
FI109635B (en) Method and device for post-processing video image
FI109394B (en) Method and apparatus for encoding and decoding a video image
FI109634B (en) Method and apparatus for encoding a video image
CN115836525A (en) Method and system for prediction from multiple cross components
CN114071161B (en) Image encoding method, image decoding method and related devices
US11395008B2 (en) Video compression with in-loop sub-image level controllable noise generation
US20230044603A1 (en) Apparatus and method for applying artificial intelligence-based filtering to image
KR20030014699A (en) Method and device for post-processing digital images
JPH07184208A (en) Moving picture coder and decoder
JPH0678290A (en) Picture coder
JPH07203461A (en) Image decoding method and device therefor

Legal Events

Date Code Title Description
PC Transfer of assignment of patent

Owner name: GOOGLE INC.

Free format text: GOOGLE INC.

MA Patent expired