NL1001663C2 - Inrichting voor tweedimensionale discrete cosinustransformatie. - Google Patents
Inrichting voor tweedimensionale discrete cosinustransformatie. Download PDFInfo
- Publication number
- NL1001663C2 NL1001663C2 NL1001663A NL1001663A NL1001663C2 NL 1001663 C2 NL1001663 C2 NL 1001663C2 NL 1001663 A NL1001663 A NL 1001663A NL 1001663 A NL1001663 A NL 1001663A NL 1001663 C2 NL1001663 C2 NL 1001663C2
- Authority
- NL
- Netherlands
- Prior art keywords
- data
- dct
- registers
- buffer
- multiplexer
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
Korte aanduiding: Inrichting voor tweedimensionale discrete cosinustransformatie
De onderhavige uitvinding heeft betrekking op een inrichting voor digitale signaalverwerking en, meer in het bijzonder, op een inrichting voor real time-tweedimensionale discrete cosinustransformatie (DCT) geschikt voor het imple-5 menteren in een zeer grote schaal-geïntegreerde schakeling (VLSI). Hiertoe omvat de onderhavige uitvinding de onderdelen genoemd in de kop van conclusie 1.
Beschrijving van de stand van de techniek
Teneinde een aantal internationale videostandaarden 10 te implementeren, zoals de Joint Photographic Experts Group (JPEG), Motion Picture Experts Group (MPEG) en H.261, is een schakeling voor snelle codering of comprimering van videoge-gevens vereist. Hoe de gegevenstransformatie-efficiëntie te verhogen gedurende het coderen of comprimeren van gegevens is 15 het belangrijkste onderwerp geworden. Aangezien de discrete cosinustransformatiebewerking (DCT) één van de orthogonale transformatietechnieken is, welke een hogere transformatie-efficiëntie hebben, wordt dit algemeen gebruikt in videosystemen voor het coderen van gegevens.
20 Alhoewel pogingen zijn verricht het DCT-algoritme te vereenvoudigen is een conventionele DCT-schakeling nog steeds zeer gecompliceerd. Daarenboven is de efficiëntie, welke kan worden verkregen met conventionele schakelingen, onvoldoende om te voldoen aan de eisen voor een real time-DCT. Gebruike-25 lijke schakelingen zijn niet goed ontworpen om het gewenste resultaat te bereiken. Teneinde de schakelingsomvang te verminderen kunnen bijvoorbeeld methoden zoals gegevensterugkoppeling in het ontwerp van de schakeling worden opgenomen, waardoor de verwerkingssnelheid van de gegevenstransformatie 30 wordt verhoogd. Zonder vakkundige rangschikking van de dataflow- of timingverhoudingen zullen bedrijfssnelheden van de 1001663 2 DCT-schakeling te laag zijn om te voldoen aan de eisen van de bovengenoemde internationale standaarden.
Met behulp van dataflow- of timingverhoudingen is het mogelijk het 2-D DCT-proces terug te brengen tot twee 5 opeenvolgende 1-D DCT-processen, waarbij beide 1-D DCT-pro-cessen worden uitgevoerd door dezelfde 1-D DCT-bewerkingseen-heid. Een dergelijke inrichting is bekend uit de Taiwanese octrooipublikatie TW-A-252.258. Hierin wordt een NxN-gegeven op een eerste snelheid aangeboden aan een snelheidsbuffer, 10 waarna dit gegeven hieruit op een tweede snelheid wordt uit-gevoerd naar een ingang van een selector/multiplexer met twee ingangen. Vanuit deze selector/multiplexer wordt een gegeven aangeboden aan een 1-D DCT-bewerkingseenheid. Vanuit de 1-D DCT-bewerkingseenheid wordt een bewerkt gegeven aangeboden 15 aan een transponeerbuffer, van waaruit een getransponeerd gegeven wordt aangeboden aan de tweede ingang van de selector/multiplexer voor een tweede 1-D DCT-proces. Vanuit de 1-D DCT-bewerkingseenheid wordt een bewerkt gegeven ook aan een omgekeerde snelheidsbuffer aangeboden, welke tenslotte een 20 getransformeerd NxN-gegeven als uitvoer heeft. Het nadeel van deze inrichting volgens de stand van de techniek is dat de 1-D DCT-bewerkingseenheid niet efficiënt werkt. Om toch real time te kunnen werken, zijn er concessies gedaan aan de nauwkeurigheid van de transformatie.
25
SAMENVATTING VAN DE UITVINDING
Om het hierboven genoemde probleem op te lossen, verschaft de onderhavige uitvinding een tweedimensionale (2-D) DCT-schakeling met een verdeelde rekenkundige struc-30 tuur, teneinde de complexiteit van de schakeling te verminderen en de transformatie-efficiëntie te verhogen.
De onderhavige uitvinding verschaft ook een 2-D DCT-schakeling die elementen omvat, welke op verschillende snelheden werken ten behoeve van gegevenstransformatie met hoge 35 snelheid zodat aan de real time-eis wordt voldaan.
De onderhavige uitvinding verschaft verder een 2-D DCT-schakeling met een specifieke dataflow en timing, waardoor de schakelingsomvang wordt verminderd en de implementatie ervan in een VLSI-schakeling vergemakkelijkt.
1001663 3
Een inrichting voor real time 2-D DCT volgens de onderhavige uitvinding is voorzien van een 1-D DCT-bewer-kingseenheid, welke omvat: N eerste registers welke in serie zijn geschakeld, waarbij één van genoemde eerste registers is 5 verbonden met genoemde eerste multiplexer voor het achtereenvolgens schrijven van de door genoemde eerste multiplexer verschafte gegevens aan een volgende genoemd eerste register; een tweede multiplexer voor het verschaffen van ofwel een derde gegevenspad voor gegevens van genoemd eerste register, 10 welke is verbonden met genoemde eerste multiplexer of een vierde gegevenspad voor een terugkoppelgegeven; N/2 sommeer-elementen verbonden met genoemde eerste registers voor het aftrekken en optellen van de door genoemde eerste registers en genoemde tweede multiplexer verschafte gegevens; N tweede 15 registers voor opslag van gegevens van genoemde sommeerele-menten; N parameterextractors voor het opwekken van parameters door de in genoemde tweede registers opgeslagen gegevens; en N accumulatoren voor het verzamelen van de parameters van genoemde parameterextractors.
20 In de onderhavige uitvinding zijn de gegevensinvoer- snelheid van de snelheidsbuffer en de uitvoersnelheid van de omgekeerde-snelheidsbuffer op een eerste snelheid gesteld, terwijl het transformatieproces, dat wordt uitgevoerd tussen de snelheidsbuffer en de omgekeerde-snelheidsbuffer op een 25 tweede snelheid is gesteld. Zowel een gegeven vanuit de eerste multiplexer als een gegeven vanuit de transponeerbuffer zijn in de inrichting volgens de uitvinding invoer van de 1-D DCT-bewerkingseenheid. Bovendien wordt een verdeelde rekenkundige structuur toegepast om de complexiteit van de schake-30 ling te verminderen en de bedrijfsefficiëntie te verhogen.
Zodoende kan real time 2-D DCT met een hoge nauwkeurigheid en efficiëntie worden verwezenlijkt met de inrichting volgens de onderhavige uitvinding.
35 GEDETAILLEERDE BESCHRIJVING VAN DE TEKENINGEN
Voor een meer volledig begrip van de onderhavige uitvinding en de voordelen daarvan wordt nu verwezen naar de volgende beschrijving in samenhang met de bijgaande tekeningen, waarin gelijke verwijzingscijfers gelijke delen weerge- 1001663 4 ven en waarin: fig. 1 een blokschema van een 2-D DCT-schakeling volgens de onderhavige uitvinding is; fig. 2 een gedetailleerd blokschema van sommeerblok 5 17 zoals getoond in fig. 1 is; fig. 3 een meer gedetailleerd blokschema van een register 14 zoals getoond in fig. 1 is; fig. 4 een meer gedetailleerd blokschema van een PE-blok 15 zoals getoond in fig. 1 is; 10 fig. 5 een blokschema van een accumulator 16 zoals getoond in fig. 1 is; en fig. 6 een timing-diagram is, dat het bedrijf van de schakeling van fig. 1 voorstelt.
15 GEDETAILLEERDE BESCHRIJVING VAN DE HUIDIGE VOOR
KEURSUITVOERINGSVORMEN
Voorafgaand aan het beschrijven van de DCT-schake-ling van een voorkeursuitvoeringsvorm van de uitvinding zal het DCT-algoritme worden toegelicht. Slechts ten behoeve van 20 de eenvoud van de toelichting zal als voorbeeld gebruik worden gemaakt van een gegevensmatrix met een omvang van 8x8. Indien een invoergegevensmatrix X van de DCT-schakeling elementen Xi;j heeft, welke worden getransformeerd in Y.jv, waarmee zodoende een uitvoermatrix Y wordt gevormd, kan de transfor-25 matievergelijking worden uitgedrukt als vergelijking (1).
^=-ZZC<u>c<v)cos-TT-cos-Γ7-X-' m 30 waarin parameters C(u) en C(v) respectievelijk —?=, (u,v = 0) C (u) ,C (v)=J ^2 (2) 35 [ 1, (U,v*0) zijn. In het algemeen kan de uitdrukking van vergelijking l opnieuw worden gerangschikt in vergelijking (3) voor het vereenvoudigen van de berekening.
1001663 5 v 1^„, , (2 j+1) νπ[" , (2i+l)uitv ] YUv=tZC<v>cos-Γ7 -Zc(u>cos-77-Xn (3) 2 j=o lo |_2i=0 lo 5 Dat wil zeggen, het directe 2-D-algoritme van vergelijking (1) is gereduceerd tot de dubbele 1-D-bewerkingen van vergelijking (3) .
Daartoe kan de DCT-vergelijking worden uitgebreid in de matrixuitdrukking, zoals is getoond in vergelijking (4), 10 welke meer adequaat de rij- en kolomberekening in een DCT-bewerking beschrijft.
y j A A A A A A A A x0 V2 B C -C -B -B -C -C B x2 15 v4 A -A -A A A -A -A A x4 vfi C -B B -C -C B -B C x, = (4) D B F G tG -F -E -D Xj y3 E -G -D -F F D G -E x3 y5 F -D G E E -G D -F x5 20 _y,J lg -f e -d d -E F -G J_x7 met elementen van: 25 A = -CCs^, b = ^cos^, C = isin^, D = icos—, E = -cos —, 4 28 28 216 216 3π 1 . π —, G = —sin— ~ 16 2 16 30
Vanwege de symmetrische eigenschappen kan de omvang van de 8x8-matrix van vergelijking (4) verder worden teruggebracht. Zeer vereenvoudigde uitdrukkingen van de DCT-bewer-35 king welke berekening van 4x4-matrices omvatten, zijn zodoende getoond in vergelijkingen (5) en (6).
1001663 6 y01 Γα A A A Tx0 +x7" 5 y2 B C -C -B xx +x4 y4 A -A -A A x2+x5 (5) _y6. _c _B B -c. _x3+x4.
10 "yj Fd E F gTx0-x/
Yi _ E -D -F Xj-Xg y5 F -D G E X2-X5 (6) 15 y7. _G ~F E -D x3~x4 !
Duidelijk is dat er slechts twee verschillende vermenigvuldigingen van matrices zijn in vergelijkingen 5 en 6.
20 Vanwege het feit dat de werking van vermenigvuldi gers te traag is voor de matrixberekening maakt de onderhavige uitvinding gebruik van ROM-inrichtingen voor DCT-parame-terextractie, waardoor de matrixberekening mogelijk wordt gemaakt. De onderhavige uitvinding gebruikt een verdeelde 25 rekenkundige structuur voor het realiseren van de bovengenoemde berekening. De verdeelde rekenkundige structuur kan de capaciteitseisen van de ROM-inrichtingen verminderen. Vergelijking (7) is een vermenigvuldigingsberekening van 4x4-matrices.
30
Go Goo C01 C0, C03 I0 __ Gio Ci; C.; C,3 I.
°: ~ C20 C21 C22 C23 I, (7) _Gs_ .'''jo C3i C3, C33 I3 35 waarin parameters C, I en O respectievelijk m, n en m+n bits omvatten. Daartoe kan vergelijking (7) worden herschreven als 1001663 5 7 °‘ SBZcuIi ' for i=0, . . ., 3 (8) )=0
Verder kan, als Ij wordt weergegeven als zijn 2's complement, dat wil zeggen n-i 10 X) = ~I)u+Z1)2'" (9) k-l waar I.; tekenbit is en I0 de meest significante bit (MSB) , vergelijking (8) worden weergegeven als 15 °- -15,(-¾ ·Σ5,<-ι»ΗΣΣ5.Χ„2·* (10) 1=0 V J '-o k = i[>o 20
De laatste term van vergelijking 10 wordt berekend door het selecteren van waarden van Ci0 tot Ci3, gebaseerd op de gewichten van parameters I0 tot I3. Bijvoorbeeld wanneer 25 k=4 en I-4I14I24I34=1011 zal de waarde van de laatste term van vergelijking (10) Ci0+Ci2+Ci3 bedragen. Indien de waarden van I0kIikI;:,Iv.; zijn bepaald kan zodoende de waarde van de laatste term van vergelijking 10 worden verkregen uit een 16-woord-ROM-inrichting waarin voorafbepaalde waarden van 30 CioIok+ zij n opgeslagen. In de onderhavige uitvinding bestaat ieder woord van de ROM-inrichting uit m+n bits. Zodoende kan de berekening van vergelijking (10) worden uitgevoerd door een n-voudige verzameling van resultaten van de 16-woord-ROM-inrichting en een (m+n)-bit-opteller/aftrekker. 35 In overeenstemming daarmee zal een voorkeursuitvoe ringsvorm van de onderhavige uitvinding worden beschreven met verwijzing naar fig. 1. Indien de invoermatrix X een omvang NxN heeft omvat de 2-D DCT-schakeling volgens de onderhavige uitvinding een snelheidsbuffer 10, twee multiplexers 11 en 1001663 8 12, N eerste registers 13, N/2 sommeereleraenten 17, N tweede registers 14, N parameterextractoren 15, N accumulatoren 16, een paar afvlakkers 18 en 19, een transponeerbuffer 20 en een omgekeerde-snelheidsbuffer 21. De individuele bouwstenen van 5 de 2-DCT zoals getoond in fig. 1 zullen nu worden toegelicht.
De snelheidsbuffer 10 heeft een eerste snelheid voor gegevensinvoer en tweede snelheid voor gegevensuitvoer. Dat wil zeggen elementen van de invoermatrix X worden ingevoerd naar de snelheidsbuffer 10 op de eerste snelheid. Vervolgens 10 wordt een opnieuw gerangschikte gegevensvolgorde uitgevoerd naar de multiplexer 11 afkomstig van de snelheidsbuffer 10 op de tweede snelheid. De tweede snelheid is bij voorkeur tweemaal hoger dan de eerste snelheid. De diverse snelheden voor gegevensinvoer/-uitvoer kunnen worden verwezenlijkt door het 15 verschaffen van stuursignalen op verschillende frequenties op respectievelijk invoer- en uitvoerterminals van de snelheidsbuf fer 10. Daartoe kan een transformatiebewerking met twee snelheden worden verwezenlijkt met de 2-D DCT-schakeling volgens de onderhavige uitvinding.
20 De multiplexers 11 en 12 verschaffen ieder twee ge- gevenspaden voor gegevensoverdracht. Een eerste gegevenspad 11a is verschaft door de multiplexer 11 voor de opnieuw gerangschikte invoergegevensvolgorde van de snelheidsbuffer 10. Dit gegevenspad is actief gedurende een eerste 1-D DCT-bewer-25 king. Wanneer de 1-D DCT-bewerking is beëindigd, vangt een tweede 1-D DCT-bewerking aan en een tweede gegevenspad 11b is verschaft in plaats van het eerste gegevenspad door middel van de multiplexer 11 voor het overdragen van een andere gegevensvolgorde van de transponeerbuffer 20.
30 De eerste registers 13 zijn in serie geschakeld. Eén van de eerste registers 13 is verbonden met de eerste multiplexer 11 door een poort 13a voor het verkrijgen van gegevens en het dan in volgorde schrijven van de gegevens naar een volgende eerste register 13. Deze eerste registers 13 zijn 1-35 woord-registers, waarvan de woordlengte is gekozen op basis van het niveau van de vereiste nauwkeurigheid voor de commu-nicatiestandaarden, waarop de DCT-schakeling is gebaseerd.
Zoals is afgebeeld in fig. 2 omvat ieder sommeerele-ment 17 een opteller 171 en een aftrekker 172 welke respec- 1001663 9 tieveljk invoerterrainals 17a en 17b hebben. De sommeerelemen-ten 17 zijn verschaft voor het uitvoeren van de optel- en aftrekberekening van vergelijkingen (5) en (6), waarmee 1-D DCT-resultaten worden verkregen op de terminals 14a en 14b.
5 De tweede registers 14 zijn eveneens 1-woord-regis ters. De tweede registers 14 hebben 1-woord-invoergegevens afkomstig van de sommeerelementen 17 via de terminals 14a en 14b, terwijl twee 1-bit-gegevens per klokcyclus worden uit-gevoerd vanuit respectievelijk de terminals 15a en 15b. De 10 structuur van de registers 14 is getoond in fig. 3, waarin acht 1-bit-registers 141 in serie zijn geschakeld voor het verschaffen van een gegevenspad met oneven bits voor de terminal 15a, terwijl een volgende acht registers in serie zijn geschakeld voor het verschaffen van een gegevenspad met even 15 bits voor de terminal 15b.
Iedere parameterextractor 15 omvat twee 16-woord-ROM-inrichtingen 151 en een opteller/aftrekker 152, zoals is afgebeeld in fig. 4. De woordlengte in de parameterextractor 15 is m+n bits. Zoals gedefinieerd in vergelijking 7 hangen m 20 en n af van de communicatiestandaard waarop de DCT-schakeling is gebaseerd. Aangezien de invoergegevens van de terminal 15a één orde minder bedragen dan die van de terminal 15b dient de van de ROM-inrichting 151 op de terminal 152a geëxtraheerde parameter een 1-bitverschuiving naar rechts te ondergaan 25 voorafgaande aan het optellen of aftrekken met die op de terminal 152b. Alleen wanneer een tekenbit verschijnt op terminal 15b zal een aftrekberekening worden uitgevoerd of de op teller/af trekker 152 voert een optelberekening in het algemeen uit.
30 Iedere accumulator 167, zoals is afgebeeld in fig.
5, omvat een opteller 161 en een register 162. Verzameling van parameters van de parameterextractor 15 wordt uitgevoerd door de opteller 161, welke ieder invoergegegeven van de terminal 16a optelt bij de in het register 162 opgeslagen gege- 35 vens, welke zodoende daarin de gegevens verzamelt.
De afvlakker 18 is voorzien voor het afvlakken van de eerste 1-D DCT-resultaten in m-bitwaarden voor het vereenvoudigen van de tweede 1-D DCT-bewerking. De afvlakker 19 is verschaft voor het afvlakken van de tweede 1-D DCT-resultaten 1 0 0 1 663 10 in 9-bitgegevens teneinde te voldoen aan de eisen van de communicaties tandaarden.
De transponeerbuffer 20 heeft een omvang van NxN (8x8 in de voorkeursuitvoeringsvorm). De eerste 1-D DCT-re-5 sultaten worden uitgevoerd via de afvlakker 18 door de terminal 20a en opgeslagen in de transponeerbuffer 20 gedurende de eerste ID DCT-bewerking. De opgeslagen gegevens, welke zijn aangeduid als matrix Z, worden getransponeerd in een andere gegevensmatrix Zt. De matrices Z en Zc hebben een 1-D-formaat 10 zoals die van de volgorde afkomstig van de matrix X zoals boven genoemd. Vervolgens wordt gedurende de tweede 1-D DCT-bewerking de matrix Zc gezonden naar de multiplexer 11.
Met betrekking tot de omgekeerde-snelheidsbuffer 21 zijn een snelheid voor gegevensinvoer op de tweede snelheid 15 en een snelheid voor gegevensuitvoer op de eerste snelheid vereist teneinde in overeenstemming te zijn met de snelheidsbuf fer 10. Gedurende de tweede 1-D DCT-bewerking worden de tweede 1-D DCT-resultaten uitgevoerd vanuit de afvlakker 19 via de terminal 21a en opgeslagen in de omgekeerde-snelheids-20 buffer 21, en vervolgens uitgevoerd via de terminal 21b als gegevensmatrix Y op de eerste snelheid. De diverse snelheden voor gegevensinvoer/-uitvoer kunnen worden verwezenlijkt door het verschaffen van stuursignalen op verschillende frequenties op de invoerterminal en de uitvoerterminal van de 25 omgekeerde-snelheidsbuffer 21.
De werking van de 2-D DCT-schakeling volgens de onderhavige uitvinding zal worden beschreven met verwijzing naar het timing-diagram zoals getoond in fig. 6. Onder verwijzing naar fig. 1 en fig. 6 worden elementen van de invoer-30 gegevensmatrix X achtereenvolgens geschreven in de snelheidsbuf fer 10 en daarin opgeslagen via de terminal 10a, rij voor rij op de wijze bekend als "raster scan". Wanneer het eerste element van de laatste rij van de matrix X, dat wil zeggen het element X70 in de voorkeursuitvoeringsvorm, op het punt 35 staat in de snelheidsbuffer 10 te worden geschreven vangt het uitlezen van daarin opgeslagen gegevens aan via de terminal 11a. Uitvoergegevens van de snelheidsbuffer 10 hebben een volgorde van X3k. X4k, X2k, X5k, Xlk, X6k, Xok en X7k waarin kolomnummer k van 0 tot 7 is, welke verschillend zijn van de in- 1001663 11 voervolgorde. Deze gegevensvolgorden kunnen worden waargenomen in de eerste en tweede regels van fig. 6.
Gedurende de eerste 1-D DCT-bewerking, dat wil zeggen de eerste 1-D DCT-bewerking, verschaft de multiplexer 11 5 het eerste gegevenspad voor invoergegevens Xi:j. Daartoe kan ieder element van de matrix X achtereenvolgens in het register 13 worden geschreven via de snelheidsbuffer 10 en de multiplexer 11. Zodra acht gegevenswoorden in het register 13 zijn geschreven worden de gegevens gelijktijdig naar de som-10 meerelementen 17 gezonden. Zoals getoond in fig. 1 is ieder sommeerelement verbonden met twee eerste registers 13, dat wil zeggen een oneven en een even eerste register. Gegevens van oneven en even eerste registers worden afgetrokken en opgeteld volgens de vergelijkingen 5 en 6 in de sommeerele-15 menten 17. De berekende resultaten van de sommeerelementen 17 worden uitgevoerd naar de tweede registers 14, welke in twee groepen zijn gescheiden voor het opslaan van aftrek- en op-telresultaten. Ieder woord dat is opgeslagen in het register 14 wordt per twee bits uitgelezen via de terminals 15a0:3 en 20 15b0:3, onder verwijzing naar fig. 3. Aangezien de gewichten van de terminals 15a0, 15al, 15a2 en 15a3 gelijk zijn en die van 15b0, I5bl, 15b2 en 15b3 eveneens gelijk zijn kunnen er twee 4-bitbussen 15 en 15b zijn gevormd door de twee verzamelingen van gegevensuitvoerterminals. Zoals bovengenoemd zijn 25 de gegevens in de bus 15b een orde hoger dan die in de bus 15a.
De gegevens in de bussen 15a en 15b worden geschreven in de parameterextractor 15 om overeenkomstige parameters te selecteren in de ROM-inrichtingen 151. Deze parameters 30 worden als de gedeeltelijke sommen van vergelijking 10 opgeteld in de opteller 152 en vervolgens uitgevoerd naar de terminals 16a.
Na het verzamelen van de gegevens van de terminals 16a door middel van accumulatoren 16 worden getransformeerde 35 resultaten van 4x4-matrices zoals getoond in vergelijkingen (5) en (6) verkregen. Aangezien de 1-D DCT-resultaten een langere woordlengte kunnen hebben dan is vereist voor het verkrijgen van de verlengde gegevensnauwkeurigheid is een afvlakker 18 voorzien voor het afvlakken van de 1-D DCT-re- 1001663 * 12 sultaten, waardoor de schakelingen voor het verwerken van de redundante bits worden vermeden. Aangezien alleen de eerste m bits van 1-DCT-resultaten behouden blijven, kan de schakeling meer beperkt blijven en is de timing eenvoudiger te regelen.
5 De getransformeerde gegevens van de afvlakker 18, dat wil zeggen elementen van de matrix Z zijn opgeslagen en getransponeerd in de transponeerbuffer 20. Wanneer de tweede 1-D DCT-bewerking aanvangt worden de elementen van de matrix Z gezonden naar de eerste multiplexer 11 voor de tweede 1-D 10 DCT-bewerking. In de voorkeursuitvoeringsvorm vangt de tweede 1-D DCT-bewerking aan wanneer het eerste element van de zesde kolom van de matrix Z, dat wil zeggen Z06, wordt geschreven in de transponeerbuffer 20. De uitvoervolgorde van de transponeerbuf fer 20 is een volgorde van Zk3, Zk4, Zk2, Zk5, Zkl, Zk6, Zk0 15 en Zk7 met rij nummer k. Wanneer het element Z37 op het punt staat te worden verwerkt in de tweede l-D DCT-bewerking, in fig. 7 afgebeeld als de linker onderbroken lijn, is deze nog niet gereed om te worden uitgezonden vanuit de transponeerbuf fer 20. Daartoe is een terugkoppeling voorzien vanaf de 20 afvlakker 18 teneinde op directe wijze het element Z07 te verzenden naar de tweede multiplexer 12 voor de tweede 1-D DCT-bewerking. Zodoende verschaft in het algemeen de tweede multiplexer 12 een derde gegevenspad voor de gegevens van het eerste register 13 naar het tweede register 14 terwijl gedu-25 rende het moment waarop Z07 benodigd is een vierde gegevenspad wordt verschaft door de tweede multiplexer 12 als een kortere weg.
De werking van de tweede 1-D DCT-bewerking is overeenkomstig met die van de eerste 1-D DCT-bewerking, met uit-30 zondering van het verschaffen van het tweede gegevenspad door de eerste multiplexer 11 voor getransponeerde gegevens dat wil zeggen de elementen van de matrix Z. Wanneer de tweede 1-D DCT-bewerking met succes is uitgevoerd, worden uitvoerge-gevens van de 2-D DCT-schakeling, dat wil zeggen elementen 35 van de matrix Y opgewekt en afgekapt door de afvlakker 19, en vervolgens geschreven in de omgekeerde-snelheidsbuffer 21. Tenslotte wordt de matrix Y uitgevoerd op de tweede snelheid vanaf de omgekeerde-snelheidsbuffer 21 zoals getoond in de laatste regel van fig. 7.
1001663 13
Door middel van tweesnelhedenbedrijf van de 2D-DCT-scahkeling kan een real time-transformatie worden verwezenlijkt. Bovendien zijn, vergeleken met de conventionele schakeling van fig. 1, de verdeelde rekenkundige structuur inclu-5 sief de eerste en tweede registers, de parameterextractors, de accumulatoren en de sommeerelementen verschaft volgens de onderhavige uitvinding voor het vervangen van de functie van de transformatieschakeling volgens de bekende stand van de techniek. Aangezien de verdeelde rekenkundige structuur ge-10 bruik maakt van ROM-inrichtingen voor matrixberekening is de bedrijfsefficiëntie verbeterd. Bovendien kan vanwege de diverse adresmodes verschaft door de snelheidsbuffer en de omgekeerde -snelheidsbuffer de bedrading tussen ieder element worden vereenvoudigd en de afmetingen van de schakeling vol-15 gens de onderhavige uitvinding grotendeels worden teruggebracht waarbij het hardware-ontwerp veel eenvoudiger is. Zodoende is de onderhavige uitvinding meer geschikt voor een VLSI-implementatie.
1 0 0 1 fi6 3
Claims (11)
1. Inrichting voor real time-tweedimensionale (2-D) discrete cosinustransformatie (DCT) welke omvat: een snelheidsbuffer (10) voor het invoeren van een NxN-gegeven op een eerste snelheid en uitvoeren van genoemd 5 gegeven op een tweede snelheid; een eerste multiplexer (11) voor het verschaffen van ofwel een eerste gegevenspad (11a) ofwel een tweede gegevens-pad (11b) voor gegevensoverdracht, waarbij genoemd eerste gegevenspad (11a) wordt verschaft voor genoemde gegevens van 10 genoemde snelheidsbuffer (10) gedurende een eerste 1-D DCT-bewerking, terwijl gedurende een tweede 1-D DCT-bewerking genoemd tweede gegevenspad (11b) is verschaft voor een getransponeerd gegeven; een 1-D DCT-bewerkingseenheid voor het uitvoeren van 15 genoemde 1-D DCT-bewerkingen; een transponeerbuffer (20) voor het transponeren van genoemde getransformeerde resultaten van genoemde 1-D DCT-bewerkingseenheid waarin genoemde getransponeerde gegevens zijn opgewekt door genoemde transponeerbuffer (20) en daarin 20 zijn opgeslagen gedurende genoemde eerste 1-D DCT-bewerking; en een omgekeerde-snelheidsbuffer (21) voor het ontvangen van gegevens van genoemde 1-D DCT-bewerkingseenheid gedurende genoemde tweede 1-D DCT-bewerking op genoemde tweede 25 snelheid en uitvoeren van een NxN-gegeven op genoemde eerste snelheid, met het kenmerk, dat genoemde 1-D DCT-bewerkingseenheid omvat: N eerste registers (13) welke in serie zijn gescha-30 keld, waarbij één van genoemde eerste registers (13a) is verbonden met genoemde eerste multiplexer (11) voor het achtereenvolgens schrijven van de door genoemde eerste multiplexer (11) verschafte gegevens aan een volgende genoemd eerste register (13) ; 1001663 een tweede multiplexer (12) voor het verschaffen van ofwel een derde gegevenspad (12b) voor gegevens van genoemd eerste register (13a), welke is verbonden met genoemde eerste multiplexer (11) of een vierde gegevenspad voor een terugkop-5 pelgegeven; N/2 sommeerelementen (17) verbonden met genoemde eerste registers (13) voor het aftrekken en optellen van de door genoemde eerste registers (13) en genoemde tweede multiplexer (12) verschafte gegevens; 10. tweede registers (14) voor opslag van gegevens van genoemde sommeerelementen (17); N parameterextractors (15) voor het opwekken van parameters door de in genoemde tweede registers (14) opgeslagen gegevens; en 15. accumulatoren (16) voor het verzamelen van de pa rameters van genoemde parameterextractors (15).
2. Inrichting voor 2-D DCT volgens conclusie 1, met het kenmerk, dat de 1-D DCT-bewerkingseenheid verder omvat een afvlakker (18) tussen genoemde accumulatoren (16) en ge- 20 noemde transponeerbuffer (20) voor het afvlakken van genoemde getransformeerde gegevens.
3. Inrichting voor 2-D DCT volgens conclusie 1, met het kenmerk, dat de 1-D DCT-bewerkingseenheid verder omvat een afvlakker (19) tussen genoemde accumulatoren (16) en ge- 25 noemde omgekeerde-snelheidsbuffer (20) voor het afvlakken van genoemde getransformeerde gegevens.
4. Inrichting voor 2-D DCT volgens conclusie 1, waarin genoemde eerste registers (13) 1-woord-registers zijn.
5. Inrichting voor 2-D DCT volgens conclusie 1, 30 waarin genoemde tweede registers (14) 1-woord-registers zijn.
6. Inrichting voor 2-D DCT volgens conclusie 1, waarin genoemde tweede registers (14) zijn gevormd door twee verzamelingen van N/2 1-bitregisters (141) welke in serie zijn geschakeld.
7. Inrichting voor 2-D DCT volgens conclusie 1, waarin iedere genoemde parameterextractor (15) twee ROM-inrichtingen (151) omvat en een opteller/aftrekker (152) .
8. Inrichting voor 2-D DCT volgens conclusie 1, waarin iedere genoemde accumulator (16) een opteller (161) en 1001663 * een register (162) omvat.
9. Inrichting voor 2-D DCT volgens conclusie 1, waarin ieder genoemd sommeerelement (17) een opteller (171) en een aftrekker (172) omvat.
10. Inrichting voor 2-D DCT volgens conclusie 1, waarin genoemde snelheidsbuffer (10) is voorzien van verschillende adresseermodes voor gegevensuitvoer en -uitvoer.
11. Inrichting voor 2-D DCT volgens conclusie 1, waarin genoemde omgekeerde-snelheidsbuffer (21) is voorzien 10 van verschillende adresseermodes voor gegevensinvoer en -uit-voer. 1001663
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/493,897 US5668748A (en) | 1995-04-15 | 1995-06-23 | Apparatus for two-dimensional discrete cosine transform |
| GB9522796A GB2307066B (en) | 1995-04-15 | 1995-11-07 | Apparatus for two-dimensional discrete cosine transform |
| NL1001663A NL1001663C2 (nl) | 1995-04-15 | 1995-11-16 | Inrichting voor tweedimensionale discrete cosinustransformatie. |
| DE19543544A DE19543544C2 (de) | 1995-04-15 | 1995-11-22 | Einrichtung zur zweidimensionalen diskreten Echtzeit-Cosinustransformation |
| FR9514170A FR2741977B1 (fr) | 1995-04-15 | 1995-11-30 | Appareil pour la transformation d'un cosinus discret bidimensionnel |
Applications Claiming Priority (10)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW84103726A TW256971B (en) | 1995-04-15 | 1995-04-15 | Two-dimensional discrete cosine transform device |
| TW84103726 | 1995-04-15 | ||
| US08/493,897 US5668748A (en) | 1995-04-15 | 1995-06-23 | Apparatus for two-dimensional discrete cosine transform |
| US49389795 | 1995-06-23 | ||
| GB9522796 | 1995-11-07 | ||
| GB9522796A GB2307066B (en) | 1995-04-15 | 1995-11-07 | Apparatus for two-dimensional discrete cosine transform |
| NL1001663 | 1995-11-16 | ||
| NL1001663A NL1001663C2 (nl) | 1995-04-15 | 1995-11-16 | Inrichting voor tweedimensionale discrete cosinustransformatie. |
| FR9514170 | 1995-11-30 | ||
| FR9514170A FR2741977B1 (fr) | 1995-04-15 | 1995-11-30 | Appareil pour la transformation d'un cosinus discret bidimensionnel |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| NL1001663C2 true NL1001663C2 (nl) | 1997-05-21 |
Family
ID=27515612
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| NL1001663A NL1001663C2 (nl) | 1995-04-15 | 1995-11-16 | Inrichting voor tweedimensionale discrete cosinustransformatie. |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5668748A (nl) |
| DE (1) | DE19543544C2 (nl) |
| FR (1) | FR2741977B1 (nl) |
| GB (1) | GB2307066B (nl) |
| NL (1) | NL1001663C2 (nl) |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5999958A (en) * | 1996-04-24 | 1999-12-07 | National Science Council | Device for computing discrete cosine transform and inverse discrete cosine transform |
| US6044176A (en) * | 1996-11-12 | 2000-03-28 | Samsung Electronics Co., Ltd. | Method of performing inverse discrete cosine transform |
| DE19748893A1 (de) * | 1997-11-05 | 1999-05-27 | Siemens Ag | Verfahren und Anordnung zur Durchführung der Diskreten Cosinus-Transformation |
| US6587590B1 (en) * | 1998-02-02 | 2003-07-01 | The Trustees Of The University Of Pennsylvania | Method and system for computing 8×8 DCT/IDCT and a VLSI implementation |
| IL145586A0 (en) * | 1999-04-08 | 2002-06-30 | Oasis Biosciences Inc | Antisense oligonucleotides comprising universal and/or degenerate bases |
| US6625721B1 (en) * | 1999-07-26 | 2003-09-23 | Intel Corporation | Registers for 2-D matrix processing |
| JP3934290B2 (ja) * | 1999-09-30 | 2007-06-20 | 株式会社東芝 | 離散コサイン変換処理装置、逆離散コサイン変換処理装置及び離散コサイン変換処理装置・逆離散コサイン変換処理装置 |
| US20050201457A1 (en) * | 2004-03-10 | 2005-09-15 | Allred Daniel J. | Distributed arithmetic adaptive filter and method |
| US7539916B2 (en) | 2005-06-28 | 2009-05-26 | Intel Corporation | BIST to provide phase interpolator data and associated methods of operation |
| US10567800B2 (en) * | 2016-11-29 | 2020-02-18 | Qualcomm Incorporated | Transform hardware architecture for video coding |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2645985A1 (fr) * | 1989-04-18 | 1990-10-19 | Labo Electronique Physique | Circuit pour operer une transformation lineaire de donnees numeriques |
| EP0506111A2 (en) * | 1991-03-27 | 1992-09-30 | Mitsubishi Denki Kabushiki Kaisha | DCT/IDCT processor and data processing method |
| EP0621543A2 (en) * | 1993-04-19 | 1994-10-26 | General Instrument Corporation Of Delaware | Inverse discrete cosine transform processor |
| TW252258B (en) * | 1995-03-18 | 1995-07-21 | United Microelectronics Corp | Two dimensional discrete cosine transform/inverse discrete cosine transform circuit |
| TW265503B (en) * | 1995-05-23 | 1995-12-11 | United Microelectronics Corp | Two-dimensional inverse discrete cosine transform device |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4791598A (en) * | 1987-03-24 | 1988-12-13 | Bell Communications Research, Inc. | Two-dimensional discrete cosine transform processor |
| DE3719628A1 (de) * | 1987-06-12 | 1988-12-29 | Bosch Gmbh Robert | Verfahren zur zweidimensionalen diskreten inversen cosinus-transformation |
| US5268853A (en) * | 1989-12-01 | 1993-12-07 | Ricoh Company, Ltd. | Orthogonal transformation processor for compressing information |
| EP0500048B1 (en) * | 1991-02-19 | 1998-05-27 | Matsushita Electric Industrial Co., Ltd. | Orthogonal transform apparatus for video signal processing |
| US5257213A (en) * | 1991-02-20 | 1993-10-26 | Samsung Electronics Co., Ltd. | Method and circuit for two-dimensional discrete cosine transform |
| EP0566184A3 (en) * | 1992-04-13 | 1994-11-17 | Philips Electronics Nv | Image transformer as well as television system comprising a transmitter and a receiver provided with a transformer. |
| SG45281A1 (en) * | 1992-06-26 | 1998-01-16 | Discovision Ass | Method and arrangement for transformation of signals from a frequency to a time domain |
| US5528528A (en) * | 1993-03-29 | 1996-06-18 | Intel Corporation | Method, apparatus, and system for transforming signals |
| US5483475A (en) * | 1993-09-15 | 1996-01-09 | Industrial Technology Research Institute | Fast pipelined 2-D discrete cosine transform architecture |
-
1995
- 1995-06-23 US US08/493,897 patent/US5668748A/en not_active Expired - Lifetime
- 1995-11-07 GB GB9522796A patent/GB2307066B/en not_active Expired - Lifetime
- 1995-11-16 NL NL1001663A patent/NL1001663C2/nl not_active IP Right Cessation
- 1995-11-22 DE DE19543544A patent/DE19543544C2/de not_active Expired - Lifetime
- 1995-11-30 FR FR9514170A patent/FR2741977B1/fr not_active Expired - Lifetime
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2645985A1 (fr) * | 1989-04-18 | 1990-10-19 | Labo Electronique Physique | Circuit pour operer une transformation lineaire de donnees numeriques |
| EP0506111A2 (en) * | 1991-03-27 | 1992-09-30 | Mitsubishi Denki Kabushiki Kaisha | DCT/IDCT processor and data processing method |
| EP0621543A2 (en) * | 1993-04-19 | 1994-10-26 | General Instrument Corporation Of Delaware | Inverse discrete cosine transform processor |
| TW252258B (en) * | 1995-03-18 | 1995-07-21 | United Microelectronics Corp | Two dimensional discrete cosine transform/inverse discrete cosine transform circuit |
| TW265503B (en) * | 1995-05-23 | 1995-12-11 | United Microelectronics Corp | Two-dimensional inverse discrete cosine transform device |
Non-Patent Citations (4)
| Title |
|---|
| B.SIKSTRÖM ET AL: "A high-speed 2-d Discrete Cosine Transform chip", INTEGRATION, THE VLSI JOURNAL, vol. 5, no. 2, June 1987 (1987-06-01), AMSTERDAM NL, pages 159 - 169, XP002010049 * |
| DATABASE WPI Section EI Week 9539, Derwent World Patents Index; Class W02, AN 95-301542, XP002010050 * |
| DATABASE WPI Section EI Week 9609, Derwent World Patents Index; Class W04, AN 96-086482, XP002010051 * |
| RUETZ P A ET AL: "A 160 MPIXEL/SEC IDCT PROCESSOR FOR HDTV", PROCEEDINGS OF THE CUSTOM INTEGRATED CIRCUITS CONFERENCE, BOSTON, MAY 3 - 6, 1992, no. CONF. 14, 3 May 1992 (1992-05-03), INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, pages 26.04.01 - 26.04.04, XP000340964 * |
Also Published As
| Publication number | Publication date |
|---|---|
| GB9522796D0 (en) | 1996-01-10 |
| FR2741977B1 (fr) | 1998-02-06 |
| DE19543544A1 (de) | 1996-10-24 |
| FR2741977A1 (fr) | 1997-06-06 |
| DE19543544C2 (de) | 1997-11-20 |
| GB2307066A (en) | 1997-05-14 |
| US5668748A (en) | 1997-09-16 |
| GB2307066B (en) | 2000-01-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4791598A (en) | Two-dimensional discrete cosine transform processor | |
| JP2866754B2 (ja) | 演算処理装置 | |
| NL1001663C2 (nl) | Inrichting voor tweedimensionale discrete cosinustransformatie. | |
| KR20170005562A (ko) | 데이터를 병렬적으로 처리하는 장치 및 방법 | |
| KR0130772B1 (ko) | 고속디지탈신호처리프로세서 | |
| WO2020160608A1 (en) | Highly parallel convolutional neural network | |
| CN113811900A (zh) | 算术运算装置和算术运算系统 | |
| US5867414A (en) | Compact pipelined matrix multiplier utilizing encoding and shifting circuit configurations | |
| KR20220101518A (ko) | 곱셈-누산 회로 및 이를 포함하는 프로세싱-인-메모리 장치 | |
| JPH0715346A (ja) | 2ベクトルのスカラ積を決定するためのデジタル信号の符号化方法および回路 | |
| Toyoshima | Computationally efficient implementation of hypercomplex digital filters | |
| CN113032723B (zh) | 一种矩阵乘法器的实现方法及矩阵乘法器装置 | |
| US5671169A (en) | Apparatus for two-dimensional inverse discrete cosine transform | |
| NL1000763C2 (nl) | Apparaat voor tweedimensionale inverse discrete cosinustransformatie. | |
| KR0154919B1 (ko) | 2차원 역이산 코사인 변환 회로 | |
| JPH10224224A (ja) | 半導体演算装置 | |
| KR100575285B1 (ko) | 고속의 저전력 이산 코사인 변환 장치 및 방법 | |
| CN118626757B (zh) | 用于全长数论变换的硬件加速方法、装置及安全芯片 | |
| CN109409300A (zh) | 一种基于fpga的高光谱目标检测osp算法的实现系统 | |
| JP3046116B2 (ja) | 離散コサイン変換器 | |
| JPH05153402A (ja) | 離散コサイン変換器 | |
| JP2001084242A (ja) | 可変演算プロセッサ | |
| GB2302421A (en) | Real-time two-dimensional inverse discrete cosine transform generator | |
| JP2941192B2 (ja) | 線形変換を利用した画像処理用並列記憶装置 | |
| Demassieux et al. | Orthogonal transforms |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PD2B | A search report has been drawn up | ||
| MK | Patent expired because of reaching the maximum lifetime of a patent |
Effective date: 20151115 |