Getrennter Kosinus verwandelt sich

Ein getrennter Kosinus verwandelt sich (DCT) drückt eine Folge von begrenzt vielen Datenpunkten in Bezug auf eine Summe von Kosinus-Funktionen aus, die an verschiedenen Frequenzen schwingen. DCTs sind für zahlreiche Anwendungen in der Wissenschaft und Technik von der lossy Kompression von Audio-wichtig (z.B. MP3) und Images (z.B. JPEG) (wo kleine Hochfrequenzbestandteile verworfen werden können), zu geisterhaften Methoden für die numerische Lösung teilweiser Differenzialgleichungen. Der Gebrauch des Kosinus aber nicht der Sinusfunktionen ist in diesen Anwendungen kritisch: Für die Kompression stellt es sich heraus, dass Kosinus-Funktionen viel effizienter sind (wie beschrieben, unten, sind weniger Funktionen erforderlich, um einem typischen Signal näher zu kommen), wohingegen für Differenzialgleichungen die Kosinus eine besondere Wahl von Grenzbedingungen ausdrücken.

Insbesondere ein DCT ist ein Fourier-zusammenhängender verwandeln sich ähnlich dem getrennten Fourier verwandelt sich (DFT), aber Verwenden nur von reellen Zahlen. DCTs sind zu DFTs grob zweimal der Länge gleichwertig, auf echten Daten mit sogar der Symmetrie funktionierend (da sich der Fourier eines echten verwandelt und sogar fungiert, ist echt und sogar), wohin in einigen Varianten der Eingang und/oder die Produktionsdaten anderthalbmal eine Probe ausgewechselt werden. Es gibt DCT acht Standardvarianten, von denen vier üblich sind.

Die allgemeinste Variante des getrennten Kosinus verwandelt sich ist der Typ-II DCT, der häufig einfach "den DCT" genannt wird; sein Gegenteil, der Typ-III DCT, wird entsprechend häufig einfach "den umgekehrten DCT" oder "den IDCT" genannt. Zwei zusammenhängende verwandeln sich sind der getrennte Sinus verwandelt sich (DST), der zu einem DFT von echten und sonderbaren Funktionen und dem modifizierten getrennten Kosinus verwandelt sich (MDCT) gleichwertig ist, der auf einem DCT von überlappenden Daten basiert.

Anwendungen

Der DCT, und insbesondere der DCT-II, werden häufig im Signal und der Bildverarbeitung besonders für die lossy Datenkompression verwendet, weil es eine starke "Energie compaction" Eigentum (Rao und Yip, 1990) hat: Der grösste Teil der Signalinformation neigt dazu, in einigen niederfrequenten Bestandteilen des DCT konzentriert zu werden, das Nähern dem Karhunen-Loève verwandelt sich (der im decorrelation Sinn optimal ist) für auf bestimmten Grenzen von Prozessen von Markov gestützte Signale. Wie erklärt, unten stammt das von den in den Kosinus-Funktionen impliziten Grenzbedingungen.

Ein zusammenhängender verwandelt sich, der modifizierte getrennte Kosinus verwandeln sich, oder MDCT (gestützt auf dem DCT-IV), wird in AAC, Vorbis, WMA und MP3 Audiokompression verwendet.

DCTs werden auch im Lösen teilweiser Differenzialgleichungen durch geisterhafte Methoden weit verwendet, wo die verschiedenen Varianten des DCT ein bisschen verschiedenen gleichen/seltsamen Grenzbedingungen an den zwei Enden der Reihe entsprechen.

DCTs sind auch nah mit Polynomen von Tschebyscheff verbunden, und schnelle DCT Algorithmen werden (unten) in der Annäherung von Tschebyscheff von willkürlichen Funktionen durch die Reihe von Polynomen von Tschebyscheff zum Beispiel in der Quadratur von Clenshaw-Curtis verwendet.

JPEG

