NL8601183A - Discrete cosinus transformatie-inrichting. - Google Patents
Discrete cosinus transformatie-inrichting. Download PDFInfo
- Publication number
- NL8601183A NL8601183A NL8601183A NL8601183A NL8601183A NL 8601183 A NL8601183 A NL 8601183A NL 8601183 A NL8601183 A NL 8601183A NL 8601183 A NL8601183 A NL 8601183A NL 8601183 A NL8601183 A NL 8601183A
- Authority
- NL
- Netherlands
- Prior art keywords
- samples
- sum
- auxiliary
- signal
- difference
- Prior art date
Links
- 230000009466 transformation Effects 0.000 title description 23
- 230000015654 memory Effects 0.000 claims description 31
- 238000009825 accumulation Methods 0.000 claims description 6
- 238000011176 pooling Methods 0.000 claims 1
- 239000011159 matrix material Substances 0.000 description 30
- 238000000034 method Methods 0.000 description 9
- 238000007792 addition Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000005070 sampling Methods 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 101100422768 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SUL2 gene Proteins 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N11/00—Colour television systems
- H04N11/04—Colour television systems using pulse code modulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Discrete Mathematics (AREA)
- Algebra (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Complex Calculations (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Analogue/Digital Conversion (AREA)
- Compositions Of Macromolecular Compounds (AREA)
Description
* - M Λ ' * * PHN 11.745 1 N.V. Philips' Gloeilampenfabrieken te Eindhoven.
Discrete cosinus transformatie-inrichting.
A. Achtergrond van de uitvinding.
A(1) Gebied van de uitvindincr
De uitvinding heeft betrekking op een inrichting voor het 5 in real tine berekenen van de discrete cosinus transformatie coëfficiënten van een groep van N ingangsmonsters van een digitaal ingangssignaal. Hij is in het bijzonder bedoeld voor het uitvoeren van een transformatiecodering op een gedigitaliseerd videosignaal ter reduktie van de bit-rate. In het hierna volgende zal een dergelijke 10 inrichting kortweg worden aangeduid met DCT-inrichting.
De uitvinding heeft tevens betrekking op een inrichting om uit de aldus verkregen coëfficiënten wederom de oorspronkelijke. N ingangsmonsters te berekenen. Een dergelijke inrichting zal worden aangeduid met IDCT-inrichting.
15 A(2) Beschrijving van de Stand van de Techniek.
Zoals algemeen bekend is transformatiecodering een datareduktiemethode waarbij het televisiebeeld wordt opgedeeld in blokken van NxN beeldelementen en elk blok wordt beschouwd als een som 20 van een aantal (NxN) onderling orthogonale basisbeelden B(i,k) met irk = 0, ... N-1, elk met zijn eigen gewichtsfaktor y(i,k). Datareduktie is mogelijk omdat tengevolge van de correlatie van de beeldelementen in een blok de informatie slechts in een beperkt aantal ongecorreleerde basisbeelden is geconcentreerd, zodat alleen de daarbij behorende 25 gewichtsfaktoren van belang zijn en de andere kunnen worden verwaarloosd.
Om mathematisch te kunnen aangeven hoe de gewichtsfaktoren worden berekend, zal het hlok van NxN beeldelementen worden voorgesteld door een NxN-matrix X, zullen de gewichtsfaktoren 30 eveneens worden gerangschikt in een NxN-matrix Y en wordt een NxN- transformatiematrix A gedefinieerd die verband houdt met de verzameling basisbeelden B(i,k). Meer in het bijzonder geldt 3601133 t , ·ΐ PHN 11.745 2 (1) .... B(i,k) = kLk^
Hierin stelt A^ een matrix voor waarin elke kolom gelijk is aan de i-de kolom van de transformatiematrix A en verder stelt A^ een matrix voor waarvan elke rij gelijk is aan de k-de rij van de matrix A. De 5 bedoelde gewichtsfaktoren volgen nu uit de matrixvermenigvuldiging
(2) .... Y = ATXA
In deze uitdrukking stelt AT de getransponeerde matrix van A voor.
Voor meer informatie omtrent het bovenstaande zij verwezen naar referentie 1.
10 Voor de berekening van de gewichtsfaktoren overeenkomstig uitdrukking (2) moet zowel de oorspronkelijke transformatiematrix A als zijn getransponeerde versie AT ter beschikking staan. Uitdrukking (2) is echter gelijkwaardig aan.
(3) .... YT = (XA)TA
15 Voor deze matrixvermenigvuldiging hoeft alleen de transformatiematrix A ter beschikking te staan. Meer in het bijzonder kan eerst de produktmatrix P = XA worden berekend. Vervolgens kan P worden getransponeerd en ten slotte kan YT = PTA worden berekend. Een inrichting voor het uitvoeren van de in uitdrukking (3) aangegeven 20 matrixvermenigvuldiging is bijvoorbeeld beschreven in referentie 2. Voor het transponeren van P wordt daarbij gebruik gemaakt van een tussengeheugen waarin P rij voor rij in wordt geschreven en weer kolom voor kolom uit wordt gelezen. Omdat zowel X als P met dezelfde matrix A worden vermenigvuldigd, kan voor beide vermenigvuldiging in principe 25 een en dezelfde schakeling worden gebruikt.
Om uit de aldus verkregen gewichtsfaktoren het oorspronkelijke blok beeldelementen X weer terug te winnen, worden deze gewichtsfaktoren onderworpen aan een inverse transformatie die als volgt is gedefinieerd.
30 (4) ____X = AYAT
In overeenstemming met het voorgaande is deze uitdrukking gelijkwaardig aan:
T
(5) .... X = A(AYT)
Opgemerkt zij dat een produktmatrix zoals P = XA en 35 YT = PA in uitdrukking (3) of P' = AYT en X = AP'T in uitdrukking (5) wordt verkregen uit een reeks vector-matrixvermenigvuldigingen. Immers iedere rij van bijvoorbeeld X wordt fie.V d « -
V V J a i 'J V
• ' * * PHN 11.745 3 vermenigvuldigd met A om de overeenkomstige rij van P te vinden.
Het aantal niet verwaarloosbare gewichtsfaktoren dat uit een dergelijke transformatie naar voren komt blijkt nauw samen te hangen met de opbouw van de gekozen basisbeelden en dus met de gekozen 5 transformatiematrix. De meest optimale en tegenwoordig veel toegepaste transformatiematrix is de discrete cosinustransformatiematrix waarvan de elementen a(i,k) als volgt zijn gedefinieerd.
(6) ____a^k = Q e(k) cos (ir(2i+1)k/2N) voor i, k = 0, 1,2, ... N-1 10 met e(k) = 1/ /? als k = 0 = 1 als k > 0 Q een normeringsconstante die gelijk is aan 2/N als deze matrix wordt gebruikt om de gewichtsfaktoren te berekenen voor de direkte transformatie en die gelijk is aan 1 indien hij wordt gebruikt 15 voor de inverse transformatie.
Worden twee NxN-matrices op conventionele wijze met elkaar vermenigvuldigd, in dat geval wordt wel van de direkte methode gesproken, dan moeten voor elke N-produktelementen van de produktmatrix vermenigvuldigingen worden uitgevoerd en zijn N(N-1) optellingen 20 nodig. Een DCT-inrichting waarvan de implementatie is gebaseerd op deze direkte methode is bijvoorbeeld beschreven in referentie 3. Dit de referenties 4 en 5 zijn zogenaamd snelle methoden bekend, waarbij het gewenste resultaat met aanmerkelijk minder vermenigvuldigingen en optellingen kan worden verkregen. Bijvoorbeeld worden met de in 25 referentie 5 beschreven methode in het geval dat N=8 slechts 13 vermenigvuldigingen uitgevoerd en zijn er slechts 29 optellingen nodig.
Het nadeel van deze bekende methoden is dat de tijdens het rekenproces optredende tussenresultaten, als gevolg van daarop uit te voeren verdere bewerkingen, zeer nauwkeurig moeten zijn (dit betekent dat de 30 woordlengte van deze tussenresultaten groot moet zijn). Die verdere bewerkingen zijn met name vermenigvuldigingen.
B. Doelstelling en samenvatting van de uitvinding.
35 De uitvinding beoogt een alternatieve uitvoering van een DCT-inrichting waarin aanmerkelijk minder zware eisen hoeven te worden gesteld aan de nauwkeurigheid van de tussenresultaten, eventueel in ruil 8 5 0 1 1 8 3 PHN 11.745 4 voor een acceptabele verhoging van het aantal uit te voeren rekenkundige operaties in vergelijking met de DCT-inrichting die beschreven is in referentie 5.
Overeenkomstig de uitvinding omvat de DCT-inrichting:-5 samenvoegmiddelen waaraan de N-beeldeleraenten van een rij van een blok van NxN beeldelementen worden toegevoerd alsmede een aantal hulpmonsters en die is ingericht om voorafbepaalde combinaties van beeldelementen bij elkaar op te tellen en af te trekken, alsmede om voorafbepaalde combinaties van hulpmonsters bij elkaar op tellen en af te trekken, 10 ter opwekking van som- en verschilmonsters; - selektiemiddelen die de som- en verschilmonsters ontvangt, genoemde hulpmonsters, alsmede doorvoermonsters levert, waarbij de hulpmonsters worden gevormd door bepaalde van de som- en verschilmonsters en waarbij de doorvoermonsters worden gevormd door de overige som- en de 15 verschilmonsters; - vermenigvuldigmiddelen die de doorvoermonsters ontvangt en elk vermenigvuldigt met één uit een hoeveelheid voorafbepaalde vermenigvuldigfaktoren geselekteerde vermenigvuldigfaktor ter opwekking van produktmonsters; 20 - accumulatormiddelen die de produktmonsters ontvangt en is ingericht om bepaalde van deze produktmonsters bij elkaar op te tellen ter opwekking van de coëfficiënten.
Door toepassing van de uitvinding wordt elk binnenkomend beeldelement slechts éénmaal vermenigvuldigt met een of ander getal, 25 in dit geval de vermenigvuldigfaktor van de transformatiematrix, zodat de nauwkeurigheid van de tussenresultaten nauwelijks groter hoeft te zijn dan de nauwkeurigheid waarmede de coëfficiënten gewenst worden. Helaas gaat dit gepaard met een verhoging van het aantal uit te voeren rekenkundige bewerkingen (althans vergeleken met de in referentie 30 5 beschreven DCT-inrichting. Namelijk blijken in deze DCT-inrichting voor het geval dat N=8 zo'n 22 vermenigvuldigingen en 34 optellingen (waaronder 20 accumulatie-operaties) nodig te zijn, welke aantallen echter zeer acceptabel blijken te zijn voor praktische toepassingen.
35 C. Referenties.
1. Real-time orthogonal transformation of colour-television 86011S3 ΡΗΝ 11.745 5 9 Λ pictures; Η. Bacchi, A. Moreau;
Philips technical Review, Vol. 38, No. 4/5, 1978/1979, pages 119-130.
2. Method of and arrangeaent for digitizing a color video 5 signal; J.H. Peters; United States Patent 4,405,936.
3. Multiple Point, Discrete Cosine Processor; L.W. Randy, A. Mesa;
United States Patent 4,449,194.
10 4. A Fast Coaputational Algorithm For The Discrete Cosine
Transform; W.H. Chen, C.H. Smith, S.C. Fralick; IEEE Transactions on Communications, Vol. COM-25, No. 9, September 1977, pagina's 1004-1009.
15 5. A New Algorithm To Compute The Discrete Cosine Transform, B.G. Lee; IEEE Transactions on Acoustics, Speech and Signal Processing,
Vol. ASSP-32, No. 6, December 1984, pagina's 1243-1245.
6. Method of and arrangement for digitizing a time-discrete 20 video signal using a picture transform coding; J.H. Peters; United States Patent 4,398,217.
D. Korte beschrijving van de fiouren.
25 Figuur 1 toont schematisch een transformatie- en kodeerinrichting voor videosignalen;
Figuur 2 geeft aan op welke tijdstippen deze signalen worden bemonsterd. Tevens is aangegeven de signaalmonsters die samen een blok vormen; 30 Figuur 3 toont een uitvoeringsvoorbeeld van een transforaatie-inrichting;
Figuur 4 toont een 8x8 DCT-transformatiematrix;
Figuur 5 toont het verband tussen een groep van 8 ingangsmonsters x^ k en 8 transformatiecoêfficiënten p^^; 35 Figuur 6 toont een raamwerk diagram van een nieuw DCT- algorithme;
Figuur 7 toont de DCT-inrichting volgens de uitvinding 8601133 PHN 11.745 6 welke is gebaseerd op het in figuur 6 aangegeven algorithme;
Figuur 8 toont een verdere uitwerking van de DCT-inrichting die in figuur 7 is aangegeven;
Figuur 9 toont een selektieschakeling voor toepassing in 5 de inrichting van figuur 8;
Figuur 10 toont een diagram ter toelichting van de werking van de DCT-inrichting die in figuur 8 is aangegeven;
Figuur 11 toont een IDCT-inrichting volgens de uitvinding.
10 E. Toelichting op de uitvinding.
E(1) De transformatie kodeerinrichting.,
In figuur 1 is schematisch een transformatie- en 15 kodeerinrichting weergegeven voor videosignalen. Hij omvat een videosignaalbron 1 dat een videosignaal k(t) levert. Dit wordt toegevoerd aan een bemonsterinrichting 2 die onder bestuur van bemonsterpulsen S(qT) monsters x(qT) neemt van dit videosignaal.
Hierbij geldt q= ..., -1, O, 1, 2, ... en dat de bemonsterpulsen 20 optreden met een frequentie fg = 1/T. Deze videosignaalmonsters worden vervolgens toegevoerd aan een analoog-digitaalomzetter 3 die de digitale videosignaalmonsters x(q) levert. Deze worden op hun beurt toegevoerd aan een transformatie- en kodeerinrichting 4 ter opwekking van de gewenste transformatie gewichtsfaktoren. Hij omvat meer in het 25 bijzonder een transformatie-inrichting 5 die de videosignaalmonsters x(q) ontvangt en omzet in transformatie gewichtsfaktoren y(m). Deze worden vervolgens toegevoerd aan een variabele woordlengte kodeerinrichting 6 die elke transformatie gewichtsfaktor omzet in een codewoord z(m) van geschikte woordlengte. Hij omvat een 30 hulpkodeerinrichting 61 die de transformatie gewichtsfaktoren ontvangt en voor de eigenlijke kodering zorgt. De woordlengte van het codewoord z(m) wordt hierbij bepaald door een grootheid b(j) die wordt geleverd door een bit-toewijzingsgeheugen 62. Deze hulpkodeerinrichting levert aldus in lengte variërende codewoorden z(m) en zorgt er tevens voor 35 dat bepaalde transformatie gewichtsfaktoren y(m) worden verwaarloosd, namelijk door voor de kodering daarvan geen bit ter beschikking te stellen. Een bijzonder gunstige uitvoeringsvorm van de kodeerinrichting 8301133 r \ PHN 11.745 7 6 is beschreven in referentie 6. Opgeaerkt zij dat de monsters die van een videosignaal en dus van een videobeeld worden genomen door punten schematisch zijn weergegeven in figuur 2.
Een uitvoeringsvoorbeeld van de transformatie-inrichting 5 5 is volledigheidshalve aangegeven in figuur 3. Hij is voorzien van een blokvormend circuit 7 en een transformatiecircuit 8. Het blokvormende circuit 7 verdeelt een beeld in blokken van NxN beeldelementen (videosignaalmonster), bijvoorbeeld op de wijze zoals voor N=8 is aangegeven in figuur 2. Hij is daartoe voorzien van een ingang 70 die de 10 na elkaar optredende videosignaalmonsters x(q) ontvangt. Op deze ingang is aangesloten een cascadeschakeling van N-1 (=7) vertragingslijnen 71(.) elk met een capaciteit van R-8 videosignaalmonsters. Hierin is R het aantal videosignaalmonsters van een televisielijn. De ingang 70 van dit blokvormende circuit 7 en de 15 uitgangen van elke vertragingslijn 71(,> zijn via EN-poortschakelingen 72(.) aangesloten op ingangen van een OF-poortschakeling 73. Elke EN-poortschakeling ontvangt verder 8 stuurpulsen en wel zodanig dat eerst 8 videosignaalmonsters uit de vertragingslijn 71(7) naar het transformatiecircuit worden gevoerd, dan 8 videosignaalmonsters uit 20 de vertragingslijn 71(6), vervolgens 8 videosignaalmonsters uit de vertragingslijn 71(5) enzovoorts. Deze stuurpulsen worden opgewekt door een modulo-64-teller 74 waaraan de bemonsterpulsen worden toegevoerd. Op deze teller 74 is een uitkodeernetwerk 75 aangesloten met acht uitgangen 75(.) die op ingangen van de EN-poortschakelingen zijn aangesloten. Dit 25 uitkodeernetwerk levert een logische *1" aan zijn uitgang 75(7) telkens als de teller één van de telstanden 1, 2, 3, ____ 8 heeft.
Aan de uitgang 75(6) treedt een logische *1" op telkens als de teller één van de telstanden 9, 10, 11, ... 16 heeft, enzovoorts. Op deze wijze treden de videosignaalmonsters van een blok na elkaar en rij voor 30 rij op aan de uitgang van de OF-poortschakeling 73.
Het transformatiecircuit 8 wordt gevormd door een eerste transformator 9 een geheugen 10 en een tweede transformator 11. Deze transformatoren zijn beide op dezelfde wijze opgebouwd en worden elk gevormd door een DCT-inrichting. De transformator 9 levert in dit geval 35 de produktaatrix P = XA (zie uitdrukking (3)) die bestaat uit de coëfficiënten p^k. Deze coëfficiënten worden onder bestuur van een stuurcircuit 12 rij voor rij in het geheugen 10 geschreven en 860 M 33 V * PHN 11.745 8 daaruit weer kolom voor kolom gelezen. Op deze wijze wordt de getransponeerde produktmatrix P^ verkregen die aan de transformator 11 wordt toegevoerd.
5 E(2) De DCT-inrichting, algemene opbouw.
In de als DCT-inrichting uitgevoerde transformator 9 of 11 worden van een blok alle N beeldelementen van een rij vermenigvuldigd met alle N kolommen van de DCT transformatiematrix A waarvan de elementen zijn gedefinieerd in uitdrukking (6) en die voor 10 N=8 is weergegeven in figuur 4. Zoals hieruit blijkt heeft deze DCT-matrix door het periodieke karakter van de goniometrische funktie een heel specifieke struktuur. Worden de videosignaalmonsters van de i-de rij van een 8x8 blok, voorgesteld door x^q, xij» ··· xif7' en worden op overeenkomstige wijze de coëfficiënten van de i-de rij van 15 de produktmatrix P voorgesteld door Pj^o» pi,l' ____ pi,7' ^an geldt tussen beiden het in figuur 6 weergegeven verband. In deze figuur is een verkorte schrijfwijze gebruikt voor de elementen aj_ ^ van de DCT-matrix. Namelijk is a^^ vervangen door C®, welke grootheid als volgt is gedefinieerd.
20 (7) C® - 2 e(m) cos[(m/q)ïï]
“ N
In het bovenstaande is N=8, zodat q=16.
Een raamwerk diagram voor het in figuur 5 voor N=8 uitgewerkte algorithme, is weergegeven in figuur 6. Daaruit blijkt dat het voor het berekenen van de coëfficiënten p^ ^ mogelijk is eerst 25 die videosignaalmonsters bij elkaar op te tellen of af te trekken die met gelijke transformatie-elementen C® vermenigvuldigd moeten worden. Pas daarna wordt de betreffende vermenigvuldiging uitgevoerd. Tevens blijkt uit figuur 6 dat voor het geval N=8 per groep van acht coëfficiënten niet meer dan 22 vermenigvuldigingen, 14 optellingen 30 20 accumulatie-operaties nodig zijn. Hierbij dient nog te worden opgemerkt dat in geen enkele tak van het diagram twee of meer vermenigvuldigingen voorkomen, welke eigenschap van belang is voor het bepalen van de woordlengte van de tussenresultaten. In figuur 6 zijn deze tussenresultaten aangegeven met de letters u, v, w, z.
35 Een uitvoeringsvoorbeeld van de DCT-inrichting waarvan de implementatie is gebaseerd op het in figuur 6 aangegeven nieuwe DCT-algorithme, is weergegeven in figuur 7. Het omvat een shuffle-inrichting 8301183 PHN 11.745 9 + * 903 waaraan de videosignaalmonsters in de volgorde x^q, x^r ..... η worden toegevoerd. Hij geeft deze zelfde videosignaal- onsters af, echter in een andere volgorde en wel meer in het bijzonder als volgt xif0, xif7, xif3, xif4, xif1, xif6, 5 *i'2’ xi,5* In deze volgorde worden ze via een ingang 901 toegevoerd aan een samenvoeginrichting 90. Tevens worden daaraan via een ingang 902· hulpmonsters toegevoerd. Hij voert op deze videosignaalmonsters en hulpmonsters optel- en aftrekbewerkingen uit, waardoor de in figuur 5 tussen haakjes geplaatste en in figuur 6 met Uq tot en met u7 10 aangeduide som- en verschilmonsters worden verkregen. Deze worden toegevoerd aan een selektie-inrichting 91 die de in figuur 6 aangegeven sommonsters Uq, u^, u3, Vq, v^ als hulpmonsters toevoert aan de ingang 902 van de samenvoeginrichting 90. De verschilmonsters u4' u5' u6' u7» v2' v3' W1' alsmede het sommonster wQ 15 worden als doorvoeraonster toegevoerd aan een vermenigvuldigschakeling 92 waarin deze doorvoermonsters worden vermenigvuldigd met de in figuur 6 aangegeven bijbehorende transformatie-elementen. Hierdoor worden de in figuur 6 aangegeven produktmonsters zQ tot en met Z21 verkregen. Deze worden toegevoerd aan een accumulatorschakeling 93, die 20 zoals in figuur 6 is aangegeven bepaalde produktmonsters bij elkaar optelt ter verkrijging van de gewenste coëfficiënten p· _. Deze X f Ju coëfficiënten kunnen tijdelijk worden opgeslagen in een buffergeheugen 94.
In het hier weergegeven uitvoeringsvoorbeeld is om 25 praktische redenen tussen de selektie-inrichting 91 en de vermenigvuldigschakeling 92 een geheugenschakeling 95 opgenomen als interface circuit. Dit is gedaan omdat de snelheid waarmee in de samenvoeginrichting 90 rekenkundige operaties moeten worden uitgevoerd lager kan zijn dan de snelheid waarmee rekenkundige operaties moeten 30 worden uitgevoerd in de vermenigvuldigschakeling 92.
E(3) De DCT-inrichting, gedetailleerde., opbouw.
In figuur 8 is een meer gedetailleerd uitvoeringsvoorbeeld van de DCT-inrichting gegeven. De werking van deze 35 inrichting is schematisch in beeld gebracht in figuur 10. Meer in het bijzonder geeft de eerste kolom in figuur 10 de referentie nummers van een aantal in figuur 8 aanwezige geheugens en geven de overige kolommen 8601133 <ê , v PHN 11.745 10 de inhouden van deze geheugens nadat een klokpuls is opgetreden. Deze klokpulsen zijn in de eerste rij genummerd van 1 tot en met 53. In deze figuur zijn verder de indices i zoals die in het voorgaande, alsmede in figuur 6 zijn gebruikt voor de videosignaalmonsters en voor de 5 coëfficiënten, weggelaten. Opgemerkt zij dat in deze figuur 10 een liggend streepje betekent dat de inhoud van het betreffende geheugen onveranderd is.
In de DCT-inrichting die in figuur 8 is aangegeven wordt de shuffle inrichting 903 gevormd door twee geheugens 903(.) met 10 adresseerbare geheugenlocaties; bijvoorbeeld RAM's. Elk ontvangen zij de videosignaalmonsters x^ k. Deze geheugens worden door schrijf- en leesadrescommando's WRj en Rj zodanig gestuurd dat in een van hen de aangeboden videosignaalmonsters worden geschreven, terwijl gelijktijdig de in het andere geheugen aanwezige videosignaalmonsters 15 daaruit worden gelezen. De ingevolge een van de in figuur 10 aangegeven klokpulsen 1, 7, 13, 19 uit dit geheugen gelezen videosignaalmonsters xi,0' xi,3' xi,1' xi,2 worden samenvoeginrichting 90 tijdelijk opgeslagen in een buffergeheugen 904(1) dat als latch kan zijn uitgevoerd en wordt bestuurd door een latch enable commando LE.j. De 20 ingevolge een van de klokpulsen 4, 10, 16, 22 uit dit geheugen 903(.) gelezen videosignaalmonster χ^7, x^g, x^g wordt in de samenvoeginrichting 90 toegevoerd aan latch 904(2) dat wordt bestuurd door latch enable commando LEj. Ingevolge elk van verdere klokpulsen 6, 12, 18, 24, 30, 36, 45 wordt de actuele inhoud van de beide latches 25, 904(.) via selectieschakelingen 905(.) toegevoerd aan latches 906(.) die ingevolge het optreden van het latch enable commando LE3 deze actuele inhoud overnemen.
De selectieschakelingen 905(.) zijn op dezelfde wijze opgebouwd, hebben elk twee ingangen 9051(.) en 9052(.). Daarbij 30 ontvangen de ingangen 9052(.) het videosignaalmonster dat in latch 904(.) is opgeslagen, en ontvangen de ingangen 9051(.) hulpmonstes die via ingangen 902(.) aan de samenvoeginrichting worden toegevoerd. Deze selectieschakelingen 905(.) ontvangen tevens twee stuurcommando's SEL.J en SEL2 die er voor zorgen dat of het videosignaalmonster uit 35 latch 904(.), of het hulpmonster aan ingang 9051(.) in latch 906(.) wordt opgeslagen. Deze selectieschakeling kan, zoals in figuur 9 is aangegeven eenvoudig worden gevormd door twee EN-poortschakelingen 8601183 I ^ PHN 11.745 11 9053(.) en 9054(.), alsmede een OF-poortschakeling 9055(.). Op deze wijze wordt bereikt dat bijvoorbeeld na het optreden van klokpuls 6 latches 906(.) respektievelijk de videosignaalmonsters x^q en x^7 bevatten, terwijl deze latches na het optreden van bijvoorbeeld klokpuls 5 36 respektievelijk de hulpmonsters u1 en u2 bevatten.
De in de latches 906(.) aanwezige monsters worden toegevoerd aan een optel-aftrekschakeling 907 die wordt bestuurd door een optelcommando AC en een aftrekcommando SC. Door deze schakeling worden telkens de beide in de latches 906(1) en 906(2) aanwezige 10 monsters van elkaar afgetrokken, waardoor de verschilmonsters u7, u^, Ug, Ug, v3, v2, w^ worden verkregen. Zij worden ook bij elkaar opgeteld, waardoor de sommonsters Uq, u3, u^, u2, Vq, v^, Wq worden verkregen. Elk zo'n monster wordt toegevoerd aan de selektie-inrichting 91 alwaar zo'n monster ingevolge het optreden van 15 een latch enable commando LE^ (samenvallend met de klokpulsen 3, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 48, 51) wordt opgenomen in een latch 910. Elk verschilmonster alsmede het sommonster Wq wordt vervolgens direkt als doorvoermonster toegevoerd aan het interface circuit 95. De overige sommonsters worden tijdelijk opgeslagen in een 20 van de drie latches 911(.) die door de respektievelijke latch enable commando's LE5, LEg en LE7 worden bestuurd. Welk sommonster in welke latch wordt opgeslagen is in detail aangegeven in figuur 10.
Tevens volgt uit deze figuur wanneer dat gebeurt en wanneer dergelijke sommonsters als hulpmonsters aan de latches 906(.) worden toegevoerd.
25 Bijvoorbeeld worden de sommonsters uQ en u3 ingevolge klokpuls 30 in de respektievelijke latches 906(1) en 906(2) opgeslagen om vervolgens het verschilmonster v3 te leveren dat ingevolge klokpuls 33 wordt opgeslagen in latch 910 om op zijn beurt ingevolge klokpuls 34 te worden overgebracht naar het interface circuit 95. De ingevolge de beide 30 sommonsters Uq en u3 door de optel-aftrekschakeling geleverde sommonster vQ wordt ingevolge klokpuls 36 opgeslagen in latch 910 en vervolgens ingevolge klokpuls 37 opgeslagen in latch 911(1) enzovoorts. Zoals uit figuur 10 blijkt zijn na 52 klokpulsen alle acht videosignaalmonsters x^ q tot en met 7 omgezet in de acht 35 doorvoermonsters u4, u5, Ug, u?, v2, v3, Wq, w^ die op dat moment allen in het geheugen 951(1) aanwezig zijn.
Het interface circuit 95 is op dezelfde wijze opgebouwd 8501133 PHN 11.745 12 als de shuffle-inrichting 903. Het bevat eveneens twee RAM's 951(.) die door de respektievelijke lees- en schrijfadrescommando's Rj en WRj worden bestuurd. Ook hier is de besturing zodanig dat alle doorvoermonsters die worden berekend, uitgaande van een bepaalde groep 5 videosignaalmonsters ^ die aanwezig in één van de geheugens 9031(.), in één van de geheugens 951(.) wordt geschreven. In figuur 10 is aangenomen dat de actueel berekende doorvoermonsters worden geschreven in geheugen 951(1) en dat het geheugen 951(2) alle doorvoermonsters bevat die zijn berekend in de voorafgaande cyclus van 10 52 klokpulsen. Zoals in figuur 10 is aangegeven betekent dit dat na de vierde klokpuls het geheugen 951(2) een complete nieuwe set doorvoermonsters bevat.
Ter berekening van de gewenste transformatiecoëfficiënten worden deze doorvoermonsters verder 15 toegevoerd aan de vermenigvuldigschakeling 92. Deze bevat twee verdere latches 921 en 922 die respektievelijk worden bestuurd door latch enable commando's LEg en LEg. Tussen beide latches is een vermenigvuldiger 923 opgenomen die van een geheugen 924, bijvoorbeeld een ROM de transformatie-elementen C® ontvangt. Dit ROM wordt 20 daartoe bestuurd door een adrescommando Rg. De inhoud van latch 922 wordt toegevoérd aan de accumulatorschakeling 93 die op bekende wijze is opgebouwd en een optelschakeling 931 en een geheugen 932 omvat. Dit geheugen dat slechts één door de optelinrichting 931 geleverd woord kan bevatten wordt gereset door toedoen van een reset commando RES. Het 25 door de optelinrichting 931 geleverde somgetal wordt in dit geheugen geschreven ingevolge een schrijfcommando WRg. Ook kan dit somgetal door toedoen van een verder schrijfcommando BE in het buffer 94 worden geschreven.
Zoals in figuur 10 is aangegeven worden ingevolge de 30 respektievelijke klokpulsen 6, 8, 10 en 12 de doorvoermonsters u-y, u4' u6' u5 latck 921 geschreven, vermenigvuldigd met de respektievelijke transformatie-elementen C.jg, C^g, o c
Cjg, Cjg, waardoor achtereenvolgens de produktmonsters 218' z6' z14 en z10 wor<*en verkregen die in de 35 accumulatorschakeling 93 worden geaccumuleerd, zodat ingevolge klokpuls 16 in het buffer 94 de transformatiecoèfficiënt p^ ^ kan worden geschreven. Op overeenkomstige wijze worden de overige 8601183
- -C
PHN 11.745 13 transformatiecoêfficiênten verkregen zodat ingevolge klokpuls 52 dit buffer 94 een complete nieuwe set van acht transformatiecoëfficiënten bevat. Zoals in figuur 10 is aangegeven deed deze zelfde situatie zich voor op het moment nadat de vierde klokpuls was geweest.
5 De hierboven genoemde klokpulsen treden op met een snelheid die bijvoorbeeld zesmaal zo hoog is als de bemonsterfrequentie fs waarmee de videosignaalmonsters optreden. Zij worden met behulp van een frequentievermenigvuldigschakeling 96 afgeleid van de bemonsterpulsen S(qT) die door een pulsbron 97 worden geleverd. Deze 10 klokpulsen worden tevens gebruikt voor het opwekken van de diverse commando's. Zij worden daarom toegevoerd aan een modulo 48 teller 98 waarvan de teIstand als adres wordt toegevoerd aan een geheugen 99 met adresseerbare geheugenlocaties; bijvoorbeeld een ROM. Elke geheugenlocatie bevat de waarden "O* en "Γ van alle commando's. Deze 15 commando's worden met behulp van een uit vele lijnen bestaande bus 100 naar de verschillende elementen toegevoerd.
S(.D Alagaene. QpffieyHiiigsn.,.
Zoals in de inleiding reeds tot uitdrukking is gebracht 20 moet op de uiteindelijk verkregen gewichtsfaktoren een inverse transformatie worden uitgevoerd om de oorspronkelijke beeldelementen terug te winnen. Deze inverse transformatie vereist een inverse discrete cosinus transformatie. Deze kan worden gerealiseerd met de in figuur 11 aangegeven IDCT-inrichting, Deze verschilt van de in figuur 7 aangegeven 25 DCT-inrichting uitsluitend in de plaats van de circuitcombinaties 90, 91 en 92, 93.
86 0 M 3 3
Claims (5)
1. Inrichting voor het in real time berekenen van de discrete cosinus transformatie coëfficiënten van een groep van N signaalmonsters van een tijddiscreet ingangssignaal, bevattende: - samenvoegmiddelen die de signaalmonsters, alsmede een aantal 5 hulpraonsters ontvangt en die is ingericht voor het optellen en aftrekken van vooraf bepaalde combinaties van genoemde monsters ter opwekking van som- en verschilmonsters; - selektiemiddelen die de som- en verschilmonsters ontvangt, genoemde hulpmonsters, alsmede doorvoermonsters levert, waarbij de hulpraonsters 10 worden gevormd door bepaalde van de som- en verschilmonsters en waarbij de doorvoermonsters worden gevormd door de overige som- en de verschilmonsters; - vermenigvuldigmiddelen die de doorvoermonsters ontvangt en elk vermenigvuldigt met slechts één uit een hoeveelheid voorafbepaalde 15 weegfaktoren geselekteerde weegfaktor ter opwekking van produktmonsters; - accumulatormiddelen die de produktmonsters ontvangt en is ingericht om telkens bepaalde van deze produktmonsters bij elkaar op te tellen ter opwekking van een coëfficiënt.
2. Inrichting voor het in real time berekenen van de N 20 inverse discrete cosinus transformatie signaalmonsters van een tijddiscreet signaal uit een groep van N discrete cosinus transformatie coëfficiënten, bevattende - vermenigvuldigmiddelen die de coëfficiënten ontvangt en elk vermenigvuldigt met slechts één uit een hoeveelheid voorafbepaalde 25 weegfaktoren geselekteerde weegfaktor ter opwekking van produktmonsters; - accumulatiemiddelen die de produktmonsters ontvangt en is ingericht om telkens bepaalde van deze produktmonsters bij elkaar op te tellen ter opwekking van accumulatiemonsters; - samenvoegmiddelen die de accumulatiemonsters, alsmede een aantal 30 hulpmonsters ontvangt en die is ingericht voor het optellen en aftrekken van voorafbepaalde combinaties van de genoemde monsters ter opwekking van som- en verschilmonsters; - selektiemiddelen die de som- en verschilmonsters ontvangt, genoemde hulpmonsters, alsmede signaalmonsters levert, waarbij de hulpmonsters 35 worden gevormd door bepaalde van de som- en verschilmonsters en waarbij de signaalmonsters worden gevormd door de overige som- en verschilmonsters. 86 0 1 1 8 3 PHN 11.745 15
3. Inrichting volgens conclusie 1 waarin de hulpmonsters worden gevormd door soomonsters.
4. Inrichting volgens conclusie 1 of 2 verder bevattende shuffle-middelen waaraan de N-signaalmonsters dan wel de
5 N-coëfficiênten worden toegevoerd in een eerste volgorde en die deze signaalmonsters c.q. coëfficiènten wederom afgeeft in een tweede volgorde die overeenkomt met de combinaties bij elkaar op te tellen of af te trekken monsters.
5. Inrichting volgens conclusie 1 of 2 waarin de 10 samenvoegmiddelen twee geheugens bevat voor het opslaan van een eerste respektievelijk een daaropvolgend tweede monster welke monsters worden toegevoerd aan een optel-aftrekinrichting en welke monsters worden geleverd door een selektieschakeling die signaalmonsters dan wel de accumulatiemonsters, alsmede de hulpmonsters ontvangt en deze selektief 15 aan de twee geheugens toevoert. 860 1 1 83
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL8601183A NL8601183A (nl) | 1986-05-12 | 1986-05-12 | Discrete cosinus transformatie-inrichting. |
EP87200830A EP0245903A1 (en) | 1986-05-12 | 1987-05-06 | Discrete cosine transform arrangement |
US07/047,795 US4837724A (en) | 1986-05-12 | 1987-05-06 | Discrete cosine transform arrangement |
CN87103462A CN1009034B (zh) | 1986-05-12 | 1987-05-09 | 离散余弦变换装置 |
JP62111718A JPS62269519A (ja) | 1986-05-12 | 1987-05-09 | ディスクリ−トコサイン変換回路 |
KR870004588A KR870011803A (ko) | 1986-05-12 | 1987-05-11 | 이산 코사인 변형장치 및 역 이산 코사인 변형장치 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NL8601183A NL8601183A (nl) | 1986-05-12 | 1986-05-12 | Discrete cosinus transformatie-inrichting. |
NL8601183 | 1986-05-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
NL8601183A true NL8601183A (nl) | 1987-12-01 |
Family
ID=19847993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NL8601183A NL8601183A (nl) | 1986-05-12 | 1986-05-12 | Discrete cosinus transformatie-inrichting. |
Country Status (6)
Country | Link |
---|---|
US (1) | US4837724A (nl) |
EP (1) | EP0245903A1 (nl) |
JP (1) | JPS62269519A (nl) |
KR (1) | KR870011803A (nl) |
CN (1) | CN1009034B (nl) |
NL (1) | NL8601183A (nl) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2626693B1 (fr) * | 1987-12-03 | 1990-08-10 | France Etat | Dispositif et procede a memoire tampon, notamment pour la transposition matricielle ligne-colonne de sequences de donnees |
US4941043A (en) * | 1988-06-14 | 1990-07-10 | Siemens Aktiengesellschaft | Method for reducing blocking artifacts in video scene coding with discrete cosine transformation (DCT) at a low data rate |
EP0390421B1 (en) * | 1989-03-30 | 1994-07-06 | Canon Kabushiki Kaisha | Still video camera |
US5008848A (en) * | 1989-05-30 | 1991-04-16 | North American Philips Corporation | Circuit for performing S-transform |
US4974078A (en) * | 1989-11-13 | 1990-11-27 | Eastman Kodak Company | Digital compression method and system with improved coding efficiency |
US5359549A (en) * | 1989-12-01 | 1994-10-25 | Ricoh Company, Ltd. | Orthogonal transformation processor for compressing information |
US5268853A (en) * | 1989-12-01 | 1993-12-07 | Ricoh Company, Ltd. | Orthogonal transformation processor for compressing information |
TW223690B (nl) * | 1991-02-13 | 1994-05-11 | Ampex | |
FR2681962B1 (fr) * | 1991-09-30 | 1993-12-24 | Sgs Thomson Microelectronics Sa | Procede et circuit de traitement de donnees par transformee cosinus. |
US5539836A (en) * | 1991-12-20 | 1996-07-23 | Alaris Inc. | Method and apparatus for the realization of two-dimensional discrete cosine transform for an 8*8 image fragment |
US5394349A (en) * | 1992-07-10 | 1995-02-28 | Xing Technology Corporation | Fast inverse discrete transform using subwords for decompression of information |
CA2094524A1 (en) * | 1992-07-30 | 1994-01-31 | Ephraim Feig | Digital image processor for color image compression |
US5345408A (en) * | 1993-04-19 | 1994-09-06 | Gi Corporation | Inverse discrete cosine transform processor |
US5467131A (en) * | 1993-12-30 | 1995-11-14 | Hewlett-Packard Company | Method and apparatus for fast digital signal decoding |
CN1076838C (zh) * | 1994-08-19 | 2001-12-26 | 财团法人工业技术研究院 | 离散余弦转换/反离散余弦转换电路的转置存储器 |
KR100235064B1 (ko) * | 1996-05-23 | 1999-12-15 | 전주범 | 재배열된 블록 기반 부호화 기법을 이용하여 비디오 신호의 물체영역을 부호화하기 위한 장치 |
US5818535A (en) * | 1996-09-30 | 1998-10-06 | Alaris, Inc. | Method and apparatus for adaptive hybrid motion video compression and decompression |
US6766341B1 (en) | 2000-10-23 | 2004-07-20 | International Business Machines Corporation | Faster transforms using scaled terms |
US7007054B1 (en) | 2000-10-23 | 2006-02-28 | International Business Machines Corporation | Faster discrete cosine transforms using scaled terms |
US6961473B1 (en) | 2000-10-23 | 2005-11-01 | International Business Machines Corporation | Faster transforms using early aborts and precision refinements |
EP1445706A1 (en) * | 2003-01-18 | 2004-08-11 | Deutsche Thomson-Brandt Gmbh | Method, apparatus, and computer program for performing a modified discrete cosine transform |
US7725516B2 (en) * | 2005-10-05 | 2010-05-25 | Qualcomm Incorporated | Fast DCT algorithm for DSP with VLIW architecture |
CN101989253B (zh) * | 2009-07-31 | 2012-08-29 | 鸿富锦精密工业(深圳)有限公司 | 离散余弦转换电路及使用其的影像处理装置 |
JPWO2013042249A1 (ja) * | 2011-09-22 | 2015-03-26 | 富士通株式会社 | 高速フーリエ変換回路 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4196448A (en) * | 1978-05-15 | 1980-04-01 | The United States Of America As Represented By The Secretary Of The Navy | TV bandwidth reduction system using a hybrid discrete cosine DPCM |
US4225850A (en) * | 1978-11-15 | 1980-09-30 | Rockwell International Corporation | Non-fingerprint region indicator |
US4385363A (en) * | 1978-12-15 | 1983-05-24 | Compression Labs, Inc. | Discrete cosine transformer |
NL8003873A (nl) * | 1980-07-04 | 1982-02-01 | Philips Nv | Werkwijze voor het digitaliseren van een tijd-discreet videosignaal met toepassing van een beeld-transformatie. |
NL8004521A (nl) * | 1980-08-08 | 1982-03-01 | Philips Nv | Werkwijze voor het digitaliseren van een kleuren-videosignaal. |
US4449194A (en) * | 1981-09-25 | 1984-05-15 | Motorola Inc. | Multiple point, discrete cosine processor |
US4445248A (en) * | 1982-06-04 | 1984-05-01 | International Hardware, Inc. | Rotary stripper |
FR2561011B1 (fr) * | 1984-03-09 | 1986-09-12 | Cit Alcatel | Processeur de calcul d'une transformee discrete inverse du cosinus |
FR2561010B1 (fr) * | 1984-03-09 | 1986-09-12 | Cit Alcatel | Processeur de calcul d'une transformee discrete du cosinus |
FR2581463B1 (fr) * | 1985-05-03 | 1989-09-08 | Thomson Csf | Dispositifs de calcul de transformees cosinus, dispositif de codage et dispositif de decodage d'images comportant de tels dispositifs de calcul |
-
1986
- 1986-05-12 NL NL8601183A patent/NL8601183A/nl not_active Application Discontinuation
-
1987
- 1987-05-06 EP EP87200830A patent/EP0245903A1/en not_active Withdrawn
- 1987-05-06 US US07/047,795 patent/US4837724A/en not_active Expired - Fee Related
- 1987-05-09 CN CN87103462A patent/CN1009034B/zh not_active Expired
- 1987-05-09 JP JP62111718A patent/JPS62269519A/ja active Pending
- 1987-05-11 KR KR870004588A patent/KR870011803A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
JPS62269519A (ja) | 1987-11-24 |
KR870011803A (ko) | 1987-12-26 |
CN87103462A (zh) | 1987-11-25 |
US4837724A (en) | 1989-06-06 |
CN1009034B (zh) | 1990-08-01 |
EP0245903A1 (en) | 1987-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NL8601183A (nl) | Discrete cosinus transformatie-inrichting. | |
JP2630802B2 (ja) | 変換符号化を用いたテレビジョン転送システム | |
EP0275979B1 (en) | Circuit for computing the quantized coefficient discrete cosine transform of digital signal samples | |
US4791598A (en) | Two-dimensional discrete cosine transform processor | |
Chan et al. | On the realization of discrete cosine transform using the distributed arithmetic | |
JP2628493B2 (ja) | コサイン変換計算装置並びに計算装置等を備えた画像コード装置及び画像デコード装置 | |
US5483475A (en) | Fast pipelined 2-D discrete cosine transform architecture | |
US6900747B2 (en) | Method of compressing lookup table for reducing memory, non-linear function generating apparatus having lookup table compressed using the method, and non-linear function generating method | |
US4340781A (en) | Speech analysing device | |
JPH01237765A (ja) | ディジタル信号処理プロセッサおよびディシタル信号処理プロセッサシステム | |
McMillan et al. | A forward-mapping realization of the inverse discrete cosine transform | |
NL8700845A (nl) | Een-dimensionale lineaire beeldtransformator. | |
US5867414A (en) | Compact pipelined matrix multiplier utilizing encoding and shifting circuit configurations | |
JP3172352B2 (ja) | ニューラルネットワーク回路 | |
US5477469A (en) | Operation device and operation method for discrete cosine transform and inverse discrete cosine transform | |
Ramachandran et al. | EPLD-based architecture of real time 2D-discrete cosine transform and quantization for image compression | |
US5886911A (en) | Fast calculation method and its hardware apparatus using a linear interpolation operation | |
US5999958A (en) | Device for computing discrete cosine transform and inverse discrete cosine transform | |
JPH02237370A (ja) | ディスクリートコサイン変換装置 | |
KR100248082B1 (ko) | 이차원이산여현변환장치 | |
JP2960595B2 (ja) | ディジタル信号プロセッサ | |
WO2020211049A1 (zh) | 数据处理方法和设备 | |
JPH0298777A (ja) | 並列積和演算回路及びベクトル行列積演算方法 | |
JP3396818B2 (ja) | Dct演算回路及びidct演算回路 | |
JP3697716B2 (ja) | 行列データ乗算装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A1B | A search report has been drawn up | ||
BV | The patent application has lapsed |