FI83714C - Procedure and apparatus for a predictive coding - Google Patents

Procedure and apparatus for a predictive coding Download PDF

Info

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
Application number
FI900184A
Other languages
Finnish (fi)
Swedish (sv)
Other versions
FI900184A0 (en
FI83714B (en
FI900184A (en
Inventor
Seppo Valli
Original Assignee
Telenokia 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 Telenokia Oy filed Critical Telenokia Oy
Priority to FI900184A priority Critical patent/FI83714C/en
Publication of FI900184A0 publication Critical patent/FI900184A0/en
Priority to PCT/FI1991/000010 priority patent/WO1991011057A1/en
Publication of FI83714B publication Critical patent/FI83714B/en
Publication of FI900184A publication Critical patent/FI900184A/en
Application granted granted Critical
Publication of FI83714C publication Critical patent/FI83714C/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3002Conversion to or from differential modulation
    • H03M7/3044Conversion 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/3046Conversion 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)

1. Förfarande för predikterande kodning, i vilket förfarande en differenssignal mellan en ingängssignal och 5 en prediktionssignal kvantiseras och som kodningsresultat, beroende av kvantiseringsresultatet, väljs en kod frän en grupp olika länga koder, i vilken grupp de kortaste koderna är allokerade för differenssignalens sannolikast förekom-mande värden, kännetecknat därav, att kodernas 10 allokering för differenssignalens värden ändras beroende av prediktionssignalens värde.1. Predictive coding method, in which method a difference signal between an input signal and a prediction signal is quantized and as coding result, depending on the quantization result, a code is selected from a group of different long codes, in which group the shortest codes are allocated for the most probable of the difference signal. -valuing values, characterized in that the allocation of the codes for the difference signal values changes depending on the value of the prediction signal. 2. Förfarande enligt patentkravet 1, kännetecknat därav, att korta koder, vilka är allokerade för de värden av differenssignalen som inte är möjliga vid 15 den ifrägavarande prediktionssignalens värde, överförs tili de värden av dif ferenssignalen som är möjliga vid den ifrä-gavarande prediktionssignalens värde.Method according to claim 1, characterized in that short codes, which are allocated for the values of the difference signal which are not possible at the value of the prediction signal, are transmitted to the values of the difference signal which are possible at the value of the prediction signal. . 3. Förfarande enligt patentkravet 1, kännetecknat därav, att differenssignalen kvantiseras 20 enligt principen för plisserande kvantisering, varvid differenssignalens negativa värden avbildas vid kvan-tiseringen att ersätta sädana differenssignalens positiva värden som är omöjliga vid prediktionssignalens ifräga-varande värde, och att de korta koder som är allokerade för 25 de värden av den kvantiserade dif ferenssignalen som motsva-rar differenssignalens Stora positiva eller negativa värden överförs tili de värden av den kvantiserade differenssignalen som är närä prediktionssignalens värde.3. A method according to claim 1, characterized in that the differential signal is quantized according to the principle of pleated quantization, wherein the negative values of the differential signal are mapped in the quantization to replace the positive values of such a differential signal which are impossible with the predicted signal's corresponding value, which are allocated for the values of the quantized difference signal corresponding to the difference of the difference signal. Great positive or negative values are transmitted to the values of the quantized difference signal which are close to the value of the prediction signal. 4. Förfarande enligt patentkravet 1, 2 eller 3, 30 kännetecknat därav, att som kvantiseringsresul- tat bildas en mellankod, som företrädesvis är den som kvan-tiseringsresultat utvalda kvantiseringsniväns ordningsnum-mer.4. A method according to claim 1, 2 or 3, characterized in that, as a quantization result, an intermediate code is formed, which is preferably the order number of the quantization level selected as the quantization result. 5. Förfarande enligt nägot av de föregäende patent-35 kraven, kännetecknat därav, att koderna väljs i3 83 71 4 frän en tvädimensionell allokeringstabell pä basis av pre-diktionssignalens värde och mellankoden eller den kvantise-rade differenssignalen.Method according to any of the preceding claims, characterized in that the codes are selected from a two-dimensional allocation table based on the value of the prediction signal and the intermediate code or the quantized difference signal. 6. Förfarande enligt nägot av patentkraven 1-4, 5 kännetecknat därav, att koderna väljs fran en endimensionell allokeringstabell med en sökkod, som bildas pä basis av prediktionssignalens värde och mellankoden eller kvantiseringsresultatet.Method according to any one of claims 1-4, characterized in that the codes are selected from a one-dimensional allocation table with a search code, which is formed on the basis of the value of the prediction signal and the intermediate code or the quantization result. 7. Anordning för predikterande kodning, vilken an-10 ordning omfattar ett organ (1) för alstring av en differenssignal (e(n)) me11an en ingängssignal (x(n)) och en predik-tionssignal (p(n)), ett kvantiseringsorgan (3) för kvantisering av 15 differenssignalen (e(n)), ett summeringsorgan (4) för summering av den kvan-tiserade differenssignalen (e'(n)) och prediktionssignalen (P(n)), ett prediktionsorgan (5) för alstring av predik-20 tionssignalen beroende av summeringsorganets utgängssignal, samt kodningsorgan (6), som beroende av kvantiseringsresultatet väljer som kodningsresultat en kod frän en grupp olika länga koder, i vilken grupp de kortaste koderna är 25 allokerade för differenssignalens ofta förekommande värden, kännetecknad därav, att kodningsorganen (6) är päverkbara säsom gensvar pä prediktionssignalen (p(n)) för ändring av nämnda allokering.A predictive coding device, comprising a means (1) for generating a difference signal (e (n)) between an input signal (x (n)) and a prediction signal (p (n)), a quantization means (3) for quantizing the difference signal (e (n)), a summing means (4) for summing the quantized difference signal (e '(n)) and the prediction signal (P (n)), a prediction means (5) ) for generating the prediction signal depending on the output of the summation means, and coding means (6) which, depending on the quantization result, select as a coding result a code from a group of different long codes, in which group the shortest codes are allocated for the frequently occurring values of the differential signal; characterized in that the coding means (6) are operable in response to the prediction signal (p (n)) for changing said allocation. 8. Anordning enligt patentkravet 7, k ä n n e -30 tecknad därav, att kvantiseringsorganet (3) bildar som kvantiseringsresultat en mellankod, som är företrädes-vis den som kvantiseringsresultat valda kvantiseringsniväns ordningsnummer.8. Apparatus according to claim 7, characterized in that the quantizing means (3) forms as a quantization result an intermediate code, which is preferably the order number of the quantization level selected as the quantization result. 9. Anordning enligt patentkravet 7 eller 8, k ä n -35 netecknad därav, att kodningsorganen (6) omfattar 14 83 71 4 en med prediktionssignalen och mellankoden eller den kvan-tiserade differenssignalen indikerad tvädimensionell allo-keringstabell.9. Device according to claim 7 or 8, characterized in that the coding means (6) comprise a two-dimensional allocation table indicated by the prediction signal and the intermediate code or the quantized difference signal. 10. Anordning enligt patentkravet 7 eller 8, k ä n -5 netecknad därav, att anordningen innefattar ett organ för bildande av en sökkod pä basis av prediktionssignalen och mellankoden eller kvantiseringsresultatet, och att kodningsorganen innefattar en med nämnda sökkod indikerad endimensionell allokeringstabell.10. Device according to claim 7 or 8, characterized in that the device comprises a means for forming a search code on the basis of the prediction signal and the intermediate code or the quantization result, and that the coding means comprises a one-dimensional allocation table indicated by said search code. 11. Anordning för avkodning av en med prediktions- kodning kodad signal, vilken anordning omfattar ett avkodningsorgan (22), som innefattar en änd-ringstabell för ändring av kodvärden i en kodad signal (y(n)) tili värden av en kvantiserad differenssignal 15 (e'(n)), ett summeringsorgan (21) för summering av den kvan-tiserade dif ferenssignalen (e' (n)) och en prediktionssignal (p(n)) för att alstra en rekonstruerad signal (x'(n)), samt ett prediktionsorgan (23) för alstring av en predik-20 tionssignal (p(n)) pä basis av den rekonstruerade signalen (x'(n)), kännetecknad därav, att avkodnings-organet (22) är päverkbart säsom gensvar pä prediktionssignalen (p(n)) för ändring eller utbyte av nämnda änd-ringstabell.Device for decoding a prediction-encoded signal, said device comprising a decoding means (22) comprising a change table for changing the code values in a coded signal (y (n)) to values of a quantized difference signal 15 (e '(n)), a summing means (21) for summing the quantized diffraction signal (e' (n)) and a prediction signal (p (n)) to generate a reconstructed signal (x '(n)) ), and a prediction means (23) for generating a prediction signal (p (n)) on the basis of the reconstructed signal (x '(n)), characterized in that the decoding means (22) is operable as a response on the prediction signal (p (n)) for changing or replacing said change table.
FI900184A 1990-01-12 1990-01-12 Procedure and apparatus for a predictive coding FI83714C (en)

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)

* Cited by examiner, † Cited by third party
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

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