Der DCT wird in JPEG Bildkompression, MJPEG, MPEG, DV und Videokompression von Theora verwendet. Dort werden die zweidimensionalen DCT-II von Blöcken geschätzt, und die Ergebnisse werden gequantelt, und Wärmegewicht codiert. In diesem Fall, ist normalerweise 8, und die DCT-II Formel wird auf jede Reihe und Säule des Blocks angewandt. Das Ergebnis ist 8 × 8 gestalten mitwirkende Reihe um, in der das (spitzenverlassene) Element der Gleichstrom (Nullfrequenz) ist, vertreten Bestandteil und Einträge mit der Erhöhung vertikaler und horizontaler Index-Werte höhere vertikale und horizontale Raumfrequenzen.

Informelle Übersicht

Wie irgendwelcher Fourier-verwandt verwandeln sich, getrennter Kosinus gestaltet (DCTs) Schnellzug eine Funktion oder ein Signal in Bezug auf eine Summe von sinusoids mit verschiedenen Frequenzen und Umfängen um. Wie der getrennte Fourier verwandelt sich (DFT) funktioniert ein DCT auf einer Funktion an einer begrenzten Zahl von getrennten Datenpunkten. Die offensichtliche Unterscheidung zwischen einem DCT und einem DFT ist dass der ehemalige Gebrauch nur Kosinus-Funktionen, während der letzte Gebrauch sowohl Kosinus als auch Sinus (in der Form des Komplexes exponentials). Jedoch ist dieser sichtbare Unterschied bloß eine Folge einer tieferen Unterscheidung: Ein DCT bezieht verschiedene Grenzbedingungen ein, als sich der DFT oder das andere zusammenhängende verwandeln.

Das Fourier-zusammenhängende verwandelt sich, die auf einer Funktion über ein begrenztes Gebiet, wie der DFT oder DCT oder eine Reihe von Fourier funktionieren, kann als das implizite Definieren einer Erweiterung dieser Funktion außerhalb des Gebiets gedacht werden. D. h. sobald Sie eine Funktion als eine Summe von sinusoids schreiben, können Sie diese Summe an irgendwelchem, sogar dafür bewerten, wo das Original nicht angegeben wurde. Der DFT, wie die Reihe von Fourier, bezieht eine periodische Erweiterung der ursprünglichen Funktion ein. Ein DCT, wie ein Kosinus verwandeln sich, bezieht eine gleiche Erweiterung der ursprünglichen Funktion ein.

Jedoch, weil DCTs auf begrenzten, getrennten Folgen funktionieren, entstehen zwei Probleme, die sich um den dauernden Kosinus nicht bewerben, verwandeln sich. Erstens muss man angeben, ob die Funktion sogar oder seltsam sowohl am verlassenen als auch an den richtigen Grenzen des Gebiets (d. h. die Minute-n und max-n Grenzen in den Definitionen unten, beziehungsweise) ist. Zweitens muss man angeben, um welchen Punkt die Funktion sogar oder seltsam ist. Insbesondere denken Sie eine Folge abcd vier Datenpunkte ebenso unter Drogeneinfluss und sagen Sie, dass wir eine gleiche linke Grenze angeben. Es gibt zwei vernünftige Möglichkeiten: Entweder die Daten sind sogar über die Probe a, in welchem Fall die gleiche Erweiterung dcbabcd ist, oder die Daten sind sogar über den Punkt halbwegs zwischen a und dem vorherigen Punkt, in welchem Fall die gleiche Erweiterung dcbaabcd ist (wiederholt zu sein).

Diese Wahlen führen zu allen Standardschwankungen von DCTs, und auch getrennter Sinus verwandelt sich (Sommerzeiten).

Jede Grenze kann entweder sogar oder seltsam (2 Wahlen pro Grenze) sein und kann über einen Datenpunkt oder den Punkt halbwegs zwischen zwei Datenpunkten (2 Wahlen pro Grenze), für insgesamt 2 × 2 × 2 × 2 = 16 Möglichkeiten symmetrisch sein. Hälfte dieser Möglichkeiten, diejenigen, wo die linke Grenze sogar ist, entsprechen den 8 Typen von DCT; die andere Hälfte ist die 8 Typen der Sommerzeit.

