Transformata cosinus discretă

De la Wikipedia, enciclopedia liberă
Salt la: Navigare, căutare

Transformata cosinus discretă sau TCD (în engleză : DCT sau Discrete Cosine Transform) este o transformată asemănătoare cu transformata Fourier discretă (DFT). Primitiva utilizată în această transformată este un cosinus și deci această transformată generează coeficienți reali, spre diferență de DFT, care face apel la o exponențială complexă generând coeficienți complecși.

Există în mai multe variante. Varianta cea mai utilizată este transformata DCT de tip II, notată simplu "DCT". Transformata inversă, care corespunde formal tipului III este adesea notată simplu "IDCT".

O DCT 2D comparată cu o DFT. Zonele luminoase reprezintă coeficienții ne-nuli

Aplicații[modificare | modificare sursă]

  • Transformata DCT, în special tipul II, este foarte utilizată în tratamentul sunetului și al imaginii, în special pentru algoritmele de compresie. Transformata DCT beneficiază de o excelentă capacitate de "concentrare" a energiei : informația unui semnal fizic tipic este repartizată în principal pe coeficienții corespunzând armonicelor de joasă frecvență (statistic vorbind..). Pentru imaginile naturale, DCT este transformata care se aprorie cel mai mult de transformata Karhunen-Loève care oferă o decorelație optimală între coeficienții reprezentării unui semnal markovian. Din punct de vedere practic, procedeele de compresie pleacă de la ipoteza că o imagine naturală poate fi modelizată ca fiind rezultatul unui proces markovian și aproximează transformata Karhunen-Loève, prea complexă din punct de vedere algoritmic și dependentă de date, cu o DCT. Interesul transformatei poate fi ilustrat prin imaginea afișată alăturat. Doar un număr mic de coeficienți sunt ne-nuli, și pot fi utilizați pentru reconstruirea imaginii inițiale prin transformata inversă (IDCT) cu ocazia decompresiei. Reducerea volumului datelor compresate vine din suprimarea coeficienților nuli sau aproape nuli corespunzând frecvențelor înalte, aparatul vizual uman fiind foarte puțin sensibil la aceste elemente spectrale ale imaginii (corespunzând, de exemplu, unei zone cu striuri foarte fine dintr-o imagine), deci reproducerea exactă a acestor elemente nu este esențială pentru calitatea imaginii. Acest tip de mecanism este utilizat în standardele JPEG et MPEG, care aplică o DCT 2D pe blocuri de pixeli de talie 8x8.
  • DCT mai este utilizată și pentru rezolvarea sistemelor de ecuații diferențiale prin metode spectrale.

Definiție[modificare | modificare sursă]

DCT este o funcție liniară inversibilă RNRN sau altfel spus o matrice pătrată N × N inversibilă. Există mai multe variante ale DCT. Iată cele patru tipuri cele mai utilizate.

DCT-I[modificare | modificare sursă]

X_k = \frac{1}{2} \left( x_0 + (-1)^k x_{N-1} \right) + \sum_{n=1}^{N-2}{x_n \cos\left[ \frac{\pi}{N-1} n k \right]}

Se poate ortogonaliza (ținând cont și de o constantă multiplicativă) multiplicând x0 și xN-1 cu √2 și reciproc X0 și XN-1 cu 1/√2. Această normalizare anulează totuși corespondența cu DFT.

DCT-II[modificare | modificare sursă]

X_k = \sum_{n=0}^{N-1}{x_n \cos\left[ \frac{\pi}{N} \left( n + \frac{1}{2} \right) k \right]}

Această variantă este cea mai utilizată și este numită simplu "DCT". De aceeași manieră ca pentru varianta I, se poate ortogonaliza multiplicând X0 cu 1/√2.

DCT-III[modificare | modificare sursă]

X_k = \frac{1}{2} x_0 + \sum_{n=1}^{N-1}{x_n \cos\left[ \frac{\pi}{N} n \left( k + \frac{1}{2} \right) \right]}

DCT-III este transformata inversă a DCT-II. Este cunoscută sub acronimul (englez) "IDCT".

De aceeași manieră ca pentru varianta I, se poate ortogonaliza multiplicând X0 cu 1/√2.


DCT-IV[modificare | modificare sursă]

X_k = \sum_{n=0}^{N-1}{x_n \cos\left[ \frac{\pi}{N} \left( n+\frac{1}{2} \right) \left( k + \frac{1}{2} \right) \right]}

DCT-IV este o matrice ortogonală.

Vezi și[modificare | modificare sursă]