FI83714C - Procedure and apparatus for a predictive coding - Google Patents
Procedure and apparatus for a predictive coding Download PDFInfo
- Publication number
- FI83714C FI83714C FI900184A FI900184A FI83714C FI 83714 C FI83714 C FI 83714C FI 900184 A FI900184 A FI 900184A FI 900184 A FI900184 A FI 900184A FI 83714 C FI83714 C FI 83714C
- Authority
- FI
- Finland
- Prior art keywords
- signal
- values
- prediction
- difference signal
- codes
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3002—Conversion to or from differential modulation
- H03M7/3044—Conversion to or from differential modulation with several bits only, i.e. the difference between successive samples being coded by more than one bit, e.g. differential pulse code modulation [DPCM]
- H03M7/3046—Conversion to or from differential modulation with several bits only, i.e. the difference between successive samples being coded by more than one bit, e.g. differential pulse code modulation [DPCM] adaptive, e.g. adaptive differential pulse code modulation [ADPCM]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
1 837141 83714
Menetelmä ja laite ennustavaa koodausta vartenMethod and apparatus for predictive coding
Esillä olevan keksinnön kohteena on menetelmä ennustavaa koodausta varten, jossa menetelmässä kvantisoi-5 daan sisääntulosignaalin ja ennustesignaalin välinen ero-signaali ja valitaan kvantisointituloksesta riippuvaisesti koodaustulokseksi koodi eripituisten koodien muodostamasta ryhmästä, jossa pituudeltaan lyhimmät koodit on allokoitu erosignaalin todennäköisimmin esiintyville arvoille.The present invention relates to a method for predictive coding, in which a difference signal between an input signal and a prediction signal is quantized and, depending on the quantization result, a code selected from a group of codes of different lengths is allocated to the most probable difference signal.
10 Ennustavassa koodauksessa eli DPCM-koodauksessa (Differential pulse code modulation) käytetään hyväksi koodattavan signaalin signaaliarvojen välistä korrelaatiota koodaamalla ja siirtämällä signaaliarvojen välinen ero-signaali. Tavallisesti tämä toteutetaan muodostamalla si-15 sääntulosignaalin ja sitä vastaavan tai kuvaavan ns. ennustesignaalin välinen erosignaali, joka sitten kvantisoi-daan esitystarkkuuden pienentämiseksi. Kvantisoidun ero-signaalin mahdollisten arvojen lukumäärä on huomattavasti pienempi kuin sisääntulosignaalin mahdollisten arvojen 20 lukumäärä. Kvantisoitu erosignaali summataan ennustesignaalin kanssa, jolloin muodostetaan uudelleen sisääntulo-signaali, joka kuitenkin sisältää kvantisointivirheen. Näin muodostettua signaalia kutsutaan rekonstruoiduksi signaaliksi, joka on sama kuin vastaanottimen dekooderissa 25 muodostettava signaali. Tämän rekonstruoidun signaalin avulla lasketaan uusi ennustesignaali, joka pyrkii mahdollisimman tarkasti estimoimaan sisääntulosignaalin seuraa-vaa arvoa.10 Differential Pulse code modulation (DPCM) utilizes the correlation between the signal values of the signal to be coded by encoding and transmitting the difference signal between the signal values. Usually this is accomplished by generating a si-15 rule input signal and a corresponding or illustrative so-called a difference signal between the prediction signal, which is then quantized to reduce the rendering accuracy. The number of possible values of the quantized difference signal is considerably smaller than the number of possible values of the input signal. The quantized difference signal is summed with the prediction signal, thereby regenerating the input signal, which, however, contains a quantization error. The signal thus generated is called a reconstructed signal, which is the same as the signal to be generated in the decoder 25 of the receiver. With this reconstructed signal, a new prediction signal is calculated, which tends to estimate as accurately as possible the next value of the input signal.
Tyypillisesti ennustavaan koodaukseen liittyy myös 30 tilastollisia tai entropiakoodausmenetelmiä, esim. ns. vaihtuvamittaisten eli VLC (variable-length-coding)-koodien käyttö. Tällöin kullekin kvantisoidun erosignaalin arvolle on varattu eli allokoitu yksi koodi eripituisia koodeja sisältävästä ryhmästä. Allokointi on suoritettu 35 siten, että lyhimmät koodit on varattu todennäköisimmin 2 S3714 esiintyville kvantisoidun erosignaalin arvoille. Käytännössä lyhimmät koodit on allokoitu erosignaalin arvolle nolla sekä pienille positiivisille ja negatiivisille arvoille. Tällä tavoin erosignaali on ollut mahdollista 5 esittää ja siirtää keskimäärin vähemmillä biteillä kuin ilman vaihtuvamittaisten koodien käyttöä.Typically, predictive coding also involves 30 statistical or entropy coding methods, e.g. the use of variable-length-coding (VLC) codes. In this case, one code from a group of codes of different lengths is allocated to each value of the quantized difference signal. The allocation is performed 35 so that the shortest codes are most likely reserved for the 2 quantized difference signal values present in S3714. In practice, the shortest codes are allocated to the value of the difference signal zero and to small positive and negative values. In this way, it has been possible for the difference signal to be represented and transmitted on average with fewer bits than without the use of variable length codes.
Esillä olevan keksinnön päämääränä on aikaansaada vaihtuvamittaisia koodeja käyttävä ennustava koodausmenetelmä, jossa erosignaalin esittämiseen ja siirtämiseen 10 tarvittavien binäärikoodien keskimääräistä pituutta on edelleen lyhennetty.It is an object of the present invention to provide a predictive coding method using variable length codes in which the average length of the binary codes required to represent and transmit the difference signal is further reduced.
Tämä saavutetaan johdannossa esitetyn tyyppisellä menetelmällä, jolle on keksinnön mukaisesti tunnusomaista, että koodien allokointia erosignaalin arvoille muutetaan 15 ennustesignaalin arvosta riippuen.This is achieved by a method of the type described in the introduction, which according to the invention is characterized in that the allocation of the codes to the values of the difference signal is changed depending on the value of the prediction signal.
Keksintö perustuu havaintoon, että VLC-koodauksella saavutettua informaation tiivistystä rajoittaa erityisesti lyhyiden VLC-koodien äärellinen määrä. Kuitenkin normaalissa koodauksessa on kullakin hetkellä käytössä vain noin 20 puolet erosignaalin arvoista, kvantisointitasoista sekä niitä vastaavista väli- ja VLC-koodeista. Suurilla ja pienillä ennustesignaalin arvoilla voi myös osa lyhyistä VLC-koodeista jäädä käyttämättä. Kulloinenkin ennustesignaalin arvo määrää erosignaalin mahdollisten arvojen alueen ja 25 siten myös tämän alueen ulkopuolelle jääville erosignaalin arvoille allokoidut VLC-koodit. Keksinnön mukaisessa ratkaisussa allokoidaan VLC-koodit ennustesignaalin arvon mukaisesti siten, että osa normaalin ennustavan koodauksen tuottamista pitkistä VLC-koodeista korvataan erosignaalin 30 mahdottomille arvoille allokoiduilla lyhyemmillä koodeil la, jotka muutoin jäisivät käyttämättä. Tällä tavoin voidaan selvästi lyhentää siirrettävien VLC-koodien keskimääräistä pituutta.The invention is based on the finding that the compression of information achieved by VLC coding is limited in particular by the finite number of short VLC codes. However, in normal coding, only about 20 half of the difference signal values, quantization levels, and the corresponding intermediate and VLC codes are used at any given time. With large and small predictive signal values, some of the short VLC codes may also not be used. The current value of the prediction signal determines the range of possible values of the difference signal and thus also the VLC codes allocated to the values of the difference signal outside this range. In the solution according to the invention, the VLC codes are allocated according to the value of the prediction signal, so that some of the long VLC codes produced by the normal predictive coding are replaced by shorter codes 1a allocated to the impossible values of the difference signal 30 which would otherwise remain unused. In this way, the average length of the VLC codes to be transmitted can be clearly shortened.
Keksinnön mukaista menetelmää voidaan menestyksel-35 lisesti soveltaa myös laskostavaa kvantisointia käyttävän 3 83714 ennustavan koodauksen yhteydessä.The method according to the invention can also be successfully applied in connection with predictive coding 3,83714 using folding quantization.
Keksinnön kohteena on myös patenttivaatimuksen 7 mukainen laite ennustavaa koodausta varten.The invention also relates to a device for predictive coding according to claim 7.
Keksintöä selitetään nyt yksityiskohtaisesti suori-5 tusesimerkkien avulla viitaten oheisiin piirroksiin, joissa kuvio 1 esittää lohkokaavion keksinnön mukaisen menetelmän toteuttavasta kooderista, kuvio 2 esittää lohkokaavion keksinnön mukaisesti 10 koodatun signaalin dekoodaukseen käytettävästä dekooderis-ta, kuviot 3A ja 3B havainnollistavat VLC-koodien uudelleenallokointia, kuviot 4A ja 4B havainnollistavat VLC-koodien uu-15 delleenallokointia laskostavaa kvantisointia käyttävän ennustavan koodauksen yhteydessä, kuvio 5 esittää esimerkin tavanomaisesta yksiulotteisesta VLC-koodien allokointitaulukosta, ja kuvio 6 esittää esimerkin keksinnön mukaisesta kak-20 siulotteisesta VLC-koodien allokointitaulukosta.The invention will now be described in detail by means of exemplary embodiments with reference to the accompanying drawings, in which Fig. 1 shows a block diagram of an encoder implementing the method according to the invention, Fig. 2 shows a block diagram of a decoder used to decode a signal encoded according to the invention, Figs. 3A and 3B 4A and 4B illustrate the reallocation of VLC codes in conjunction with predictive coding using folding quantization, Fig. 5 shows an example of a conventional one-dimensional VLC code allocation table, and Fig. 6 shows an example of a 20-dimensional VLC code allocation table according to the invention.
Aluksi viitataan kuvioon 1, jossa on esitetty periaatteellinen lohkokaavio eräälle keksinnön mukaisen menetelmän toteuttavalle kooderille. Keksintö kuvataan aluksi tavanomaisen ennustavan koodauksen yhteydessä, mutta samat 25 perusperiaatteet pätevät myös myöhemmin selostettavan, laskostavaa kvantisointia käyttävän ennustavan koodauksen yhteydessä.Reference is first made to Figure 1, which shows a schematic block diagram of an encoder implementing the method according to the invention. The invention will first be described in connection with conventional predictive coding, but the same basic principles also apply in connection with predictive coding using pleated quantization, which will be described later.
Kuvion 1 kooderin toiminta voidaan karkeasti jakaa kahteen osaan: ennustava koodaus (DPCM) ja vaihtuvamit-30 täinen koodaus (VLC).The operation of the encoder of Figure 1 can be roughly divided into two parts: predictive coding (DPCM) and variable length coding (VLC).
Ennustavassa koodauksessa vähentäjäpiiri 1 vähentää sisääntulosignaalista x(n) ennustesignaalin p(n) muodostaen erosignaalin e(n). Signaalit x(n) ja p(n) ovat edullisesti 8-bittisiä digitaalisia signaaleja. Erosignaali 35 e(n) voi saada sekä positiivisia että negatiivisia arvoja 4 83714 ja sen esittämiseen 2-komplementtimuodossa käytetään yksi bitti enemmän kuin signaalien x(n) ja p(n) esittämiseen. Erosignaali e(n) johdetaan kvantisointipiirille 3, jossa sen esitystarkkuutta pienennetään kvantisoimalla se käyt-5 täen signaalin esittämiseen vähemmän signaaliarvoja, enintään 64:ää. Kvantisointipiirin 3 muodostama kvanti-soitu erosignaali e'(n) summataan summainpiirissä 4 ennus-tesignaaliin p(n), jolloin saadaan rekonstruoitu signaali x'(n), joka edustaa sisääntulosignaalin x(n) ja kvanti-10 sointivirheen q(n) summaa. Rekonstruoidun signaalin x'(n) perusteella muodostetaan ennustuslohkossa 5 ennustesignaa-li p(n), joka syötetään vähentäjäpiirille 1.In the predictive coding, the subtractor circuit 1 subtracts the prediction signal p (n) from the input signal x (n) to form a difference signal e (n). The signals x (n) and p (n) are preferably 8-bit digital signals. The difference signal 35 e (n) can have both positive and negative values 4,83714, and one bit more is used to represent it in 2-complement format than to represent the signals x (n) and p (n). The difference signal e (n) is fed to a quantization circuit 3, where its representation accuracy is reduced by quantizing it using fewer signal values, up to 64, to represent the signal. The quantized difference signal e '(n) generated by the quantization circuit 3 is summed in the adder circuit 4 to the prediction signal p (n), thereby obtaining a reconstructed signal x' (n) representing the sum of the input signal x (n) and the quantum-10 ringing error q (n). . On the basis of the reconstructed signal x '(n), a prediction signal p (n) is generated in the prediction block 5, which is fed to the subtractor circuit 1.
Ennustuslohkon 5 toteutus voi vaihdella hyvin paljon sovellutuksesta riippuen, mutta tyyppillisesti se kä-15 sittää ainakin laskenta-algoritmin, joka laskee rekonstruoidusta signaalista x'(n) uuden ennustesignaalin p(n) arvon P joko välittömästi tai ennalta määrätyllä viiveellä. Tyypillinen sovellutus on videokuvan siirto, jolloin ennustesignaalin p(n) arvo voidaan esimerkiksi laskea välit-20 tömästi samalla juovalla olevien edellisten kuva-alkioiden avulla ja juovajakson suuruisella viiveellä edellisellä juovalla olevien viereisten kuva-alkioiden avulla tai kuvakenttä j akson suuruisella viiveellä edellisessä kuvakentässä olevan vastaavan kuva-alkion avulla.The implementation of the prediction block 5 may vary very much depending on the application, but typically it comprises at least a calculation algorithm which calculates the value P of the new prediction signal p (n) from the reconstructed signal x '(n) either immediately or with a predetermined delay. A typical application is video image transmission, whereby the value of the prediction signal p (n) can be calculated, for example, immediately by previous pixels on the same line and with a delay of the line period by adjacent pixels in the previous line or by a delay of the same size in the previous field. using a pixel.
25 Ennustava kvantisointi on alan ammattimiesten hyvin tuntema ja sen yksityiskohtainen toteutus voi vaihdella huomattavasti ilman että poiketaan keksinnön piiristä.Predictive quantization is well known to those skilled in the art and its detailed implementation can vary considerably without departing from the scope of the invention.
Keksinnön edullisessa suoritusmuodossa kvantisoija-piiri 3 sisältää myös välikoodauspiirin 3a, joka muodostaa 30 kvantisointituloksen perusteella välikoodin IC (intermediate code),joka tyypillisesti on kvantisointitulokseksi valitun kvantisointitason järjestysnumero. Kvantisointi-tasoja on tyypillisesti alle 64 kappaletta, jolloin väli-koodi IC on mahdollista esittää kuudella bitillä. Välikoo-35 di IC syötetään osoitteeksi VLC-koodauslohkolle 6. Osoit- 5 83714 teenä voidaan käyttää myös kvantisoitua erosignaalia e'(n), mutta välikoodin IC käytöllä säästetään osoitebit-tejä ja sitä kautta muistin kokoa.In a preferred embodiment of the invention, the quantizer circuit 3 also includes an intermediate coding circuit 3a, which generates an intermediate code IC based on the quantization result, which is typically the sequence number of the quantization level selected as the quantization result. There are typically less than 64 quantization levels, making it possible to represent the intermediate code IC in six bits. The intermediate IC 35 is input as an address to the VLC coding block 6. The quantized difference signal e '(n) can also be used as the address, but the use of the intermediate IC saves address bits and thus the memory size.
VLC-koodauslohko 6 muodostaa vakiopituisen koodin 5 6a, joka sisältää välikoodin IC ja ennustesignaalin p(n) perusteella valitun VLC-koodin ja ylimääräisiä täytebittejä. Yleensä koodauslohko 6 muodostaa lisäksi VLC-koodin pituuden ilmoittavan signaalin 6b. Signaalit 6a ja 6b viedään rinnan/sarjamuuntimelle 7, jossa signaali 6a muunneli) taan sarjamuotoon samalla poistaen ylimääräiset täytebitit pituusinformaatiota hyväksikäyttäen. Sarjamuotoinen signaali syötetään siirtonopeuden tasaavaan lähtöpuskuriin 8, jonka jälkeen suoritetaan myös linjakoodaus.The VLC coding block 6 generates a constant length code 5a containing a VLC code selected based on the intermediate code IC and the prediction signal p (n) and additional padding bits. In general, the coding block 6 further generates a signal 6b indicating the length of the VLC code. The signals 6a and 6b are applied to a parallel / serial converter 7, where the signal 6a is converted to a serial format while removing the extra padding bits by utilizing the length information. The serial signal is fed to the baud rate equalizing output buffer 8, after which line coding is also performed.
Kuviossa 3A on kuvattu eri pituisten VLC-koodien 15 tavanomaista kiinteää allokointia erilaisille erosignaalin arvoille. Kuviossa 5 on esitetty esimerkki vastaavasta välikoodilla IC indeksoidusta allokointitaulukosta sekä muutamista VLC-koodeista. Lyhimmät VLC-koodit on allokoitu erosignaalin e(n) arvolle nolla ja pienille positiivisille 20 ja negatiivisille erosignaalin e(n) arvoille, jotka ovat erosignaalin todennäköisimmin esiintyviä arvoja. Pitkät VLC-koodit on allokoitu harvemmin esiintyville suurille erosignaalin arvoille.Figure 3A illustrates the conventional fixed allocation of VLC codes 15 of different lengths to different difference signal values. Figure 5 shows an example of a corresponding allocation table indexed by an intermediate code IC and a few VLC codes. The shortest VLC codes are allocated to the value of the difference signal e (n) at zero and to the small positive and negative values of the difference signal e (n), which are the most probable values of the difference signal. Long VLC codes are allocated to less frequent large difference signal values.
Erosignaalin e(n) koko arvoalue on 9-bitin 2-komp-25 lementtiesityksessä -256...+255. Tulosignaalin x(n) ja ennustesignaalin p(n) lukualue on esimerkissä 0...255. Ennustesignaalin p(n) arvo P määrää erosignaalin e(n) kullakin hetkellä mahdollisen lukualueen XMIN-P. . .Χ,^-P, eli -P...255-P. Tällöin on kullakin hetkellä käytössä vain 30 puolet erosignaalin e(n) arvoista sekä niitä vastaavista kvantisointitasoista ja VLC-koodeista. Erityisesti suurilla ja pienillä ennustesignaalin arvoilla normaalia kiinteää VLC-koodien allokointia käytettäessä saattaa osa lyhyistä VLC-koodeista jäädä käyttämättä, koska ne on allo-35 koitu erosignaalin e(n) arvoille, jotka ovat kyseisellä 6 83714 hetkellä mahdottomia. Keksinnön mukaisessa menetelmässä suoritetaan ennustesignaalin p(n) arvosta P riippuva uudelleenallokointi järjestämällä VLC-koodit siten, että käyttämättä jääneet lyhyet VLC-koodit siirretään korvaa-5 maan pitkiä VLC-koodeja erosignaalin e(n) mahdollisella lukualueella. Kuvio 3B havainnollistaa VLC-koodien pituutta keksinnön mukaisen uudelleenallokoinnin jälkeen.The entire value range of the difference signal e (n) in the 9-bit 2-comp-25 element representation is -256 ... + 255. The reading range of the input signal x (n) and the prediction signal p (n) is 0 ... 255 in the example. The value P of the prediction signal p (n) determines the possible reading range XMIN-P of the difference signal e (n) at each moment. . .Χ, ^ - P, i.e. -P ... 255-P. In this case, only 30 half of the values of the difference signal e (n) and the corresponding quantization levels and VLC codes are currently in use. Particularly at high and low predictive signal values when using normal fixed VLC code allocation, some of the short VLC codes may not be used because they are allo-35 to the values of the difference signal e (n), which are currently impossible at that time. In the method according to the invention, a value-dependent reallocation of the prediction signal p (n) is performed by arranging the VLC codes so that the unused short VLC codes are transferred to replace the long VLC codes in the possible reading range of the difference signal e (n). Figure 3B illustrates the length of VLC codes after reallocation according to the invention.
Keksinnön ensisijaisessa suoritusmuodossa VLC-koodien uudelleenallokointi on käytännössä toteutettu siten, 10 että VLC-koodauslohko 6 käsittää muistin, joka sisältää kaksiulotteisen VLC-koodeja sisältävän allokointi taulukon, joka on indeksoitu välikoodilla IC ja ennustesignaalin p(n) arvolla P. Tätä varten VLC-koodauslohkolle 6 johdetaan IC-koodin lisäksi toisena osoitteena ennustesignaali. 15 Kuviossa 5 on havainnollistettu erästä tällaista allokoin-titaulukkoa, jossa esimerkiksi ennustesignaalin p(n) arvoa P=128 vastaavan VLC-sarakkeen voi muodostaa kuvion 5 yksiulotteinen taulukko. Muissa kuvion 6 sarakkeissa VLC-koodit on keksinnön mukaisesti allokoitu välikoodeille eri 20 tavoin muuttamalla koodien järjestystä.In a preferred embodiment of the invention, the reallocation of VLC codes is practically implemented in such a way that the VLC coding block 6 comprises a memory containing a two-dimensional allocation table containing VLC codes indexed by an intermediate code IC and a prediction signal p (n) by P. To this end, the VLC coding block 6, in addition to the IC code, a prediction signal is derived as a second address. Fig. 5 illustrates one such allocation table, in which, for example, the VLC column corresponding to the value P = 128 of the prediction signal p (n) may be formed by the one-dimensional table of Fig. 5. In the other columns of Figure 6, according to the invention, the VLC codes are allocated to the intermediate codes in different ways by changing the order of the codes.
Eräs vaihtoehtoinen toteutustapa on kvantisoinnin jälkeen muuttaa välikoodia IC. Tämä voidaan toteuttaa muodostamalla ennustesignaalin e(n) ja alkuperäisen välikoo-din IC tai kvantisoidun erosignaalin e'(n) avulla sopiva 25 uusi välikoodi, joka syötetään osoitteeksi VLC-koodauslohkolle 6, jossa on yksiulotteinen allokointitaulukko. Tällä toimenpiteellä saavutetaan sama vaikutus kuin edellä esitetyllä ratkaisulla ilman että tarvitaan muutoksia VLC-koodauslohkoon 6, mutta toisaalta se vaatii ylimääräisen 30 piirin uuden välikoodin muodostamista varten. Ratkaisu saattaa kuitenkin olla edullinen, kun keksintöä sovelletaan vanhoihin koodereihin.An alternative implementation is to change the intermediate code IC after quantization. This can be accomplished by generating, by means of the prediction signal e (n) and the original intermediate code IC or the quantized difference signal e '(n), a suitable new intermediate code which is input as an address to the VLC coding block 6 having a one-dimensional allocation table. This measure achieves the same effect as the above solution without the need for changes to the VLC coding block 6, but on the other hand it requires an additional 30 circuits to generate a new intermediate code. However, the solution may be advantageous when the invention is applied to old encoders.
Kuvioissa 4A ja 4B on havainnollistettu keksinnön soveltamista laskostavan kvantisoinnin yhteydessä. Laskos-35 tavaa kvantisointia on kuvattu esim. artikkelissa "AFigures 4A and 4B illustrate the application of the invention in the context of folding quantization. Folding-35 methods of quantization are described, for example, in the article "A
7 837147 83714
Simple High Quality DPCM-codec for Video Telephone Using 8 Mbit per second ", Nachtrictentechnische Zeitung, 1974, Häft 3, sivut 115-117. Laskostavassa kvantisoinnissa käytetään hyväksi sitä, että erosignaalille e(n) on tietyllä 5 hetkellä mahdollisia vain puolet erosignaalin kaikista arvoista. Erosignaalin e(n) lukualuetta voidaan pienentää kuvaamalla (laskostamalla) negatiiviset erosignaalin arvot sellaisten erosignaalin positiivisten arvojen päälle, jotka ovat sillä hetkellä käytetyllä ennustesignaalin p(n) 10 arvolla P mahdottomia. Kuviossa 4A pienet positiiviset arvot ovat alueella 0... 255-P ja negatiiviset arvot las-kostuneina alueelle arvon 255-P yläpuolella. Koska pienet erosignaalin arvot ovat yleisiä, lyhyet VLC-koodit on perinteisessä laskostavaa kvantisointia käyttävässä koodauk-15 sessa allokoitu kuviossa 4A kiinteästi lukualueen ala- ja yläpäässä oleville yleisimmille erosignaalin arvoille.Simple High Quality DPCM codec for Video Telephone Using 8 Mbit per second ", Nachtrictentechnische Zeitung, 1974, Häft 3, pages 115-117. Folding quantization takes advantage of the fact that only half of the total difference signal is possible for the difference signal e (n) at a given time 5 The reading range of the difference signal e (n) can be reduced by plotting (folding) the negative difference signal values over positive values of the difference signal that are impossible with the currently used value P of the prediction signal p (n) 10. In Figure 4A, the small positive values are in the range 0 ... 255 -P and negative values calculated in the range above 255-P. Because small difference signal values are common, short VLC codes in traditional folding quantization coding are fixedly allocated in Figure 4A to the most common difference signal values at the lower and upper ends of the reading range.
Laskostavassa kvantisoinnissa on siten joka hetki käytössä myös ne lyhyet VLC-koodit, jotka normaalissa ennustavassa kvantisoinnissa jäisivät mahdollisen lukualueen 20 ulkopuolelle. Osa lyhyistä VLC-koodeista saattaa kuitenkin laskostumisen seurauksena erityisesti hyvin suurilla tai pienillä ennustesignaalin arvoilla P sijoittua suurille erosignaalin negatiivisille tai positiivisille arvoille, kuten VLC-koodit kuvion 4A erosignaaliarvon 255-P oikealla 25 puolella. Nämä lyhyet VLC-koodit saadaan keksinnön mukaisesti tehokkaampaan käyttöön siirtämällä ne kuvion 4B mukaisesti lähellä ennustesignaalin p(n) sen hetkistä arvoa P oleville erosignaalin arvoille. Tällä tavoin saadaan käytettyjen VLC-koodien keskimääräinen pituus lyhenemään. 30 Käytännön toteutus voi olla samanlainen kuin tavanomaisessa ennustavassa kvantisoinnissa, ainoastaan käytetyt allo-kointitaulukot ovat sisällöltään erilaiset.Thus, in folding quantization, the short VLC codes that would be outside the possible reading range 20 in normal predictive quantization are also used at all times. However, as a result of folding, some of the short VLC codes, especially at very large or small prediction signal values P, may be located at large negative or positive values of the difference signal, such as VLC codes to the right of the difference signal value 255-P in Fig. 4A. According to the invention, these short VLC codes can be used more efficiently by shifting them, according to Fig. 4B, to the difference signal values close to the current value P of the prediction signal p (n). In this way, the average length of the VLC codes used is shortened. 30 The practical implementation may be similar to that in conventional predictive quantization, only the content of the allocation tables used is different.
Käytännön sovellutuksissa voi olla useita rinnakkaisia kuvion 1 mukaisia kvantisoijia 3, joilla jokaisella 35 on koodauslohkossa 6 oma taulukkonsa. Tällöin koodausloh- β 83714 kolle 6 tuodaan myös tieto siitä, millä kvantisoijalla 3 signaali kullakin hetkellä koodataan.In practical applications, there may be several parallel quantizers 3 according to Figure 1, each of which 35 has its own table in the coding block 6. In this case, information is also provided to the coding block β 83714 on which quantizer 3 the signal is coded at each moment.
Kuviossa 2 on esitetty keksinnön mukaisesti koodatun signaalin dekoodaamiseen soveltuvan dekooderin lohko-5 kaavio. Dekooderi käsittää dekoodauslohkon 22, joka muuttaa vastaanottamansa koodatun signaalin y(n) kvantisoiduk-si erosignaaliksi e'(n). Kvantisoitu erosignaali e'(n) johdetaan summainpiirille 21, jossa se summataan ennuste-signaaliin p(n), jolloin tuloksena saadaan rekonstruoitu 10 signaali x'(n). Ennustuslohko 23 laskee rekonstruoidun signaalin x'(n) avulla ennustesignaalin p(n) samalla tavoin kuin ennustuslohko 5 kuviossa 1. Jos siirtovirheitä ei tapahdu, signaali x’(n) on sama kuin lähettimessä tai kooderissa muodostettu rekonstruoitu signaali x'(n). En-15 nustesignaali p(n) johdetaan summainpiirille 21 ja VLC-dekoodauslohkolle 22. Dekoodauslohko 22 sisältää keksinnön ensisijaisessa suoritusmuodossa kvantisoidun erosignaalin e'(n) arvoja sisältävän kaksiulotteisen taulukon, joka on indeksoitu ennustesignaalin p(n) arvon P ja kvantisoituja 20 erosignaalin arvoja vastaavien VLC-koodien avulla. Taulukko on siten käänteinen muunnostaulukko kuvion 6 allokoin-titaulukolle, paitsi että välikoodeja IC ei enää tarvita — vaan ne on korvattu suoraan kvantisoidun erosignaalin e'(n) arvoilla.Figure 2 shows a block diagram of a decoder suitable for decoding a coded signal according to the invention. The decoder comprises a decoding block 22 which converts the received coded signal y (n) into a quantized difference signal e '(n). The quantized difference signal e '(n) is applied to an adder circuit 21, where it is summed to a prediction signal p (n), resulting in a reconstructed signal x' (n). The prediction block 23 uses the reconstructed signal x '(n) to calculate the prediction signal p (n) in the same manner as the prediction block 5 in Fig. 1. If no transmission errors occur, the signal x' (n) is the same as the reconstructed signal x '(n) generated at the transmitter or encoder. In the preferred embodiment of the invention, the decoding block 22 contains a two-dimensional table containing the values of the quantized difference signal e '(n) indexed to the value P of the prediction signal p (n) and the values of the quantized difference signal 20. using the corresponding VLC codes. The table is thus an inverse conversion table to the allocation table of Figure 6, except that the intermediate codes IC are no longer needed - but have been replaced directly by the values of the quantized difference signal e '(n).
25 Kuviot ja niihin liittyvä selitys on tarkoitettu vain havainnollistamaan esillä olevaa keksintöä. Yksityiskohdiltaan keksinnön mukainen menetelmä ja laite voivat vaihdella oheisten patenttivaatimusten puitteissa.The figures and the related description are only intended to illustrate the present invention. The details of the method and device according to the invention may vary within the scope of the appended claims.
Claims (11)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI900184A FI83714C (en) | 1990-01-12 | 1990-01-12 | Procedure and apparatus for a predictive coding |
PCT/FI1991/000010 WO1991011057A1 (en) | 1990-01-12 | 1991-01-10 | Method and apparatus for predictive coding |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FI900184 | 1990-01-12 | ||
FI900184A FI83714C (en) | 1990-01-12 | 1990-01-12 | Procedure and apparatus for a predictive coding |
Publications (4)
Publication Number | Publication Date |
---|---|
FI900184A0 FI900184A0 (en) | 1990-01-12 |
FI83714B FI83714B (en) | 1991-04-30 |
FI900184A FI900184A (en) | 1991-07-13 |
FI83714C true FI83714C (en) | 1991-08-12 |
Family
ID=8529694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FI900184A FI83714C (en) | 1990-01-12 | 1990-01-12 | Procedure and apparatus for a predictive coding |
Country Status (2)
Country | Link |
---|---|
FI (1) | FI83714C (en) |
WO (1) | WO1991011057A1 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1197005A (en) * | 1981-09-29 | 1985-11-19 | Norio Suzuki | System comprising a preliminary processing device controlled in accordance with an amount of information stored in a buffer |
GB8703354D0 (en) * | 1987-02-13 | 1987-03-18 | British Telecomm | Coder |
US4847866A (en) * | 1988-02-01 | 1989-07-11 | Eastman Kodak Company | Differential pulse code modulation scheme incorporating a reconstructed value constrainer |
-
1990
- 1990-01-12 FI FI900184A patent/FI83714C/en not_active IP Right Cessation
-
1991
- 1991-01-10 WO PCT/FI1991/000010 patent/WO1991011057A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
FI900184A0 (en) | 1990-01-12 |
FI83714B (en) | 1991-04-30 |
FI900184A (en) | 1991-07-13 |
WO1991011057A1 (en) | 1991-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FI98421C (en) | Adaptive quantization encoder / decoder | |
US4454546A (en) | Band compression device for shaded image | |
KR100921031B1 (en) | A method and an apparatus for decoding a coded data of a block image | |
JP2783534B2 (en) | Encoding device | |
FI114071B (en) | Processing images with a limited number of pieces | |
JPS5851471B2 (en) | TV synopsis | |
KR100959837B1 (en) | Adaptive method and system for mapping parameter values to codeword indexes | |
FI83714C (en) | Procedure and apparatus for a predictive coding | |
KR100242635B1 (en) | A system for variable-length-coding and variable-length-decoding digital data | |
JPH04343576A (en) | Highly efficient coding and decoding method | |
FI84682C (en) | FOERFARANDE OCH ANORDNING FOER PREDIKTERANDE KODNING. | |
EP0998818B1 (en) | A method in compression coding | |
JPH02288695A (en) | Picture coding and decoding device | |
JPH0113673B2 (en) | ||
Krishnasami et al. | Low-bit-rate encoder for picture signals using a centre-clipping quantiser | |
JPS63220672A (en) | Compression-encoding method for half tone picture signal | |
JPH06178119A (en) | Image encoder | |
JPH06113293A (en) | Picture coder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM | Patent lapsed |
Owner name: TELENOKIA OY |