Diese verschiedenen Grenzbedingungen betreffen stark die Anwendungen des Umgestaltens und führen zu einzigartig nützlichen Eigenschaften für die verschiedenen Typen DCT. Am meisten direkt, wenn sich das Fourier-zusammenhängende Verwenden verwandelt, um teilweise Differenzialgleichungen durch geisterhafte Methoden zu lösen, werden die Grenzbedingungen als ein Teil des Problems direkt angegeben, das wird löst. Oder, für den MDCT (gestützt auf dem Typ-IV DCT), werden die Grenzbedingungen am kritischen Eigentum des MDCT des Zeitabschnittes aliasing Annullierung vertraut beteiligt. Auf eine feinere Mode sind die Grenzbedingungen für die "Energie compactification" Eigenschaften verantwortlich, die DCTs nützlich für das Image und die Audiokompression machen, weil die Grenzen die Rate der Konvergenz jeder Fourier ähnlichen Reihe betreffen.

Insbesondere es ist weithin bekannt, dass irgendwelche Diskontinuitäten in einer Funktion die Rate der Konvergenz der Reihe von Fourier reduzieren, so dass mehr sinusoids erforderlich sind, um die Funktion mit einer gegebenen Genauigkeit zu vertreten. Derselbe Grundsatz regelt die Nützlichkeit des DFT, und anderer verwandelt sich für die Signalkompression: Die glatteren, die eine Funktion, die weniger Begriffe in seinem DFT oder DCT ist, sind erforderlich, es genau zu vertreten, und mehr kann es zusammengepresst werden. (Hier denken wir an den DFT oder DCT als Annäherungen für die Reihe von Fourier oder Kosinus-Reihe einer Funktion beziehungsweise, um über seine "Glätte" zu sprechen.) Jedoch bedeutet die implizite Periodizität des DFT, dass Diskontinuitäten gewöhnlich an den Grenzen vorkommen: Jedes zufällige Segment eines Signals wird kaum denselben Wert sowohl am verlassenen als auch an den richtigen Grenzen haben. (Ein ähnliches Problem entsteht für die Sommerzeit, in der die sonderbare linke Grenzbedingung eine Diskontinuität für jede Funktion einbezieht, die nicht zufällig Null an dieser Grenze ist.) Im Gegensatz, ein DCT, wo beide Grenzen sogar immer Erträge eine dauernde Erweiterung an den Grenzen sind (obwohl der Hang allgemein diskontinuierlich ist). Das ist, warum DCTs, und in besonderem DCTs von Typen I, II, V, und VI (die Typen, die zwei sogar Grenzen haben) allgemein besser für die Signalkompression leisten als DFTs und Sommerzeiten. In der Praxis wird ein Typ-II DCT gewöhnlich für solche Anwendungen teilweise aus Gründen der rechenbetonten Bequemlichkeit bevorzugt.

Formelle Definition

Formell, der getrennte Kosinus verwandeln sich ist ein geradliniger, invertible Funktion F: R R (wo R den Satz von reellen Zahlen anzeigt), oder gleichwertig ein invertible N × Matrix des N Square. Es gibt mehrere Varianten des DCT mit ein bisschen modifizierten Definitionen. Die N reellen Zahlen x..., x werden in die N reellen Zahlen X..., X gemäß einer der Formeln umgestaltet:

DCT-I

:

+ \sum_ {n=1} ^ {n-2} x_n \cos \left [\frac {\\Pi} {n-1} n k \right] \quad \quad k = 0, \dots, n-1. </math>

Einige Autoren multiplizieren weiter den x und die X-Begriffe um 2, und multiplizieren entsprechend die X und X Begriffe mit 1 /  2. Das macht die DCT-I Matrix orthogonal, wenn ein weiter durch einen gesamten Einteilungsfaktor dessen multipliziert, aber die direkte Ähnlichkeit mit einem echt-gleichen DFT bricht.

Der DCT-I ist (bis zu einem gesamten Einteilungsfaktor 2) zu einem DFT von reellen Zahlen mit sogar der Symmetrie genau gleichwertig. Zum Beispiel ist ein DCT-I von N=5 reellen Zahlen abcde zu einem DFT von acht reellen Zahlen abcdedcb (sogar Symmetrie), geteilt durch zwei genau gleichwertig. (Im Gegensatz schließen Typen DCT II-IV eine Halbbeispielverschiebung in den gleichwertigen DFT ein.)

