Transformata cosinus discretă
De la Wikipedia, enciclopedia liberă
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".
Cuprins |
[modifică] Aplicaţii
- 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.
- Formatele de compresie a sunetului "cu pierderi" AAC, Vorbis şi MP3 utilizează o versiune modificată a acestei tehnici, transformata cosinus discretă modificată, TCDM (MDCT în engleză).
- DCT mai este utilizată şi pentru rezolvarea sistemelor de ecuaţii diferenţiale prin metode spectrale.
[modifică] Definiţie
DCT este o funcţie liniară inversibilă RN → RN sau altfel spus o matrice pătrată N × N inversibilă. Există mai multe variante ale DCT. Iată cele patru tipuri cele mai utilizate.
[modifică] DCT-I
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.
[modifică] DCT-II
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.
[modifică] DCT-III
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.
[modifică] DCT-IV
DCT-IV este o matrice ortogonală.
[modifică] Vezi şi
- Transformata Fourier
- Transformata Fourier discretă
- JPEG - DCT aplicată formatului JPEG
![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]}](http://upload.wikimedia.org/math/d/f/2/df227ada4d59477945da088ff32b0dae.png)
![X_k = \sum_{n=0}^{N-1}{x_n \cos\left[ \frac{\pi}{N} \left( n + \frac{1}{2} \right) k \right]}](http://upload.wikimedia.org/math/d/f/e/dfeb37421699b1455558542c18af0a4e.png)
![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]}](http://upload.wikimedia.org/math/1/7/4/1744792055ca63fa6a33a4f1d0e7f630.png)
![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]}](http://upload.wikimedia.org/math/6/4/0/6407189b486596115cd9fb882ee7a9cd.png)

