NO175450B - Encoding of data - Google Patents

Encoding of data

Info

Publication number
NO175450B
NO175450B NO890991A NO890991A NO175450B NO 175450 B NO175450 B NO 175450B NO 890991 A NO890991 A NO 890991A NO 890991 A NO890991 A NO 890991A NO 175450 B NO175450 B NO 175450B
Authority
NO
Norway
Prior art keywords
values
address
output
order
addresses
Prior art date
Application number
NO890991A
Other languages
Norwegian (no)
Other versions
NO890991L (en
NO175450C (en
NO890991D0 (en
Inventor
David Geoffrey Morrison
Andrew Peter Heron
Original Assignee
British Telecomm
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
Priority claimed from GB878716195A external-priority patent/GB8716195D0/en
Application filed by British Telecomm filed Critical British Telecomm
Publication of NO890991L publication Critical patent/NO890991L/en
Publication of NO890991D0 publication Critical patent/NO890991D0/en
Publication of NO175450B publication Critical patent/NO175450B/en
Publication of NO175450C publication Critical patent/NO175450C/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Verdier, slik som et sett med koeffisienter i en transformasjonsbasert videokoder, skal overfares sekvensielt i en hvilken som helst av et antall mulige forut bestemte ordener. Den orden som skal velges, er den som resulterer i det største antall påfølgende nuller (eller lave verdier) ved slutten av sekvensen. Verdier blir levert (i en vilkårlig sekvens) med adresser, i parallell til et sett med vurderingsseksjoner, en for hver forut bestemt orden, hver av hvilke oversetter adressene til adresser som representerer en posisjon i den respektive orden og registrerer den høyeste for hvilken den tilsvarende verdi er forskjellig fra null. Utgangene fra seksjonene blir så sammenlignet for å identifisere den laveste, og dermed den optimale overføringsorden.Values, such as a set of coefficients in a transformation-based video encoder, shall be transmitted sequentially in any of a number of possible predetermined orders. The order to be selected is the one that results in the largest number of consecutive zeros (or low values) at the end of the sequence. Values are delivered (in any sequence) with addresses, in parallel with a set of rating sections, one for each predetermined order, each of which translates the addresses into addresses representing a position in the respective order and registers the highest for which the corresponding value is different from zero. The outputs from the sections are then compared to identify the lowest, and thus the optimal transfer order.

Description

Foreliggende oppfinnelse vedrører et apparat og en fremgangsmåte for koding av et verdisett, for eksempel av trans-formasjons-koeffisienter i en videokoder, samt en videokoder omfattende apparatet. The present invention relates to an apparatus and a method for coding a set of values, for example of transformation coefficients in a video encoder, as well as a video encoder comprising the apparatus.

Fra WO publisert patentsøknad nr. 87/02854 er kjent en fremgangsmåte for koding av et sett med verdier. Ifølge fremgangsmåten i motholdet, testes flere avsøkningsruter over en blokk med transformasjonskoeffisienter for å se hvilken som gir den korteste resulterende kode. Hver skanderingssekvens betraktes i rekkefølge, og man ser hvilken av disse som trenger færrest koeffisienter for å nå en forutbestemt prosentandel, eksempelvis 95%, av den totale energi i blokken som er under betraktning. De koeffisient-sett velges som tilveiebringer det korteste nødvendige sett for å nå denne forutbestemte prosentandel. Fremgangsmåten i publikasjonen er altså klart innrettet mot å tilveiebringe det minste sett som fremskaffer en gitt prosentdel av energien. A method for coding a set of values is known from WO published patent application no. 87/02854. According to the procedure in the counter, several scan paths are tested over a block of transform coefficients to see which one gives the shortest resulting code. Each scan sequence is considered in order, and one sees which of these needs the fewest coefficients to reach a predetermined percentage, for example 95%, of the total energy in the block under consideration. The coefficient sets are selected which provide the shortest necessary set to reach this predetermined percentage. The procedure in the publication is therefore clearly geared towards providing the smallest set that provides a given percentage of the energy.

Foreliggende oppfinnelse angår også minimalisering av den koding som er nødvendig for å kode en rekke verdier, men oppfinnelsen søker imidlertid å hanskes med dette bredt anlagte mål på en annen måte. Formålet med foreliggende oppfinnelse er å bestemme en orden av verdier som tilveiebringer det største antall verdier som havner under den oppstilte terskel ved enden av sekvensen. Man ser altså på forskjellige sekvenser, finner den siste posisjon for en verdi som tilfredsstiller den oppstilte terskel i sekvensen, og bestemmer så hvilken sekvens som har denne siste posisjon nærmest starten av sekvensen. På denne måten velges den sekvens som har den korteste lengde som er nødvendig for å innbefatte alle de signifikante koeffisienter. Ovennevnte publikasjon utfører således ingen søking etter den siste posisjon for en signifikant koeffisient. The present invention also concerns minimization of the coding that is necessary to code a number of values, but the invention, however, seeks to meet this broad objective in a different way. The purpose of the present invention is to determine an order of values that provides the largest number of values that end up below the established threshold at the end of the sequence. One therefore looks at different sequences, finds the last position for a value that satisfies the established threshold in the sequence, and then determines which sequence has this last position closest to the start of the sequence. In this way, the sequence is chosen which has the shortest length necessary to include all the significant coefficients. The above-mentioned publication thus does not perform any search for the last position for a significant coefficient.

Ifølge et aspekt ved oppfinnelsen er det tilveiebrakt et apparat for koding av et sett med verdier, omfattende en vurderingsanordning for å motta verdiene i en første orden, og for å undersøke verdiene i nevnte første orden i hver av en rekke forutbestemte ordener for verdiene. Apparatet kjennetegnes særskilt ved at vurderingsanordningen innbefatter en rekke seksjoner som hver er anordnet for å undersøke samtidig med de andre seksjonene, verdiene for å identifisere hvilke av disse verdier som overskrider en oppstilt terskel, som opptar den siste posisjon i en respektiv av de forutbestemte ordener, og for å frembringe en utgangsverdi som indikerer denne posisjon; og ved at apparatet videre innbefatter en komparatoranordning som reagerer på utgangssignalene fra vurderingsanordningen ved å identifisere den av de forutbestemte ordener som har den lavest indikerte posisjon; og en utgangsanordning innrettet for å frembringe et utgangssignal som omfatter verdiene i den forutbestemte orden som er identifisert. According to one aspect of the invention, there is provided an apparatus for encoding a set of values, comprising an evaluation device for receiving the values in a first order, and for examining the values in said first order in each of a number of predetermined orders for the values. The apparatus is particularly characterized in that the assessment device includes a number of sections, each of which is arranged to examine simultaneously with the other sections, the values to identify which of these values exceed a set threshold, which occupies the last position in a respective of the predetermined orders, and to produce an output value indicating this position; and in that the apparatus further includes a comparator device responsive to the output signals from the evaluation device by identifying the one of the predetermined orders having the lowest indicated position; and an output device adapted to produce an output signal comprising the values in the predetermined order identified.

Ifølge et andre aspekt ved oppfinnelsen er det tilveiebrakt en videokoder som omfatter et apparat av den ovenfor nevnte type, og videokoderen kjennetegnes særskilt ved at den videre omfatter en anordning for mottak av et video-inngangssignal, en transformasjonskodeanordning for frembringelse av transformasjonskoeffisienter fra video-inngangssignalet, samt ved at apparatet for koding er innrettet for koding av sett med verdier som representerer transformasj onskoeffisientene. According to a second aspect of the invention, a video encoder is provided which comprises an apparatus of the above-mentioned type, and the video encoder is particularly characterized in that it further comprises a device for receiving a video input signal, a transformation code device for generating transformation coefficients from the video input signal , as well as in that the apparatus for coding is arranged for coding sets of values representing the transformation coefficients.

Ifølge et tredje aspekt ved oppfinnelsen er det tilveiebrakt en fremgangsmåte for å kode et sett med verdier, omfattende de trekk at verdiene mottas i en første orden; og verdiene undersøkes i den nevnte første orden i hver av en rekke forutbestemte ordener av verdiene. Fremgangsmåten kjennetegnes ved at samløpende for hver av de forutbestemt ordener, undersøkes verdiene for å identifisere hvilke av de verdier som overskrider en oppstilt terskel som opptar den siste posisjon i hver av de forutbestemte ordener; signaler frembringes som indikerer disse posisjonene; signalene sammenlignes for å identifisere den av de forut- bestemte ordener som har den laveste indikerte posisjon; og et utgangssignal frembringes som omfatter verdiene i den forutbestemte orden som er identifisert. According to a third aspect of the invention, there is provided a method for encoding a set of values, comprising the features that the values are received in a first order; and the values are examined in said first order in each of a plurality of predetermined orders of the values. The method is characterized by the fact that concurrently for each of the predetermined orders, the values are examined to identify which of the values that exceed a set threshold occupy the last position in each of the predetermined orders; signals are produced indicating these positions; the signals are compared to identify the one of the predetermined orders which has the lowest indicated position; and an output signal is produced comprising the values in the predetermined order identified.

Andre foretrukne trekk ved oppfinnelsen fremgår av de uselvstendige krav. Other preferred features of the invention appear from the independent claims.

En utførelsesform av oppfinnelsen vil nå bli beskrevet som et eksempel, under henvisning til de vedføyde tegninger, hvor An embodiment of the invention will now be described as an example, with reference to the attached drawings, where

Fig. 1 er et blokk-skjema av en koder; Fig. 2 illustrerer en blokk med transformasjons koeffisienter; Fig. 3 er et blokk-skjema over sekvensvelgeren 4 på figur Fig. 1 is a block diagram of an encoder; Fig. 2 illustrates a block of transformation coefficients; Fig. 3 is a block diagram of the sequence selector 4 in Fig

1; 1;

Fig. 4 er et blokk-skjema over vurderingsanordningen 12 på Fig. 4 is a block diagram of the assessment device 12 on

figur 3; Figure 3;

Fig. 5 er et blokk-skjema over resekvenserings-anordningen Fig. 5 is a block diagram of the resequencing device

5 på figur 1; og 5 on figure 1; and

Fig. 6 er et blokk-skjema over en alternativ utførelsesform av vurderingsanordningen 12 på figur 3. Fig. 6 is a block diagram of an alternative embodiment of the assessment device 12 in Fig. 3.

Videokoderen som er vist på figur 1, har en videoinngang 1 og en analog/digital-omformer 2. Denne blir fulgt av en transformasjonskoder 3. Hvert delbilde av bildet blir tenkt inndelt i blokker med bildeelementer, og hver blokk blir underkastet en todimensjonal transformasjon, slik som den diskrete kosinustransformasjon (DCT), for å frembringe en blokk med koeffisienter. Et formål med omforming til transformasjonsdomenet, er å bevirke en reduksjon av den datamengde som må kodes for overføring, siden det antall bit som brukes for koding av hver koeffisient, kan skreddersys til vedkommende koeffisients bidrag til bildekvaliteten. Spesielt behøver koeffisienter som er ubetydelig små eller null, ikke å overføres. The video encoder shown in Figure 1 has a video input 1 and an analog/digital converter 2. This is followed by a transformation encoder 3. Each sub-frame of the image is thought to be divided into blocks of picture elements, and each block is subjected to a two-dimensional transformation, such as the discrete cosine transform (DCT), to produce a block of coefficients. One purpose of reshaping to the transformation domain is to effect a reduction of the amount of data that must be encoded for transmission, since the number of bits used for encoding each coefficient can be tailored to the respective coefficient's contribution to image quality. In particular, coefficients that are negligibly small or zero need not be transferred.

Andre teknikker for reduksjon av redundans, slik som bruk av inter-delbildesammenligning (før eller etter transfor-mer ingskoderen) slik at data bare behøver å overføres i form av blokker som er forandret mellom delbilder, differensial-koding, og bruk av bevegelseskompensasjon kan også benyttes om ønsket. Imidlertid er disse teknikker i likhet med selve transformasjonskodingen, velkjente på bildekodingsområdet og vil ikke bli beskrevet ytterligere. Other techniques for reducing redundancy, such as the use of inter-frame comparison (before or after the transform encoder) so that data only needs to be transferred in the form of blocks that have been changed between frames, differential coding, and the use of motion compensation can also can be used if desired. However, these techniques, like transform coding itself, are well known in the image coding field and will not be described further.

Utgangen fra transformasjonskoderen blir levert til en sekvensvelgerenhet 4 og en resekvenseringsanordning 5 som mater ut koeffisientene i en blokk i en orden eller rekkefølge, bestemt av enheten 4, som er forskjellig fra den orden de ble mottatt i. The output of the transform encoder is supplied to a sequence selector unit 4 and a resequencing device 5 which outputs the coefficients in a block in an order or order, determined by the unit 4, which is different from the order in which they were received.

Som tidligere nevnt blir hvert delbilde (eller halvbilde) av bildet inndelt i blokker, for eksempel kan det anvendes linjeblokker på 8 x 8 bildeelementer. Etter transformering gir hver blokk opphav til en blokk med 8x8 koeffisienter, som vist skjematisk på figur 2 med koeffisientene nummerert (vilkårlig) fra 0 til 63. På konvensjonell måte (selv om det ikke er nødvendig) blir disse representert som en matrise ordnet med hensyn til sekvens, idet den øvre, venstre koeffisient (0) representerer middelnivået til blokkens lysstyrke (DC-koeffisienten) og koeffisientene øker i horisontal og vertikal rekkefølge etterhvert som man beveger seg til høyre eller nedover. "Sekvens" er i tilfellet med en diskret transformasjon ekvivalent med frekvens i tilfelle av en kontinuerlig transformasjon, idet høyere sekvenskoeffisien-ter bærer informasjon om bildets høyere romfrekvens-komponenter. Vanligvis er disse mindre enn DC- eller lavere sekvens-koeffisienter, og blir normalt mer grovt kvantifisert før overføring. Noen av disse kan i virkeligheten være null, og andre kan være så små at de settes til null ved hjelp av en terskelprosess. As previously mentioned, each partial image (or half image) of the image is divided into blocks, for example line blocks of 8 x 8 image elements can be used. After transformation, each block gives rise to a block of 8x8 coefficients, as shown schematically in Figure 2 with the coefficients numbered (arbitrarily) from 0 to 63. Conventionally (although not necessarily) these are represented as a matrix ordered with respect to to sequence, with the upper left coefficient (0) representing the mean level of the block's brightness (the DC coefficient) and the coefficients increasing in horizontal and vertical order as one moves to the right or downwards. "Sequence" in the case of a discrete transformation is equivalent to frequency in the case of a continuous transformation, with higher sequence coefficients carrying information about the image's higher spatial frequency components. Typically these are smaller than DC or lower sequence coefficients, and are normally more roughly quantified before transmission. Some of these may actually be zero, and others may be so small that they are set to zero using a thresholding process.

For å redusere det antall koeffisienter som det er nødvendig å overføre, blir det foreslått å variere den sekvens koeffisientene blir overført i, ved å definere et antall, kanskje 8, forskjellige overføringsordener. To mulige sekvenser er illustrert ved hjelp av pillinjer AD på figur 2. Straks den siste koeffisient som er forskjellig fra null, er blitt sendt, kan overføringen (for den blokken) avsluttes. Formålet med velgeren 4 er å bestemme hvilken overføringsorden som resulterer i det største antall nuller ved slutten av sekvensen, for derved å minimalisere det antall koeffisienter som må sendes. In order to reduce the number of coefficients that need to be transferred, it is proposed to vary the sequence in which the coefficients are transferred, by defining a number, perhaps 8, of different transfer orders. Two possible sequences are illustrated by arrow lines AD in Figure 2. As soon as the last non-zero coefficient has been sent, the transfer (for that block) can be terminated. The purpose of the selector 4 is to determine which transmission order results in the largest number of zeros at the end of the sequence, thereby minimizing the number of coefficients that must be sent.

Velgeren 4 er vist mer detaljert på figur 3, og har en inngang til hvilken et sett med 64 koeffisienter for hver blokk etter tur blir levert fra transformasjonskoderen 3. Behandlingen av en enkelt blokk vil bli beskrevet, idet man forstår at behandlingen i påfølgende blokker inntreffer på lignende måte. The selector 4 is shown in more detail in figure 3, and has an input to which a set of 64 coefficients for each block in turn is supplied from the transform encoder 3. The processing of a single block will be described, it being understood that the processing in subsequent blocks occurs in a similar manner.

En adressegenerator 11 frembringer en sekvens med 64 entydige adresser synkront med opptredenen av koeffisientene ved inngangen. Den sekvens de opptrer i, er likegyldig. For resten av beskrivelsen vil det bli antatt at generatoren er en 6-bits binærteller og at adressene er i tall som vist på figur 2. Vurderingsanordningen 12 tjener til å fastslå hvilken av de åtte mulige ordener som er best egnet for overføring av den spesielle blokken. Hver adresse blir tilført denne etter tur sammen med den tilsvarende koeffisient, sistnevnte via en krets 10 som frembringer en "l"-utgang hvis koeffisienten er forskjellig fra 0. Vurderingsanordningen 12 har åtte seksjoner 12(1)-12(8), av hvilke en er vist på figur 4. An address generator 11 produces a sequence of 64 unique addresses synchronously with the appearance of the coefficients at the input. The sequence in which they appear is immaterial. For the remainder of the description, it will be assumed that the generator is a 6-bit binary counter and that the addresses are in numbers as shown in Figure 2. The evaluation device 12 serves to determine which of the eight possible orders is best suited for transmission of the particular block . Each address is supplied to it in turn together with the corresponding coefficient, the latter via a circuit 10 which produces an "l" output if the coefficient is different from 0. The evaluation device 12 has eight sections 12(1)-12(8), of which one is shown in figure 4.

Adressene som tilføres ved inngang 121, føres til en oppslagstabell som er lagret i et leselager 122. Dette lagrer posisjonen i den relevante av de åtte ordener, av hver koeffisient, d.v.s. utgangen fra lageret 122 er en oversatt adresse. Hvis man for eksempel antar orden B på figur 2, representerer adressen 10 den åttende koeffisienten og den ordenen, og derfor oversettes adressen 10 til 7. The addresses supplied at input 121 are fed to a look-up table stored in a read storage 122. This stores the position in the relevant of the eight orders, of each coefficient, i.e. the output from storage 122 is a translated address. For example, assuming order B in figure 2, the address 10 represents the eighth coefficient and that order, and therefore the address 10 translates to 7.

Etter hvert som hver oversatt adresse opptrer ved utgangen fra lageret 122, blir den lastet inn i en låsekrets 123 hvis As each translated address appears at the output of storage 122, it is loaded into a latch circuit 123 if

(a) den er større enn den tidligere adresse som er lagret (a) it is greater than the previous address stored

i låsekretsen in the locking circuit

og and

(b) koeffisienten er forskjellig fra null. (b) the coefficient is different from zero.

For dette forhold er det tilveiebrakt en komparator 124 som mottar utgangene fra lageret 122 og låsekretsen 123 og frembringer en "l"-utgang hvis førstnevnte er større enn sistnevnte. Utgangen fra komparatoren og utgangen fra kretsen 10 på figur 3, driver en lastklargjørings-inngang på låsekretsen 123 via en OG-port 127. Etter at adressegeneratoren 11 har gjennomgått sine 64 adresser, vil innholdet av låsekretsen 123 (som er utgangen fra seksjonen) være den største oversatte adresse som er tilordnet en koeffisient forskjelig fra null. For this purpose, a comparator 124 is provided which receives the outputs of the storage 122 and the latch circuit 123 and produces an "l" output if the former is greater than the latter. The output of the comparator and the output of the circuit 10 of Figure 3 drive a load enable input of the latch circuit 123 via an AND gate 127. After the address generator 11 has run through its 64 addresses, the contents of the latch circuit 123 (which is the output of the section) will be the largest translated address assigned to a coefficient different from zero.

Hver av seksjonene 12(1)-12(8) er identiske, bortsett fra innholdet av oppslagstabellen 12 2 som i hvert tilfelle tilsvarer en av de åtte ordener, skjønt hvis den orden koeffisientene opprinnelig ble levert i, er en av de åtte, så kan en seksjon utelates i tabellen 122. Når alle 64 adressene er avsøkt av adressegeneratoren, blir utgangssignalene fra de åtte seksjonene sammenlignet for å bestemme hvilket som er det laveste. Each of the sections 12(1)-12(8) are identical, except for the contents of the look-up table 12 2 which in each case corresponds to one of the eight orders, although if the order in which the coefficients were originally supplied is one of the eight, then a section may be omitted from the table 122. When all 64 addresses have been scanned by the address generator, the outputs of the eight sections are compared to determine which is the lowest.

Denne funksjonen blir utført ved hjelp av et komparatortre (figur 3) som består av seks leselagere 13-19 som hvert mottar to adresser fra vurderingsseksjon-utgangene eller et slikt tidligere lager, og som frembringer den laveste adressen som utgangspunkt. Utgangssignalene mini ... min6 tilføres et ytterligere leselager 2 0 for å frembringe en kode som indikerer hvilken av de åtte seksjonene som frembrakte den laveste adressen, idet selve adressen opptrer ved utgangen fra det siste trinn 19 av treet. This function is performed by means of a comparator tree (Figure 3) which consists of six read stores 13-19 which each receive two addresses from the evaluation section outputs or such a previous store, and which produces the lowest address as a starting point. The output signals min ... min6 are fed to a further read storage 20 to produce a code indicating which of the eight sections produced the lowest address, the address itself occurring at the output of the last step 19 of the tree.

Resekvens-anordningen 5 er vist på figur 5. (Adressegeneratoren 11 er for klarhets skyld vist igjen). Koeffisient-utvelgelsen virker i to faser, av hvilke den første er blitt beskrevet ovenfor. Under denne første fasen blir koeffisientene lagret i et lager 21 med hjelp av adressegeneratoren 11. I den andre fasen blir koeffisientene lest ut fra lageret. For dette formål gjennomgår adressegeneratoren 11 igjen sin sekvens som før, men de genererte adressene føres til lageret 21 via et leselager 22 som inneholder åtte oversettelsestabeller, hver av hvilke er den omvendte av innholdet til alle åtte lagrene 12(1)-12(8), d.v.s. at den genererte adresse blir tolket som posisjonen i den nødvendige orden, og tabellen tilveiebringer den tilsvarende lageradresse. Hvilken av de åtte tabellene som brukes, blir bestemt av utgangen fra leselageret 20 som tilføres lagerets 22 adresselinjer for høyeste orden. På denne måten blir koeffisientene lest ut i den valgte orden. Utgangen fra komparatoren 19 blir matet til en komparator 23 som frembringer en "siste koeffisient"-puls når adressegeneratoren når den indikerte adresse. Denne pulsen kan brukes til å forhindre at null-koeffisientene blir innført i utgangsbufferet 6 (figur 1) og dermed til koderens utgang 7. The sequence device 5 is shown in Figure 5. (The address generator 11 is shown again for clarity). The coefficient selection works in two phases, the first of which has been described above. During this first phase, the coefficients are stored in a storage 21 with the help of the address generator 11. In the second phase, the coefficients are read out from the storage. To this end, the address generator 11 again goes through its sequence as before, but the generated addresses are fed to the storage 21 via a read storage 22 containing eight translation tables, each of which is the inverse of the contents of all eight stores 12(1)-12(8) , i.e. that the generated address is interpreted as the position in the required order, and the table provides the corresponding storage address. Which of the eight tables is used is determined by the output from the read storage 20 which is fed to the storage's 22 address lines for the highest order. In this way, the coefficients are read out in the selected order. The output of the comparator 19 is fed to a comparator 23 which produces a "last coefficient" pulse when the address generator reaches the indicated address. This pulse can be used to prevent the zero coefficients from being introduced into the output buffer 6 (figure 1) and thus to the encoder's output 7.

I praksis kan de to fasene på grunn av operasjonshastigheten utføres samtidig, idet lageret 21 i virkeligheten består av to lågere, av hvilke ett blir innskrevet, mens det andre blir utlest. In practice, due to the speed of operation, the two phases can be carried out simultaneously, as the storage 21 actually consists of two lowers, one of which is written in, while the other is read out.

Figur 6 viser en modifisert versjon av den seksjon som er vist på figur 4, hvor funksjonen til oppslagstabellen 122 og komparatoren 124 blir utført ved hjelp av et leselager 128. Dette kan betraktes som om det har en radadresse R tilveiebrakt av adressegeneratoren 1, og en kolonneadresse C tilveiebrakt av utgangen fra låsekretsen 122. Alle lagersteder som har en oversatt radadresse større enn kolonneadressen, inneholder den oversatte radadresse, andre lagersteder inneholder kolonneadressen. Figure 6 shows a modified version of the section shown in Figure 4, where the function of the look-up table 122 and the comparator 124 is carried out by means of a read storage 128. This can be thought of as having a row address R provided by the address generator 1, and a column address C provided by the output of latch circuit 122. All storage locations that have a translated row address greater than the column address contain the translated row address, other storage locations contain the column address.

Foran bufferet 6 kan det være koblet andre kodeanordninger, slik som en variabel lengdekoder. In front of the buffer 6, other coding devices can be connected, such as a variable length coder.

For å dekode den overførte sekvens, er det nødvendig at en dekoder informeres om den benyttede overføringssekvens, og derfor viser figur 1 utgangen fra sekvensvelgeren 4 koblet til utgangsbufferet 6, slik at sekvenskode-utgangssignalet ved hjelp av oppslagstabellen 2 0 på figur 3 blir innbefattet i de overførte data. In order to decode the transmitted sequence, it is necessary that a decoder is informed of the transmission sequence used, and therefore Figure 1 shows the output of the sequence selector 4 connected to the output buffer 6, so that the sequence code output signal by means of the look-up table 20 in Figure 3 is included in the transferred data.

Det antall koeffisienter som sendes, kan kommuniseres eksplisitt (ved også å overføre utgangen fra komparatoren 19) eller implisitt, som det blir antatt nedenfor, ved å overføre en sluttkode som følger etter den siste koeffisienten. The number of coefficients sent can be communicated explicitly (by also transmitting the output of the comparator 19) or implicitly, as will be assumed below, by transmitting an end code following the last coefficient.

Den kretsen som er vist på figur 5, kan også brukes i en dekoder. Det mottatte signal vil først bli forbehandlet (ikke vist) ved hjelp av en variabel lengdedekoder eller en annen anordning som er egnet for den brukte overføringsmetode. Så blir sekvenskoden avdekket ved hjelp av en tilleggsenhet 2 4 (vist med brutte linjer) og levert til oppslagstabellen 22. Koeffisientene blir innført i lageret 21 ved hjelp av adressegeneratoren 11 (som drives av en egnet taktgjenvinnings-anordning, ikke vist) og utlest ved å bruke den del av oppslagstabellen 22 som velges ved hjelp av den mottatte sekvenskode. De kan så underkastes en invers transformasjonsoperasjon. The circuit shown in Figure 5 can also be used in a decoder. The received signal will first be pre-processed (not shown) by means of a variable length decoder or another device suitable for the transmission method used. Then the sequence code is uncovered by means of an additional unit 24 (shown in broken lines) and supplied to the look-up table 22. The coefficients are entered into the storage 21 by means of the address generator 11 (which is operated by a suitable clock recovery device, not shown) and read out by to use the part of the look-up table 22 which is selected by means of the received sequence code. They can then be subjected to an inverse transformation operation.

Man vil forstå at noen av eller alle funksjonene til koderens sekvensvelger 4 og/eller resekvenseringsanordningen 5, om ønsket kan utføres ved hjelp av en passende programmert digital prosessor-anordning. It will be understood that some or all of the functions of the encoder's sequence selector 4 and/or the resequencing device 5 can, if desired, be performed by means of a suitably programmed digital processor device.

En typisk programliste i pseudo-språk er angitt nedenfor for sekvensutvelgelsen. Den første del av "ACTION"-segmentet utfører den samme funksjon som vurderingsanordningen på figur 3, og finner posisjonen til den siste koeffisient som er forskjellig fra null i hver avsøkningsorden. Den annen del undersøker disse posisjonene etter tur for å finne minimumet, og utfører den samme funksjon som de trestrukturerte komparatorene 13-20 på figur 3. Programmet arbeider med blokker med 64 elementer, men enhver ønsket blokk-størrelse kan selvsagt benyttes. A typical pseudo-language program listing is provided below for the sequence selection. The first part of the "ACTION" segment performs the same function as the estimator of Figure 3, finding the position of the last non-zero coefficient in each scan order. The second part examines these positions in turn to find the minimum, and performs the same function as the three-structured comparators 13-20 in Figure 3. The program works with blocks of 64 elements, but any desired block size can of course be used.

S E KVENSVE LGERPROGRAM S E KVENSWE LGER PROGRAM

DECLARE: DECLARE:

Claims (12)

1. Apparat for koding av et sett med verdier, omfattende en vurderingsanordning (4, 5) for å motta verdiene i en første orden og for å undersøke verdiene i nevnte første orden i hver av en rekke forutbestemte ordener for verdiene, karakterisert ved at vurderingsanordningen (4, 5) innbefatter en rekke seksjoner (12) som hver er anordnet for å undersøke samtidig med de andre seksjonene (12), verdiene for å identifisere hvilke av disse verdier som overskrider en oppstilt terskel, som opptar den siste posisjon i en respektiv av de forutbestemte ordener, og for å frembringe en utgangsverdi som indikerer denne posisjon; og ved at apparatet videre innbefatter en komparatoranordning (13-19) som reagerer på utgangssignalene fra vurderingsanordningen (4, 5) ved å identifisere den av de forutbestemte ordener som har den lavest indikerte posisjon; og en utgangsanordning innrettet for å frembringe et utgangssignal som omfatter verdiene i den forutbestemte orden som er identifisert.1. Apparatus for encoding a set of values, comprising an evaluation device (4, 5) for receiving the values in a first order and for examining the values in said first order in each of a number of predetermined orders for the values, characterized in that the evaluation device (4, 5) includes a number of sections (12) each of which is arranged to examine, simultaneously with the other sections (12), the values to identify which of these values exceed a set threshold, which occupies the last position in a respectively of the predetermined orders, and to produce an output value indicating this position; and in that the apparatus further comprises a comparator device (13-19) which responds to the output signals from the evaluation device (4, 5) by identifying the one of the predetermined orders which has the lowest indicated position; and an output device adapted to produce an output signal comprising the values in the predetermined order identified. 2. Apparat ifølge krav 1, karakterisert ved at det videre omfatter en adressegenerator (11) som er anordnet for å generere en referansesekvens med adresser og tilføre disse til vurderingsanordningen (4, 5) og til utgangsanordningen.2. Apparatus according to claim 1, characterized in that it further comprises an address generator (11) which is arranged to generate a reference sequence of addresses and supply these to the assessment device (4, 5) and to the output device. 3. Apparat ifølge krav 2, karakterisert ved at hver seksjon av vurderingsanordningen omfatter en oppslagstabell (122, 128) som reagerer på de genererte adresser ved å tilveiebringe oversatte adresser som representerer de tilsvarende posisjoner i den respektive forutbestemte orden, og en låsekrets (123) for lagring av en adresse, og som er anordnet for i låsekretsen (123) å lagre enhver oversatt adresse som overstiger det aktuelle innhold av låsekretsen (12 3) i det tilfelle at den tilhørende verdi overskrider den oppstilte terskel.3. Apparatus according to claim 2, characterized in that each section of the evaluation device comprises a look-up table (122, 128) which responds to the generated addresses by providing translated addresses representing the corresponding positions in the respective predetermined order, and a latch circuit (123) for storing an address, and which is arranged to store in the locking circuit (123) any translated address that exceeds the current content of the locking circuit (123) in the event that the associated value exceeds the established threshold. 4. Apparat ifølge krav 3, karakterisert ved at hver seksjon (12) av vurderingsanordningen har en komparator (124) for å sammenligne hver oversatt adresse med innholdet av den relevante låsekrets .4. Apparatus according to claim 3, characterized in that each section (12) of the evaluation device has a comparator (124) for comparing each translated address with the contents of the relevant latch circuit. (123) .(123) . 5. Apparat ifølge krav 3, karakterisert ved at oppslagstabellen (128) i hver seksjon (12) av vurderingsanordningen (4, 5), reagerer både på de genererte adresser og den adresse som er lagret i låsekretsen (123), ved å frembringe som utgangssignal den genererte adresse eller den adresse som er lagret i låsekretsen, avhengig av om hvorvidt den genererte adresse henholdsvis er større enn eller ikke større enn den adresse som er lagret i låsekretsen, og ved at låsekretsen (123) er koblet slik at den lastes med dette utgangssignalet hver gang den tilhørende verdi overskrider den oppstilte terskel.5. Apparatus according to claim 3, characterized in that the look-up table (128) in each section (12) of the evaluation device (4, 5) reacts both to the generated addresses and the address stored in the locking circuit (123), by producing as an output signal the generated address or the address which is stored in the latch circuit, depending on whether the generated address is respectively greater than or not greater than the address stored in the latch circuit, and in that the latch circuit (123) is connected so that it is loaded with this output signal every time the associated value exceeds the established threshold. 6. Apparat ifølge et av kravene 2 til 5, karakterisert ved at utgangsanordningen omfatter et lager (21) som er innrettet for å lagre verdiene på lagersteder som bestemmes av den genererte referansesekvens av adresser, og for å gjenfinne verdiene i en sekvens som bestemmes ved hjelp av en oppslagstabell (22) som styres av vurderingsanordningen (4) .6. Apparatus according to one of claims 2 to 5, characterized in that the output device comprises a storage (21) which is designed to store the values at storage locations determined by the generated reference sequence of addresses, and to retrieve the values in a sequence determined by using a look-up table (22) which is controlled by the assessment device (4). 7. Apparat ifølge et av de foregående krav, karakterisert ved at den oppstilte terskel er forskjellig fra null.7. Apparatus according to one of the preceding claims, characterized in that the established threshold is different from zero. 8. Apparat ifølge et av de foregående krav, karakterisert ved at utgangsanordningen er innrettet for å utmate verdier bare opp til den nevnte laveste indikerte posisjon.8. Apparatus according to one of the preceding claims, characterized in that the output device is arranged to output values only up to the mentioned lowest indicated position. 9. Videokoder,'omfattende et apparat (4, 5, 12, 13-19) for koding av et sett verdier ifølge et av de foregående krav, karakterisert ved at den videre omfatter en anordning (1) for mottak av et video-inngangssignal, en transformasjonskodeanordning (3) for frembringelse av transformasjonskoeffisienter fra video-inngangssignalet, samt ved at apparatet (4, 5, 12, 13-19) for koding er innrettet for koding av sett med verdier som representerer transformasjonskoeffisien-tene.9. Video encoders, comprising an apparatus (4, 5, 12, 13-19) for encoding a set of values according to one of the preceding claims, characterized in that it further comprises a device (1) for receiving a video input signal , one transformation coding device (3) for generating transformation coefficients from the video input signal, and in that the device (4, 5, 12, 13-19) for coding is arranged for coding sets of values representing the transformation coefficients. 10. Fremgangsmåte for å kode et sett med verdier, omfattende de trekk at verdiene mottas i en første orden; verdiene undersøkes i den nevnte første orden i hver av en rekke forutbestemte ordener av verdiene; karakterisert ved at samløpende for hver av de forutbestemt ordener, undersøkes verdiene for å identifisere hvilke av de verdier som overskrider en oppstilt terskel som opptar den siste posisjon i hver av de forutbestemte ordener; signaler frembringes som indikerer disse posisjonene; signalene sammenlignes for å identifisere den av de forutbestemte ordener som har den laveste indikerte posisjon; og et utgangssignal frembringes som omfatter verdiene i den forutbestemte orden som er identifisert.10. Method for encoding a set of values, comprising the features that the values are received in a first order; the values are examined in said first order in each of a plurality of predetermined orders of the values; characterized by that concurrently for each of the predetermined orders, the values are examined to identify which of the values exceeding a set threshold occupies the last position in each of the predetermined orders; signals are produced indicating these positions; the signals are compared to identify the one of the predetermined orders having the lowest indicated position; and an output signal is produced comprising the values in the predetermined order identified. 11. Fremgangsmåte ifølge krav 10, karakterisert ved at den oppstilte terskel er forskjellig fra null.11. Method according to claim 10, characterized in that the established threshold is different from zero. 12. Fremgangsmåte ifølge krav 10 eller 11, karakterisert ved at verdiene utmates bare opp til den nevnte laveste indikerte posisjon.12. Method according to claim 10 or 11, characterized in that the values are output only up to the mentioned lowest indicated position.
NO890991A 1987-07-09 1989-03-08 Encoding of data NO175450C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB878716195A GB8716195D0 (en) 1987-07-09 1987-07-09 Data encoding
PCT/GB1988/000519 WO1989000796A1 (en) 1987-07-09 1988-07-04 Data encoding

Publications (4)

Publication Number Publication Date
NO890991L NO890991L (en) 1989-03-08
NO890991D0 NO890991D0 (en) 1989-03-08
NO175450B true NO175450B (en) 1994-07-04
NO175450C NO175450C (en) 1994-10-12

Family

ID=26292457

Family Applications (1)

Application Number Title Priority Date Filing Date
NO890991A NO175450C (en) 1987-07-09 1989-03-08 Encoding of data

Country Status (2)

Country Link
AU (1) AU613650B2 (en)
NO (1) NO175450C (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4646134A (en) * 1984-03-21 1987-02-24 Sony Corporation Apparatus for encoding image signal
FR2589020B1 (en) * 1985-10-22 1987-11-20 Eude Gerard TRANSFORMATION HYBRID CODING METHOD FOR TRANSMITTING IMAGE SIGNALS
NL8601447A (en) * 1986-06-05 1988-01-04 Philips Nv METHOD AND DEVICE FOR RECORDING AND / OR PLAYING VIDEO INFORMATION IN RESPECT OF A RECORD CARRIER, AND OBTAINING A RECORD CARRIER ACCORDING TO THE METHOD

Also Published As

Publication number Publication date
AU613650B2 (en) 1991-08-08
NO890991L (en) 1989-03-08
AU1965588A (en) 1989-02-13
NO175450C (en) 1994-10-12
NO890991D0 (en) 1989-03-08

Similar Documents

Publication Publication Date Title
NO150140B (en) PROCEDURE AND APPARATUS FOR CYCLIC CODING OF REDUNDANCE CONTROL DATA.
US5032838A (en) Variable length code parallel decoding apparatus and method
US5371811A (en) Data encoding
KR20060043180A (en) Memory interface and data processing system
CA1278867C (en) Method of and a device for digital signal coding by vector quantization
US4809081A (en) Method and apparatus for decompressing encoded data
NO330107B1 (en) Computer implemented early dropping
CA1303743C (en) Data encoding
US6121905A (en) Method and apparatus for decoding JPEG symbols
KR20000061181A (en) Bitstream decoding apparatus
NO175450B (en) Encoding of data
NO174986B (en) Pattern - processing
JP3014997B2 (en) Variable length code decoding device
JPH05145770A (en) Encoding/decoding device
CA1280507C (en) Method of and apparatus for correcting picture errors in dpcm transmission
CA2196837C (en) Voice encoding/decoding apparatus
JP2002237754A (en) Variable length decoding device and its method
JPH1013842A (en) Markov model image coder
JPH07235878A (en) Variable length decoder
JP3108243B2 (en) Encoding and decoding device
EP0302432A2 (en) Document decompressing system
JP2561292B2 (en) Image data compression device
JP3146109B2 (en) Binary image coding device
GB2083325A (en) Display system
JP2512195B2 (en) Encoding device and decoding device