Bemerken Sie jedoch, dass der DCT-I für N weniger als 2 nicht definiert wird. (Alle anderen Typen DCT werden für jeden positiven N. definiert)

So entspricht der DCT-I den Grenzbedingungen: X ist sogar um n=0 und sogar ringsherum n=N-1; ähnlich für X.

DCT-II

:

\sum_ {n=0} ^ {n-1} x_n \cos \left [\frac {\\Pi} {N} \left (n +\frac {1} {2 }\\Recht) k \right] \quad \quad k = 0, \dots, n-1. </math>

Der DCT-II ist wahrscheinlich die meistens verwendete Form, und wird häufig einfach "den DCT" genannt.

Das verwandelt sich ist (bis zu einem gesamten Einteilungsfaktor 2) zu einem DFT von echten Eingängen sogar der Symmetrie genau gleichwertig, wo die sogar mit einem Inhaltsverzeichnis versehenen Elemente Null sind. D. h. es ist Hälfte des DFT der Eingänge, wo, dafür

Einige Autoren multiplizieren weiter den X Begriff mit 1 /  2 und multiplizieren die resultierende Matrix mit einem gesamten Einteilungsfaktor dessen (sieh unten für die entsprechende Änderung in DCT-III). Das macht die DCT-II Matrix orthogonal, aber bricht die direkte Ähnlichkeit mit einem echt-gleichen DFT des halbausgewechselten Eingangs.

Der DCT-II bezieht die Grenzbedingungen ein: X ist sogar um n =-1/2 und sogar ringsherum n=N-1/2; X ist sogar um k=0 und seltsam um k=N.

DCT-III

:

\sum_ {n=1} ^ {n-1} x_n \cos \left [\frac {\\Pi} {N} n \left (k +\frac {1} {2 }\\Recht) \right] \quad \quad k = 0, \dots, n-1. </math>

Weil es das Gegenteil von DCT-II ist (bis zu einem Einteilungsfaktor, sieh unten), diese Form wird manchmal einfach "den umgekehrten DCT" ("IDCT") genannt.

Einige Autoren multiplizieren weiter den X-Begriff mit 2 und multiplizieren die resultierende Matrix mit einem gesamten Einteilungsfaktor dessen (sieh oben für die entsprechende Änderung in DCT-II), so dass der DCT-II und DCT-III sind, stellt von einander um. Das macht die DCT-III Matrix orthogonal, aber bricht die direkte Ähnlichkeit mit einem echt-gleichen DFT der halbausgewechselten Produktion.

Der DCT-III bezieht die Grenzbedingungen ein: X ist sogar um n=0 und seltsam um n=N; X ist sogar um k =-1/2 und sogar ringsherum k=N-1/2.

DCT-IV

:

\sum_ {n=0} ^ {n-1} x_n \cos \left [\frac {\\Pi} {N} \left (n +\frac {1} {2 }\\Recht) \left (k +\frac {1} {2 }\\Recht) \right] \quad \quad k = 0, \dots, n-1. </math>

Die DCT-IV Matrix wird orthogonal (und so, sein eigenes Gegenteil klar symmetrisch seiend), wenn ein weiter durch einen gesamten Einteilungsfaktor dessen multipliziert.

Auf eine Variante des DCT-IV, wo sich Daten vom verschiedenen verwandelt, wird übergegriffen, wird den modifizierten getrennten Kosinus verwandelt sich (MDCT) (Malvar, 1992) genannt.

Der DCT-IV bezieht die Grenzbedingungen ein: X ist sogar um n =-1/2 und seltsam ringsherum n=N-1/2; ähnlich für X.

DCT V-VIII

