Основна відмінність між DCT і PCA (точніше, представляючи набір даних у основі, сформованій власними векторами його кореляційної матриці - також відомою як трансформація Кархунена Лоєва ), полягає в тому, що PCA має бути визначений щодо даного набору даних (з якого матриця кореляції оцінюється), тоді як DCT "абсолютний" і визначається лише розміром введення. Це робить PCA "адаптивним" перетворенням, тоді як DCT не залежить від даних.
Можна задатися питанням, чому PCA не використовується частіше для стиснення зображення або звуку через його адаптивності. Є дві причини:
Уявіть, що кодер обчислює PCA набору даних та кодує коефіцієнти. Для реконструкції набору даних декодеру знадобляться не тільки самі коефіцієнти, а й матриця перетворення (це залежить від даних, до яких він не має доступу!). DCT або будь-яке інше незалежне від даних перетворення може бути менш ефективним для усунення статистичних залежностей від вхідних даних, але матриця перетворення заздалегідь відома і кодером, і декодером, без необхідності передачі. "Досить хороший" перетворення, яке вимагає мало бічної інформації, іноді краще, ніж оптимальне перетворення, яке вимагає додаткового навантаження бічної інформації ...
Візьміть велику колекцію 8x8 плиток, витягнутих із фотографій. УтворітьN × 64NN×64матриця зі світністю цих плиток. Обчисліть PCA за цими даними та побудуйте основні компоненти, які будуть оцінені. Це дуже освічуючий експеримент! Є дуже хороший шанс, що більшість власних векторів вищого рейтингу насправді будуть схожими на вид модульованих синусоїдальних моделей бази DCT. Це означає, що для досить великого та загального набору плиток зображення DCT є дуже хорошим наближенням власних баз. Те ж саме було підтверджено і для аудіо, де власнебаза енергії логічного сигналу в смугах частот, що розточуються, за оцінкою великого обсягу аудіозаписів, близька до основи DCT (отже, використання DCT як перетворення декорреляції при обчисленні MFCC).