Optimierungen

Bei genauerer Betrachtung der Formeln der Forward DCT, als auch der Inverse DCT fällt auf, daß die Cosinusausdrücke darin nur von x und u bzw. von y und v abhängig sind, jedoch nicht von syx bzw. svu. Damit stellen diese Ausdrücke Konstanten dar, die nicht in jedem Durchlauf neu errechnet werden müssen.

Desweiteren läßt sich feststellen, daß die beiden Summen voneinander unabhängig sind, und damit auch nacheinander berechnet werden können. Man muß dadurch nicht für jeden Pixel 8x8 Rechenschritte durchführen. Stattdessen berechnet man für alle Pixel des Blocks die innere Summe (d.h. die DCT über die Zeilen), danach berechnet man für alle Pixel die äußere Summe.
Dadurch ergeben sich 64x8 + 64x8 = 1024 Berechnungen statt 64x8x8 = 4096 Berechnungen.

Es existieren noch weitere Optimierungsmöglichkeiten, an erster Stelle sei hier die Rechnung mit Integer- anstelle von Fließkommazahlen genannt, dies geht jedoch auf Kosten der Rechengenauigkeit.