DCT Typen I-IV sind zu echt-gleichem DFTs sogar der Ordnung gleichwertig (unabhängig davon, ob N sogar oder seltsam ist), da der entsprechende DFT von der Länge 2 (N&minus;1) (für DCT-I) oder 4N (für DCT-II/III) oder 8N (für DCT-VIII) ist. Im Prinzip gibt es wirklich vier zusätzliche Typen des getrennten Kosinus verwandeln sich (Martucci, 1994), entsprechend im Wesentlichen echt-gleichen DFTs der logisch sonderbaren Ordnung, die Faktoren von N±½ in den Nennern der Kosinus-Argumente haben.

Gleichwertig beziehen DCTs von Typen I-IV Grenzen ein, die entweder um einen Datenpunkt für beide Grenzen oder um halbwegs zwischen zwei Datenpunkten für beide Grenzen gleich/seltsam sind. DCTs von Typen V-VIII beziehen Grenzen ein, die so um einen Datenpunkt für eine Grenze und halbwegs zwischen zwei Datenpunkten für die andere Grenze gleich/seltsam sind.

Jedoch scheinen diese Varianten, in der Praxis selten verwendet zu werden. Ein Grund besteht vielleicht darin, dass FFT Algorithmen für die sonderbare Länge DFTs sind allgemein mehr kompliziert als FFT Algorithmen für die gleiche Länge DFTs (z.B die einfachste Basis sind 2 Algorithmen nur für sogar Längen) und diese vergrößerte Kompliziertheit zum DCTs, wie beschrieben, unten vortragen.

(Die triviale echt-gleiche Reihe, eine Länge ein DFT (sonderbare Länge) einer einzelnen Zahl a, entspricht einem DCT-V der Länge N=1.)

Gegenteil verwandelt sich

Mit der Normalisierungsvereinbarung oben ist das Gegenteil von DCT-I DCT-I, der mit 2 / (n-1) multipliziert ist. Das Gegenteil von DCT-IV ist mit 2/N multiplizierter DCT-IV. Das Gegenteil von DCT-II ist DCT-III, der mit 2/N und umgekehrt multipliziert ist. (Sieh z.B Rao & Yip, 1990.)

Wie für den DFT verwandelt sich der Normalisierungsfaktor vor diesen Definitionen ist bloß eine Tagung und unterscheidet sich zwischen Behandlungen. Zum Beispiel multiplizieren einige Autoren das Umgestalten damit, so dass das Gegenteil keinen zusätzlichen multiplicative Faktor verlangt. Verbunden mit passenden Faktoren 2 (sieh oben), kann das verwendet werden, um die umgestalten Matrix orthogonal zu machen.

Mehrdimensionaler DCTs

Mehrdimensionale Varianten der verschiedenen Typen DCT folgen aufrichtig aus den eindimensionalen Definitionen: Sie sind einfach ein trennbares Produkt (gleichwertig, eine Zusammensetzung) DCTs entlang jeder Dimension.

Zum Beispiel ist ein zweidimensionaler DCT-II eines Images oder einer Matrix einfach der eindimensionale DCT-II, von oben, durchgeführt entlang den Reihen und dann entlang den Säulen (oder umgekehrt). D. h. der 2. DCT-II wird durch die Formel gegeben (Normalisierung und andere Einteilungsfaktoren, als oben weglassend):

:

\begin {richten }\aus

X_ {k_1, k_2}

&=&

\sum_ {n_1=0} ^ {N_1-1 }\

\left (\sum_ {n_2=0} ^ {N_2-1 }\

x_ {n_1, n_2}

\cos \left [\frac {\\Pi} {N_2} \left (n_2 +\frac {1} {2 }\\Recht) k_2 \right] \right)

\cos \left [\frac {\\Pi} {N_1} \left (n_1 +\frac {1} {2 }\\Recht) k_1 \right] \\

&=& \sum_ {n_1=0} ^ {N_1-1 }\

\sum_ {n_2=0} ^ {N_2-1 }\

x_ {n_1, n_2}

\cos \left [\frac {\\Pi} {N_1} \left (n_1 +\frac {1} {2 }\\Recht) k_1 \right]

\cos \left [\frac {\\Pi} {N_2} \left (n_2 +\frac {1} {2 }\\Recht) k_2 \right].

\end {richten }\aus

</Mathematik>

