News: |
A getrennter Kosinus wandeln um (DCT) drückt eine Reihenfolge begrenzt vieler Datenpunkte in einer Summe von ausgedrückt aus Kosinus Funktionen, die an unterschiedlichem oszillieren Frequenzen. DCTs sind zu den zahlreichen Anwendungen in der Wissenschaft und in der Technik, von wichtig lossy Kompression von Audio und Bilder (wo klein, können Hochfrequenzbestandteile weggeworfen werden), zu spektrale Methoden für die numerische Lösung von teilweise Differentialgleichungen. Der Gebrauch von Kosinus anstatt Sinus Funktionen ist in diesen Anwendungen kritisch: für Kompression fällt es aus, daß Kosinusfunktionen viel leistungsfähiger sind (wie unten erklärt, sind weniger erforderlich, ein typisches zu approximieren Signal), während für Differentialgleichungen die Kosinus eine bestimmte Wahl von ausdrücken Grenzbedingungen.
Insbesondere ist ein DCT a Fourier-in Verbindung stehend wandeln Sie um ähnlich getrennte Fourier-Transformation (DFT), aber mit nur reale Zahlen. DCTs sind mit DFTs ungefähr zweimal der Länge gleichwertig und funktionieren auf realen Daten mit gleichmäßig Symmetrie (da die Fourier-Transformation von einem realem und von einer sogar Funktion real und gleichmäßig ist), wo in einigen Varianten die Eingang und/oder Ausgang Daten um eine Hälfte Beispiel- verschoben werden. Es gibt acht Standard-DCT Varianten, von denen vier allgemein sind.
Die allgemeinste Variante des getrennten Kosinus wandeln ist die Art-II DCT um, die häufig einfach „das DCT“ genannt wird; sein Gegenteil, die Art-III DCT, wird entsprechend häufig einfach „das umgekehrte DCT“ oder „das IDCT“ genannt. Zwei bezogen wandelt sind um getrennter Sinus wandeln um (DST), das mit einem DFT von realem gleichwertig ist und ungerade Funktionen und geänderter getrennter Kosinus wandeln um (MDCT), dem auf einem DCT von basiert überschneidung Daten.
Inhalt |
Das DCT und insbesondere das DCT-II, ist bei der Signal- und Bildübersetzung, besonders für lossy Datenverdichtung häufig benutzt, weil sie eine starke „Energieverdichtung“ Eigenschaft hat (Rao und Yip, 1990): die meisten der Signalinformationen neigt, in einigen Niederfrequenzbestandteilen des DCT, das Nähern konzentriert zu werden Karhunen-Loève wandeln um (das in der decorrelation Richtung optimal ist), für Signale gründete auf bestimmten Begrenzungen auf Markov Prozesse. Wie unten erklärt, stammt dieses die Grenzbedingungen ab, die in den Kosinusfunktionen implizit sind.
Ein in Verbindung stehendes wandeln um, geändert getrennter Kosinus wandeln umoder MDCT (basiert auf dem DCT-IV), wird innen verwendet AAC, Vorbis, WMAund MP3 Audiokompression.
DCTs werden auch weit eingesetzt, wenn man teilweise Differentialgleichungen durch spektrale Methoden löst, in denen die unterschiedlichen Varianten des DCT etwas unterschiedlichem sogar/ungerade Grenzbedingungen an den zwei Enden der Reihe entsprechen.
DCTs auch hängen nah mit zusammen Chebyshev Polynomeund schnelle DCT Algorithmen (unten) werden innen verwendet Chebyshev Näherungswert von den willkürlichen Funktionen durch Reihen Chebyshev Polynome, z.B. innen Clenshaw-Curtis Quadratur.
Das DCT wird innen verwendet JPEG Bildkompression, MJPEG, MPEGund DV videokompression. Dort das zweidimensionale DCT-II von Blöcke werden berechnet und die Resultate sind quantisiert und Entropie kodiert. In diesem Fall, N ist gewöhnlich 8 und die DCT-II Formel wird an jeder Reihe und an Spalte des Blockes angewendet. Das Resultat ist 8, die × 8 Koeffizientreihe umwandeln, in der (0,0) das Element (Oberseite-link) ist der DC (Nullfrequenz) Bestandteil und Eintragungen bei Zunahme der vertikalen und horizontalen Indexwerte darstellt höhere vertikale und horizontale räumliche Frequenzen.
Wie irgendwie Fourier-in Verbindung stehendes wandeln Sie um, wandelt getrennter Kosinus (DCTs) ausdrücken eine Funktion oder ein Signal in einer Summe von ausgedrückt um sinusoids mit unterschiedlichem Frequenzen und Umfänge. Wie getrennte Fourier-Transformation (DFT), läßt ein DCT an eine Funktion an einer begrenzten Anzahl von getrennten Datenpunkten laufen. Die offensichtliche Unterscheidung zwischen einem DCT und einem DFT ist daß die ehemaligen Kosinusfunktionen des Gebrauches nur, während die letzten Gebrauch Kosinus und -sinus (in Form komplizierte exponentials). Jedoch ist dieser sichtbare Unterschied bloß eine Konsequenz einer tieferen Unterscheidung: ein DCT deutet unterschiedliches an Grenzbedingungen als das, die DFT oder anderes bezogen werden, wandelt um.
Das Fourier-in Verbindung stehende wandelt um, das an eine Funktion über einem begrenztem laufen lassen Gebiet, wie das DFT oder das DCT oder das a Fourier-Reihe, kann für implizit definieren gehalten werden Verlängerung von dieser Funktion außerhalb des Gebietes. Das heißt, sobald Sie eine Funktion schreiben f(x) als Summe sinusoids, können Sie diese Summe an irgendwelchen auswerten x, glätten Sie für x wo die Vorlage f(x) wurde nicht spezifiziert. Das DFT, wie die Fourier-Reihe, deutet a an periodisch Verlängerung der ursprünglichen Funktion. Ein DCT, wie a Kosinus wandeln um, deutet an gleichmäßig Verlängerung der ursprünglichen Funktion.
Jedoch weil DCTs an funktionieren begrenzt, getrennt Reihenfolgen, zwei Ausgaben entstehen, die nicht für den ununterbrochenen Kosinus umwandeln. Spezifizieren zuerst muß man, ob die Funktion gleichmäßig oder an ungerade ist beide die linken und rechten Grenzen des Gebietes (d.h. die Minuten und Maximumn Grenzen in den Definitionen unten, beziehungsweise). Zweitens muß man herum spezifizieren welcher Punkt die Funktion ist gleichmäßig oder ungerade. Insbesondere betrachten Sie eine Reihenfolge abcd von vier äquidistanten Datenpunkten und sagen Sie, daß wir ein gleichmäßiges spezifizieren link Grenze. Es gibt zwei vernünftige Möglichkeiten: jedes sind die Daten über die Probe gleichmäßig a, in diesem Fall die gleichmäßige Verlängerung ist dcbabcdoder die Daten sind über den Punkt gleichmäßig in der Mitte zwischen a und der vorhergehende Punkt, in diesem Fall die gleichmäßige Verlängerung ist dcbaabcd (a wird wiederholt).
Diese Wahlen führen zu alle Standardveränderungen von DCTs und auch getrennter Sinus wandelt um (DSTs). Jede Grenze kann entweder gleichmäßig oder ungerade sein (2 Wahlen pro Grenze) und kann über einen Datenpunkt oder den Punkt in der Mitte zwischen zwei Datenpunkten (2 Wahlen pro Grenze), für eine Gesamtmenge von symmetrisch sein Möglichkeiten. Hälfte dieser Möglichkeiten, die wo link Grenze ist, entsprechen den 8 Arten von DCT gleichmäßig; die andere Hälfte sind die 8 Arten von DST.
Diese unterschiedlichen Grenzbedingungen beeinflussen stark die Anwendungen umwandeln und führen zu einzigartig nützliche Eigenschaften für die verschiedenen DCT Arten. Direkt, wenn wandelt das Verwenden Fourier-in Verbindung stehend um, um zu lösen teilweise Differentialgleichungen durch spektrale Methoden, werden die Grenzbedingungen direkt wie ein Teil des Problems spezifiziert, das gelöst wird. Oder, für MDCT (gegründet auf der Art-IV DCT), werden die Grenzbedingungen vertraut in die kritische Eigenschaft des MDCTS der Zeitgebiet Aliasingannullierung miteinbezogen. Auf eine subtilere Art und Weise sind die Grenzbedingungen für die „Energieverdichtung“ Eigenschaften verantwortlich, die DCTs nützlich für Bild und Audiokompression bilden, weil die Grenzen die Rate der Konvergenz von irgendwelchen Fourier-wie Reihen beeinflussen.
Insbesondere ist es daß irgendwelche weithin bekannt Unstimmigkeiten in einer Funktion verringern Sie Rate der Konvergenz von der Fourier-Reihe damit mehr sinusoids erforderlich sind, die Funktion mit einer gegebenen Genauigkeit darzustellen. Die gleiche Grundregel regelt die Verwendungsfähigkeit des DFT und andere wandelt für Signalkompression um: der Polierer eine Funktion ist, werden wenige Bezeichnungen in seinem DFT oder in DCT angefordert, um es genau darzustellen, und mehr es können zusammengedrückt werden. (Hier, denken wir an das DFT oder das DCT als Näherungswerte für Fourier-Reihe oder Kosinus-Reihe von einer Funktion beziehungsweise zwecks über seine „Glattheit sprechen. “) Jedoch, die implizite Periodizität der DFT Mittel, daß Unstimmigkeiten normalerweise an den Grenzen auftreten: jedes gelegentliche Segment eines Signals ist unwahrscheinlich, den gleichen Wert an den linken und rechten Grenzen zu haben. (A ähnliches Problem entsteht für das DST, in dem die ungerade linke Grenzbedingung eine Unstimmigkeit für jede mögliche Funktion andeutet, die nicht geschieht, an dieser Grenze null zu sein.), demgegenüber ein DCT wo beide Grenzen sind gleichmäßig immer erbringt eine ununterbrochene Verlängerung an den Grenzen (obgleich Steigung ist im Allgemeinen unterbrochen). Deshalb DCTs und insbesondere DCTs der Arten I, II, V und VI (die Arten, die zwei sogar Grenzen haben), im Allgemeinen für Signalkompression als DFTs und DSTs besser durchführen. In der Praxis wird eine Art-II DCT normalerweise für solche Anwendungen, im Teil aus Gründen der Berechnungsbequemlichkeit bevorzugt.
Formal wandeln der getrennte Kosinus ist a um linear, umkehrbar Funktion F : RN -> RN (wo R bezeichnet den Satz von reale Zahlen) oder gleichwertig ein umkehrbares N × N quadratische Matrix. Es gibt einige Varianten des DCT mit etwas geänderten Definitionen. N reale Zahlen x0, ..., xN-1 werden in umgewandelt N reale Zahlen X0, ..., XN-1 entsprechend einer der Formeln:
Einige weitere Autoren multiplizieren x0 und xN-1 Bezeichnungen durch √2 und multiplizieren entsprechend X0 und XN-1 Bezeichnungen durch 1/√2. Dieses bildet die DCT-I Matrix orthogonal, wenn weiteres ein mit einem gesamten Normierungsfaktor von multipliziert , aber bricht die direkte Korrespondenz mit einem real-gleichmäßigen DFT.
Das DCT-I ist genau äquivalent (bis zu einem gesamten Normierungsfaktor von 2), zu einem DFT von 2N − 2 reale Zahlen mit gleichmäßiger Symmetrie. Z.B. ein DCT-I von Nreale Zahlen =5 abcde genau ist äquivalent zu einem DFT von acht realen Zahlen abcdedcb (sogar Symmetrie), geteilt durch zwei. (Demgegenüber, beziehen DCT Arten II-IV eine Hälfteprobe Verschiebung in das gleichwertige DFT.) mit ein
Anmerkung jedoch daß das DCT-I nicht für definiert wird N weniger als 2. (Alle weiteren DCT Arten werden für irgendwie Positiv definiert N.)
So entspricht das DCT-I den Grenzbedingungen: xn ist herum gleichmäßig n=0 und glätten herum n=N-1; ähnlich für Xk.
Das DCT-II ist vermutlich die allgemein verwendetste Form und häufig gekennzeichnet einfach als „das DCT“.
Dieses wandeln ist genau äquivalent (bis zu einem gesamten Normierungsfaktor von 2) zu einem DFT von um 4N reale Eingänge der gleichmäßigen Symmetrie, in der die gleichmäßig-indexierten Elemente null sind. Das heißt, ist es Hälfte des DFT von 4N Eingänge yn, wo y2n = 0, y2n + 1 = xn für und y4N − n = yn für 0 < n < 2N.
Einige weitere Autoren multiplizieren X0 Bezeichnung durch 1/√2 (sehen Sie unten für die entsprechende änderung in DCT-III). Dieses bildet die DCT-II Matrix orthogonal, wenn weiteres ein mit einem gesamten Normierungsfaktor von multipliziert , aber bricht die direkte Korrespondenz mit einem real-gleichmäßigen DFT des Hälfte-verschobenen Einganges.
Das DCT-II deutet die Grenzbedingungen an: xn ist herum gleichmäßig n=-1/2 und glätten herum n=N-1/2; Xk ist herum gleichmäßig k=0 und ungerades herum k=N.
Weil es das Gegenteil von DCT-II (bis zu einem Normierungsfaktor, sehen Sie unten), ist, gekennzeichnet diese Form manchmal einfach als „das umgekehrte DCT“ („IDCT“).
Einige weitere Autoren multiplizieren x0 Bezeichnung durch 1/√2 (sehen Sie oben für die entsprechende änderung in DCT-II), damit die DCT-II und die DCT-III sind, stellt von einem anders um. Dieses bildet die DCT-III Matrix orthogonal, wenn weiteres ein mit einem gesamten Normierungsfaktor von multipliziert , aber bricht die direkte Korrespondenz mit einem real-gleichmäßigen DFT des Hälfte-verschobenen Ausganges.
Das DCT-III deutet die Grenzbedingungen an: xn ist herum gleichmäßig n=0 und ungerades herum n=N; Xk ist herum gleichmäßig k=-1/2 und glätten herum k=N-1/2.
Die DCT-IV Matrix wird orthogonal wenn weiteres ein mit einem gesamten Normierungsfaktor von multipliziert .
Eine Variante des DCT-IV, in dem Daten von unterschiedlichem umwandeln, sind gedeckt, wird benannt geänderter getrennter Kosinus wandeln um (MDCT).
Das DCT-IV deutet die Grenzbedingungen an: xn ist herum gleichmäßig n=-1/2 und ungerades herum n=N-1/2; ähnlich für Xk.
DCT Arten I-IV sind mit real-gleichmäßigem DFTs des gleichmäßigen Auftrages gleichwertig (unabhängig davon ob N ist gleichmäßig oder) ungerade, da das entsprechende DFT von Länge 2 ist (N−1) (für DCT-I) oder 4N (für DCT-II/III) oder 8N (für DCT-VIII). Prinzipiell gibt es wirklich vier zusätzliche Arten getrennter Kosinus umwandeln (Martucci, 1994) und im Wesentlichen entspricht real-gleichmäßiges DFTs des logisch ungeraden Auftrages, dessen Faktoren haben Sie in den Nennern der Kosinusargumente.
Gleichwertig deuten DCTs der Arten I-IV Grenzen an, die sogar/ungerade entweder um einen Datenpunkt für beide Grenzen oder in der Mitte zwischen zwei Datenpunkten für beide Grenzen sind. DCTs der Arten V-VIII deuten Grenzen an, die/ungerade um einen Datenpunkt für eine Grenze und in der Mitte zwischen zwei Datenpunkten für die andere Grenze glätten.
Jedoch scheinen diese Varianten, selten in der Praxis verwendet zu werden. Ein Grund ist möglicherweise, daß FFT Algorithmen für Ungeradlänge DFTs im Allgemeinen schwieriger als FFT Algorithmen für Gleichmäßiglänge DFTs sind (z.B. die einfachsten Algorithmen radix-2 sind nur für gleichmäßige Längen), und diese erhöhte Verwicklung überträgt zum DCTs, wie unten beschrieben.
(Die triviale real-gleichmäßige Reihe, eine Länge-ein DFT (ungerade Länge) von einem Einfachzahl a, entspricht einem DCT-V der Länge N=1.)
Das Gegenteil von DCT-I ist DCT-I, das mit 2 multipliziert wird (N-1). Das Gegenteil von DCT-IV ist DCT-IV, das mit 2 multipliziert wirdN. Das Gegenteil von DCT-II ist DCT-III, das mit 2 multipliziert wirdN (und umgekehrt).
Wie für DFT, wandeln der Normalisierungfaktor vor diesen Definitionen ist bloß eine Vereinbarung und sich unterscheidet zwischen Behandlungen um. Z.B. multiplizieren einige Autoren umwandelt vorbei damit das Gegenteil keinen zusätzlichen multiplikativen Faktor erfordert. Kombiniert mit passenden Faktoren von √2 (sehen Sie oben), kann dieses verwendet werden, um die umwandelnmatrix zu bilden orthogonal.
Mehrdimensionale Varianten der verschiedenen DCT Arten folgen direkt von den eindimensionalen Definitionen: sie sind einfach ein trennbares Produkt (gleichwertig, ein Aufbau) von DCTs entlang jedem Maß.
Z.B. ist ein zweidimensionales DCT-II eines Bildes oder der Matrix einfach das eindimensionale DCT-II, von oben, durchgeführt entlang den Reihen und dann entlang den Spalten (oder umgekehrt). Das heißt, wird das 2d DCT-II durch die Formel gegeben (Normalisierung und andere Normierungsfaktoren, als oben auslassend):
Technisch ein zwei (oder multi) Mass-DCT durch Reihenfolgen von eindimensionalem DCTs entlang jedem Maß berechnend bekannt als a Reihespalte Algorithmus (nach dem zweidimensionalen Fall). Wie mit mehrdimensionale FFT Algorithmenjedoch bestehen andere Methoden zum Berechnen die gleiche Sache beim Durchführen der Berechnung in einem anderen Auftrag (d.h. Durchschieben/die Algorithmen für die unterschiedlichen Maße kombinierend). ``
Das Bild rechts zeigt Kombination der horizontalen und vertikalen Frequenzen für 8 x 8 (N1 = N2 = 8) zweidimensionales DCT. Jeder Schritt von links nach rechts und Oberseite zur Unterseite ist eine Zunahme der Frequenz durch den 1-/2zyklus. Z.B. erbringt bewegliches Recht eins vom Oberseite-linken Quadrat eine Hälftezyklus Zunahme der Zeilenfrequenz (geht von Weißem zum Schwarzen). Eine andere Bewegung rechts erbringt zwei Hälftezyklen (weiß zum Schwarzen zum Weiß). Verschieben erbringt unten zwei Hälftezyklen horizontal und einen Hälftezyklus vertikal. Die Quelldaten (8x8) werden zu a umgewandelt lineare Kombination von diesen Quadraten mit 64 Frequenzen.
Obgleich die direkte Anwendung dieser Formeln O erfordern würde (N2) Betriebe, ist es möglich, die gleiche Sache mit nur O zu berechnen (N Maschinenbordbuch N) Kompliziertheit, durch die Berechnung ähnlich faktorisieren zu schnelle Fourier-Transformation (FFT). Ein kann DCTs über FFTs auch berechnen, das mit O kombiniert wird (N) vor und Nachbearbeitung Schritte.
Die leistungsfähigsten Algorithmen sind prinzipiell normalerweise die, die direkt für das DCT spezialisiert werden, im Vergleich mit dem Verwenden eines gewöhnlichen FFT plus O (N) Extrabetriebe (sehen Sie unten für eine Ausnahme). Jedoch sogar „spezialisierte“ DCT Algorithmen (einschließlich alle die, die die niedrigsten bekannten arithmetischen Zählimpulse erzielen, mindestens für Energie-von-zwei Größen) hängen gewöhnlich nah mit FFT, Algorithmus-seit DCTs im Wesentlichen DFTs der real-gleichmäßigen Daten sind, man können einen schnellen DCT Algorithmus entwerfen zusammen, indem sie ein FFT nehmen und die überflüssigen Betriebe wegen dieser Symmetrie beseitigen. Dieses kann sogar automatisch getan werden (Frigo u. Johnson, 2005). Algorithmen basiert auf Cooley-Tukey FFT Algorithmus seien Sie am allgemeinsten, aber jeder möglicher andere FFT Algorithmus ist auch anwendbar. Z.B. führt der Winograd FFT Algorithmus zu Minimalvermehrung Algorithmen für das DFT, obwohl im Allgemeinen an den Kosten von mehr Hinzufügung und an einem ähnlichen Algorithmus wurde von Feig u. von Winograd (1992) für das DCT vorgeschlagen. Weil alle Algorithmen für DFTs, DCTs und ähnliches sind so nah bezogen, jede mögliche Verbesserung in den Algorithmen für einen umwandeln führen theoretisch zu sofortige Gewinne für den anderen umwandelt außerdem umwandelt (Duhamel u. Vetterli, 1990).
Während DCT Algorithmen, die ein unverändertes FFT einsetzen, häufig etwas theoretische Unkosten haben, die mit den besten fachkundigen DCT Algorithmen verglichen werden, haben die ehemaligen auch einen eindeutigen Vorteil: in hohem Grade optimierte FFT Programme sind weit vorhanden. So in der Praxis ist es häufig einfacher, hohe Leistung für allgemeine Längen zu erhalten N mit FFT-gegründeten Algorithmen. (Leistung auf modernen Kleinteilen wird gewöhnlich einfach nicht durch arithmetische Zählimpulse beherrscht, und Optimierung erfordert erhebliche Technikbemühung.), sehen fachkundige DCT Algorithmen einerseits, daß weitverbreiteter Gebrauch für von den kleinen, örtlich festgelegten Größen wie umwandelt DCT-II innen verwendet JPEG Kompression oder das kleine DCTs (oder MDCTs) verwendeten gewöhnlich in der Audiokompression. (Verringerte Codegröße kann ein Grund auch sein, ein fachkundiges DCT für Einbettenvorrichtung Anwendungen zu verwenden.)
Tatsächlich sogar sind die DCT Algorithmen, die ein gewöhnliches FFT verwenden, manchmal äquivalent zur Beschneidung der überflüssigen Betriebe von einem größeren FFT der real-symmetrischen Daten, und sie können von der Perspektive der arithmetischen Zählimpulse optimal sogar sein. Z.B. ist eine Art-II DCT mit einem DFT der Größe gleichwertig 4N mit real-gleichmäßiger Symmetrie deren gleichmäßig-registrierte, sind Elemente null. Eine der allgemeinsten Methoden für das Berechnen dieses über ein FFT (z.B. die Methode verwendet in FFTPACK und FFTW) liegt an Makhoul (1980), und diese Methode in der Nachsicht kann als ein Schritt eines Dezimierung-inzeit radix-4 Cooley-Tukey Algorithmus gesehen werden, der am „logischen“ real-gleichmäßigen DFT angewendet wird, das dem DCT II. entspricht. (Der Schritt radix-4 verringert die Größe 4N DFT zu Größe vierN DFTs der realen Daten, von denen zwei null und zwei sind, von denen bis eine andere durch die gleichmäßige Symmetrie gleich seien Sie und eine einzelne Größe folglich gebenN FFT der realen Daten plus O(N) Schmetterlinge.) Weil die gleichmäßig-indexierten Elemente null sind, ist dieser Schritt radix-4 genau der selbe wie ein Aufspaltenwurzel Schritt; wenn die folgende GrößeN Realdaten FFT werden auch durch Realdaten durchgeführt Aufspaltenwurzel Algorithmus (wie in Sorensen et al., 1987), dann bringt der resultierende Algorithmus wirklich den niedrigsten erschienenen arithmetischen Zählimpuls für EnergieVon-zwei DCT-II (zusammen2NMaschinenbordbuch2N − N + 2 Realarithmetik Betriebe[1]). So gibt es nichts, das über das Berechnen des DCT über ein FFT von einer Arithmetik tatsächlich schlecht ist, die Perspektive-es manchmal bloß eine Frage von ist, ob der entsprechende FFT Algorithmus optimal ist. (Als praktische Angelegenheit, Funktion-benennen Sie Unkosten, wenn Sie ein unterschiedliches FFT Programm hervorrufen, konnte für kleines bedeutend sein N, aber dieses ist eine Implementierung anstatt eine algorithmische Frage, da es gelöst werden kann, indem man/inlining. entrollt)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Custom Search
|
© Copyright 2011 WorldLingo. Alle Rechte vorbehalten.