Technisch zwei - (oder mehr-) schätzend, ist dimensionaler DCT durch Folgen von eindimensionalem DCTs entlang jeder Dimension als ein Algorithmus der Reihe-Säule (nach dem zweidimensionalen Fall) bekannt. Als mit mehrdimensionalen FFT Algorithmen jedoch dort bestehen andere Methoden, dasselbe Ding zu schätzen, während man die Berechnung in einer verschiedenen Ordnung durchführt (d. h. die Algorithmen für die verschiedenen Dimensionen/verbindet durchschießt).

Das Gegenteil eines mehrdimensionalen DCT ist gerade ein trennbares Produkt des Gegenteils (E) des entsprechenden eindimensionalen DCT (s) (sieh oben), z.B die eindimensionalen Gegenteile, die entlang einer Dimension auf einmal in einem Algorithmus der Reihe-Säule angewandt sind.

Das Image zum Recht zeigt Kombination von horizontalen und vertikalen Frequenzen für 8 x 8 zweidimensionaler DCT.

Jeder Schritt vom linken bis Recht und der Spitze zum Boden ist eine Zunahme in der Frequenz durch den 1/2 Zyklus.

Zum Beispiel gibt der bewegende richtige vom spitzenlinken Quadrat eine Halbzyklus-Zunahme in der horizontalen Frequenz nach. Eine andere Bewegung zum Recht gibt zwei Halbzyklen nach. Eine Bewegung gibt unten zwei Halbzyklen horizontal und einen Halbzyklus vertikal nach. Die Quelldaten (8x8) werden in eine geradlinige Kombination dieser 64 Frequenzquadrate umgestaltet.

Berechnung

Obwohl die direkte Anwendung dieser Formeln O (N) Operationen verlangen würde, ist es möglich zu rechnen dasselbe Ding mit nur O (N loggen N) die Kompliziertheit durch das Faktorisieren der Berechnung ähnlich zum schnellen Fourier verwandelt sich (FFT). Man kann auch DCTs über FFTs schätzen, der mit O (N) prä- und in einer Prozession postgehende Schritte verbunden ist. Im Allgemeinen O (N loggen N), sind Methoden, DCTs zu schätzen, als Algorithmen des schnellen Kosinus verwandelt sich (FCT) bekannt.

Die effizientesten Algorithmen sind im Prinzip gewöhnlich diejenigen, die direkt für den DCT, im Vergleich mit dem Verwenden eines gewöhnlichen FFT plus O (N) Extraoperationen spezialisiert werden (sieh unten für eine Ausnahme). Jedoch sind sogar "spezialisierte" DCT Algorithmen (einschließlich aller von denjenigen, die die niedrigsten bekannten arithmetischen Zählungen mindestens für power-two Größen erreichen) normalerweise nah mit FFT Algorithmen verbunden — da DCTs im Wesentlichen DFTs von echt-gleichen Daten sind, kann man einen schnellen DCT Algorithmus entwerfen, indem man einen FFT nimmt und die überflüssigen Operationen wegen dieser Symmetrie beseitigt. Das kann sogar automatisch (Frigo & Johnson, 2005) getan werden. Algorithmen, die auf dem Cooley-Tukey FFT Algorithmus gestützt sind, sind am üblichsten, aber jeder andere FFT Algorithmus ist auch anwendbar. Zum Beispiel führt der Winograd FFT Algorithmus zu Algorithmen der minimalen Multiplikation für den DFT, obgleich allgemein auf Kosten von mehr Hinzufügungen, und ein ähnlicher Algorithmus von Feig & Winograd (1992) für den DCT vorgeschlagen wurde. Weil sich die Algorithmen für DFTs, DCTs, und ähnlich verwandeln, werden alle, jede Verbesserung in Algorithmen dafür so nah verbunden man verwandelt sich wird zu unmittelbaren Gewinnen für den anderen theoretisch führen verwandelt sich ebenso (Duhamel & Vetterli, 1990).

Während DCT Algorithmen, die einen unmodifizierten FFT häufig verwenden, haben, haben einige theoretisch oben im Vergleich zum besten DCT Algorithmen spezialisiert, der erstere hat auch einen verschiedenen Vorteil: Hoch optimierte FFT Programme sind weit verfügbar. So, in der Praxis, ist es häufig leichter, hohe Leistung für allgemeine Längen N mit FFT-basierten Algorithmen zu erhalten. (Die Leistung auf der modernen Hardware wird normalerweise einfach von arithmetischen Zählungen nicht beherrscht, und Optimierung verlangt wesentliche Technikanstrengung.) Sehen spezialisierte DCT Algorithmen andererseits, dass sich weit verbreiteter Gebrauch dafür kleiner, fester Größen wie der DCT-II verwandelt, der in der JPEG Kompression oder dem kleinen DCTs (oder MDCTs) normalerweise verwendet ist, verwendet in der Audiokompression. (Reduzierte Codegröße kann auch ein Grund sein, einen spezialisierten DCT für Anwendungen des eingebetteten Geräts zu verwenden.)

Tatsächlich sind sogar die DCT Algorithmen mit einem gewöhnlichen FFT manchmal zur Beschneidung der überflüssigen Operationen von einem größeren FFT von echt-symmetrischen Daten gleichwertig, und sie können sogar von der Perspektive von arithmetischen Zählungen optimal sein. Zum Beispiel, ein Typ-II DCT ist zu einem DFT der Größe mit der echt-gleichen Symmetrie gleichwertig, deren sogar mit einem Inhaltsverzeichnis versehene Elemente Null sind. Eine vom grössten Teil der üblichen Methodik, um das über einen FFT (z.B die Methode zu schätzen, die in FFTPACK und FFTW verwendet ist), wurde von Narasimha & Peterson (1978) und Makhoul (1980) beschrieben, und diese Methode kann im Nachhinein als ein Schritt einer Basis 4 Dezimierung rechtzeitig Cooley-Tukey Algorithmus gesehen werden, der auf den "logischen" echt-gleichen DFT entsprechend dem DCT II. angewandt ist (Die Basis 4 Schritt reduziert die Größe DFT auf vier Größe - DFTs von echten Daten, von denen zwei Null sind, und von denen zwei einander durch die gleiche Symmetrie gleich sind, folglich eine einzelne Größe - FFT von echten Daten plus Schmetterlinge gebend.) Weil die sogar mit einem Inhaltsverzeichnis versehenen Elemente Null, diese Basis sind, ist 4 Schritt genau dasselbe als ein Schritt der Spalt-Basis; wenn die nachfolgende Größe - echte Daten FFT auch durch einen Algorithmus der Spalt-Basis der echten Daten durchgeführt werden (als in Sorensen u. a., 1987) dann vergleicht der resultierende Algorithmus wirklich, was lang war, ist die niedrigste veröffentlichte Arithmetik den power-two DCT-II (echt-arithmetische Operationen) wert. Also, es gibt nichts wirklich Schlechtes über die Computerwissenschaft des DCT über einen FFT von einer arithmetischen Perspektive - es ist manchmal bloß eine Frage dessen, ob der entsprechende FFT Algorithmus optimal ist. (Als eine praktische Sache trennt sich der Funktionsaufruf oben im Hervorrufen a FFT Routine könnte für den kleinen bedeutend sein, aber das ist eine Durchführung aber nicht eine algorithmische Frage, da es durch unrolling/inlining gelöst werden kann.)

Beispiel von IDCT

Denken Sie das 8x8 grayscale Image des Großbuchstaben A.

DCT des Images.

::

\begin {bmatrix }\

6.1917 &-0.3411 & 1.2418 & 0.1492 & 0.1583 & 0.2742 &-0.0724 & 0.0561 \\

0.2205 & 0.0214 & 0.4503 & 0.3947 &-0.7846 &-0.4391 & 0.1001 &-0.2554 \\

1.0423 & 0.2214 &-1.0017 &-0.2720 & 0.0789 &-0.1952 & 0.2801 & 0.4713 \\

- 0.2340 &-0.0392 &-0.2617 &-0.2866 & 0.6351 & 0.3501 &-0.1433 & 0.3550 \\

0.2750 & 0.0226 & 0.1229 & 0.2183 &-0.2583 &-0.0742 &-0.2042 &-0.5906 \\

0.0653 & 0.0428 &-0.4721 &-0.2905 & 0.4745 & 0.2875 &-0.0284 &-0.1311 \\

0.3169 & 0.0541 &-0.1033 &-0.0225 &-0.0056 & 0.1017 &-0.1650 &-0.1500 \\

- 0.2970 &-0.0627 & 0.1960 & 0.0644 &-0.1136 &-0.1031 & 0.1887 & 0.1444 \\

\end {bmatrix }\

</Mathematik>

Jede Basisfunktion wird mit seinem Koeffizienten multipliziert, und dann wird dieses Produkt zum Endimage hinzugefügt.

Referenzen

Siehe auch

  • JPEG - Enthält einen leichteren, um Beispiel der DCT Transformation zu verstehen
  • Modifizierter getrennter Kosinus gestaltet um
  • Getrennter Sinus gestaltet um
  • Getrennter Fourier gestaltet um
  • Die Liste von Fourier-zusammenhängenden gestaltet um
  • N. Ahmed, T. Natarajan und K. R. Rao, "Verwandelt Sich Getrennter Kosinus", IEEE Trans. Computer, 90-93, Jan 1974.
  • N. Ahmed, "Wie Sich ich den Getrennten Kosinus präsentiert habe,", Digitalsignalverarbeitung, Vol Verwandeln. 1, Iss. 1, p. 4-5 (1991).
  • W.-H. Chen, C. H. Smith und S. Fralick, "Verwandelt Sich ein Schneller Rechenbetonter Algorithmus für den Getrennten Kosinus", IEEE Trans. auf Kommunikationen 25, 1004-1009, Sep 1977.
  • M. J. Narasimha und A. M. Peterson, "Auf der Berechnung des getrennten Kosinus verwandeln sich," IEEE Trans. Commun. 26 (6), p. 934-936 (1978).
  • Y. Arai, T. Agui und M. Nakajima, "Ein schnelles DCT-SQ Schema für Images," Trans. IEICE 71 (11), 1095-1097 (1988).
  • P. Duhamel und M. Vetterli, "Verwandelt sich schneller Fourier: Eine Tutorrezension und ein Stand der Technik," Signal, das 19, 259-299 (1990) In einer Prozession geht.
  • E. Feig und S. Winograd. "Schnelle Algorithmen für den getrennten Kosinus verwandeln sich," IEEE Transaktionen auf dem Signal, das 40 (9), 2174-2193 (1992) In einer Prozession geht.
  • M. Frigo und S. G. Johnson, "Das Design und die Durchführung von FFTW3," Verhandlungen des IEEE 93 (2), 216-231 (2005).
  • J. Makhoul "Verwandelt sich ein schneller Kosinus in einer und zwei Dimensionen," IEEE Trans. Acoust. Rede Sig. Proc. 28 (1), 27-34 (1980).
  • H. S. Malvar, Signal, das mit dem Geläppten In einer Prozession geht, Verwandelt Sich, (Artech Haus, Boston, 1992).
  • S. A. Martucci, "Symmetrische Gehirnwindung und der getrennte Sinus und Kosinus verwandelt sich," IEEE Trans. Sig. Die Verarbeitung von SP-42, 1038-1051 (1994).
  • A. V. Oppenheim, R. W. Schafer, und J. R. Buck, Signalverarbeitung der Diskreten Zeit, die zweite Ausgabe (Prentice-Saal, New Jersey, 1999).
  • K. R. Rao und P. Yip, Getrennter Kosinus verwandelt Sich: Algorithmen, Vorteile, Anwendungen (Akademische Presse, Boston, 1990).
  • H. V. Sorensen, D. L. Jones, M. T. Heideman und C. S. Burrus, "Gestaltet reellwertiger schneller Fourier Algorithmen," IEEE Trans um. Acoust. Rede Sig. Die Verarbeitung von ASSP-35 (6), 849-863 (1987).

Links


Ra'anana / Leute von Senufo
Impressum & Datenschutz